添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

m3u8格式转mp4

例如现有一个m3u8格式的视频地址: https://rescdn.yishihui.com/longvideo/videocomposite/output/live/696380/1583998162597time-1LD.m3u8?Expires=1585381145&OSSAccessKeyId=LTAIHZz0zdTMC7HN&Signature=nrihRPuLby7Lm8F92P3NtoXdlIo%3D ,需要下载为mp4格式,解决思路:

通过m3u8格式的视频地址下载m3u8文件,文档编辑模式打开下载下来的m3u8文件,里面有所有ts文件,上面地址下载的m3u8文件打开是这样的:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:19
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:18.640000,
1583998162597time-1LD-00001.ts
#EXTINF:10.000000,
1583998162597time-1LD-00002.ts
#EXTINF:8.400000,
1583998162597time-1LD-00003.ts
#EXTINF:10.000000,
1583998162597time-1LD-00004.ts
#EXTINF:10.000000,
1583998162597time-1LD-00005.ts
#EXTINF:10.000000,
1583998162597time-1LD-00006.ts
#EXTINF:10.000000,
1583998162597time-1LD-00007.ts
#EXTINF:7.200000,
1583998162597time-1LD-00008.ts
#EXTINF:10.000000,
1583998162597time-1LD-00009.ts
#EXT-X-ENDLIST

上面只有ts的文件名,但是没有ts的全路径,需要用抓包工具去抓取上面m3u8视频地址的网站点击播放,抓取ts的地址拼接方式,我这边抓到的是https://rescdn.yishihui.com/longvideo/videocomposite/output/live/696380/1583998162597time-1LD-00001.ts,所以得到ts拼接的前缀是:https://rescdn.yishihui.com/longvideo/videocomposite/output/live/696380/

下一步是通过字符串处理上面的m3u8文件,得到所有的ts文件名:1583998162597time-1LD-00001.ts、1583998162597time-1LD-00002.ts、1583998162597time-1LD-00003.ts、1583998162597time-1LD-00004.ts....然后按顺序依次ts的内容,追加的方式存放到一个文件tmp_out.ts,然后利用插件(ffmpeg)转换tmp_out.ts为mp4格式,如果直接保存为tmp_out.mp4的话,视频播放软件是可以播放的,但是网页的形式是不能播放的,因为字符编码缺少了视频信息,所以需要插件来转换格式。

准备:安装ffmpeg插件

windows安装ffmpeg:

下载地址:https://ffmpeg.org/download.html

下载解压,命令行进入到加压文件夹/bin/目录下就可以直接使用ffmpeg命令

linux安装ffmpeg:

下载地址:https://ffmpeg.org/download.html

下载完上传到linux服务器,解压xz:

xz -d ffmpeg-git-amd64-static.tar.xz

解压tar:

tar -xvf ffmpeg-git-amd64-static.tar

进入解压目录,编译安装:

cd ffmpeg
./ffmpeg

PHP完整的实现代码:

