FFmpeg HLS 单个文件扩展名和字节范围格式
FFmpeg HLS single file extension and format by byte ranges
我正在尝试使用此命令制作一个 5 分钟的视频文件并生成一个单个文件 HLS 播放列表
ffmpeg -i video.mp4 -codec copy -bsf:v h264_mp4toannexb -hls_time 4 -hls_flags single_file -hls_list_size 0 video.m3u8
生成如下播放列表:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.338667,
#EXT-X-BYTERANGE:535424@0
video.ts
#EXTINF:5.338667,
#EXT-X-BYTERANGE:316592@535424
video.ts
#EXTINF:5.338667,
#EXT-X-BYTERANGE:285384@852016
video.ts
#EXT-X-ENDLIST
我想要的:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.338667,
#EXT-X-BYTERANGE:535424@0
video-0-535424.txt
#EXTINF:5.338667,
#EXT-X-BYTERANGE:316592@535424
video-535424-316592.txt
#EXTINF:5.338667,
#EXT-X-BYTERANGE:285384@852016
video-852016-285384.txt
#EXT-X-ENDLIST
或:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.338667,
#EXT-X-BYTERANGE:535424@0
video.txt#0-535424
#EXTINF:5.338667,
#EXT-X-BYTERANGE:316592@535424
video.txt#535424-316592
#EXTINF:5.338667,
#EXT-X-BYTERANGE:285384@852016
video.txt#852016-285384
#EXT-X-ENDLIST
我还想转换成单曲。ts/or 任何其他,只是想编辑它在video.m3u8[= 中的写法31=]。只有 ffmpeg 有可能吗?如果可以,怎么办?或者是否有任何 js/nodejs 模块可以将 video.m3u8 重写为 video.txt#range-here
所以您可以做的是,您可以使用 m3u8-parser
解析 .m3u8 文件
您需要解析.m3u8 文件,提取每一行并检查该行是否包含.ts。如果包含,请将其替换为 .txt。这就是我在我的项目中所做的黑客攻击。
我正在尝试使用此命令制作一个 5 分钟的视频文件并生成一个单个文件 HLS 播放列表
ffmpeg -i video.mp4 -codec copy -bsf:v h264_mp4toannexb -hls_time 4 -hls_flags single_file -hls_list_size 0 video.m3u8
生成如下播放列表:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.338667,
#EXT-X-BYTERANGE:535424@0
video.ts
#EXTINF:5.338667,
#EXT-X-BYTERANGE:316592@535424
video.ts
#EXTINF:5.338667,
#EXT-X-BYTERANGE:285384@852016
video.ts
#EXT-X-ENDLIST
我想要的:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.338667,
#EXT-X-BYTERANGE:535424@0
video-0-535424.txt
#EXTINF:5.338667,
#EXT-X-BYTERANGE:316592@535424
video-535424-316592.txt
#EXTINF:5.338667,
#EXT-X-BYTERANGE:285384@852016
video-852016-285384.txt
#EXT-X-ENDLIST
或:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.338667,
#EXT-X-BYTERANGE:535424@0
video.txt#0-535424
#EXTINF:5.338667,
#EXT-X-BYTERANGE:316592@535424
video.txt#535424-316592
#EXTINF:5.338667,
#EXT-X-BYTERANGE:285384@852016
video.txt#852016-285384
#EXT-X-ENDLIST
我还想转换成单曲。ts/or 任何其他,只是想编辑它在video.m3u8[= 中的写法31=]。只有 ffmpeg 有可能吗?如果可以,怎么办?或者是否有任何 js/nodejs 模块可以将 video.m3u8 重写为 video.txt#range-here
所以您可以做的是,您可以使用 m3u8-parser
解析 .m3u8 文件您需要解析.m3u8 文件,提取每一行并检查该行是否包含.ts。如果包含,请将其替换为 .txt。这就是我在我的项目中所做的黑客攻击。