「⧅ffmpeg DivX HomeTheater形式の生成 2」の版間の差分

提供:yonewiki
253行目: 253行目:
==='''DivX HomeTheaterの形式に変換する'''===
==='''DivX HomeTheaterの形式に変換する'''===
 ここまで来たら、あとはコマンドを使って変換するだけです。結構長いコマンドです。
 ここまで来たら、あとはコマンドを使って変換するだけです。結構長いコマンドです。
<syntaxhighlight2 lang="bash">
<syntaxhighlight lang="bash">
ffmpeg -i インプットする動画のファイル名 -i インプットする音声ファイル名.mp3 -sn -c:a libmp3lame -ar 48000 -ab 128k -ac 2 -c:v libxvid -crf 24 -vtag DIVX -vf "fps=30,scale=720:480" -aspect 16:9 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 30 -b:v 350k -minrate 350k -maxrate 350k output_DivX_720x480px_Aspect16_9_350bps_30fps.avi
ffmpeg -i インプットする動画のファイル名 -i インプットする音声ファイル名.mp3 -sn -c:a libmp3lame -ar 48000 -ab 128k -ac 2 -c:v libxvid -crf 24 -vtag DIVX -vf "fps=30,scale=720:480" -aspect 16:9 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 30 -b:v 600k -minrate 600k -maxrate 600k -deinterlace output_DivX_720x480px_Aspect16_9_350bps_30fps.avi
</syntaxhighlight2>
</syntaxhighlight>
 上記のコマンドを使うとDivX HomeTheater形式対応したデバイスで再生できるファイルが出来上がります。「-i インプットする音声ファイル名.mp3」の部分は、音声ファイルを別で取り込まない場合は不要です。でも、音声ファイル名を省いたとしても、後に続くオーディオに関するオプションは消さずに付けておいた方が良いと思います。形式があっていないと再生できなくなります。
 上記のコマンドを使うとDivX HomeTheater形式対応したデバイスで再生できるファイルが出来上がります。「-i インプットする音声ファイル名.mp3」の部分は、音声ファイルを別で取り込まない場合は不要です。でも、音声ファイル名を省いたとしても、後に続くオーディオに関するオプションは消さずに付けておいた方が良いと思います。形式があっていないと再生できなくなります。



2023年1月28日 (土) 23:05時点における版

⧅ffmpegに戻る


⧅ffmpeg DivX HomeTheater形式の生成に戻る

概要

 ⧅ffmpeg DivX HomeTheater形式の生成の記事が重たくなったので続きをここで作ります。

ssa形式の字幕を作る

 何?ssaって?という人は多いかもしれない。ハード字幕を作るためのテキストフォーマットで、文字の表示を開始する時間と表示する時間(長さ)と表示する文字の情報とその他の情報で構成されるモノです。ssa(SubStation Alpha)の活用について説明しますが、他にも字幕を操るための形式としては、ass(Advanced SubStation)、srt(SubRip Text)などがあります。他にも沢山あります。ssa形式を生成する大元のSub Station Alphaというソフトウェアもありますが、ここでは、ssaを生成できるSubtitle Editを使います。


 動画ファイル(mp4)でssaの字幕を準備します。現状の音と画像のタイミングに字幕を合わせるのを指定するものなので、あとで、動画全体の長さや編集するとおかしくなります。全体の長さくらいは編集した後で字幕の作成作業をした方が、あとで字幕と動画とをくっつける作業もやりやすいと思います。動画の編集については、この後でもう少し説明するので、その方法を使って編集するのも良いと思います。ここではAvidemuxというアプリを使う予定です。


 その前に…

 VLCビデオプレイヤーをインストールしましょう。

 https://www.videolan.org/index.ja.htmlからダウンロードしてインストール。生理的に受け付けないならば、Subtitle Editを使うための、別の方法もあるので挑戦してみてください。 VLCを使わなくてもDirectShowというマイクロソフトの技術を使うことはできますが、場合によってはK-Lite Codec Pack(WindowsMediaPlayerを強力なCodecに変えるCodecの一つ)のようなコーデックパックアンインストールし、LAVFilters(これもK-Liteと同じようなモノ)というものをインストールしたりしないといけないです。管理人のPCは元々、VLCがインストールされているのでやってません。


 したらば。


  • まずはアプリをダウンロード
