avidemux 2.6.8 can't load DASH video files

Started by FeRD_NYC, April 20, 2015, 04:41:50 AM

Previous topic - Next topic

FeRD_NYC

YouTube and other sites now serve up HTML5 video using DASH adaptive streaming, with audio and video served on separate streams. (More on DASH at the Mozilla Developer Network.)

youtube-dl is a command-line python tool for saving these streams locally.

However, when youtube-dl saves a video-only DASH stream to file, avidemux fails to handle it. If it's an MP4 stream it won't even load it, complaining 'No stts table' and bailing. If it's a webm format stream, avidemux will appear to load the file, but it won't play or convert correctly, showing only a band of video noise along the top of the output pane.

...Actually, it seems avidemux has problems with .webm files in general, so this just turned into two bugs. Sorry about that. Details below. But, avidemux has no problems with muxed MP4 files.

Obviously, this is a problem when trying to work with these DASH parts using avidemux. (youtube-dl actually has internal support for muxing the video and audio streams, using ffmpeg... but that doesn't mean it wouldn't be advantageous for avidemux to support them as well.) In every case below, VLC can play the file with no problems, and MediaInfo has no issues identifying its format.

Using the traditional HD test short 'Big Buck Bunny' as an example, its youtube URL is https://www.youtube.com/watch?v=aqz-KE-bpKQ (video ID aqz-KE-bpKQ)

# List formats with
% youtube-dl -F aqz-KE-bpKQ


# Download 360p MP4 video+audio
% youtube-dl -f 18 aqz-KE-bpKQ

(Saves to: BlenderFoundation-Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film.mp4, which gives avidemux no problems.)

# Download 360p webm video+audio
% youtube-dl -f 43 aqz-KE-bpKQ

(Saves to: BlenderFoundation-Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film.webm. This opens in avidemux, but plays back with chroma inversion. You'll notice the opening logo is orange, not blue as it should be, and so is the sky. If I convert it to AVC/AAC MP4 using avidemux, the output file is also chroma-inverted when played with VLC.)

For the rest of these files, I'm going to start specifying output filenames, because by default they would be given the same filenames as the above, and youtube-dl would refuse to overwrite.
# Download 480p webm DASH video-only
% youtube-dl -f 244 aqz-KE-bpKQ -o BBB_244.webm

# Download 480p MP4 DASH video-only
% youtube-dl -f 135 aqz-KE-bpKQ -o BBB_135.mp4

# Download 720p MP4 h264 @ 60fps, DASH video-only
% youtube-dl -f 298 aqz-KE-bpKQ -o BBB_298.mp4

As I mentioned in the intro, BBB_244.webm will appear to load, but will not playback or convert correctly. The two .mp4 files both report 'No stts table' and fail to even load. All play properly in VLC / identify in MediaInfo.

Jan Gruuthuse

#1
-BlenderFoundation-Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film.webm confirmed: chroma inversion. LibVPX has in configure Swap U and V missing as is existing in Lavcodec.
- BBB_244.webm probably due to VP9 format? Not playing in vlc either. Not supported in ubuntu 14.04 (libav9.18)? should work in 14.10 (libav10.6)?
- BBB_135.mp4 No stts table: confirmed (AVC video)
- BBB_298.mp4 No stts table: confirmed (AVC video)


mean

There was one problem with VP9 in mkv/webm
but the VP9 decoder is not properly initialized yet
So work in progress

mean

The no stts table means the file is detected as mp4

mean

and thanks for the very detailed informations, that helps a lot

mean

Should work now, not tested with audio tracks, not sure it exists