$url = 'https://rescdn.yishihui.com/longvideo/videocomposite/output/live/696380/1583998162597time-1LD.m3u8?Expires=1585381145&OSSAccessKeyId=LTAIHZz0zdTMC7HN&Signature=nrihRPuLby7Lm8F92P3NtoXdlIo%3D'; $ts_content = file_get_contents($url); $ts_content = explode(',', $ts_content); $ts_file = array(); foreach ($ts_content as $key => $value) { if($key == 0) continue; $value = trim($value); $ts_file[] = substr($value, 0, strpos($value, '.ts') + 3); $url_prefix = substr($url, 0, strpos($url, '.m3u8')); $url_prefix = substr($url, 0, strrpos($url, '/') + 1); $file_content = ''; foreach ($ts_file as $key => $value) { $file_content .= file_get_contents($url_prefix . $value); file_put_contents('tmp_out.ts', $file_content); // FFMPEG_PATH 是你自己解压ffmpeg的bin路径,例如我的是F:/ffmpeg/bin/ exec(FFMPEG_PATH . "ffmpeg -i tmp_out.ts tmp_out.mp4");
本文实例讲述了 php 使用memcoder将视频 mp 4格式的方法。分享给大家供大家参考。具体实现方法如下:convertTo( "some-input-video.avi", "output. mp 4" );function convertTo( $input, $output ) {echo "Converting $input to $output";$command = "mencoder ... php 下载flv文件或者 mp 4文件无法播放 php 下载flv文件或者 mp 4文件无法播放想通过POST传输flv播放地址或者 mp 4播放地址然后直接下载,下载很容易,直接接收POST数据,POST过来的数据格式类似:http://a.com/1.flv,然后通过 PHP 下载,测试了两种方法(只贴出来了用于下载的简化代码):$url = i mp lode($_POST);$file = file_get_co... 最近不知道大家有没有在爱奇艺看中国新说唱啊?小编是这个节目的老粉丝了,从名字没改之前的第一季就开始看了,第一季确实让我喜欢上了这种风格的音乐,第二季开始之后虽然名字改了,但是内容还是没有变。感觉比之前更加的精彩了。第二期一出来小编立马就成了那吾克热的粉丝,一首音乐吸引了无数粉丝。有很多粉丝呢专门把这一期节目给下载了下来留着慢慢欣赏。但是我们知道的爱奇艺的视频文件是不能在其他播放器播放的,如果我们想... 使用很简单 打开输入.m3u8网页文件的url地址,例如(https://hls.cntv.baishancdnx.cn/asp/hls/main/0303000a/3/default/f3d5a48e56894766878753201f92529c/main.m3u8?maxbr=204. 怎么在 PHP 中将视频 换成 MP 4发布时间:2021-01-27 16:08:17来源:亿速云阅读:65作者:Leah本篇文章给大家分享的是有关怎么在 PHP 中将视频 换成 MP 4,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。代码如下:flv_convert_get_thumb('input.avi', 'output.jpg', 'out... PS: 由于小程序抓包,比较麻烦,所以稍微尝试了下就换方法。 进去后它提示下载app观看更加,所以把很自然我把目标 到了app,手机app抓包工具就比较多了,前段时间有个比较好用的,可以拦截数据包改数据,后来手贱删了....而且大陆很多功能... 本文实例讲述了 PHP 实现将视频 MP 4并获取视频预览图的方法。分享给大家供大家参考。具体实现方法如下:flv_convert_get_thumb('input.avi', 'output.jpg', 'output.ogm');// code provided and updated by steve of php snaps ! thanks// accepts:// 1: the input ... 一.这里我主要是播放m3u8的视频,有两款比较好的插件,swise和ckpalyer,我介绍的是ckplayer,这是在pc端播放的,并且是需要flash支持的,不过现在的最新浏览器都是默认安装的二.http://www.ckplayer.com/down/(ckpalyer下载地址)三.我的调用方式是官方的基本调用方法,可以看下官方的调用文档,接下来介绍俩种调用方法,一种是直接输出播放器的,这个... 生成m3u8视频流,如果没有做视频流文件,播放视频的时候,一个大视频直接加载,会增加服务器巨大压力,并且视频太大加载慢,显示视频也慢,都不利于观看。那么视频流的好处是,将大视频分成一小段一小段的ts分片,播放时选择专门的播放器,播放m3u8索引文件来读取分片。而且当播放器根据m3u8索引文件播放视频时,提前加载3段ts分片。ts分片不是全部一起加载,而是用户播放到一段,提前加载后3段分片,如此能很... 工具/原料UC浏览器(手机版)缓冲合并工具方法/步骤打开UC浏览器,找到自己喜欢的视频然后点入播放。在视频播放界面的工具条右下角有一个向下的剪头,点一下,视频就进入缓存状态了。之后在UC浏览器的菜单里“我的视频→正在缓存”可以看到刚才缓存的视频的进度。缓存好的视频存放在UCdownloads→videodata里。打开“缓冲合并工具”,选择“自定义”,点击“下一步”,进入缓冲选择界面。在“选择缓存... 配置 php .ini文件file_uploads = on ;//是否允许通过HTTP上传文件的开关。默认为ON即是开upload_t mp _dir ;//文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize = 1024m ;//望文生意,即允许上传文件大小的最大值。默认为2M,我们设置为1Gpost_max_size = 1024m ;/...