ダウンロード
  • インストーラを動かしてインストール(簡単なので説明図は省略)


  • アプリを起動して、日本語の設定に変更する。[Option]-[Language(English)]を選択して開いたダイアログで[日本語]を選択してOK。(英語が好きな人はこの手順は不要)。
日本語を選択


  • 字幕をつける作業に使うビデオプレイヤーの設定をする。[オプション]-[設定]を選択する。
設定を変更


  • [ビデオプレイヤー]-[VLCメディアプレイヤー]を選択して[OK]ボタンを押す。
VLCを使う設定


  • [オプション]-[設定]-[SSAスタイル]でフォントや文字の色、位置、字の詰め方の設定をします。
SSAスタイルを設定


  • メニュー[ビデオ]-[ビデオファイルを開く]からビデオを開く。
ビデオを開く


  • オーディオを開く。音声を開くをクリックすれば、動画からオーディオを生成してくれる。違うオーディオにしたい場合は、この部分に開きたいオーディオファイルをドラッグ&ドロップする。動画の音声をそのまま使いたいので黒いエリアを今回はクリックしました。
オーディオを取り込み
  • こんな感じで読み込みが始まる。
オーディオを取り込み処理


  • 字幕ファイルの形式を選択する。今回はフォーマット欄からSub Station Alpha(*.ssa)を選択。
フォーマットを選択


  • 動画を再生しながら、字幕をつけ始めたい箇所を探す。○で囲った青いマークがシークバーの役割で、これを左右にスライドさせることで曲全体の中の長さの割合に合わせた時間の部分が表示されアクティブな状態になります。アクティブというのは○で記したところからの矢印の次にある四角で囲った再生ボタンを押すと、その部分の時間にあった音から再生が始まります。薄い青色の縦線がアクティブな位置を示します。再生をするとアクティブな位置が右へ右へとスライドしながら再生がされ、もう一度再生ボタンをの位置のボタンを押すと停止します。字幕を開始したいところを音や映像を見ながら決めましょう。字幕を出したいポイントの歌詞のように少し前くらいのところで表示するパターンと発言ないようの文字おこしのように同時に出すパターンがあると思います。うまい位置を見定めてください。後でも位置調整はできるのでまずはざっくりで良いでしょう。
まずは字幕開始の頭出し


  • 字幕を表示させたい時間の長さだけ範囲選択します。字幕を付け始めたいと見定めた位置の波形が表示されているところのアクティブな位置を示す薄い青の縦線の位置あたりをクリックして、そのままドラッグすることで範囲選択が始まります。ドラッグして話したところまでが字幕の表示されている時間になります。あとで、字幕を表示するべき時間の長さを調整できます。
範囲選択


  • 思った通りに選択できていないかもしれませんが、1stドラッグで選択した場所で気にせず、次の作業に進めます。範囲選択したところの上で右クリックして表示されるコンテクストメニューの[ここにテキストを挿入]を選択。
テキストを挿入


  • 以下のように左上のあたりにある表の部分に一行が増えます。このテキストの追加作業をする都度、この行が増えていきます。あとで編集するときも、この表を使ってコントロールできます。字幕が表示されるスタート時間と、表示する時間の長さをここで調整できます。そして、字幕はテキストボックスに入力します。
字幕テキストを入力する


  • 再生ボタンを押して字幕を終わらせるポイントまで音と映像を確かめながら探し、終わらせるポイントと思ったところで再生ボタンマークを押して、止める。薄い青色の線が終わらせるポイントになる。
字幕を表示を終わらせる所を探す
  • 薄い青色の線を目標に字幕終わりの所の線を掴んで、線の場所へ重ねる。
字幕の表示時間を調整する


  • 字幕を設定したら再生ボタンを押して字幕の表示される具合を確認します。うまく行っていない場合はこれまでに紹介した調整方法を活用して調整を実施します。
更に字幕の塩梅(あんばい)を確認


字幕を付ける作業はこの繰り返しです。


  • 字幕を付け終わったり、途中で保存する場合は名前を付けて保存。あるいは保存を行う。
保存


 動画ファイルのass形式字幕を作る。

