video - 在同一命令中减小使用 ffmpeg 制作的视频的大小

标签 video ffmpeg

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。


1年前关闭。







Improve this question




这是我的命令:

ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -shortest output.mp4
它从多个视频创建一个视频并且它正在工作,但是输出视频尺寸太大,我的问题是如何获得一个尺寸较小但不需要另一个命令的视频。

最佳答案

H.264
使用-crf-preset使用 libx264 编码时:

ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -c:v libx264 -crf 29 -preset slower -shortest -movflags +faststart output.mp4
  • -crf使用提供可接受质量的最高值。默认值为 23。值 29 应小 50% 左右,但质量较低。
  • -preset尽可能使用最慢的预设。默认为 medium .
  • FFmpeg Wiki: H.264 .

  • HEVC/H.265
    文件大小应小于 H.264,但编码速度较慢,您的播放器或设备可能不支持:
    ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -c:v libx265 -crf 34 -preset slow -shortest -movflags +faststart output.mp4
    
  • libx265 也使用 -crf-preset ,但 -crf值有些不同。见 FFmpeg Wiki: H.265 .

  • 强制输出文件大小
    无法使用 -crf 预先确定文件大小.如果您需要将视频限制在一定大小以下,请使用 two-passes .然而,这并不比-crf“更好”。 ,并且更慢,更复杂,并且仅在您需要输出为特定大小时使用。
    较小的宽度 x 高度(分辨率)
    添加 scale filter .将宽度 x 高度缩小 50% 的示例:
    ffmpeg -stream_loop -1 -f concat -i input.txt -i audio.mp3 -map 0:v -map 1:a -vf "scale=iw/2:ih/2" -c:v libx264 -crf 29 -preset slower -shortest -movflags +faststart output.mp4
    

    关于video - 在同一命令中减小使用 ffmpeg 制作的视频的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63712598/

    相关文章:

    video - 如何简化ffmpeg的脚本?

    jquery - 关闭 Accordion div 时停止播放 YouTube 视频

    javascript - 面临给用户提供取消静音自动播放Vimeo iframe嵌入的选项的麻烦

    java - 尝试将 vlcj 媒体播放器嵌入 JPanel 内的 WindowsCanvas

    matlab - 使用 MATLAB 和 ffmpeg 快速创建电影

    ffmpeg - 将视频从 RTSP 放到 HTML 页面的最佳方式?

    vb.net - 如何在 ffmpeg 中循环获取多个视频的图像

    php - 本地主机上的 ffmpeg-php 权限被拒绝

    c++ - 解码 MP4 h264 RTP 视频流 C++

    iPhone SDK : Welcome video