掲示板

32kbpsで動画再生に成功☆

IMG_YouCut_20260504_145851965.00.02.53.png

マイそくスーパーライト環境で動画再生に成功したので詳細を共有


AV1 SVTという現在存在する最高クラスの圧縮率を誇る動画形式を使用し、
動画を96x208 7fps 5kbpsに変換・圧縮し、HLSストリーミング
html js m3u8のgzip圧縮も加えて(brotliは面倒なのでgzip)

それをマイそくスーパーライト回線のガラホからテザリングし
スマホで再生

最初は不安定ながらもしばらく放置すれば安定して再生されました

動画が5kbpsになっているのは、HLSで必要なm3u8ファイルが15分さかのぼり再生できるようにした結果、地味に肥大化したためです

ちなみに720p(1.5Mbps)、336p(1Mbps)、240p(160Kbps)、94p(32Kbps)で画質を切り替え可能になっています

実際の様子↓
https://youtu.be/w42r7kMPu4g

ffmpegの設定

ffmpeg \
-init_hw_device vaapi=va:/dev/dri/renderD128 \
-filter_hw_device va \
-extra_hw_frames 8 \
-fflags nobuffer+genpts+igndts+discardcorrupt \
-flags low_delay \
-thread_queue_size 512 \
-use_wallclock_as_timestamps 1 \
-reorder_queue_size 0 \
-analyzeduration 3M \
-probesize 3M \
-threads 0 \
-i "rtp://10.81.0.2:1531?fifo_size=5000000&overrun_nonfatal=1" \
-muxdelay 0 \
-muxpreload 0 \
-avioflags direct \
-max_delay 0 \
-fps_mode passthrough \
-max_muxing_queue_size 2048 \
-filter_complex "\
[v:0]split=4[v720][v320][v240][v100];\
[v720]fps=48,format=nv12,hwupload,scale_vaapi=w=720:h=1560[v720out];\
[v320]fps=30,format=nv12,hwupload,scale_vaapi=w=336:h=728[v320out];\
[v240]fps=30,format=yuv420p,scale=240:520[v240out]; \
[v100]fps=7,format=yuv420p,scale=96:208[v100out]" \
-map "[v720out]" \
-c:v:0 vp9_vaapi \
-b:v:0 1190k \
-maxrate:v:0 1290k \
-bufsize:v:0 1290k \
-quality 0 \
-rc_mode:v:0 VBR \
-g:v:0 144 \
-keyint_min:v:0 144 \
-map "[v320out]" \
-c:v:1 vp9_vaapi \
-b:v:1 700k \
-maxrate:v:1 810k \
-bufsize:v:1 810k \
-quality 0 \
-rc_mode:v:1 VBR \
-g:v:1 90 \
-keyint_min:v:1 90 \
-map "[v240out]" \
-c:v:2 libx265 \
-preset slow \
-b:v:2 50k \
-maxrate:v:2 50k \
-bufsize:v:2 50k \
-g:v:2 90 \
-keyint_min:v:2 90 \
-map "[v100out]" \
-c:v:3 libsvtav1 \
-preset 3 \
-b:v:3 5k \
-bufsize:v:3 5k \
-g:v:3 21 \
-keyint_min:v:3 21 \
-map a:0 \
-c:a:0 libopus \
-ac 2 \
-b:a:0 48k \
-filter:a:0 aresample=async=1:min_hard_comp=0.100:first_pts=0 \
-map a:0 \
-c:a:1 libopus \
-ac 1 \
-b:a:1 32k \
-filter:a:1 aresample=async=1:min_hard_comp=0.100:first_pts=0 \
-map a:0 \
-c:a:2 libopus \
-ac 1 \
-b:a:2 24k \
-filter:a:2 aresample=async=1:min_hard_comp=0.100:first_pts=0 \
-map a:0 \
-c:a:3 libopus \
-ac 1 \
-b:a:3 1k \
-filter:a:3 aresample=async=1:min_hard_comp=0.100:first_pts=0 \
-flush_packets 1 \
-max_delay 0 \
-muxdelay 0 \
-muxpreload 0 \
-f hls \
-hls_segment_type fmp4 \
-hls_time 3 \
-hls_list_size 300 \
-hls_delete_threshold 2 \
-master_pl_publish_rate 2 \
-hls_flags delete_segments+append_list+omit_endlist+independent_segments+program_date_time+split_by_time \
-hls_segment_filename "/home/adotann/.cache/live0/%v_%04d.m4s" \
-master_pl_name master.m3u8 \
-var_stream_map "v:0,a:0,name:h v:1,a:1,name:m v:2,a:2,name:l v:3,a:3,name:e" \
"/home/adotann/.cache/live0/%v.m3u8"


4 件のコメント
1 - 4 / 4
さっぱりわからん
でもすごいことだけはわかる
動画見たけどよく分かりませんでした…

昔 ギガがなくなって低速128Kbpsで
YouTubeを144 p の0.5倍速で
見たことを思い出しました
あどたん
あどたんさん・投稿者
レギュラー

>> けのしょ さん

av1はYouTubeでも導入されていて、
128kbpsでも今はav1対応機種なら安定して再生できるようになっています

昔は動画が90kbps 音声が128kbpsで速度制限で通信できる2倍近い量でしたが、
av1とopusの導入で動画が56kbps 音声が32kbpsで速度制限の範囲内に収まっています

>> あどたん さん

動画 特に音声の圧縮技術が
ものすごいという解釈でよろしいんでしょうか
コメントするには、ログインまたはメンバー登録(無料)が必要です。