命令行'hls_segment_size'创建具有段故障的TS文件

问题描述 投票:2回答:1

我正在将简单的mp4视频转换为hls,但我需要将片段的大小调整为特定大小

我研究发现:

-hls_segment_size 17000000

17000000字节(〜17MB)

这将创建具有近似大小的TS文件,(不一定是确切大小)

ffmpeg.exe -i "in.mp4" -vcodec copy -acodec aac -hls_list_size 0 -hls_segment_size 17000000 -f hls "out.m3u8"

在m3u8文件中创建了'#EXT-X-BYTERANGE',这是我想要的方式

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:8.400000,
#EXT-X-BYTERANGE:1662108@0
SampleVideo_1280x720_30mb0.ts
#EXTINF:4.560000,
#EXT-X-BYTERANGE:383896@0
SampleVideo_1280x720_30mb1.ts
#EXTINF:3.120000,
#EXT-X-BYTERANGE:408712@383896
SampleVideo_1280x720_30mb1.ts
#EXTINF:5.640000,
#EXT-X-BYTERANGE:1161840@0
SampleVideo_1280x720_30mb2.ts
#EXTINF:1.880000,
#EXT-X-BYTERANGE:230864@0
SampleVideo_1280x720_30mb3.ts
#EXTINF:2.160000,
#EXT-X-BYTERANGE:330880@230864
SampleVideo_1280x720_30mb3.ts
#EXTINF:2.080000,
#EXT-X-BYTERANGE:489928@0
SampleVideo_1280x720_30mb4.ts
#EXTINF:4.400000,
#EXT-X-BYTERANGE:1564348@489928
SampleVideo_1280x720_30mb4.ts
...

看起来不错,但是有一点问题。我正在浏览器中的播放器上进行测试,当秒从一个片段切换到另一个片段时,视频的声音和视频就会锁定。令人讨厌的东西,在视频中不自然。

不使用'-hls_segment_size'将具有可用的TS文件,而m3u8文件中没有BYTERANGE

但是,TS文件的大小将取决于定义的秒数

我目前正在尝试获取一个ts文件,该文件的大小接近15MB和20MB之间的设置,并且在m3u8文件中包含BYTERANGE。

有人有什么想法吗?

这是我要描述的问题:

http://phantsc.rf.gd/AAA/Bbb.html

恰好在视频的后7个部分中,发生了“锁定”,这是从一个片段到另一个片段时发生的

video ffmpeg http-live-streaming m3u8
1个回答
0
投票
只需将您的ffmpeg版本更新为> 4此命令的旧版本有错误。
© www.soinside.com 2019 - 2024. All rights reserved.