laravel7使用pbmedia/laravel-ffmpeg扩展做抽帧功能,视频地址是公网的地址报错FFMpeg\Exception\RuntimeException: Unable to probe https://cc.oceanengine.com/anm/CtgDj8LbE55bIqaWR8yMZGRe3gsWwDDyBZV6IGB0kmbnqG5opvghOxUWbWucaEiWiU2T4eW82zerwgMoFvvpba1fFn0N-x-PoqhX9wgwHlbzAHuLJ84pREvAzIz_JzWoEPuP4VXimkcwnuOmIUqhX8-2UVZuNG2YHS-sKMDFSMO84rNqaZ0e96PVLTyCro4qxzVECYLjBzvGLCc1wGgpUQ_Nw-XrH95qHxSBcf28jQmT5gFtDNU1aWIXHdsP5RnIQK2WsfAO283Jeiu_g0YeyvFxuCNpysYS0qlN4_E1Gs8zl3O0zuHdXRRK3Sb2GMKdODl_xDWPINiOFWYrGixbeY58Asd-kONCv3jU5_xZmXIb-YjlMURLUNZUbljs7a4Z37Bz2L2rKeZwveGzlA54k9leEmN5Tfl0ffmFY2HiFMjfWUKC7ia21SMbObHeTk-eQFLIiZbk0KlujQM2Jrowcq-CHDbI0Y--5SJclTcOq_DYarb7pvvGp4AmnngidLVKWIXxU6c5OlGG77brmKZgseB6kYUBoUBnR2oGPYwiq392LfC-xjr5yQHf5tfd5IFoMAR4heciQSngR6yZSFBN8GrfxOHD9Ut1o7iZmI3saGDoIJtXrF8gLe_dmBpJCjyS-YTML6AqKXtEvc5Trp0HJIm1_lI2AK3ckqnq0P9e9Ov7_H1kXYInF3FKvtXRG9TEpCFGbbJP2wkHbeAQrKOzDRjt8v_hASIBAwrNSyY= in file D:\phpstudy_pro\WWW\suiyue\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFProbe.php on line 263怎么解决,请详细说明
时间: 2024-03-19 19:07:06 浏览: 26
这个错误提示是因为 FFmpeg 无法探测到你提供的视频地址。这可能是由于视频地址无效、网络问题或 FFmpeg 配置问题等原因导致的。
以下是一些你可以尝试的解决方法:
1. 确保视频地址是有效的公共URL地址。你可以尝试在浏览器中打开该地址,查看视频是否能够正常播放。如果无法播放,那么你需要找到正确的视频地址。
2. 检查网络连接是否正常。如果你的服务器无法访问该视频地址,那么 FFmpeg 将无法探测到该视频。你可以尝试使用 curl 或 wget 等命令行工具测试服务器是否可以访问该地址。
3. 确认你的服务器上已经正确安装了 FFmpeg。你可以通过命令行输入 `ffmpeg -version` 来测试 FFmpeg 是否已经正确安装。如果没有安装,你需要先安装 FFmpeg 才能使用 pbmedia/laravel-ffmpeg 扩展。
4. 如果你的服务器上已经正确安装了 FFmpeg,但是 pbmedia/laravel-ffmpeg 扩展仍无法探测到该视频,那么可能是 pbmedia/laravel-ffmpeg 扩展的配置问题。你可以检查 pbmedia/laravel-ffmpeg 扩展的配置文件是否正确,或者尝试升级到最新版本以查看是否已经修复了该问题。
希望这些方法能够帮助你解决问题。
相关问题
laravel7使用pbmedia/laravel-ffmpeg扩展怎么使用公网上的视频进行抽帧,详细说明
使用 pbmedia/laravel-ffmpeg 扩展可以很方便地对视频进行处理,包括抽帧、转码等。下面是使用公网上的视频进行抽帧的详细步骤:
1. 安装扩展包
在 Laravel 项目中通过 Composer 安装 pbmedia/laravel-ffmpeg 扩展包:
```
composer require pbmedia/laravel-ffmpeg
```
2. 配置环境变量
在 .env 文件中添加以下环境变量:
```
FFMPEG_BINARY=/usr/bin/ffmpeg
FFPROBE_BINARY=/usr/bin/ffprobe
```
根据自己的实际情况修改 FFMPEG_BINARY 和 FFPROBE_BINARY 的值。
3. 创建抽帧任务
在 app/Jobs 目录下创建一个抽帧任务,例如 CreateThumbnailsJob。在任务类的 handle 方法中编写抽帧逻辑,例如:
```php
use FFMpeg;
class CreateThumbnailsJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $videoUrl;
public function __construct($videoUrl)
{
$this->videoUrl = $videoUrl;
}
public function handle()
{
$ffmpeg = FFMpeg::create();
$video = $ffmpeg->open($this->videoUrl);
$duration = $video->getDuration();
for ($i = 0; $i < $duration; $i += 10) {
$video->frame(TimeCode::fromSeconds($i))
->save(public_path('thumbnails/' . $i . '.jpg'));
}
}
}
```
以上代码会将视频的每 10 秒抽出一帧作为缩略图,并保存到 public/thumbnails 目录下。
4. 调用抽帧任务
在需要抽帧的地方调用 CreateThumbnailsJob 任务,例如:
```php
use App\Jobs\CreateThumbnailsJob;
$url = 'http://example.com/video.mp4';
CreateThumbnailsJob::dispatch($url);
```
以上代码会在后台异步执行抽帧任务。
注意事项:
* 如果视频文件比较大,可能需要设置 PHP 和 FFMpeg 的内存限制,以防止内存溢出。
* 如果公网上的视频需要登录或者携带 Token 才能访问,需要在代码中添加相应的登录或者 Token 信息。
laravel7使用php-ffmpeg/php-ffmpeg扩展做视频抽帧的功能,可以抽取多张,请详细说明
当php-ffmpeg扩展进行视频抽帧时,可以使用以下代码实现抽取多张图片的功能:
```php
$ffmpeg = \FFMpeg\FFMpeg::create();
$videoPath = 'path/to/video.mp4';
$video = $ffmpeg->open($videoPath);
$frameRate = 1; //每秒钟抽取一张图片
$duration = $video->getDuration(); //获取视频时长
$totalFrames = $duration * $frameRate; //计算总共需要抽取的帧数
$interval = $duration / $totalFrames; //计算每一帧的时间间隔
for ($i = 1; $i <= $totalFrames; $i++) {
$frameTime = ($i - 1) * $interval;
$frame = $video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds($frameTime));
$frame->save('path/to/output/image' . $i . '.jpg');
}
```
解释一下这段代码的流程:
1. 创建FFMpeg实例
2. 打开视频文件
3. 计算每一帧的时间间隔
4. 循环抽取每一帧,并保存为图片文件
在循环中,我们使用`$i`变量来表示当前是第几帧,根据当前帧数计算出对应的时间点,然后使用`$video->frame()`方法抽取该时间点的帧,并保存为图片文件。
需要注意的是,这里我们设置了抽取帧的帧率为1,也就是每秒钟抽取一张图片。如果需要抽取更多的图片,可以将帧率调整为更高的值。另外,抽取出来的图片会按照顺序保存在指定的输出目录下,文件名为`image1.jpg`、`image2.jpg`、`image3.jpg`……等等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)