[FFmpeg-trac] #2642(FFprobe:new): ffprobe unable to report video stream duration if stream is in matroska container.
FFmpeg
trac at avcodec.org
Wed Jun 5 02:20:03 CEST 2013
#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
More information about the FFmpeg-trac
mailing list