Search code examples
ffmpegvideo-encodingyoutube-dlvideo-player

youtube-dl got a 3gp file, apparently it doesn't contain any video streams. Is there some way to play the video?


I tried downloading a video with youtube-dl with 3gp format. When I try to play it on VLC or any other application it doesn't play. This is the output I get when trying to download it again.

youtube-dl https://youtu.be/lVFq__mrmlQ -f worst -v  
[debug] System config: []  
[debug] User config: []  
[debug] Custom config: []  
[debug] Command-line args: ['https://youtu.be/lVFq__mrmlQ', '-f', 'worst', '-v']  
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8  
[debug] youtube-dl version 2018.03.14  
[debug] Python version 3.6.5 (CPython) - Linux-4.15.0-29-generic-x86_64-with-Ubuntu-18.04-bionic  
[debug] exe versions: ffmpeg 3.4.2-2, ffprobe 3.4.2-2, phantomjs 2.1.1, rtmpdump 2.4  
[debug] Proxy map: {}  
[youtube] lVFq__mrmlQ: Downloading webpage  
[youtube] lVFq__mrmlQ: Downloading video info webpage  
[youtube] lVFq__mrmlQ: Extracting video information  
[debug] Invoking downloader on 'https://r4---sn-h5q7dnee.googlevideo.com/videoplayback?signature=5432A7990BB3336616E21753F1D53171D09CBC31.B98E84CF0C51F39C613F53311128CD9E7A3872EA&c=WEB&lmt=1514133618343257&key=yt6&itag=17&fvip=3&mn=sn-h5q7dnee%2Csn-h5q7knes&mm=31%2C29&pl=24&mime=video%2F3gpp&id=o-AKWLZ7MpY1ip3PlxZJ7vXBY-jDqbVpUeI_Bls_o_g-GV&ipbits=0&requiressl=yes&ip=90.174.4.0&gir=yes&mt=1532653244&ms=au%2Crdu&dur=18470.684&initcwndbps=1011250&ei=S29aW5SjH4bIVseNkfgE&expire=1532674987&mv=m&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&clen=195336027&source=youtube&ratebypass=yes'  
[download] Heroes of Might and Magic III - No Might 1v7 FFA (200%)-lVFq__mrmlQ.3gp has already been downloaded  
[download] 100% of 186.29MiB  

I tried converting it with ffmpeg, but I get the following message:

ffmpeg -i  Heroes\ of\ Might\ and\ Magic\ III\ -\ No\ Might\ 1v7\ FFA\ \(200%\)-lVFq__mrmlQ.3gp Heroes\ of\ Might\ and\ Magic\ III\ -\ No\ Might\ 1v7\ FFA\ \(200%\)-lVFq__mrmlQ.mp4
ffmpeg version 3.4.2-2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu2)
  configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x562e75c728c0] Could not find codec parameters for stream 0 (Video: mpeg4 (mp4v / 0x7634706D), none, 221 kb/s): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Heroes of Might and Magic III - No Might 1v7 FFA (200%)-lVFq__mrmlQ.3gp':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2017-12-24T16:43:17.000000Z
  Duration: 05:07:50.68, bitrate: 84 kb/s
    Stream #0:0(und): Video: mpeg4 (mp4v / 0x7634706D), none, 221 kb/s, 30 fps, 30 tbr, 15360 tbn, 15360 tbc (default)
    Metadata:
      creation_time   : 2017-12-24T16:43:17.000000Z
      handler_name    : IsoMedia File Produced by Google, 5-11-2011
Output #0, mp4, to 'Heroes of Might and Magic III - No Might 1v7 FFA (200%)-lVFq__mrmlQ.mp4':
Output file #0 does not contain any stream

With this information, I don't know how to proceed. I already tried ffmpeg with the max analyzeduration and probesize and it still doesn't work. Any ideas?

EDIT: added list of formats youtube-dl detected.

youtube-dl -F https://youtu.be/lVFq__mrmlQ
[youtube] lVFq__mrmlQ: Downloading webpage
[youtube] lVFq__mrmlQ: Downloading video info webpage
[youtube] lVFq__mrmlQ: Extracting video information
[info] Available formats for lVFq__mrmlQ:
format code  extension  resolution note
249          webm       audio only DASH audio   71k , opus @ 50k, 108.83MiB
250          webm       audio only DASH audio   85k , opus @ 70k, 142.71MiB
171          webm       audio only DASH audio  119k , vorbis@128k, 228.14MiB
140          m4a        audio only DASH audio  145k , m4a_dash container, mp4a.40.2@128k, 279.77MiB
251          webm       audio only DASH audio  152k , opus @160k, 280.97MiB
160          mp4        256x144    144p  114k , avc1.4d400c, 30fps, video only, 91.12MiB
278          webm       256x144    144p  153k , webm container, vp9, 30fps, video only, 176.00MiB
133          mp4        426x240    240p  258k , avc1.4d4015, 30fps, video only, 188.39MiB
242          webm       426x240    240p  261k , vp9, 30fps, video only, 366.78MiB
243          webm       640x360    360p  528k , vp9, 30fps, video only, 751.54MiB
134          mp4        640x360    360p  758k , avc1.4d401e, 30fps, video only, 539.15MiB
244          webm       854x480    480p  896k , vp9, 30fps, video only, 1.43GiB
135          mp4        854x480    480p 1441k , avc1.4d401f, 30fps, video only, 1.40GiB
247          webm       1280x720   720p 1798k , vp9, 30fps, video only, 3.03GiB
136          mp4        1280x720   720p 2673k , avc1.4d401f, 30fps, video only, 2.86GiB
302          webm       1280x720   720p60 2907k , vp9, 60fps, video only, 5.10GiB
298          mp4        1280x720   720p60 4626k , avc1.4d4020, 60fps, video only, 4.11GiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
43           webm       640x360    medium , vp8.0, vorbis@128k
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)

The one that got downloaded was number 17.


Solution

  • The issue had nothing to do with codecs or ffmpeg. The file got corrupted during download and further attempts to redownload didn't tell me anything about it. Credit to the user phihag for sharing the sha256 of the file.