我正在尝试使用 WinUAE 中的“TechSmith 屏幕捕获编解码器”重新编码使用 H.264 视频和 AAC 音频以及最新的 64 位“ffmpeg”(20200510-fc99a24),但是当我将以下行与 ffmpeg 一起使用时,它似乎可以正常编码,但导致视频文件无法播放:
"C:\Program Files\ffmpeg\bin\ffmpeg.exe" -i output.avi -vcodec libx264 -preset slow -crf 20 -acodec mp3 -b:a 160k done.mkv
我知道音频是 MP3,但我不知道如何在 ffmpeg 中使用 AAC。
出了什么问题?
答案1
添加-c:a aac
:
ffmpeg -i input.avi -c:v libx264 -preset slow -crf 20 -c:a aac -b:a 160k -vf format=yuv420p -movflags +faststart output.mp4
input.avi
是输入文件。-c:v libx264
选择视频编码器库文件,这是一个 H.264 编码器。-preset slow
选择慢的x264 编码预设。默认预设为中等的. 使用您有耐心的最慢预设。-crf 20
选择 CRF 值为 20,这将产生高质量的输出。默认值为 23。值越低,质量越高。使用可提供可接受质量的最高值。-c:a aac
选择音频编码器音频,它是内置的FFmpeg AAC编码器。-b:a 160k
以 160k 的比特率对音频进行编码。-vf format=yuv420p
选择 YUV 4:2:0 色度子采样,这是为实现 H.264 兼容性而推荐的。-movflags +faststart
是 MP4 输出的一个选项,在编码完成后将一些数据移至文件开头。如果通过渐进式下载播放观看视频,这可使视频播放速度更快。output.mp4
是输出文件。
看FFmpeg 维基:H.264和FFmpeg 维基百科:AAC了解更多信息。
答案2
ffmpeg -i input -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4
来自官方 ffmpeg 文档。