Вы можете получить теги в разобранном HTML. Тогда просто получите источник этих тегов.
Дайте попробовать:
for i in range(len(soup.find_all('source'))):
print(soup.find_all('source')[i]['src'])
*** Edit
Таким образом, мы можем сначала проверить, имеет ли атрибут src. если это не так, он проверит дочерние теги и напечатает их src.
for video in soup.find_all('video',attrs={'src':True}):
print(video['src'])
for video in soup.find_all('video',attrs={'src':False}):
for i in video.find_all('source'):
print(i['src'])