動画の使いたい領域にしぼるクロップという処理

 動画の領域の変更、つまりは縦横のサイズ変更をすることをクロップといいます。リサイズじゃなくて?そうなんです。Resize(リサイズ)だと動画の長さを変更することを意味していて、Trim(トリム)は動画の前後の削除と領域の変更の両方を意味します。つまり、TrimやTrimingは曖昧な表現になっていて、領域のTrimとか前後のTrimと言わないと意味が定まりません。クロップ作業はffmpegでも出来ますが、これは流石にUIでやった方が早いです。映像を見ながら範囲を設定した方がいいからです。ここではAvidemuxというアプリケーションを使います。


  • Avidemuxをダウンロードしてインストールする。


  • 動画を読み込む
動画を読み込む


  • ビデオ部分のcodecを選択する(ffmpegのmpeg4がいいかなと思って選択しましたが、これから先の作業もできるなら、他の形式でもいいです。)
動画の編集に使うコーデックの選択


  • フィルターを選択
フィルターを選ぶ


  • クロップ/トリミングをダブルクリック
クロップを選ぶ


  • クロップの設定をする。左上と右下に赤三角になっている赤枠の大きさを調整することで変更できます。左上の左/右/上/下に数値を使って調整もできます。シークバーの青色をスライドするとか、「<<」「再生」「>」「>>」を使って、クロップの出来栄えを確認することもできます。設定できたら「OK」ボタンを押して終わらせます。
クロップの設定をする


  • クロップの項目が出来上がっているのを確認して、「閉じる」ボタンを押す。
閉じる


 他にも拡大縮小をしたり、黒帯をつけたりする場合は先にやってしまいましょう。その後で字幕を付けます。さらにその後なら、前後のResizeをしたり、黒駒を追加したりできます。

動画の拡大縮小処理

 ハードウェア再生機器を使って動画を見るのが目的の場合は、そのハードウェアの再生可能規格に合わせた縦横のピクセル領域にする必要があります。クロップした後だと、変な比率になっている可能性もあるため、少なくとも、縦か、横のどちらかを合わせれば良いでしょう。足りない部分には黒帯を追加して、領域を補完します。


 DivX HomeTheaterで良く使われる解像度は720x480pxです。なので、今回作った動画のサイズは244x130pxなので横の幅に720としたとき同じ比率を保って拡大するようにしたときの縦幅を自動計算する感じになると思います。もし縦が480pxを超えるようであれば、縦を480に設定したときの横幅を自動計算させればよいです。表示するデバイスの画面が16:9であってもピクセルサイズが16:9ではないことを理解しておきましょう。決められた規格の領域(例えば720x480px)を16:9の画面に表示する動画だという風に教え込む感じです。ピクセル比とアスペクト比は異なることもあります。もちろん少し間延びしたような表示にはなりますが、誤差みたいなものです。あまり気にならないはずです。規格を守ることの方が大事です。

 とりあえず、やってみましょう。


  • 映像形式のところにある[フィルター]ボタンを選択します。
フィルターボタンを押す
  • [拡大縮小 swScale]を選択する。
拡大縮小を選択
  • アスペクト比を固定にした状態で横幅に[780]と入力します。その後、縦幅にカーソルを当てるとアスペクト比(縦横比)を保ったままの縦幅が自動計算されて表示されます。計算された値が480を超えたなら、こちらに480と入力しましょう。今回のサンプルでは360になったので、横幅の指定を780に設定しただけで良い感じでした。設定が終わったら[OK]ボタンを押します。
値の設定

黒帯をつける

 拡大縮小処理後は、特定の領域規格をみたしていない場合があるため、黒帯をつけて領域が規格に沿うように補完をします。前の操作で拡大縮小した結果720x360pxの動画が出来たので。縦は480にしたいところですので上下に60ずつ足せば全体として120が足されたことになるので720x480pxになります。


  • 映像形式のところにある[フィルター]ボタンをを選択します。
フィルターボタンを押す
  • 「境界を追加する」を選択する。
黒帯を追加するための一歩
  • 今回の場合は上と下の60と入力して[OK]ボタンを押します。
数値を設定

