ffmpegとは?
前回の記事では、OBSというアプリケーションを利用して、ネットワークカメラの映像をYouTubeにアップロードする方法について説明をした。以下のURLに記載している。OBSを利用すると、比較的、直感的な操作(GUI)でネットワークカメラの映像をYouTubeにアップロードすることができる。また、文字などを挿入できることもメリットだ。
しかし、Twitterで『ffmpeg』でも、YouTubeにアップロードができるとの情報を得たため、今回は、ffmpegを利用した方法にチャレンジする。ffmpegとは、動画を記録・変換・再生ができるフリーソフトである。
非常に汎用性が高く、比較的、簡単にMP4などの映像ファイルに変換したり、映像配信サーバーを構築できるため、ネットワークカメラのベンダーでも活用している技術者は多いようだ。
筆者は、ffmpegのコマンドについてほとんど知識はないが、今回は、挑戦してみたい。
ffmpegをインストールする
まずは、ffmpegをダウンロードする必要がある。以下のURLに接続し、ダウンロードする。
ダウンロードサイトでWindowsボタンを押下し、『Windows builds by BtbN』をクリックする。
たくさんのバージョンがあり、どれをダウンロードしてよいのかわからなかった。とりあえず、『Win64』と記載されたZIPファイルをてきとうにダウンロードした。
※もし、有識者がいらっしゃれば、どのZIPファイルをダウンロードするのが正しいのか教えて欲しい。
ZIPファイルを解凍し、Cドライブの直下に、フォルダを配置した。
『システムの詳細設定』を開き、『環境変数』を押下する。『Path』を選択し、『編集』をクリックする。
『新規』ボタンをクリックし、ffmpegのbinファイルを指定する。例えば『C:fmpeg-master-latest-win64-gplin』と記載する。
Windowsの検索バーで『cmd』と入力し、コマンドプロンプトを起動する。『ffmpeg -version』と入力し、上記のような表示ができればインストール完了だ。
コマンドでYoutubeに動画をアップロードする
まずは、YouTubeの管理画面で『ストリームキー』をコピーしておく。
YouTubeスタジオでストリームキーの『コピー』をクリックする。
続いて、ffmpegでカメラの映像をアップロードする。例えば、ハイクビジョンのカメラの場合、コマンドプロンプトで以下のように入力する。
〇コマンドの例文
ffmpeg -f lavfi -i anullsrc -rtsp_transport udp -i rtsp://<カメラのユーザー名>:<カメラのパスワード>@<IPアドレス>:554/streaming/channels/101 -tune zerolatency -vcodec libx264 -t 12:00:00 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/<コピーしていたストリームキー>
※RTSPのコマンドについては、各カメラメーカーや機種によって異なる。以下のURLを参考にして欲しい。
正直なところ、ffmpegのコマンドについては、筆者もよくわからなかった。様々なコマンドを試してみたが、うまく動画をアップロードできなかった。
以下のURLの記事が非常に参考になったので、参照して欲しい。
このようにライブ映像の配信が開始されれば、成功だ。
ffmpegに慣れているユーザーは、このような方法で映像をYouTubeにアップロードすると良いだろう。筆者はffmpegに、まだ慣れていないため、より良い方法が見つかった場合は、記事を修正したい。