要将音频的时间戳从10ms转换为20ms并保证数据不失真,可以使用以下ffmpeg命令:
ffmpeg -i input.wav -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -filter:a "atempo=2.0" output.wav
此命令包含两个滤镜:aresample和atempo。
aresample滤镜会重新采样音频流以更改时间戳。参数“async = 1”启用异步模式,允许a-resample自动添加和删除样本以适应新的时间戳。参数“minhardcomp=0.100000”确保a-resample在进行任何补偿时不会应用太小的值,从而保留数据的完整性。最后,参数“first_pts=0”设置第一个PTS为0。
atempo滤镜会加速或减速音频。在这种情况下,它会将音频加速两倍以使时间戳从10ms变为20ms。
通过同时使用aresample和atempo滤镜,可以确保音频数据不失真。输出文件output.wav将具有新的时间戳,并且应该与输入文件input.wav的音频内容相同。
★文末名片可以免费领取音视频开发学习资料,内容包括(FFmpeg ,webRTC ,rtmp ,hls ,rtsp ,ffplay ,srs)以及音视频学习路线图等等。
见下方!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