Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
ffmpeg merge fails when filename contains colon #6286
Comments
|
It's a FFMpeg limitation, and the following command solves the problem:
|
Example:
$ youtube-dl --output 'foo:bar' --no-mtime -- q7yCLn-O-Y0
...
ERROR: foo:bar.f137: Protocol not found
Complete output when run with --verbose:
[debug] System config: []✌️ 0 -map 1🅰️ 0 foo:bar.temp.mp4
[debug] User config: []
[debug] Command-line args: [u'--output', u'foo:bar', u'--no-mtime', u'--verbose', u'--', u'q7yCLn-O-Y0']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.07.07
[debug] Python version 2.7.9 - Linux-3.12.13-gentoo-x86_64-Intel-R-_Core-TM-i7_CPU_920@_2.67GHz-with-gentoo-2.2
[debug] exe versions: ffmpeg 2.6.3, ffprobe 2.6.3, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] q7yCLn-O-Y0: Downloading webpage
[youtube] q7yCLn-O-Y0: Downloading video info webpage
[youtube] q7yCLn-O-Y0: Extracting video information
[youtube] {22} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {43} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {18} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {5} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {36} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {17} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {137} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {248} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {136} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {247} signature length 41.42, html5 player en_US-vflp6cSzi
[youtube] {135} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {244} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {134} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {243} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {133} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {242} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {160} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {278} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {140} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {171} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {249} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {250} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] {251} signature length 43.42, html5 player en_US-vflp6cSzi
[youtube] q7yCLn-O-Y0: Downloading DASH manifest
[youtube] q7yCLn-O-Y0: Downloading DASH manifest
WARNING: [youtube] q7yCLn-O-Y0: Skipping DASH manifest: ExtractorError(u'Could not download DASH manifest: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)
[debug] Invoking downloader on 'https://r4---sn-8xgp1vo-xfge7.googlevideo.com/videoplayback?id=abbc822e7f8ef98d&itag=137&source=youtube&requiressl=yes&ms=au&mv=m&pl=24&mn=sn-8xgp1vo-xfge7&gcr=us&mm=31&ratebypass=yes&mime=video/mp4&gir=yes&clen=101812244&lmt=1427913271883219&dur=344.385&upn=Dns1GgMGAsE&mt=1437281608&sver=3&key=dg_yt0&signature=2836F9286EB90D602D64715B7233E93619E2CF9E.2562FD0574C229D3346C956F13E908DFDA3FE72A&fexp=901816,936102,9405436,9407146,9407157,9408142,9408210,9408420,9408710,9412505,9415531,9415664,9416126,9416288,9416334,9416358,9417137,9417200,945049&ip=72.69.234.111&ipbits=0&expire=1437303297&sparams=ip,ipbits,expire,id,itag,source,requiressl,ms,mv,pl,mn,gcr,mm,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: foo:bar.f137
[download] 100% of 97.10MiB in 00:13
[debug] Invoking downloader on 'https://r4---sn-8xgp1vo-xfge7.googlevideo.com/videoplayback?id=abbc822e7f8ef98d&itag=141&source=youtube&requiressl=yes&ms=au&mv=m&pl=24&mn=sn-8xgp1vo-xfge7&gcr=us&mm=31&ratebypass=yes&mime=audio/mp4&gir=yes&clen=10982275&lmt=1427912633005548&dur=344.444&upn=Dns1GgMGAsE&mt=1437281608&sver=3&key=dg_yt0&signature=4590F857DF4508EC7E20BB42EE92BBEA2D50C0F3.97AD3F6B8D2CD424BF441BD380F9765B4A96A175&fexp=901816,936102,9405436,9407146,9407157,9408142,9408210,9408420,9408710,9412505,9415531,9415664,9416126,9416288,9416334,9416358,9417137,9417200,945049&ip=72.69.234.111&ipbits=0&expire=1437303297&sparams=ip,ipbits,expire,id,itag,source,requiressl,ms,mv,pl,mn,gcr,mm,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: foo:bar.f141
[download] 100% of 10.47MiB in 00:01
[ffmpeg] Merging formats into "foo:bar.mp4"
[debug] ffmpeg command line: ffmpeg -y -i foo:bar.f137 -i foo:bar.f141 -c copy -map 0
ERROR: foo:bar.f137: Protocol not found
Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 1547, in post_process
files_to_delete, info = pp.run(info)
File "/usr/lib64/python2.7/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 398, in run
self.run_ffmpeg_multiple_files(info['__files_to_merge'], temp_filename, args)
File "/usr/lib64/python2.7/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 149, in run_ffmpeg_multiple_files
raise FFmpegPostProcessorError(msg)
FFmpegPostProcessorError