为什么 FFMPEG 错误地猜测 .M4A 是 WAV pcm_s16le 文件?

问题描述

我正在尝试使用此命令提取一段音频;

  ffmpeg -ss 00:00:01 -i input.m4a -t 00:00:03 -c:a copy output.m4a 

但 FFMPEG 错误地将 .M4A 猜测为 WAV pcm_s16le 文件,因此我必须使用此命令并将 .M4A 输出转换为 AAC;

  ffmpeg -vn -ss 00:00:01 -i input.m4a -t 00:00:03 -c:a aac output.m4 

但我担心这可能会导致它被处理两次。那么如何让 FFMPEG 识别出输出文件应该保持与输入文件相同的格式,并且只需复制而不是转换?

解决方法

-ss 从第二个 01
-t 需要 3 秒 -vn 不要复制视频

ffmpeg -ss 00:00:01 -i input.m4a -t 3 -c:a aac -vn -strict -2 output.m4a  

只需复制音频

ffmpeg -ss 00:00:01 -i input.m4a -t 3 -c:a copy -vn -strict -2 output.m4a