[FFmpeg-trac] #4316(undetermined:new): ffmpeg gives ambigous results with number of frames
FFmpeg
trac at avcodec.org
Wed Feb 18 09:43:25 CET 2015
#4316: ffmpeg gives ambigous results with number of frames
-------------------------------------+-------------------------------------
Reporter: slhck | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
I have an AVI file containing raw UYVY 4:2:2 video, where I'd like to know
the number of frames (and also their PTS).
I get conflicting results when doing stream copying with remuxing, re-
encoding, or running ffprobe:
{{{
$ ffprobe -select_streams v -show_streams nb-frames.avi
ffprobe version 2.5.4 Copyright (c) 2007-2015 the FFmpeg developers
built on Feb 16 2015 20:49:00 with Apple LLVM version 6.0
(clang-600.0.56) (based on LLVM 3.5svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.5.4 --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-
libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid
--enable-libfontconfig --enable-libfreetype --enable-libtheora --enable-
libvorbis --enable-libvpx --enable-librtmp --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libfaac --enable-libass --enable-
ffplay --enable-libssh --enable-libspeex --enable-libschroedinger
--enable-libfdk-aac --enable-openssl --enable-libopus --enable-frei0r
--enable-libcaca --enable-libsoxr --enable-libquvi --enable-libvidstab
--enable-libx265 --enable-libwebp --enable-libopenjpeg --disable-
decoder=jpeg2000 --extra-
cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
--enable-nonfree --enable-vda
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.102 / 56. 15.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, avi, from 'nb-frames.avi':
Metadata:
encoder : Lavf55.37.102
Duration: 00:00:05.21, start: 0.000000, bitrate: 764567 kb/s
Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1920x1080,
770576 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p,
128 kb/s
[STREAM]
index=0
codec_name=rawvideo
codec_long_name=raw video
profile=unknown
codec_type=video
codec_time_base=1/24
codec_tag_string=UYVY
codec_tag=0x59565955
width=1920
height=1080
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=uyvy422
level=-99
color_range=N/A
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=unspecified
timecode=N/A
id=N/A
r_frame_rate=24/1
avg_frame_rate=24/1
time_base=1/24
start_pts=0
start_time=0.000000
duration_ts=125
duration=5.208333
bit_rate=770576516
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=125
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
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]
}}}
As you can see, the number of frames is indicated as 125. But when I list
the frames, I get only 120:
{{{
$ ffprobe -select_streams v -show_frames -of compact nb-frames.avi | wc -l
120
}}}
When I encode, I get 125 frames, 5 of them duplicated:
{{{
$ ffmpeg -i nb-frames.avi -c:v libx264 out.mp4
ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers
built on Feb 16 2015 20:49:00 with Apple LLVM version 6.0
(clang-600.0.56) (based on LLVM 3.5svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.5.4 --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-
libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid
--enable-libfontconfig --enable-libfreetype --enable-libtheora --enable-
libvorbis --enable-libvpx --enable-librtmp --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libfaac --enable-libass --enable-
ffplay --enable-libssh --enable-libspeex --enable-libschroedinger
--enable-libfdk-aac --enable-openssl --enable-libopus --enable-frei0r
--enable-libcaca --enable-libsoxr --enable-libquvi --enable-libvidstab
--enable-libx265 --enable-libwebp --enable-libopenjpeg --disable-
decoder=jpeg2000 --extra-
cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
--enable-nonfree --enable-vda
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.102 / 56. 15.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, avi, from 'nb-frames.avi':
Metadata:
encoder : Lavf55.37.102
Duration: 00:00:05.21, start: 0.000000, bitrate: 764567 kb/s
Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1920x1080,
770576 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p,
128 kb/s
No pixel format specified, yuv422p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x7f9872005c00] using SAR=1/1
[libx264 @ 0x7f9872005c00] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7f9872005c00] profile High 4:2:2, level 4.0, 4:2:2 8-bit
[libx264 @ 0x7f9872005c00] 264 - core 144 r2525 40bb568 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options:
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1
cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6
lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24
scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0
qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'out.mp4':
Metadata:
encoder : Lavf56.15.102
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv422p,
1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 24 fps, 12288 tbn, 24 tbc
Metadata:
encoder : Lavc56.13.100 libx264
Stream #0:1: Audio: aac (libfaac) ([64][0][0][0] / 0x0040), 44100 Hz,
stereo, s16, 128 kb/s
Metadata:
encoder : Lavc56.13.100 libfaac
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (mp3 (native) -> aac (libfaac))
Press [q] to stop, [?] for help
frame= 125 fps= 14 q=-1.0 Lsize= 2949kB time=00:00:05.20
bitrate=4644.9kbits/s dup=5 drop=0
video:2862kB audio:82kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.165776%
[libx264 @ 0x7f9872005c00] frame I:5 Avg QP:18.69 size: 76030
[libx264 @ 0x7f9872005c00] frame P:81 Avg QP:22.44 size: 27817
[libx264 @ 0x7f9872005c00] frame B:39 Avg QP:24.00 size: 7611
[libx264 @ 0x7f9872005c00] consecutive B-frames: 47.2% 27.2% 19.2% 6.4%
[libx264 @ 0x7f9872005c00] mb I I16..4: 23.7% 67.4% 8.9%
[libx264 @ 0x7f9872005c00] mb P I16..4: 10.0% 19.9% 0.5% P16..4: 36.4%
6.9% 2.2% 0.0% 0.0% skip:24.2%
[libx264 @ 0x7f9872005c00] mb B I16..4: 0.5% 1.1% 0.0% B16..8: 29.2%
2.6% 0.2% direct: 1.8% skip:64.5% L0:51.5% L1:44.6% BI: 4.0%
[libx264 @ 0x7f9872005c00] 8x8 transform intra:66.0% inter:88.7%
[libx264 @ 0x7f9872005c00] coded y,uvDC,uvAC intra: 25.4% 58.7% 11.2%
inter: 8.9% 22.4% 1.6%
[libx264 @ 0x7f9872005c00] i16 v,h,dc,p: 20% 39% 11% 30%
[libx264 @ 0x7f9872005c00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 24% 39% 2%
2% 2% 4% 2% 3%
[libx264 @ 0x7f9872005c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 28% 12% 4%
6% 6% 6% 4% 3%
[libx264 @ 0x7f9872005c00] i8c dc,h,v,p: 56% 20% 19% 5%
[libx264 @ 0x7f9872005c00] Weighted P-Frames: Y:13.6% UV:1.2%
[libx264 @ 0x7f9872005c00] ref P L0: 56.9% 11.2% 24.3% 7.3% 0.3%
[libx264 @ 0x7f9872005c00] ref B L0: 88.8% 10.7% 0.5%
[libx264 @ 0x7f9872005c00] ref B L1: 89.7% 10.3%
[libx264 @ 0x7f9872005c00] kb/s:4500.75
}}}
The file is on the FTP as `nb-frames.avi`.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4316>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list