欢迎各位兄弟 发布技术文章
这里的技术是共享的
1)在手机 uc 浏览器上 找下截的视频文件
比如 我们.m3u8,用emeditor 打它开,可以看到
#EXTM3U
#EXT-X-OLAYLIST-TYPE:VOD
#EXT-X-TARGENTDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:1
file://storage/27F3-07EF/Android/data/com.UCMobile/files/UCDownloads/VideoData/1551240813809/0
#EXTINF:1
file://storage/27F3-07EF/Android/data/com.UCMobile/files/UCDownloads/VideoData/1551240813809/1
2)找到它的视频文件夹 1551240813809 和 我们.m3u8 全部复制到电脑里面
3)下面的操作在电脑上都是在电脑上进行的
下载安装最新版的 ffmpeg 见 /node-admin/13191
把 bin 下面的三个exe文件 ffmpeg.exe ffplay.exe ffprobe.exe 复制到 C:\Windows\System32 目录下
就可以直接使用 ffmpeg.exe 命令了
4) 好像这一步不需要做 (可以参考 /node-admin/13193 )把 视频文件夹 1551240813809 里面的k0改成 key.key ,然后 把 1551240813809 目录下的 index.m3u8 (或者改local_index.m3u8 更方便一点 )改成如下
#EXTM3U
#LOCAL|,key.key ###第二行加上这一行
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="key.key" # key改一下
5) 与第4)原理一样 把 1551240813809 目录下的 index.m3u8 (或者改local_index.m3u8 更方便一点 ) 改成如下
#EXTM3U
#LOCAL|,k0 # 第二行加上这一行
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="k0" # key改一下
6) 把 1551240813809 目录下的 index.m3u8 (或者改local_index.m3u8 更方便一点 ) 改成如下
把里面的数字文件的数字名替换掉 变成与 1551240813809 目录下的文件名相同
#EXTM3U
#LOCAL|,k0
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="k0"
#EXTINF:1.000000,
0
#EXTINF:1.000000,
1
#EXTINF:1.000000,
2
#EXTINF:1.000000,
3
#EXTINF:1.000000,
4
#EXTINF:1.000000,
5
6) 通过 cmd命令行 进到 1551240813809 目录下
执行 下面的命令
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -i index.m3u8 -c copy out.mp4
或者使用下面的命令 (也就是把上面的 index.m3u8 改成 local_index.m3u8 )
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -i local_index.m3u8 -c copy out.mp4
或者使用下面的命令 (也就是把上面的 index.m3u8 改成 .local.index.m3u8 )
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -i .local.index.m3u8 -c copy out.mp4
就生成了 out.mp4 这个文件