Asm*_*ust 3 ffmpeg video-conversion
有没有办法使用 ffmpeg(或任何其他基于 CLI 的视频转换器)设置视频转换的最大最终大小?
就像如果我有一个100MB的视频,并希望将其转换为最高质量的一个10MB的视频可能,考虑到最终的格式并不重要。
and*_*.46 11
从 100mb 到 10mb大小减少 90%有点不切实际,但我将举一个创建 H.264 视频的示例,将大小减少到 50mb,这是更合理的大小减少 50% 以及使用 HEVC 减少到 40mb。
我正在使用以下示例文件:
wget http://dl3.h265files.com/TearsOfSteel_720p_h265.mkv
Run Code Online (Sandbox Code Playgroud)
您可以使用此示例文件来确认我给出的以下结果,也可以自己进行进一步的试验。MediaInfo 显示了此下载文件的以下内容:
mediainfo \
--Inform="General;Duration=%Duration/String3%\nFile size=%FileSize/String1%" \
TearsOfSteel_720p_h265.mkv
Duration=00:12:14.058 <-----
File size=101 MiB <-----
Run Code Online (Sandbox Code Playgroud)
箭当然是我自己的!那么您可能有 2 个非常好的选择:
1. 重新编码为 H.264 (50mb)
H.264 现在被广泛接受,将是您输出视频文件的绝佳选择。计算所需 50mb 的输出比特率的公式为:
(50 MiB * 8192 [converts MiB to kBit]) / 734 seconds = ~558 kBit/s total bitrate
558 - 128 kBit/s (desired audio bitrate) = 430 kBit/s video bitrate
Run Code Online (Sandbox Code Playgroud)
要完成此操作,请使用以下 FFmpeg 2 pass 命令:
ffmpeg -y -i TearsOfSteel_720p_h265.mkv \
-c:v libx264 -b:v 430k -pass 1 \
-c:a libmp3lame -b:a 128k -f mp4 /dev/null && \
ffmpeg -i TearsOfSteel_720p_h265.mkv \
-c:v libx264 -b:v 430k -pass 2 \
-c:a libmp3lame -b:a 128k TearsOfSteel_smaller.mp4
Run Code Online (Sandbox Code Playgroud)
生成的文件大小为 49.4MiB,具有相当合理但并不惊人的观看质量。实际上,文件大小减少 50% 和视频比特率大幅下降非常好!
2. 重新编码为 HEVC (40mb)
另一种选择(如 emk2203 所建议的)是以较低的比特率重新编码现有的 HEVC 流,这次的目标是 40mb,因为 HEVC 声称以较低的比特率获得更好的质量。
这次的公式是:
(40 MiB * 8192 [converts MiB to kBit]) / 734 seconds = ~446 kBit/s total bitrate
446 - 128 kBit/s (desired audio bitrate) = 318 kBit/s video bitrate
Run Code Online (Sandbox Code Playgroud)
FFmpeg 2 pass 命令行是:
ffmpeg -y -i TearsOfSteel_720p_h265.mkv \
-c:v libx265 -x265-params pass=1 -b:v 318k \
-c:a libmp3lame -b:a 128k -f mp4 /dev/null && \
ffmpeg -i TearsOfSteel_720p_h265.mkv \
-c:v libx265 -x265-params pass=2 -b:v 318k \
-c:a libmp3lame -b:a 128k TearsOfSteel_smaller.mp4
Run Code Online (Sandbox Code Playgroud)
这提供了一个质量相当合理的 40mb 文件。
综上所述:
从这些示例中,您可以通过减少公式中所需的 MiB 并观察随后的观看质量来进一步试验。玩得开心!!
参考:
| 归档时间: |
|
| 查看次数: |
8347 次 |
| 最近记录: |