外で YouTube (Live) を音声だけ聞く
なぜそんなことがしたいか?
データ節約
ギガがね
概要
自宅の PC で yt-dlp で YouTube につないで音声だけ読む
音声を ffmpeg で HLS で配信
VPN で HLS を読んで再生
はい(なんか ChatGPT と適当に5回くらい問答したら動いた、脳の弱まりを感じる、、、)
code:sh
yt-dlp -f bestaudio -o - 'https://www.youtube.com/watch?v=foobar' | ffmpeg -re -i - -vn -c:a aac -b:a 128k -f hls -hls_time 4 -hls_list_size 5 -hls_flags delete_segments /path/to/your/stream.m3u8
ギガ的観点で見る場合 bestaudio じゃなくてもいいかも
worstaudio にして 24kbps にしてみた、この辺が限界でしょう
あとはまあ Nginx なり python -m http.server なりで m3u8 をもらってくるだけ
Firefox for Android で再生できたので他は試していない
こんな面倒なことしてまで YouTube を聞きたいのか?
どうだろう
API にしてみては
YouTube の URL (や、他の様々なパラメータ)を渡すと音声だけの m3u8 の URL を返してくれる API
というか /youtube_video_id.m3u8 みたいな感じで m3u8 を直接返してもよいのでは?(これできるか?)
むずくね?
できました、実用性は、、、