一旦、これまでの設定変更を反映した動画を生成する

 この後で字幕をつけたいのですが、クロップ・黒帯処理によって調整された動画に字幕を付けたいので、いったん動画を作ります。ちょっと時間がかかるところですが、いったん動画を保存しましょう。ここからは動画の形式に拘りはなくなります。自分は出力形式と書いてあるところのリスト選択でmkvという形式を使うことにしています。Dummy muxerとVideo Only以外ならなんでもいいと思います。選択できるのはAVI/FLV/MP4/MP4v2/Mkv/Mpeg TS/Mpeg-PS/Webmがあります。


  • 手順としては簡単です。[ファイル]-[保存]を選択するだけです。映像出力(mpeg4 asp (ff))と音声出力(copy)と出力形式(mkv)の形式にしたがって保存されます。3つの形式選択の組み合わせによって、やれることやれないことも変わることがあるので、わからない人は管理人と同じ形式を使うのがお勧めです。管理人は詳しくはないですが、少なくとも実績があるので、使いやすいはずです。
保存

字幕をつける

 いよいよ。字幕の付け足しです。やっとでここまでの作業のなかで一番の醍醐味である作業が実施できます。拡大縮小とかリサイズとか、動画形式変更とかその程度よりももっと進化した編集です。画像の中身が変わるのですから、すごい処理です。動画編集って感じですね。今回は初歩の編集ですが、この経験によって、もっと凝ったこともやっていける自信にもなると思います。大変だけど。オリジナリティあふれる映像になるという楽しさもあります。作った映像を知り合いの人に見せた時に「えっこれxx君が自分でやったの?」くらいのことは言われると思います。著作権の関係で配布してはいけないものは配布してはいけないです。せめて、個人で楽しむ程度にしましょう。親告罪なので、自分や身内で非営利な方法で楽しんでるうちは、何のお咎めもないはずです。仲の悪い友達に見せると、権利者に密告される可能性はあります。権利者がそれを相手にするかと言えば、9割くらいは相手にしてもらえないと思いますけど。


 あーその前に。字幕を映像の中(黒帯のないところ)に付けたい場合は黒帯を付ける前にこの作業をしてから、黒帯をつける作業をして下さい。このままやると黒帯の上に字幕が着きます。黒帯と映像の境に字幕が入ってしまう場合は、映像の上に字幕がつくようにした方が楽です。


  • 映像出力の[フィルター]ボタンを押す。
フィルターボタンを押す
  • [字幕]-[SSA/ASS/SRT]をダブルクリックする。
SSA/ASS/SRTを選択
  • SSAファイルを選択してOKボタンを押します。※5分から20分くらい?もっと?かかります。止まっているかどうか分かりません。とりあえずTVを見ながら?あるいはスマホを見たりして待ってみましょう。別に他のことでもいいです。お風呂とかトイレに行くとか、きれっきれっの動きで踊るとか、死んだふりするとか、「クワガター」といいながら手を上に挙げて腕で丸を描くような感じで手と手を合わせたり、離したり。火おこしをしたり。あー、好きな人のことを想いながら空を見上げたりもいいかもしれない。なんでもいいです。
SSAファイルを選択して、OKボタンを押す。
  • うまく行くと画面は以下のような状態になります。
処理完了
  • 動画を保存します。
保存
  • 保存したファイルを開きなおして、再生してみて、出来栄えを確認します。
出来栄えを確認する

 ※納得いかないところをメモ帳ツールとか紙とかをつかって、どう納得いかないかを書き留めて、字幕のとりつけ作業の一部をやり直す感じのことをします。

 

Resize(動画の前後を切り落とす)をする

  • 再生ボタンを押して、動画の終わりの位置まで再生して、再生停止をして、微調整をしたりして、納得のいくポイントを探します。そうしたら、動画の終わりを設定する[Aと書いてある隣の]ボタンを押します。再生シークバーに青い枠がついて、切り取られるおおよその目安となるマークがされます。Bと書いてある時間表示欄に後方の映像を切り取りたい時間が取り込まれて表示されます。前方を切り落として再生開始部分を変える場合はAと書いてあるボタンを使います。再生ボタンで位置合わせした場合は確実に位置調整ができますがシークバー上の青いマークを直接移動させた場合はうまく行かないことがあります。その場合は再生ボタンとかを駆使しましょう。
Resize

黒駒に変更する・映像を付け足す

 黒駒に変更するのはAvidemuxで簡単にやれます。

  • 映像出力の[フィルター]ボタンを選択します。
