⧅ffmpeg DivX HomeTheater形式の生成 新しいページはコチラ
提供: yonewiki
(→ffmpeg) |
(→ffmpegで変換したファイルの情報を見る) |
||
1行: | 1行: | ||
[[⧅ffmpeg]]に戻る | [[⧅ffmpeg]]に戻る | ||
+ | |||
+ | [[⧅ffmpeg DivX HomeTheater形式の生成 2]]へ | ||
== '''概要''' == | == '''概要''' == | ||
DivX HomeTheater形式に対応した車載オーディオやレコーダは結構ある感じです。この形式に自分の持っている音楽映像を個人的に変換して楽しむという事や自分で撮影した動画を編集して、話している内容にハード字幕を付けたりすることが出来ると嬉しい人は多いかもしれないと思って書く記事です。 | DivX HomeTheater形式に対応した車載オーディオやレコーダは結構ある感じです。この形式に自分の持っている音楽映像を個人的に変換して楽しむという事や自分で撮影した動画を編集して、話している内容にハード字幕を付けたりすることが出来ると嬉しい人は多いかもしれないと思って書く記事です。 | ||
12行: | 14行: | ||
力説しましたが、必要の無い人には、意味ないわな。手軽にたくさんの映像を持ち運びたいというニーズとデバイスが無いと全く興味の無い話です。 | 力説しましたが、必要の無い人には、意味ないわな。手軽にたくさんの映像を持ち運びたいというニーズとデバイスが無いと全く興味の無い話です。 | ||
− | 手順としては、動画を作る。動画の形式情報を確認する。音声ファイルだけ分離する。音声ファイルを編集する。動画ファイルのass形式字幕を作る。動画から、使いたい領域にしぼるクロップのいう処理をする。動画サイズを再生するデバイスのサイズに合わせて大きさを変える。場合によっては上下左右に黒帯を付ける。そして、生成した字幕をくっつける。最後にHomeTheater形式にあったDivX形式(同じmpeg4形式でもDivX形式じゃないと駄目です。)の動画にDivX形式(同じmp3でもDivX形式のmp3でないと微妙な違いがあるため駄目です)の音声に変換しつつ、くっつける。この時fpsは30fpsにAspect比16: | + | 手順としては、動画を作る。動画の形式情報を確認する。音声ファイルだけ分離する。音声ファイルを編集する。動画ファイルのass形式字幕を作る。動画から、使いたい領域にしぼるクロップのいう処理をする。動画サイズを再生するデバイスのサイズに合わせて大きさを変える。場合によっては上下左右に黒帯を付ける。そして、生成した字幕をくっつける。最後にHomeTheater形式にあったDivX形式(同じmpeg4形式でもDivX形式じゃないと駄目です。)の動画にDivX形式(同じmp3でもDivX形式のmp3でないと微妙な違いがあるため駄目です)の音声に変換しつつ、くっつける。この時fpsは30fpsにAspect比16:9の映像にします。更に、動画と音声の音声をCBRに近づける工夫をします。CBRなんてものは幻想なのですが、CBRと言えるものにします。 |
86行: | 88行: | ||
− | === | + | ===ffmpegで変換したいファイルの情報を見る=== |
まずはiPhoneで録画したものがコチラ。 | まずはiPhoneで録画したものがコチラ。 | ||
<syntaxhighlight2 lang="bash"> | <syntaxhighlight2 lang="bash"> | ||
160行: | 162行: | ||
こちらもh264ですね。15fps。少なすぎる。カクカクだな。Pro版はもっとぬるぬるなのかな。ビットレートは5kbps。少なっ!AudioもiPhoneと同じだ。aac mp4aね。サンプリングレートは3.2kHz。低いし、あんまり見ないレートだな。monoサウンドらしい。ビットレートは74kbps。低めだな。これもProならもう少しいい音になるのかな?それとも設定でいじれるのに自分が気付いていないだけか。この形式の動画を生成したエンジンの名前だけが違うみたいだ。screenpressoは大企業相手にも販売しているソフトウェアなので、自前のコーデックなのかもしれない。 | こちらもh264ですね。15fps。少なすぎる。カクカクだな。Pro版はもっとぬるぬるなのかな。ビットレートは5kbps。少なっ!AudioもiPhoneと同じだ。aac mp4aね。サンプリングレートは3.2kHz。低いし、あんまり見ないレートだな。monoサウンドらしい。ビットレートは74kbps。低めだな。これもProならもう少しいい音になるのかな?それとも設定でいじれるのに自分が気付いていないだけか。この形式の動画を生成したエンジンの名前だけが違うみたいだ。screenpressoは大企業相手にも販売しているソフトウェアなので、自前のコーデックなのかもしれない。 | ||
− | ===音声ファイルを抽出する=== | + | ==='''音声ファイルを抽出する'''=== |
動画づくりの場合は撮影した音声ファイルを編集したい人もいると思うので、効果音なんかを追加することを想定してまずは映像から音声だけを抽出する処理をやってみます。大丈夫です。後からくっつけれるようにします。ここからはどちらの動画も同じ形式なので、一つのファイルだけで説明をします。 | 動画づくりの場合は撮影した音声ファイルを編集したい人もいると思うので、効果音なんかを追加することを想定してまずは映像から音声だけを抽出する処理をやってみます。大丈夫です。後からくっつけれるようにします。ここからはどちらの動画も同じ形式なので、一つのファイルだけで説明をします。 | ||
+ | |||
+ | 後日記: | ||
+ | |||
+ | やべぇ、ここから、モノラル音源作成完了までの手順いらなかった。めっちゃながながと書いたのに。でも消さないわ。だって何かの役に立つかもしれないから。Sub Station Alphaというアプリケーションを使って字幕作る場合と混同してた。でもSub Station Alphaで使える技術だし、なおのこと必要な記事かもね。でもSubStationAlphaでは符号化bit深度(8bitならサンプリング音量レベルの分解能を256段階にするという意味。32bitはintとfloatがある。浮動小数点数)を8bitにしないと駄目でした。もう一工夫必要でした。bit深度は大きければいいというものではありませんが、8bitはさすがに音楽としては役不足です。なのでFL Studioでは8bitにできませんでした。会話だと話が聞き取れればいいので、8bitでもいいですけどね。ー後日記、ここまでー | ||
182行: | 188行: | ||
抽出(Extract)は、自由な形式で抜き出せます。オーディオ形式として指定できるキーワード以下の通りです。拡張子の情報を付けましたが、拡張子なんてものはソフトウェア側のさじ加減である部分もあります。一つのフォーマット形式を複数のソフトウェアの拡張子が対応していることは多いです。例えばRealAudioというソフトウェアで、拡張子*.raとなっていれば、中身の形式がaacでエンコードされた形式なら読み込めるということを意味しています。*.aacという拡張子のままの方が都合が良いソフトウェアもあります。固有の拡張子にしないと読み込めないソフトウェアもあるかもしれません。キーワード名(エンコード名)の後ろに、代表的な拡張子を記載しておきます。逆に、対応する拡張子であっても、ソフトウェアによっては読み込めない形式もあります。その拡張子が対応しているソフトウェアだからといって絶対開けるということはありません。拡張子とその形式の組み合わせが揃ってこそ開けます。 | 抽出(Extract)は、自由な形式で抜き出せます。オーディオ形式として指定できるキーワード以下の通りです。拡張子の情報を付けましたが、拡張子なんてものはソフトウェア側のさじ加減である部分もあります。一つのフォーマット形式を複数のソフトウェアの拡張子が対応していることは多いです。例えばRealAudioというソフトウェアで、拡張子*.raとなっていれば、中身の形式がaacでエンコードされた形式なら読み込めるということを意味しています。*.aacという拡張子のままの方が都合が良いソフトウェアもあります。固有の拡張子にしないと読み込めないソフトウェアもあるかもしれません。キーワード名(エンコード名)の後ろに、代表的な拡張子を記載しておきます。逆に、対応する拡張子であっても、ソフトウェアによっては読み込めない形式もあります。その拡張子が対応しているソフトウェアだからといって絶対開けるということはありません。拡張子とその形式の組み合わせが揃ってこそ開けます。 | ||
− | <syntaxhighlight2 lang=" | + | |
+ | ====''' 利用できるオーディオコーデック '''==== | ||
+ | <syntaxhighlight2 lang="text"> | ||
DivX の場合は libmp3lame .mp3 | DivX の場合は libmp3lame .mp3 | ||
※他の形式だとDivX規格を満たしません。DivX認証を受けている機器では、 | ※他の形式だとDivX規格を満たしません。DivX認証を受けている機器では、 | ||
354行: | 362行: | ||
やべぇ、この記事。書き始めるんじゃなかったっていう位、深すぎる。対応しているファイル形式多すぎてヤバイ。よくわからないものを放置して貼るのも嫌だし、わからない奴は逐一、どういうものか調べた。Wikipediaだけでは分からない全貌だった。いろんなところ彷徨った。やべぇ。生きて帰ってこれただけマシなネットサーフィンだった。いい波来てたけど乗りこなせなかった。そんな感じ。 | やべぇ、この記事。書き始めるんじゃなかったっていう位、深すぎる。対応しているファイル形式多すぎてヤバイ。よくわからないものを放置して貼るのも嫌だし、わからない奴は逐一、どういうものか調べた。Wikipediaだけでは分からない全貌だった。いろんなところ彷徨った。やべぇ。生きて帰ってこれただけマシなネットサーフィンだった。いい波来てたけど乗りこなせなかった。そんな感じ。 | ||
+ | |||
==='''音声ファイルを編集する'''=== | ==='''音声ファイルを編集する'''=== | ||
364行: | 373行: | ||
2つの方法を示します。わかる人は他の方法でも出来ます。 | 2つの方法を示します。わかる人は他の方法でも出来ます。 | ||
+ | *ffmpegでのStereo→mono変換やLR分離やLR統合をする。 | ||
*完全FreeのWave編集ツール「SoundEngine Free」を使って、LR分離を行う。 | *完全FreeのWave編集ツール「SoundEngine Free」を使って、LR分離を行う。 | ||
*FL StudioのEdisonという波形編集ツールでLR分離を行い。LR統合をする。 | *FL StudioのEdisonという波形編集ツールでLR分離を行い。LR統合をする。 | ||
− | + | SoundEngineの方法では左か右のどちらかしか使わないMono音声なので、ひょっとしたら振り切ったパン(例えば左側の音量100%右は0%のトラックがある。あるいはその逆)をしている音声があった場合聞き取れなくなる懸念はあります。後者は完全に両方の音声を活かしたmono音声なので欠落が少ないはずです。 | |
402行: | 412行: | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
は同じ意味になります。 | は同じ意味になります。 | ||
+ | |||
+ | 結合は以下のとおりです。 | ||
+ | <syntaxhighlight2 lang="bash"> | ||
+ | ffmpeg -i monoFrontLeft.wav -i monoFrontRight.wav -filter_complex "[0:a][1:a]amerge=inputs=2,pan=stereo|c0=c0|c1=c1[aout]" -map "[aout]" MonoMono2Stereo.wav | ||
+ | ffmpeg -i monoFrontLeft.wav -i monoFrontRight.wav -filter_complex "[0:a][1:a]amerge=inputs=2,pan=stereo|c0<c0|c1<c1[aout]" -map "[aout]" MonoMono2NormalizeStereo.wav | ||
+ | ffmpeg -i stereoFrontLeft.wav -i stereoFrontRight.wav -filter_complex "[0:a][1:a]amerge=inputs=2,pan=stereo|c0<c0+c1|c1<c2+c3[aout]" -map "[aout]" StereoStereo2NormalizeStereo.wav | ||
+ | </syntaxhighlight2> | ||
+ | 一番上とその下はモノラル音声ファイル2つをステレオファイルに統合する変換です。上はそのままくっつけるだけです。下はNormalizeをします。 | ||
+ | |||
+ | 一番下はステレオ音声二つをくっつけて、一つ目のステレオの音声の右と左を足し合わせた音を左、もう一つの音声をのステレオ音声の右と左を足し合わせた音を右にしてステレオ音声を一つ作るという方法です。c0c1c2c3の組み合わせをいろいろ変えれば、いろいろな結合が出来ることを想像できると良いのですが、大丈夫かな(´・ω・`) | ||
+ | |||
+ | |||
+ | 難しい変換ですが、-fileter_complexはフィルターチェーンを後ろに定義します。っていう意味です。フィルターていうのは映像音声加工のある部分を消したり重ねたり特定の見せ方にしたりという処理で、それをまとめていくつか書きますっていうことです。「"」ダブルクォーテーションで囲ったところが、そのチェーンで「,」カンマが各フィルターの区切りになっています。[0:a][1:a]amerge=inputs=2で入力記載された順番で0:a 1:aという名前で扱うとして、二つのファイルを結合するという意味になっています。このとき各チャンネル(ステレオファイルの1の左、右/2の左、右)はc0から順番にc0,c1…c3と名前をつけていくことを意味しています。モノラルならチャンネルは1コなので一つしか増えませんね。pan=の後の意味は一番上の例でいうと音声の左右の振り分けの設定は、stereoの設定として出力ファイルのc0が左、c1が右としてチャンネルは左のc0=c0で一つ目のモノラルファイルの一つしかないチャンネルc0をそのまま割り当て、右はc1=c1で2つ目のファイルの一つしかないチャンネルがc1なのでそれを割り当てます。それを[aout]という名前の出力とします。[aout]はオーディオの出力という意味です。それを-map "[aout]"として展開して、それを出力ファイルとして吐き出そうみたいな指定になっています。 | ||
+ | |||
+ | |||
+ | 今回は使わないですが、Sub Station Alphaで読み込めるようにするには、更にビット深度を8bitにしておく必要があるので | ||
+ | |||
+ | <syntaxhighlight2 lang="bash"> | ||
+ | ffmpeg -i inputMono.wav -acodec pcm_u8 output8bitMono.wav | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | というコマンドを使います。 | ||
+ | |||
+ | |||
===='''SoundEngine Free'''==== | ===='''SoundEngine Free'''==== | ||
418行: | 452行: | ||
残念ながらモノラルとして片チャンネル抽出はできますが、2つを合わせる方法はありません。 | 残念ながらモノラルとして片チャンネル抽出はできますが、2つを合わせる方法はありません。 | ||
+ | |||
+ | 後日記: | ||
+ | |||
+ | 無いと思っていたらありました。メニューの[編集]-[フォーマット変換]でした。選択するとダイアログが表示されるので、そこでチャンネル数を2~1に変更するだけで、ステレオからモノラルにも出来ます。ビット深度も変更できます。同時にノーマライズもしてくれるみたいです。ー後日記、ここまでー | ||
+ | |||
+ | |||
===='''FL Studio20'''==== | ===='''FL Studio20'''==== | ||
+ | 自分が持っているDAWアプリです。ffmpegのような操作ができるのか確認しました。 | ||
+ | |||
+ | 結論、やれますが、手順が複雑かつ、長いので別記事にします。 | ||
+ | |||
+ | [[FL Studio ステレオ左右分割→モノラル変換/ステレオ→モノラル変換]] | ||
+ | |||
+ | 後日記: | ||
+ | |||
+ | ビット深度8bitには出来ないので、今回は使いませんが、Sub Station Alphaでは、8bitでないと読み込めないです。別の手順を使いましょう。ー後日記、ここまでー | ||
+ | |||
+ | ==='''続きの記事はコチラ'''=== | ||
+ | [[⧅ffmpeg DivX HomeTheater形式の生成 2]] | ||
+ | |||
+ | |||
[[⧅ffmpeg]]に戻る | [[⧅ffmpeg]]に戻る |