如何解决HLS转换时出现错误FFMpeg Laravel过滤器
我正在尝试使用Laravel上的ffmpeg库将mp4转换为m3u8视频格式。
当前,它可以处理生成的视频的比特率和大小,但是当我尝试添加过滤器以定义分辨率时,它会产生以下对数错误。
20-11-03 16:55:19]本地。错误:支持custom_filter过滤器 从0.3 ffmpeg版本开始;您的ffmpeg版本是 git-2020-08-26-8f2c1f2 {“ userId”:1,“ exception”:“ [对象] (FFMpeg \ Exception \ RuntimeException(code:0):custom_filter过滤器是 从0.3 ffmpeg版本开始支持;您的ffmpeg版本是 git-2020-08-26-8f2c1f2 at C:\ laragon \ www \ maquillate \ vendor \ PHP-ffmpeg \ PHP-ffmpeg \ src \ FFMpeg \ Media \ AdvancedMedia.PHP:344)
这是我目前的实现方式
$lowBitrate = (new \FFMpeg\Format\Video\X264('libfaac','libx264'))->setKiloBitrate(250);
$midBitrate = (new \FFMpeg\Format\Video\X264('libfaac','libx264'))->setKiloBitrate(500);
$highBitrate = (new \FFMpeg\Format\Video\X264('libfaac','libx264'))->setKiloBitrate(1000);
FFMpeg::Fromdisk('local')->open($media)
->exportForHLS()
->setSegmentLength(10) // optional
->setKeyFrameInterval(48) // optional
->addFormat($lowBitrate,function ($video) {
$video->addLegacyFilter(function ($filters) {
$filters->resize(new \FFMpeg\Coordinate\Dimension(640,480));
});
})
->addFormat($midBitrate)
->addFormat($highBitrate)
->save('public/hls/' . $video->id . '/video.m3u8');
如果我从这段代码中删除了过滤器,它们可以正常工作,但是我需要添加这些尺寸。
这是Laravel FFmpeg的文档,我需要做:https://github.com/protonemedia/laravel-ffmpeg#hls
注意:我的操作系统是Windows 10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。