フィルターボタンを押す
  • [黒色]を選択します。
黒色を選択
  • 黒駒に変更する部分を時間で指定して[OK]ボタンを押します。
時間を指定する

 黒駒を付け足したり、間に追加したりするのは、Avidemuxだけでやろうとすると意外と疲れる手順になります。


  • まずは適当な長さの動画を用意します。5分以上くらいの映像だとベストですね。Screenpressoを使う場合は、ペイントソフトで黒い塗りつぶしの画像を作ります。そして黒色の領域を動画で5分以上キャプチャーすると良いでしょう。


  • 映像のある動画を用意した場合は黒駒に変更する作業をします。この項目の最初に説明した作業です。


  • 映像を丁度5分になるようにResizeします。(Resizeも少し上の方で説明したモノです)


  • Free Sound Editorで5分の無音ファイルを作ります。何かしらのwavファイルを開いて、Ctrl+Aで全選択して[編集]-[無音]-[無音]とすると選択範囲が無音になりますし、末尾の範囲選択して、[編集]-[無音]-[後ろに挿入]で、選択したぶんだけ無音が追加されます。長くなり過ぎたら、長くなった部分から末尾までを選択して、[編集]-[切り取り]で無音の時間が削除されます。最終的に[編集]-[フォーマット変更]でチャンネル数を2から1にして保存して、さらに1から2に戻すなどして、無音として、はっきりと定義できた状態で、保存をしましょう。


  • ここまでに用意した映像(管理人はmkvファイル)とwavファイルを以下のコマンドで、くっつけます。

<syntaxhighlight2 lang="bash"> ffmpeg -i [入力動画(.mkv)] -i [入力音声(.wav)] -c:v copy -c:a libmp3lame -strict experimental -map 0:v -map 1:a black.mkv </syntaxhighlight2>  -strict experimentalは動画の規格に厳しく準拠するかというオプションで、規格との準拠をしないという設定です。いかなる組み合わせでも、codecが規格に準拠したものでは無いモノを使ってでも、とりあえずは実行してくれます。この指定が無くても動くかもしれませんが、よくわからないもの同士をくっつけるので、付けておきました。


 これで黒コマの無音の動画を作れます。音を入れ替えたい場合は入力音声は無音でなくてもいいです。動画編集をするときの長さを先に確保してから編集する場合に便利です。


 自分で作るのが面倒な人のために5分の黒駒-無音のmkvファイルを置いておきます。mkvファイルをmp4に変換したりffmpegで好きなようにして使ってください。


黒駒・無音で720x480pxでアスペクト比16:9の5分の動画ファイルをダウンロードする(zip) 4.27MByte


 黒駒を末尾に追加するには、メニューの[ファイル]-[追加]から動画を開くと末尾に追加されます。間にいれたい場合は、Risizeしたものを二つ作って、順番に[ファイル]-[追加]をしていくと良いです。もっと効率のよい方法で作業したい場合はAivUtl(フレームレートが対応していないモノだったりの関係で音ズレしやすい)で編集したり、Adobe Premire Pro(有償)で編集したりして下さい。特に無償のツールの場合は、音ズレが起こる可能性が高いので、慎重にソフトウェアを選んで下さい。もっと複雑な編集をする場合にはAivUtlとかを使うと思うので、音ズレしない形式に変換したりすることを心掛けて使うと、快適な編集ができると思います。映像の効果をつける場合はAdobe After Efect のようなツールが高度な効果をつけることができます。対決シーンでメラメラ~とかの効果とかぐにゃぐにゃする多数の効果が実現できます。Freeでもある程度ならいけます。


付け足した動画を作って、動画の長さ・時間が変える場合は、字幕を付ける前にやったほうが良いです。先にやらなければいけないということを覚えておきましょう。

DivX HomeTheaterの形式に変換する

 ここまで来たら、あとはコマンドを使って変換するだけです。結構長いコマンドです。

