[FFmpeg-user] h264 timebase question

Govind Raj govind.durai at gmail.com
Tue Dec 31 13:03:02 CET 2013


please unsubscribe me from the mailing list


On Tue, Dec 31, 2013 at 3:51 PM, Stuart Bruce <stuartrbruce at gmail.com>wrote:

> Hello
>
> The background of the problem: I'm trying to use FFmpeg to save time
> during bulk exports of videos from Avid Media Composer. I've got a MOV that
> was exported from Avid at the right settings (h264, 640x360), which took
> some time to export. I've also got a 'same as source' export MOV, which
> exported much quicker but which is far too big. So I'm trying to get FFmpeg
> to convert the large same as source MOV so that it matches the settings of
> the correctly-sized MOV.
>
> However, so far I haven't been able to get it to match. The problems lie
> (I think) in the time_base and codec_time_base settings.
>
> Here's my command line so far:
>
> -i "[source file]" -s 640x360 -pix_fmt yuv420p -vcodec libx264 -acodec
> pcm_s16be -b:v 768k -ar 44100 -profile:v main -level 3.1 -force_key_frames
> expr:gte(t,n_forced) -bf 0 -ac 1 -threads 4 -y "[output file]"
>
> I've pasted 3 stream analyses from FFprobe below. Number (1) is from the
> source file, number (2) is what I'm aiming for, and number (3) is what I'm
> getting.
>
> The key differences are in codec_time_base (1/48 instead of 1/48000),
> time_base (which has become 1/12288 even though the source is 1/24000), and
> duration_ts.
>
> Unfortunately because they don't match, this is throwing off some other
> thumbnail-generation aspects which are based on seeking to the correct
> point in the resulting movie. With the Avid-exported MOV, the thumbnail
> generation is frame accurate, but using the FFmpeg-sourced MOV, this
> seeking is often a frame off, when it absolutely needs to be frame-accurate.
>
> Apologies that this explanation is a bit long-winded. I'm not, as you can
> tell, an encoding expert. Any help would be very much appreciated.
>
> Thanks
>
> Stuart
>
>
>
> (1) The source I'm using:
> [STREAM]
> index=0
> codec_name=dnxhd
> codec_long_name=VC3/DNxHD
> profile=unknown
> codec_type=video
> codec_time_base=1/24000
> codec_tag_string=AVdn
> codec_tag=0x6e645641
> width=1920
> height=1080
> has_b_frames=0
> sample_aspect_ratio=0:1
> display_aspect_ratio=0:1
> pix_fmt=yuv422p
> level=-99
> timecode=N/A
> id=N/A
> r_frame_rate=24/1
> avg_frame_rate=24/1
> time_base=1/24000
> start_pts=0
> start_time=0.000000
> duration_ts=1671000
> duration=69.625000
> bit_rate=36175872
> nb_frames=1671
> 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
> TAG:creation_time=2013-12-24 09:15:03
> TAG:language=eng
> TAG:handler_name=Apple Alias Data Handler
> [/STREAM]
>
> (2) The output I'm aiming for (analysis based on a file exported directly
> from Avid Media Composer):
> [STREAM]
> index=1
> codec_name=h264
> codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
> profile=Main
> codec_type=video
> codec_time_base=1/48000
> codec_tag_string=avc1
> codec_tag=0x31637661
> width=640
> height=360
> has_b_frames=0
> sample_aspect_ratio=0:1
> display_aspect_ratio=0:1
> pix_fmt=yuv420p
> level=31
> timecode=N/A
> id=N/A
> r_frame_rate=24/1
> avg_frame_rate=24/1
> time_base=1/24000
> start_pts=0
> start_time=0.000000
> duration_ts=1671000
> duration=69.625000
> bit_rate=736680
> nb_frames=1671
> 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
> TAG:creation_time=2013-12-24 11:55:57
> TAG:language=eng
> TAG:handler_name=Apple Alias Data Handler
> [/STREAM]
>
> (3) The output I'm actually getting from the FFmpeg-generated file:
> [STREAM]
> index=0
> codec_name=h264
> codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
> profile=Main
> codec_type=video
> codec_time_base=1/48      <-- different
> codec_tag_string=avc1
> codec_tag=0x31637661
> width=640
> height=360
> has_b_frames=0
> sample_aspect_ratio=0:1
> display_aspect_ratio=0:1
> pix_fmt=yuv420p
> level=31
> timecode=N/A
> id=N/A
> r_frame_rate=24/1
> avg_frame_rate=24/1
> time_base=1/12288      <-- different
> start_pts=0
> start_time=0.000000
> duration_ts=855552      <-- different
> duration=69.625000
> bit_rate=796023
> nb_frames=1671
> 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
> TAG:language=eng
> TAG:handler_name=DataHandler
> TAG:timecode=01:00:00:00
> [/STREAM]
>
> --
> Stuart Bruce
> stuart at stuartbruce.co.uk
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>


More information about the ffmpeg-user mailing list