【问题标题】:Reduce file size of ffmpeg converted video减小 ffmpeg 转换视频的文件大小
【发布时间】:2018-10-23 16:46:31
【问题描述】:

我有一个 .mp4 视频,文件大小为 540kb,在转换前的持续时间为 30 秒,但是当我使用 ffmpeg 将其转换为文件大小变为 21mb。我需要添加哪些选项才能将文件大小减小到 1mb

我现在正在使用的ffmpeg命令:

video_filename = __DIR__.  '/uploads/VID.mp4';

exec('ffmpeg -i '.$video_filename.' -c:v libx264 '.$video_filename.'');

【问题讨论】:

  • 尝试添加 -crf {number},数字越大 = 质量越低: exec('ffmpeg -i '.$video_filename.' -c:v libx264 -crf 25 '.$video_filename.'') ;
  • @NedkoDimitrov 如何替换现有文件?例如文件名是video.mp4,输出名也是video.mp4?如何替换现有文件?我想替换原始文件,但是当我使用命令时文件没有替换
  • 直接覆盖现有文件并非不可能。您需要将输出临时存储在其他位置或重命名。
  • 覆盖输入文件会截断并损坏输入文件,从而导致输出文件损坏!
  • @NedkoDimitrov 如何正确覆盖文件?

标签: php ffmpeg


【解决方案1】:

在所需位置创建 tmp_dir

exec('ffmpeg -i '.$video_filename.' -c:v libx264 -crf 25 tmp_dir'.$video_filename.'');
exec('rm -rf '. $video_filename);
exec('mv tmp_dir/'.$video_filename.' ..');

我希望它能正常工作,我还没有测试过!。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 2019-12-28
    • 2015-05-18
    相关资源
    最近更新 更多