Not possible to override bogus FPS in raw h264 streams
|Reported by:||jaanusk||Owned by:|
|Blocking:||Reproduced by developer:||yes|
|Analyzed by developer:||no|
It's not possible to override fps on raw h264 streams.
For example, I have a stream produced by Raspberry PI HW encoder which plays fine when fps
is forced. The actual fps is 15, but recent ffmpeg versions default somehow to 25fps.
How to reproduce:
% ffmpeg -r 15 -i stream_00 -vcodec copy stream.mp4 ffmpeg version N-49440-gebe368d Copyright (c) 2000-2013 the FFmpeg developers built on Jan 29 2013 16:08:08 with gcc 4.7 (Debian 4.7.2-5) configuration: libavutil 52. 17.100 / 52. 17.100 libavcodec 54. 91.100 / 54. 91.100 libavformat 54. 61.104 / 54. 61.104 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 34.101 / 3. 34.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 [h264 @ 0x1bcf000] max_analyze_duration 5000000 reached at 5000000 microseconds [h264 @ 0x1bcf000] Estimating duration from bitrate, this may be inaccurate Input #0, h264, from 'stream_00': Duration: N/A, bitrate: N/A Stream #0:0: Video: h264 (High), yuv420p, 960x720, 25 fps, 25 tbr, 1200k tbn, 50 tbc Output #0, mp4, to 'stream.mp4': Metadata: encoder : Lavf54.61.104 Stream #0:0: Video: h264 ( / 0x0021), yuv420p, 960x720, q=2-31, 25 fps, 1200k tbn, 1200k tbc Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help frame=224753 fps=173017 q=-1.0 Lsize= 103295kB time=02:29:50.08 bitrate= 94.1kbits/s video:102400kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.873958%
Output file plays faster then normal because the actual source is 15fps and ffmpeg does not allow to override this.
Last version that works as expected is 0.11.2.
Change History (12)
Changed 4 years ago by jaanusk
comment:4 Changed 4 years ago by michael
- Reproduced by developer set
- Resolution set to fixed
- Status changed from new to closed
comment:5 Changed 4 years ago by jaanusk
- Resolution fixed deleted
- Status changed from closed to reopened