video.js 播放m3u8, 重定向异常
时间: 2023-08-31 07:06:18 浏览: 347
如果您在使用 video.js 播放 m3u8 文件时出现重定向异常,可能是因为文件的 URL 发生了变化或重定向到了错误的地址。您可以先尝试打开 m3u8 文件的 URL,确保可以在浏览器中正确地访问该文件。
如果您确定 URL 没有问题,可以尝试在 video.js 中使用 HLS 插件来播放 m3u8 文件。在引入 video.js 和 HLS 插件后,可以使用以下代码来加载 m3u8 文件:
```javascript
var player = videojs('my-video');
player.src({
src: 'http://example.com/path/to/video.m3u8',
type: 'application/x-mpegURL'
});
```
如果您仍然无法播放 m3u8 文件,建议您检查服务器的配置,以确保服务器正确地支持 HLS 协议。
相关问题
thinkphp6 使用ffmpeg查看视频时间和编码信息 并转码ts切成m3u8 详细代码
下面是使用ffmpeg查看视频时间和编码信息并转码ts切成m3u8的示例代码:
```php
use think\facade\Filesystem;
// 视频文件路径
$videoPath = '/path/to/video.mp4';
// 获取视频时长和编码信息
$cmd = "ffmpeg -i $videoPath 2>&1";
exec($cmd, $output);
$duration = 0;
$codec = '';
foreach ($output as $line) {
if (preg_match('/Duration: ([\d:\.]+),/', $line, $matches)) {
$duration = strtotime("1970-01-01 $matches[1] UTC");
}
if (preg_match('/Video: (.+?),/', $line, $matches)) {
$codec = $matches[1];
}
}
// 转码ts并切成m3u8
$dirPath = '/path/to/output';
Filesystem::mkdir($dirPath);
$outputPath = $dirPath . '/output.m3u8';
$cmd = "ffmpeg -i $videoPath -codec:v $codec -map 0 -f segment -segment_list $outputPath -segment_time 10 $dirPath/%03d.ts";
exec($cmd);
```
首先,我们使用`ffmpeg`命令获取视频的时长和编码信息。在命令中,`-i`参数表示输入文件,`2>&1`表示将标准错误输出重定向到标准输出。然后通过正则表达式解析输出内容获取时长和编码信息。
接着,我们使用`ffmpeg`命令将视频转码成ts格式,并将其切成长度为10秒的小段。`-codec:v`参数表示选择视频编码器,`-map 0`参数表示将所有流映射到输出,`-f segment`参数表示使用分段输出,`-segment_list`参数表示输出m3u8文件路径,`-segment_time`参数表示每个小段的时长,`%03d.ts`表示小段文件名的格式。
最后,我们使用`Filesystem`组件创建输出目录,然后执行`ffmpeg`命令将视频转码并切成小段,输出m3u8文件和ts小段文件。
阅读全文