使用FFmpeg合并播放UC浏览器下载的视频文件

使用安卓UC浏览器可以缓存网路上的视频文件,在UCDownloads/VideoData/文件夹下,一般有一个m3u8文件和类似1674154522694这种数字文件夹,里面储存的是被分割的ts格式视频文件
打开m3u8文件,里面的内容是储存在安卓系统视频片段的绝对路径

#EXTM3U
#EXT-X-OLAYLIST-TYPE:VOD
#EXT-X-TARGENTDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:4
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/0
#EXTINF:6
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/1
#EXTINF:4
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/2
#EXTINF:4
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/3
#EXTINF:3
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/4
#EXTINF:4
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/5
#EXTINF:4
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/6
#EXTINF:3
file://storage/emulated/0/UCDownloads/VideoData/1674154522694/7

我们需要将它们替换为电脑上储存文件的路径
在这里插入图片描述
替换后的m3u8文件

#EXTM3U
#EXT-X-OLAYLIST-TYPE:VOD
#EXT-X-TARGENTDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:4
D:\test\1674154522694/0
#EXTINF:6
D:\test\1674154522694/1
#EXTINF:4
D:\test\1674154522694/2
#EXTINF:4
D:\test\1674154522694/3
#EXTINF:3
D:\test\1674154522694/4
#EXTINF:4
D:\test\1674154522694/5
#EXTINF:4
D:\test\1674154522694/6
#EXTINF:3
D:\test\1674154522694/7

之后使用ffmpeg将m3u8文件生成视频

ffmpeg -allowed_extensions ALL -i D:\test\video.m3u8 -c copy video.mp4

-allowed_extensions ALL 由于FFmpeg任意文件读取漏洞,官方屏蔽掉了没有后缀名的ts文件,加上这个参数才可以正常读取本地的ts文件

[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/464' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/465' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/466' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/467' for reading7.6kbits/s speed=45.1x
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/468' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/469' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/470' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/471' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/472' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/473' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/474' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/475' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/476' for reading5.4kbits/s speed=45.4x
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/477' for reading
[hls @ 000001b5aca53b40] Opening 'D:\test\1674154522694/478' for reading
frame=47915 fps=1143 q=-1.0 Lsize=  195290kB time=00:31:56.57 bitrate= 834.7kbits/s speed=45.7x
video:163681kB audio:30587kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.526372%
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值