【问题标题】:ffmpeg - extract thumbnail from middle of clip durationffmpeg - 从剪辑持续时间的中间提取缩略图
【发布时间】:2013-02-14 04:36:55
【问题描述】:

您好,我正在使用以下 ffmpeg 命令从 ffmpeg 剪辑的开头提取缩略图:

/usr/local/bin/ffmpeg -ss 00:00:1 -i $fileName.flv -s 150x100 -vframes 1 $fileName.jpg

是否可以单独使用 ffmpeg 从剪辑持续时间的中间提取缩略图?

每个剪辑的长度不同。

如果 ffmpeg 不提供此选项,我知道可以将剪辑持续时间转换为 00:00:01.26 这种类型的格式,然后我想我可以将其分成两半,但我不确定这是否是最好的方法,而且我也(不好意思说)不完全确定如何用 PHP 将该格式分成两半。

示例代码将不胜感激。

谢谢。

【问题讨论】:

    标签: php ffmpeg


    【解决方案1】:

    你可以像这样得到中间:

    <?php
    // get duration
    $time =  exec("/local/bin/ffmpeg -i $fileName.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");   
    
    // duration in seconds; half the duration = middle
    $duration = explode(":",$time);   
    $durationInSeconds = $duration[0]*3600 + $duration[1]*60+ round($duration[2]);
    $durationMiddle = $durationInSeconds/2;
    
    // recalculte to minutes and seconds
    $minutes = $durationMiddle/60;
    $realMinutes = floor($minutes);
    $realSeconds = round(($minutes-$real_minutes)*60);
    ?>
    

    然后将您的命令与$realMinutes$realSeconds 一起使用:

    /usr/local/bin/ffmpeg -ss $realMinutes:$realSeconds:1 -i $fileName.flv -s 150x100 -vframes 1 $fileName.jpg
    

    【讨论】:

      猜你喜欢
      • 2011-09-08
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2016-12-17
      • 2016-06-10
      • 1970-01-01
      相关资源
      最近更新 更多