这是我用“original.mp4”做的(00:15:22持续时间,~80MB文件大小):
从mp4中提取视频流
ffmpeg -i original.mp4 -c copy -an vid_only.mp4
从mp4中提取音频流
ffmpeg -i original.mp4 -vn -acodec copy aud_only.aac
合并提取的音频和视频流以形成新的mp4
ffmpeg -i aud_only.aac -i vid_only.mp4 new_mix.mp4
并且发现“new_mix.mp4”准确混合,持续时间与以前相同,但文件大小已降至36MB(从~80MB)。使用ffprobe
两个“original.mp4”和“new_mix.mp4”,我发现,不同的是在音频和视频流的比特率。
步骤#1和#2,在没有任何重新编码的情况下提取音频和视频流。步骤#3,据说合并了音频和视频流,但花了很长时间,所以可能执行了重新编码。是对的吗 ?如果是这样,有没有办法告诉ffmpeg在合并时不重新编码,更快地完成并保留原始比特率?