M3U8 和 Linux tc 中定义的 BANDWIDTH
The defined BANDWIDTH in M3U8 and Linux tc
我有以下m3u8文件
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-STREAM-INF:BANDWIDTH=87835,RESOLUTION=426x240,CODECS="avc1.640015"
240-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=177512,RESOLUTION=426x240,CODECS="avc1.640015"
240-28/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=267977,RESOLUTION=854x480,CODECS="avc1.640015"
480-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=499454,RESOLUTION=1280x720,CODECS="avc1.640015"
720-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=957645,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1903257,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-28/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3907896,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-22/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=8265879,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-16/media_0.m3u8
我想运行一个Linux tc命令为之前文件中定义的每个带宽调整带宽,但我不确定带宽值是bps还是kbps。
例如,我想 运行 一个 tc 命令用于以下
#EXT-X-STREAM-INF:BANDWIDTH=87835,RESOLUTION=426x240,CODECS="avc1.640015"
240-34/media_0.m3u8
哪个命令是正确的
tc qdisc add dev eth1 root tbf rate 87835kbit burst 16kbit latency 2ms
或
tc qdisc add dev eth1 root tbf rate 87835 burst 16kbit latency 2ms
第4.3.4.2. EXT-X-STREAM-INF of the HLS RFC节说
BANDWIDTH
The value is a decimal-integer of bits per second. It represents
the peak segment bit rate of the Variant Stream.
所以它是 bps,您只需将 87835
作为 rate
参数传递给您的 tc
命令。
取决于你想做什么,请注意它被定义为 peak 比特率而不是 average 位率。
我有以下m3u8文件
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-STREAM-INF:BANDWIDTH=87835,RESOLUTION=426x240,CODECS="avc1.640015"
240-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=177512,RESOLUTION=426x240,CODECS="avc1.640015"
240-28/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=267977,RESOLUTION=854x480,CODECS="avc1.640015"
480-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=499454,RESOLUTION=1280x720,CODECS="avc1.640015"
720-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=957645,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-34/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1903257,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-28/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3907896,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-22/media_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=8265879,RESOLUTION=1920x1080,CODECS="avc1.640015"
1080-16/media_0.m3u8
我想运行一个Linux tc命令为之前文件中定义的每个带宽调整带宽,但我不确定带宽值是bps还是kbps。
例如,我想 运行 一个 tc 命令用于以下
#EXT-X-STREAM-INF:BANDWIDTH=87835,RESOLUTION=426x240,CODECS="avc1.640015"
240-34/media_0.m3u8
哪个命令是正确的
tc qdisc add dev eth1 root tbf rate 87835kbit burst 16kbit latency 2ms
或
tc qdisc add dev eth1 root tbf rate 87835 burst 16kbit latency 2ms
第4.3.4.2. EXT-X-STREAM-INF of the HLS RFC节说
BANDWIDTH
The value is a decimal-integer of bits per second. It represents
the peak segment bit rate of the Variant Stream.
所以它是 bps,您只需将 87835
作为 rate
参数传递给您的 tc
命令。
取决于你想做什么,请注意它被定义为 peak 比特率而不是 average 位率。