Re: Webラジオの保存方法の質問はこちら【25】 ( No.17 )
日時: 2018/05/09 11:37
名前: おひげ

>>16 ハッチさん

どの楽屋裏か記載がないためなんともいえませんが一般的な響の映像付き配信の場合、
マルチストリーム(1つの動画ファイルに複数の映像と音声が混在している物)になっているようです。

映像付きのデータを保存する際のffmpeg実行時のログを確認してもらえればマルチストリームになっているか確認ができます。
(環境によっては ffmpeg の -loglevel warning を外さなければまったくログが見えない可能性もあります)


下記は楽屋裏ではありませんが 徳井青空のまぁるくなぁれ! 第83回 (2018年05月04日)のストリーミングの仕様です。

Program 0
Metadata:
variant_bitrate : 72000
Stream #0:0: Audio: aac (HE-AACv2) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
Metadata:
variant_bitrate : 72000
Program 1
Metadata:
variant_bitrate : 1508000
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
Metadata:
variant_bitrate : 1508000
Stream #0:2: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Metadata:
variant_bitrate : 1508000
Program 2
Metadata:
variant_bitrate : 2012000
Stream #0:3: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
Metadata:
variant_bitrate : 2012000
Stream #0:4: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Metadata:
variant_bitrate : 2012000


Program 0
低ビットレートの音声ファイル(bitrate 7200)
Program 1
ストリームの1番目:低ビットレートの音声ファイル(bitrate 1508000)
ストリームの2番目:低ビットレートの映像ファイル(bitrate 1508000)
Program2
ストリームの3番目:高ビットレートの音声ファイル(bitrate 2012000)
ストリームの4番目:高ビットレートの映像ファイル(bitrate 2012000)

となっており、再生環境によって最適なプログラムが選択される仕組みとなっているようです。


楽屋裏補助バッチに限らず、響支援ツール3の保存の場合、とくにオプションを設定していないので検出された1番目の映像と音声を
コピーして保存する仕様となります。

その為、ログには下記のようなものが表示されていると思われます。

Stream mapping:
Stream #0:2 -> #0:0 (copy)
Stream #0:0 -> #0:1 (copy)

これは、最初に検出された音声データ(Stream #0:0)をファイルの音声部分(Stream #0:1)、最初に検出された映像データ(Stream #0:2)を
ファイルの映像部分(Stream #0:0)として保存していますという意味合いのログになります。

高ビットレートの部分を保存したい場合は、ffmpegの map オプションを指定してやればその部分を割り当てて保存が可能となります。

楽屋裏補助の後ろの方にある ffmpeg の記述

  ffmpeg -stats -i "%URL%" -loglevel warning -vcodec copy -acodec copy -bsf:a aac_adtstoasc "%NAME%.mp4"

を修正して、ログ確認用に -loglevel warning を外し、mapオプションを追加して下記のように修正すれば高ビットレートの保存が可能です。

  ffmpeg -stats -i "%URL%" -map 0:4 -map 0:3 -vcodec copy -acodec copy -bsf:a aac_adtstoasc "%NAME%.mp4"


実行の結果は

Stream mapping:
Stream #0:4 -> #0:0 (copy)
Stream #0:3 -> #0:1 (copy)

となり、ファイルの映像部分(Stream #0:0)に映像データ(Stream #0:4)、ファイルの音声部分(Stream #0:1)に音声データ(Stream #0:3)を割り当てて
保存する仕様に変更する形になります。



-map 0:4 -map 0:3 の部分は実際に保存したい楽屋裏のストリーミングの仕様を確認して一番おおきい映像と音声のデータのプログラムの
ストリーミング番号を映像→音声の順番で指定してください。

マップの割り当てを記述して指定してしまうとほかの音声のみの保存には使用できなくなる為、別のバッチファイルにするなどしなければならないので
注意が必要になります。




トップページ