ffmpeg -i インプットする動画のファイル名 -i インプットする音声ファイル名.mp3 -sn -c:a libmp3lame -ar 48000 -ab 128k -ac 2 -c:v libxvid -crf 24 -vtag DIVX -vf "fps=30,scale=720:480" -aspect 16:9 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 30 -b:v 600k -minrate 600k -maxrate 600k -deinterlace output_DivX_720x480px_Aspect16_9_350bps_30fps.avi

 上記のコマンドを使うとDivX HomeTheater形式対応したデバイスで再生できるファイルが出来上がります。「-i インプットする音声ファイル名.mp3」の部分は、音声ファイルを別で取り込まない場合は不要です。でも、音声ファイル名を省いたとしても、後に続くオーディオに関するオプションは消さずに付けておいた方が良いと思います。形式があっていないと再生できなくなります。


オプションの意味

  • -i
インプットするファイル名です。拡張子から、形式を予測してくれるので、間違った拡張子をつけてなければ、問題はおこらないはずです。
  • -sn
字幕ストリームを無効にする設定です。今回は、動画に直接、字幕を埋め込む作業をしているので、不要です。字幕のシステムに対応しているデバイスで再生する場合は、この字幕ストリームを使って、字幕の機能を持たせるとよいと思います。字幕ストリームを使った字幕の場合、再生するデバイス側で字幕を表示するかしないかを選ぶことができます。この方式を使う場合、大抵の場合、字幕を表示するという設定にデバイス側で都度、変更しなければなりません。DivXは字幕に対応している形式なので使おうと思えば使えると思います。この字幕の場合、字幕のスタイル・外観を変えれないので、だっさい・みにくい字幕になりがちです。
  • -c:a または -acodec
オーディオファイルのエンコード形式にあったコーデックを選択します。ここでは「libmp3lame」mp3形式のファイルをエンコードしてくれるコーデックを選んでいます。
  • -ar
オーディオのサンプリング周波数を指定します。時間軸上で1秒あたり波形の高さを確認する回数です。多ければ多いほど正確な波形になりますが、対応している周波数の種類は割と限られています。ここでは動画音声の標準的なサンプリング周波数である48kHz(48000Hz)を選択しています。オーディオだけだと通常は44.1KHzが多用されるので、ここで指定するオプションはあった方が良いハズです。
  • -ab
オーディオのビットレートを指定します。これは1秒間あたりのデータ量を指定します。サンプリング周波数でサンプルしたとしても1秒あたりにこれくらいのデータ量になるようにファイルを構成して欲しいということを指定しています。ここでは128kbpsを指定しています。
  • -ac
オーディオのチャンネル数を指定しています。1か2です。1はモノラル。2はステレオです。ここでは2を選択しました。
  • -c:v または -vcodec
ビデオのエンコード形式にあったコーデックを選択します。ここでは「libxvid」というDivXのオープンライセンス版コーデックを選択しました。DivXのXの位置をひっくり返したxvidはDivXじゃないんじゃないか?と思うかもしれませんが、もともとDivXというのは有識者を含めた人たちがDivX社の前進の企業が中心となって作り上げたエンコード方式でした。それを突然、製品として販売し始めたので、有識者たちが反発の意味で立ち上げたのがDivXを追随するxdivです。厳密にはDivXとXvidは異なりますが、DivXの基本的な部分では互換性があるためHomeTheater形式に準じたDivX形式のファイルが作れるというそういった背景があります。xvidはh263という規格にそった動画の一種です。
  • -crf
xvidのオプションですが、動画の品質を0〜51段階で設定できます。ここでは24を指定しました。固定の品質(固定ビットレートといいます。)にするためのオプションの一つです。一般的には19~25を使いますが、19はちょっと画質悪いなぁって感じる感じで20あたりがまぁいいかって思える感じで24まで来るとファイルサイズは20の倍くらいになりますが、綺麗かもって感じるレベルになります。今回の指定は24ですが後で出てくるオプション指定で、このオプションが無効に近い状態になっています。
  • -vtag
vtagは動画ファイルの先頭に付けられる4文字のAscciコード(文字列符号化数値)です。ここでは「DIVX」を指定しました。xvidでエンコードしましたが「DIVX」とすることで、xvidエンコードでも再生機器側でDivX形式だと認識できるようになります。この4文字は動画形式毎に定められています。指定しない場合は基本的な値が付与されます。
  • -vf
