プログラム

Linux mintでYoutube Live配信するメモ

古いネットブックにLinux mint入れました。
webカメラ使った、定点カメラライブストリーミングするのに。
ネットブックで24hライブ配信の安全性については自己責任にはなりますが
後日ラズパイに差し替える予定です。

あとで再度組むときの備忘録とか、ちょっと興味ある人向け
無音ですが、無音だとYoutubeがはじくらしく、低音質の無音を送信してる(マイク入力を0にしてます)

 

【実際のもの】
https://www.youtube.com/channel/UCqeFLwvndsUDNoENRwgdqjA

 

【使ったもの】

*カメラ(多分これ)
マイクロソフト ウェブカメラ LifeCam Studio Q2F-00008
https://www.amazon.co.jp/dp/B004G09OJ8

*PC
以前いただいたネットブック(msi U-100)
http://www.msi-computer.co.jp/products/NB/U100.html

 

【ソフトウェア】

*ffmpeg

sudo apt install ffmpeg

【Youtube】

*チャンネル作る
*右上のアイコンから「クリエイターツール」開く
*サイドメニューから「ライブストリーミング」を開く
*下の方に「エンコーダの設定」あるので「ストリーム名/キー」をメモしておく

【コマンド】

# 自分用低スペでも動くおすすめ設定
ffmpeg -f alsa -ac 1 -i hw:1,0 -f v4l2 -s 640×390 -r 10 -i /dev/video0 -vcodec libx264 -vf drawtext="fontfile=[フルパスでフォントファイル指定.ttf]:x=2:y=2:fontsize=32:fontcolor=white:box=1:boxcolor=black@0.4:text='%{localtime}'" -pix_fmt yuv420p -preset ultrafast -r 15 -g 30 -b:v 750k -codec:a libvo_aacenc -ar 44100 -threads 0 -b:a 128k -bufsize 512k -f flv rtmp://a.rtmp.youtube.com/live2/[ここにストリーム名を入れる]

「-s 640×390」のところは解像度、
「-b:v 750k」はビデオビットレート
「/dev/video0」は人の環境で違いますが、下記で確認・変更してください。
「drawtext 内の fontfile」はttfとか好きなフリーフォントでもはめるといいかも。fontsizeは適当に下げていいかも
「-codec:a libvo_aacenc」のオーディオエンコ(libvo_aacenc)部分だけど、環境によって違うかも。参考にしたいろんなサイトと違ってたから、「ffmpeg -formats」で探した

上記設定でやるとこの画像みたいになります。このフォントはちゃんと買ったやつだけど、M+フォントとかでもいいと思います。

時刻表示いらねえよって人は、「-vf drawtext=”〜〜〜〜〜〜”」の部分消せばいい。
でも時刻表示あったほうがかっこよくない???

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-12-18-44-16

# v4l-utilsをインストール
sudo apt-get install v4l-utils

# /dev/video0の情報を見る(カメラの名前など出るので正しいwebカメラか確認)
# 2つ繋いでる時は video1かもしれぬ
v4l2-ctl -d /dev/video0 --info

 

でもこれマシンのせいなのか、ffmpegのせいなのか、
8時間くらい過ぎると、1秒のエンコに数秒かかって送出なさすぎてバッファ確保できず配信が遅延(実際には止まってる)しちゃう。
プロセスを一定時間ごとに切断して、すぐ再接続すれば無理やりではあるけど繋がるはずなのでそれしか無理かなぁ。いろいろ調べてみます

 

細かいffmpegのオプションはここ参考になりそうです。
サンプルで使って慣れる。ffmpeg の使い方。 – それマグで!
最新ffmpeg/ビデオオプション – MobileHackerz Knowledgebase Wiki

コメントを残す

メールアドレスが公開されることはありません。

*