我正在尝试下载TED演讲,并在Gpodder下载字幕,但没有成功。
我使用Ubuntu14.04和gpodder 3.5.2。我参加了TED HD讲座(http://feeds.feedburner.com/TedtalksHD/)和常规讲座(http://feeds.feedburner.com/tedtalks_视频)的测试订阅。它适用于视频,但不需要下载字幕。
在工具-首选项-扩展,TED讲座字幕下载是活跃的。
我怎么才能让它起作用?
发布于 2014-05-08 20:21:30
看起来TED演讲的字幕下载器现在坏了,我在终端里看到的是:
1399579128.331572 [gpodder.download] INFO: Download was redirected (http://video.ted.com/talk/podcast/2014/None/TEDMusical_2014-480p.mp4). New filename: TEDMusical_2014-480p.mp4
1399579128.336851 [ted_subtitles] INFO: subtitle url: http://www.ted.com/talks/subtitles/id/1962/lang/eng
1399579128.996226 [gpodder.gtkui.main] INFO: All tasks have finished.
1399579129.035496 [gpodder.gtkui.main] INFO: All tasks have finished.
1399579129.099886 [ted_subtitles] INFO: episode url: http://feedproxy.google.com/~r/TedtalksHD/~3/DKXNGZwfYwo/daffodil_hudson_is_this_the_cure_for_stage_fright
1399579130.692832 [gpodder.extensions] ERROR: Error in /usr/share/gpodder/extensions/ted_subtitles.py in on_episode_downloaded: list index out of range
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/gpodder/extensions.py", line 83, in handler
cb_res = callback(*args, **kwargs)
File "/usr/share/gpodder/extensions/ted_subtitles.py", line 92, in on_episode_downloaded
intro = episode_data.split('introDuration%22%3A')[1] \
IndexError: list index out of range但是它是Python,可以很容易地修复!
正如我所见,TED描述页面格式发生了变化。
修复它的
'introDuration%22%3A'替换为'introDuration":'和'%2C'替换为','/usr/share/gpodder/extensions/ted_subtitles.py.即从第89行开始,代码如下:
INTRO_DEFAULT = 15
try:
# intro in the data could be 15 or 15.33
intro = episode_data.split('introDuration%22%3A')[1] \
.split('%2C')[0] or INTRO_DEFAULT应改为:
INTRO_DEFAULT = 15
try:
# intro in the data could be 15 or 15.33
intro = episode_data.split('introDuration":')[1] \
.split(',')[0] or INTRO_DEFAULT在此之后,字幕应该与下载的视频在同一个目录下下载(与带有.srt扩展名的视频相同)。
在Ubuntu14.04上使用gPodder 3.5.2进行测试。
编辑:我用fix:https://github.com/gpodder/gpodder/pull/121向gPodder发出了拉请求
https://askubuntu.com/questions/462823
复制相似问题