#2642: ffprobe unable to report video stream duration if stream is in matroska container. -------------------------------------+------------------------------------- Reporter: MountainMan | Type: defect Status: new | Priority: normal Component: FFprobe | Version: git- Keywords: | master Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Summary of the bug: ffprobe reports "N/A" as the value for "duration_ts" and "duration" for the video stream if the stream is in a mkv container (it does report the duration of the file as a whole though). If the same video is copied to an avi container the video stream duration values are reported as expected. I've tried this with mkv files I created with ffmpeg from images as well as from a video from my camera recoded to mkv. I've tried this with multiple video codecs (ffv1 and the codec in the reproduction section) and for files with and without an audio stream.
I'm running ffprobe on Ubuntu 12.04. I'm not sure what the version number is, but I'm using today's build based on the instructions here: https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuideQuantal Here is what the output looks like: ffprobe -pretty -show_streams -select_streams v testvideo.mkv ffprobe version N-38182-g449558d Copyright (c) 2007-2013 the FFmpeg developers built on Jun 4 2013 18:35:01 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable- libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 libavutil 52. 34.100 / 52. 34.100 libavcodec 55. 15.100 / 55. 15.100 libavformat 55. 8.102 / 55. 8.102 libavdevice 55. 2.100 / 55. 2.100 libavfilter 3. 75.101 / 3. 75.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Input #0, matroska,webm, from 'testvideo.mkv': Metadata: ENCODER : Lavf55.8.102 Duration: 00:00:05.01, start: 0.000000, bitrate: 265 kb/s Stream #0:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default) [STREAM] index=0 codec_name=h264 codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 profile=High 4:4:4 Predictive codec_type=video codec_time_base=50/2997 codec_tag_string=[0][0][0][0] codec_tag=0x0000 width=640 height=480 has_b_frames=0 sample_aspect_ratio=1:1 display_aspect_ratio=4:3 pix_fmt=yuv420p level=30 timecode=N/A id=N/A r_frame_rate=2997/100 avg_frame_rate=2997/100 time_base=1/1000 start_pts=0 start_time=0:00:00.000000 duration_ts=N/A duration=N/A bit_rate=N/A nb_frames=N/A nb_read_frames=N/A nb_read_packets=N/A DISPOSITION:default=1 DISPOSITION:dub=0 DISPOSITION:original=0 DISPOSITION:comment=0 DISPOSITION:lyrics=0 DISPOSITION:karaoke=0 DISPOSITION:forced=0 DISPOSITION:hearing_impaired=0 DISPOSITION:visual_impaired=0 DISPOSITION:clean_effects=0 DISPOSITION:attached_pic=0 [/STREAM] How to reproduce: {{{ ffprobe -pretty -show_streams -select_streams v testvideo.mkv Here is what I did to create the test video, but as I mentioned this acts the same with other videos transcoded into mkv, so you can probably duplicate it with any mkv file: convert -size 640x480 xc:black blackimage.png #Using imagemagick to create a black image. ffmpeg -loop 1 -f image2 -i blackimage.png -r 29.97 -t 5 -an -vcodec libx264 -preset ultrafast -qp 0 -pix_fmt yuv420p testvideo.mkv ffmpeg version built on June 4th 2013 }}} Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2642> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://avcodec.org/mailman/listinfo/ffmpeg-trac