On 22-08-2018 12:51 PM, Gabriele Greco wrote:
file1.mp4 has the following video track:
Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D),
yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 5000 kb/s, 30 fps, 30 tbr, 600 tbn,
30 tbc (default)
file2.mp4 has the following video track:
Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D),
yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 4979 kb/s, 30 fps, 30 tbr, 15360 tbn,
30 tbc (default)
As you can see TBN for the second file is wrong, don't ask me why, we get
videos of every format from our customers...
usual call:
ffmpeg -f concat -safe 0 -i inputs.txt -c copy test.mp4
The TBN of the 2nd file isn't wrong. It's likely been muxed with ffmpeg
which will set a timebase > 10000 when the caller doesn't set one manually.
The concat demuxer's behaviour shouldn't be changed since the stream may
be variable frame rate in which case using tbr will destroy the variable
timing, leading to possible desync with the audio.
The workaround is to rescale all inputs to the concat demuxer to the
same timebase,
ffmpeg -i in.mp4 -map 0 -c copy -video_track_timescale X out.mp4
where X is the same value used for all files, and ideally the highest
found among all inputs.
Gyan
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".