本文均以在ffmpeg中的操作为例。
1、视频时间戳间隔计算
计算公式为:presentation_time = 1/video_fps
presentation_time为间隔时长,video_fps为视频的帧率,如25帧/S时,时间戳间隔为0.04秒,乘上1000后可以转换为毫秒。
2、音频时间戳间隔计算
计算公式为:presentation_time = frame_size/sample_rate
presentation_time为间隔时长,frame_size为每帧数据对应的字节数,一般存在frame->nb_samples中,sample_rate为音频采样率,一般存在于frame->sample_rate中,是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。如AAC每帧数据对应的字节数为1024,如果sample_rate==44.1K,对应的时间间隔为1024*1000/44100 = 23ms/1000 = 0.023s,mp3每帧数据对应的字节数为1152 ,如果smple_rate==44.1k,对应的时间间隔为1152*1000/44100 = 26ms/1000 = 0.026s。