使用FFMpeg进行音频切片的最佳参数


1

我打算使用Perl通过FFMpeg从媒体文件中提取音频。现在,据我所知,FFMpeg需要很多参数,例如比特率等,它用于提取音频。因此,对于一个特定的视频,我们可以通过测试来提供参数,而FFMpeg会为我们提供音频。但是,当我需要将其应用于大量媒体文件时,我需要一些最佳参数,这些参数将始终从所有人中提取出不错的音频。

因此,谁能指导我确保几乎所有媒体文件都能获得良好音频提取的默认参数是什么?

Answers:


3

您可以使用-codec copy-c copy(或-c:a copy)。这将100%复制位流。复制位流有一定的局限性,因为您只能剪切关键帧。但据我所知,这主要适用于视频流,而不是音频(据我所知,音频编解码器与关键帧没有类似物)。就个人而言,我从来没有遇到过使用位流复制来切割音频的任何问题。

ffmpeg -i input.mp3 -c:a copy -ss 10 -t 50 output.mp3

最好的选择是使用未压缩的PCM音频(-c:a pcm_s16le)或无损编解码器,例如FLAC(-c:a flac)。这些将产生与原始声音相同的音频。但是,这将为您提供更大的文件。

ffmpeg -i input.mp3 -c:a pcm_s16le -ss 10 -t 50 output.wav
ffmpeg -i input.mp3 -c:a flac -ss 10 -t 50 output.flac

您可以将-ss输入放在前面,以大大加快操作速度,尽管这可能会降低精确度。由于正在编写脚本,因此您可能会发现该-to选项有一些用途(请参阅文档)。


您能给我完整的命令-c:a flac吗?
SexyBeast 2013年

是的,当我使用时-vcodec copy -acodec copy,切片通常比指定的持续时间更长。5秒的切片会产生15秒的持续时间。我猜这是由于ky帧因素所致,因为它无法在中间对关键帧进行切片,所以它将继续进行直到该帧结束为止。对?
SexyBeast 2013年

@Cupidvogel是的,这听起来像是关键帧问题;如果仅使用音频,那么(根据我自己的经验)您将不会有任何问题-但是我还没有用详尽的输入列表对其进行过测试。
evilsoup 2013年

@Cupidvogel关键帧不会持续几秒钟。关键帧之间的间隔是很重要的(图片组长度。正如罪恶汤所说,确切的切割并非总是可能的–正确
。– slhck
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.