gpt4 book ai didi

Laravel ffmpeg 编码未能转换

转载 作者:行者123 更新时间:2023-12-04 22:48:07 27 4
gpt4 key购买 nike

我正在尝试使用 FFmpeg 转换我的视频,但我收到一条错误消息,提示编码失败。我不确定我编码的方式是否可能是错误的。我希望有人看看我的代码,看看我是否做错了什么。这是我的代码

    $viddy=new Video;


if($request->video){
$my_video = $request->file('video');
$video_name = uniqid().$my_video->getClientOriginalName();

$ffmpeg = FFMpeg\FFMpeg::create([
'ffmpeg.binaries' => "C:/Users/jayjay/Desktop/ffmpeg/ffmpeg/bin/ffmpeg.exe",
'ffprobe.binaries' => "C:/Users/jayjay/Desktop/ffmpeg/ffmpeg/bin/ffprobe.exe"
]);



$videoName = Storage::disk('s3')->url($video_name);

$video = $ffmpeg->open($videoName);


$format = new FFMpeg\Format\Video\X264();
$format->setAudioCodec("libmp3lame");
$format->setKiloBitrate(150);

//Save format to amasonS3
$video->save($format, Storage::disk('s3')->url('newvideo.mp4'));

//Put the new video format in the database
$viddy->video = $video;
}

$viddy->save();

最佳答案

看起来您正在调用 save()方法错误,这可能是错误的结果。此外,在打开文件时,通过这个包使用外观可能会使事情变得更容易。试试这样:

$video = FFMpegFacade::fromDisk('s3')->open($folder . '/' . $filename)

...

$video->export()->toDisk('s3')->inFormat($format)->save($folder . '/' . $new_filename);

将视频保存在数据库中是另一回事。如果要保存视频的原始数据,可以序列化和base64编码等。但是,由于将其存储到磁盘,通常更容易保存视频的路径:
$viddy->video = $folder . '/' . $new_filename;
$viddy->save();

关于Laravel ffmpeg 编码未能转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52706037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com