ビデオにかけるエフェクト効果です。ここでの指定はエフェクトと言えるほどの効果していではないですが、形式としての変化が現れます。複数の指定がある場合引数はダブルクォーテーションで囲い、それぞれはカンマで区切ります"fps=30,scale=720:480" 今回は、fpsを30とscaleを720x480に指定しています。fpsはフレームレートといい1秒間に何枚の画像で構成するかという指定です。24.15fpsとかいう中途半端に感じるフレームレートもありますが、DivXは対応していないです。30fpsを指定した方がよいでしょう。デバイスによってはこれ以外のfpsを対応しているものもあるかもしれません。ここは研究の余地が大きいと思います。iPhoneなんかの動画は中途半端なフレームレートになっていますが、これはLEDの信号やLED照明で絶えずついたり消えたりを繰り返している照明で消えている瞬間と撮影フレームが同期したりして、画面がちかちかしないようにずらしていることもあります。中途半端なフレームレートはそれなりに利点もあります。scaleは720x480pxを指定しています。ここまでの説明で動画の縦横は720x480にしてあるので必要ないしていだと思いますが、もしそうなってなかったとしても、縦横の比率の関係で変な形の映像になるかもしれませんが、ここで修正が効きます。
  • -aspect
アスペクト比を指定します。縦と横の比率です。再生デバイスには動画のアスペクト比を読み込んで、それに合わせた表示をする機能があり、16:9の画面をもつデバイスが4:3のアスペクト比の動画を読み込むと横に黒帯をいれるような処理が働きます。16:9と定義されていれば、そのまま、再生デバイスの画面ピッタリで再生してくれます。ピクセルの縦と横のサイズはとは別の働きです。縦横のピクセル数の動画が指定したアスペクト比として構成されているので、そのように扱って下さい。みたいなことです。最近のデバイスは大抵16:9の再生をすることを目的としているモノが多いので、今回の例のとおりに指定することが多いと思います。
  • -mbd
マクロブロックのアルゴリズム「rd(best rate distortionという方法)」が一番ブロックの解析が高く綺麗になります。他にもsimple(bcmpという方法)とbits(few bitsという方法)があります。
  • -flags +mv4+aic
エンコードの細かい処理方法の指定です。数十の細かい指定が用意されています。ここでは「Motion Vector by macroblockの4分割」という方式と「h263のAdvanced Intra Coding(aic)」という方式の処理を指定しています。
  • -trellis 2
xvidでも活用されるオプションで圧縮処理で失われた情報を回復しようとする仕組みの利用設定で2は全てにおいて使うという意味で1は特定の処理だけで使う。0は使わないという意味です。そのメカニズムについては自分はわからないです。
  • -cmp 2
動き予測で用いられる比較関数の番号2はsse(Sum of Square Error)という比較関数(それぞれの違いは難し過ぎて説明できません)
  • -subcmp 2
サブ予測で用いられる比較関数の番号2はsse(Sum of Square Error)という比較関数(それぞれの違いは難し過ぎて説明できません)
  • -g 30
GOP(Group Of Picture) サイズを指定。通常はフレームレートの5倍くらいを設定しますが、1秒を一塊にした30に設定しています。Iフレームと呼ばれる基本画像とBピクチャ(前後差分データ)Pピクチャ(前差分データ)でGOPは構成されています。
  • -b:v 350k -minrate 350k -maxrate 350k
-b:vは-vbと同じ意味ですが、ビットレートを指定してます。この容量が多いほど情報が多いことを意味していて、綺麗な画質になります。但し、ここで設定した値だけでは、努力目標のビットレートという意味になっていて、指定した値を超える瞬間があります。それを補っているのが -minrate -maxrateに指定した値です。上限と下限を指定します。それでも多少はビットレートは揺らぎます。でも、この指定で350kbpsになっています。綺麗な画質を求めるならもうちょっと大きいビットレートにするべきだと思います。500kbpsくらいで、やっとで劣化が少ないと感じるレベルです。

利用できるビデオコーデックの種類

