【问题标题】:Ffmpeg compression cron cutting video to 1 secondffmpeg压缩cron切割视频到1秒
【发布时间】:2022-08-07 07:10:00
【问题描述】:

我有一个 cron 设置来获取本地上传的视频、创建屏幕抓图、压缩视频并上传到在线存储。我正在将 ffmpeg 与 php 一起使用,并尝试了几种不同的方法,但尽管它确实压缩了文件大小,但我一直在获取视频第一秒的保存文件。我试着延迟这个过程,以防它没有足够的时间来做视频,这就是原因,但它似乎没有做太多。以下是我一起尝试过的代码的一些示例(注释为每个都尝试过,但您可以看到不同的方式):

try {
    // compress video if needed
    $bitrate = \"5000k\";
    // $command = \"ffmpeg -i \".($temp_dir.\"/\".$folder.\"/\".$sub_file).\" -b:v $bitrate -bufsize $bitrate \".$temp_dir.\"/\".$folder.\"/edit-\".$sub_file;
    // $command = \"ffmpeg -i $temp_video -qscale 0 \".$temp_dir.\"/\".$folder.\"/edit-\".$sub_file;
    $command = \"ffmpeg -i \".($temp_dir.\"/\".$folder.\"/\".$sub_file).\" -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 \".$temp_dir.\"/\".$folder.\"/edit-\".$sub_file;
    //system($command);
    $output=null;
    $retval=null;
    exec($command, $output, $retval);
    $temp_video = $temp_dir.\"/\".$folder.\"/edit-\".$sub_file.\"\";
} catch (Exception $e) {
    // log output
}

这是否存在已知问题或我缺少的东西?

谢谢

    标签: php ffmpeg cron video-compression


    【解决方案1】:

    我是新用户,不能写评论。

    尝试查看日志文件。有时您可以在那里阅读过早死亡的原因。

    $command = "ffmpeg -i ".($temp_dir."/".$folder."/".$sub_file)." -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 ".$temp_dir."/".$folder."/edit-".$sub_file." > ".$temp_dir."/".$folder."/log-".$sub_file.".log 2>&1 ";

    我也建议你使用-y覆盖结果文件。

    $command = "ffmpeg -y -i ".($temp_dir."/".$folder."/".$sub_file)." -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 ".$temp_dir."/".$folder."/edit-".$sub_file." > ".$temp_dir."/".$folder."/log-".$sub_file.".log 2>&1 ";

    【讨论】:

      猜你喜欢
      • 2014-05-28
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2013-12-29
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多