ffmpegを使った外部配信の解説

これまで外部配信ツールとしてオススメしていたFlashLiveMediaEncoderが配布終了している様子なので、代替としてffmpegを使用しての外部配信方法を解説いたします。

ffmpegとは

動画・音声を記録・変換するためのフリーウェアです。

ffmpegの入手

Windows用のバイナリは下記サイトにて入手できます。

Builds - Zeranoe FFmpeg

Versionは3.4.2、Architectureは各自の環境にあわせて、LinkingはStaticを選択し、「Download Build」でダウンロードします。 zipアーカイブがダウンロードされるので展開しましょう。

FLASHイントロのための設定

展開されたフォルダの中に「bin」フォルダがあります。
この中にある「ffmpeg.exe」が必要な実行ファイルとなります。
通常、このexeファイルにコマンドラインでオプションを渡して様々な設定を行うのですが、簡素化するためにBATファイルを用意しました。

設定用BATファイル

上記リンクから「daito3-device-setting.bat」ファイルをダウンロードし、binフォルダ内に配置し、ダブルクリックで実行してください。
環境によって表示が異なりますが、以下のような表示がされるはずです。
    [dshow @ 000001be102868c0] DirectShow video devices (some may be both video and audio devices)
    [dshow @ 000001be102868c0]  "XSplitBroadcaster"
    [dshow @ 000001be102868c0]     Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{VHSplitProc}_XSplitBroadcaster_1_staticsource_VIDEO"
    [dshow @ 000001be102868c0] DirectShow audio devices
    [dshow @ 000001be102868c0]  "繝槭う繧ッ (C-Media USB Audio Device   )"
    [dshow @ 000001be102868c0]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{321ACC76-26E6-4898-B59B-5D9EBDFDF41F}"
    [dshow @ 000001be102868c0]  "XSplitBroadcaster"
    [dshow @ 000001be102868c0]     Alternative name "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{VHSplitProc}_XSplitBroadcaster_1_staticsource_AUDIO"
    [dshow @ 000001be102868c0]  "繝槭う繧ッ (Avsoft Virtual Audio Device)"
    [dshow @ 000001be102868c0]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{1FA91520-AA8C-45AD-8870-27AA59B628E8}"
    [dshow @ 000001be102868c0]  "MIDI (Yamaha NETDUETTO Driver (WDM))"
    [dshow @ 000001be102868c0]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{9F5E6F13-2276-4386-A6F2-F36E5A1187DE}"
    dummy: Immediate exit requested
    AUDIO DEVICE名を入力してください:
    
この表示はffmpegが認識しているビデオデバイス・オーディオデバイスの一覧となっています。
「DirectShow audio devices」から下がオーディオデバイスで、配信に使う録音デバイスをこの中から選択します(前後にあるダブルクォーテーション「"」は必要ありませんのでご注意ください)。
当方の環境では仮想サウンドデバイスとしてNETDUETTOを使用しているので、一番下にある「MIDI (Yamaha NETDUETTO Driver (WDM))」を範囲選択しコピーします。
「AUDIO DEVICEを入力してください:」と出ていますので、コピーしたデバイス名を貼り付けます。
(コピーはCTRL+C、貼り付けはCTRL+Vで実行できますが、環境によっては動作しない場合があります。その場合はコマンドプロンプトウィンドウのタイトルバーを右クリックし「編集」からコピー・貼り付けを選択してください)
エンターキーで確定すると、コマンドプロンプトが閉じ、binフォルダ内に「daito3-publish.bat」ファイルが作成されます。
以降はこの「daito3-publish.bat」を実行することになります。

配信

配信を行う場合は、作成された「daito3-publish.bat」ファイルをダブルクリックして実行します。
実行すると「FMS Streamを入力してください:」と表示されますので、Flashイントロの配信ページにある「FMS Stream名」を入力してください。
デバイス名の設定や、サーバー側に特に問題がなければそのまま配信が始まります。
配信を終了する場合は、CTRL+Cで終了します(おそらくコマンドプロンプトウィンドウをそのまま閉じても問題ありません)。