本来は音声ノミで配信が想定されちょらん
音声ファイルだけでは現在の YouTube には登録できんけ、ダミーの動画をでっち上げる必要がある。
一枚の静止画像から YouTube にアップロードしよるには、ffmpeg を用いて静止画像の動画素材を生成しよって、音声ファイルと結合させて動画ファイルとして、生成させる必要がある。
用意する物
静止画像一枚と音声ファイル。
あ、ffmpeg の実行ファイルw
例
ffmpeg mp4版
ffmpeg \
-loop 1 \
-i fm816-top01.jpeg \
-i "みのべありさのPOP ROCK RADIO_20210703_JOZZ7BL-FM.m4a" \
-vcodec libx264 \
-acodec copy \
-r 24000/1001 \
-b:v 64k \
-metadata title="みのべありさのPOP ROCK RADIO 20210703放送分" \
-metadata:s:1 language=JPN \
-shortest \
-y \
"みのべありさのPOP ROCK RADIO 20210703 JOZZ7BL-FM.mkv"
例2
ffmpeg vp9版
ffmpeg \
-loop 1 \
-i "20241108 みなと元町 みなと亭.jpeg" \
-i "mm_20241108 みなと 元町 みなと亭.wav" \
-vcodec libvpx-vp9 \
-acodec libvorbis \
-r 1 \
-ab 48k \
-metadata title="みなと 元町 みなと亭 20241108放送分" \
-metadata:s:1 language=JPN \
-shortest \
-y \
"20241108 みなと元町 みなと亭.mkv"
蘊蓄?
ffmpeg のスイッチ順列に注意が必要で、静止画像ファイルの前に繰り返し指定が必須で、間違えよると変換が出来ん。
生成しよる動画のコーデックはここに記載しちょる型式で生成させちゃる。
静止画像じゃけ、ビットレートは低めに設定する方がアップロード時の負荷が少なくて良いのじゃが、画質が劣化するのけ適宜納得のいく帯域幅で生成すること。
必要であればメタデータを付記して最終的なファイルを生成し完了。
今回の例で記述している ffmpeg のスイッチ説明
- -loop 1
- このスイッチの次に指定する静止画ファイルを動画変換する際の変換動作を指定する。
- -i 入力ファイルネームの指定
- 半角スペースが途中で入る場合や全角文字が入る場合にはダブルクォーテーションで圍う
- -vcodec libx264
- -vcodec libvpx-vp9
- 生成する動画の圧縮コーデックの指定で、ffmpeg で使える物で先に記述しているコーデックを指定する。
- -acodec copy
- -acodec libvorbis
- 生成する音声の圧縮コーデックの指定で、ffmpeg で使える物で先に記述しているコーデックを指定する。
- copy を指定すると入力ファイルのコードを再エンコードせずに出力する
- -r 24000/1001
- -r 1
- 動画のフレームレートの指定で、24 毎/秒以下だと正しくアップロード完了しない模様なので、24 毎/秒が適当。
- 1 毎/秒でも昨今では受け付けてくれる。
- -b:v 64k
- 動画の転送レートの指定。
- -b:a 48k
- 音声の転送レートの指定。
- -metadata title="みのべありさのPOP ROCK RADIO 20210703放送分"
- 直接 Youtube には影響しないが、生成したファイルを再生ソフトを用いる時に、表題を表示させたい時や整理の際に必要であれば追記する。
- -metadata:s:1 language=JPN
- 上記同様じゃが、生成しよるファイルの全体では無く、音声ファイルの対してノミ指定しよる際にスイッチの後方にコロン 「:」で区切っちゃって、どのストリームに対してなのかを更にコロンで区切っちゃって記述する。
- -shortest
- 変換生成時に初めに変換が終わった時間に合わせて変換を終了させる。 これを指定しないと -loop 1 で永遠生成の指定をしちょるのけ、変換が終わらなくなるのを防ぐために必ず記述する。
- -y
- 出力ファイルが存在しよる場合、返還前に上書きしよるか問い合わせられるのじゃが、無視して強制上書きしよるときに用いる。
最後に
自分で変換生成する際に、いつも Google 先生にお世話になっちょるが、欲しい答えを教えてくれん時が多かったけ、忘備録として纏めてみよった。