a64_multi、a64multi
a64_multi5、a64multi5
alias_pix
amv
apng(*.apng)
asv1
asv2
av1、libaom-am1、librav1e
avrp
avui
ayuv
bmp
cinepak
cljr
dirac
dnxhd
dpx
dvvideo
ffv1
ffvhuff
fits
flashsv
flashsv2
flv1、flv(*.flv/*.f4v)
gif(*.gif)
h261(.mov)
h263(.mov/*.flv/*.f4v/*3gp/*3g2)
h263p(.mov/*.flv/*.f4v/*3gp/*3g2)
h264、libx264、libx264rgb、h264_amf、h264_nvenc、h264_qsv、nvenc、nvenc_h264(*.mov/*.qt/*3gp/*3g2/*.m2ts/*.ts/*.mkv/*.avi)
hap
hevc、libx265、nvenc_hevc、hevc_amf、hevc_nvenc、hevc_qsv(*.mov/*.qt/*3gp/*3g2)
huffyuv
jpeg2000、libopenjpeg(*.jpg/*.jpeg)
jpegls(*.jpg/*.jpeg)
ljpeg(*.jpg/*.jpeg)
magicyuv
mjpeg、mjpeg_qsv(*.jpg/*.jpeg)
mpeg1video(*.mpg/*.mpeg/*.mov/*.qt/*3gp/*3g2)
mpeg2video、mpeg2_qsv(*.mpg/*.mpeg/*.mov/*.qt/*3gp/*3g2/*.m2ts/*.ts)
mpeg4、libxvid(*.mpg/*.mpeg/*.mov/*.qt/*3gp/*3g2/*.mkv/*.wmv/*.asf/*.ogm/*.avi)
msmpeg4v2(*.mpg/*.mpeg/*.mp4/*.mov/*.qt/*3gp/*3g2/*.mkv/*.wmv/*.asf/*.avi)
msmpeg4v3、msmpeg4(*.mpg/*.mpeg/*.mp4/*.mov/*.qt/*3gp/*3g2/*.mkv/*.wmv/*.asf/*.avi)
msvideo1
pam
pbm
pcx
pgm
pgmyuv
png(*.png)
ppm
prores
qtrle
r10k
r210
rawvideo
roq、roqvideo
rv10(*.rv/*.rm)
rv20(*.rv/*.rm)
sgi
snow
sunrast
svq1
targa
theora
tiff(*.tiff)
utvideo
v210
v308
v408
v410
vp8、libvpx(*.webm)
vp9、livpx-vp9、vp9_qsv(*.webm)
webp、livwebp_anim、libwebp
wmv1(*.wmv/*.asf)
wmv2(*.wmv/*.asf)
wrapped_avframe
xbm
xface
xwd
y41p
yuv4
zlib
zmbv

DivX対応製品

 東芝製DVD Playerは対応していた時期もありましたが、2020年の現行品では全く対応されていません。切り捨てにかかっています。昔あったポータローとかいうだっさい名前のポータブルDVDプレイヤーは割かし対応していました。その反面、Pioneerは現行品のカーAVでは漏れなくDivX HomeTheaterに対応しています。やるなPioneer。Sonyはプレイステーション3でDivX再生に対応。2010年頃のBlu-ray/DVDPlayer BDP-S370は対応していました。Playstation4では非対応。包括提携までしていたのに冷たい。Panasonicも同じ感じです。今の製品では対応してないです。

Pioneer製品

楽ナビシリーズ

  • AVIC-HRZ099 DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)


カーAudioVideo機器

  • DMH-SF700 DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • DMH-SZ700 DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • FH-770DVD(管理人所有機材) DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • FH-780DVD DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • FH-6500DVD DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • FH-8500DVS ※DVDメディアのみ対応 DivXHomeTheater
  • FH-9200 DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • AVX-P90DV DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • DVH-570 DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • DEH-380 DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)


DVDプレイヤー

  • DV-220V DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • DV-310 DivXHomeTheater Ver.3/4/5.2/6
  • DV-393AV DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • DV-490AV DVDDivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • DV-585A DivXHomeTheater Ver.3/4/5.2/6
  • DV-610AV DivXHomeTheater Ver.3/4/5.2/6 (Ultra対応)
  • DV-696AV DivXHomeTheater Ver.3/4/5.2/6(Ultra/HD非対応)
  • DV-3030V DivXHomeTheater Ver.3/4/5.2/6


CD/DVDコンポ

  • X-MF7DV DivXHomeTheater Ver.3/4/5.2/6
  • X-SMC2-w DivXHomeTheater Ver.3/4/5.2/6


⧅ffmpeg DivX HomeTheater形式の生成に戻る


⧅ffmpegに戻る