⧅ffmpeg DivX HomeTheater形式の生成のソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[⧅ffmpeg]]に戻る == '''概要''' == DivX HomeTheater形式に対応した車載オーディオやレコーダは結構ある感じです。この形式に自分の持っている音楽映像を個人的に変換して楽しむという事や自分で撮影した動画を編集して、話している内容にハード字幕を付けたりすることが出来ると嬉しい人は多いかもしれないと思って書く記事です。 動画ファイルがあることが前提です。何も映像ファイルが無い人でも試したい人は、iPhoneで画面撮影した内容でやってみると良いと思います。iPhoneが無い人はWindowsでScreenpresoという画面キャプチャアプリで、画面のキャプチャをしてみるといいと思います。いずれのキャプチャにおいてもmp4形式になります。mp4の中身のエンコード形式はそれぞれ微妙に異なりますが、mp3ファイルもあるといいですね。ffmpegではほとんどの形式のデコード読み込みが出来るので、深く考える必要はないです。ただし、DivXにの再生に対応するデバイスが必要です。これがないとDivX形式にする意味が無いです。ハードウェアが無くても、例えば、Windowsで動画を見るために使うことも出来ます。DivX形式対応のプレイヤーは無料のモノも含め沢山あります。ナカナカ良い圧縮ができるので、荒い画質の動画を沢山、保有したい場合に便利だと思います。Bitrateは350kbps~500kbsくらいで十分楽しめる映像になります。 DivXの30fpsでCBRの350kbpsの映像にすると5分くらいの映像で20Mbyte程度です。32GByteのSDHCカードとかに保存するとしたら、1枚に5分の映像が1600個くらい収まります。映画とかのファイルを持っているとしたら、70タイトル位入れられます。これをmicroSDを差してUSBに変換するような道具を使うと映画70本が車で楽しめたり、レコーダで見たり出来ます。 力説しましたが、必要の無い人には、意味ないわな。手軽にたくさんの映像を持ち運びたいというニーズとデバイスが無いと全く興味の無い話です。 ===mp4形式の動画を作るキャプチャ方法 iPhone編=== 画面録画の機能は、iPhoneのiOS場合画面、画面下端から上にスワイプした時に出てくるコントロールセンターと呼ばれる画面から操作できます。iPadの場合右上あたりから下にスワイプするとコントロールセンターの画面が表示されます。残念ながらデフォルトに近い状態で使っている場合は画面録画の機能はコントロールセンターに追加されていません。追加するには次の手順を踏む必要があります。 *[設定]アプリを開く。 [[ファイル:IMG 0317.PNG|400px|thumb|none|設定を開く(流石にこれは画像なくてもわかるか…)]] *[コントロールセンター]の項目をタップ [[ファイル:IMG 0314.PNG|400px|thumb|none|コントロールセンターを開く(流石にこれも画像なくてもわかるか…)]] *[画面録画]の追加をする「+」マークをタップ [[ファイル:IMG 0313.PNG|400px|thumb|none|画面録画を追加]] これで画面録画が追加されました。コントロールセンターを見るとこんな感じのものが増えています。 [[ファイル:IMG 0315.PNG|400px|thumb|none|画面録画ボタン]] 画面録画ボタンを長押しタップすると以下のような画面録画の設定画面に移動します。 [[ファイル:IMG 0320.PNG|400px|thumb|none|画面録画設定画面]] この画面で何処に画面収録した動画ファイルを送るかの設定が出来ます。動画を受け取ることが出来るアプリが真ん中に並んでいるのでスワイプを駆使して、対象のアプリを選択します。自分は最初から導入されているiOSのアプリ、写真アプリに保存しています。 もう一つ、赤枠の部分のマイクというボタンで、ON状態にすると、iPhoneの通話マイクを使って、外部の自然環境音が録音されます。OFFにするとiOSの内部で鳴っているサウンドだけを保存するモードになります。 このモードは優秀で、iOSで小さい音が出力される状態や無音の状態でも内部で鳴っている出力のために音量を調整する前の波形そのものをキャプチャしてくれるので、大音量にする必要がないのが嬉しいですね。 青枠で囲った録音開始を押すとこの画面からも画面録画がスタートできます。3秒のカウントダウン後。「ピコーン」ってなって画面録画が始まります。このピコーンっていう音は画面録画の最初の部分で記録されます。気になる場合は、動画のオーディオ部分を編集するか、動画編集でトリミング、サイズ調整で最初の1秒くらいの部分を切り落とす必要があります。 コントロールセンターで先ほどは画面録画のボタンをロングタップしましたが、通常のタップをすると、現在の画面録画の設定で、画面録画が開始されます。録画開始のカウントダウンが始まります。 こんな感じ。 [[ファイル:IMG 0316.PNG|400px|thumb|none|]] カウントダウン中です。2秒前だと、こうなります。速くコントロールセンターを閉じて、録画したい画面を表示させると良いでしょう。 録画を終える時は電源ボタンを短く押せば終わります。画面は一度OFFになります。もう一度、コントロールセンターを開いて、画面録画ボタンを押しても終わりますが、動画の終わりにコントロールセンターの画面が表示されるのは具合が悪い場合もあるかもしれません。あとで動画編集する予定ならば、トリミングなんてのは基本機能なので、気にする必要は無いのかも知れないです。録画が終わると、写真アプリに動画ファイルがmp4形式で保管されています。下のようなメッセージ表示されます。 [[ファイル:IMG 0319.PNG|400px|thumb|none|画面録画完了通知]] あとは写真アプリから、写真を選択(選択ボタンは画面の上のとこあります。それからそれぞれの動画ファイルのサムネイルを選択)して共有ボタン(共有ボタンは左下の四角から上矢印が出ているマーク)からファイルに保存(割かし下の項目を表示させるべく方向に向かってスワイプしないとファイルに存の項目は出てこない)を選択して、iCloudに保管して、WindowsPCからiCloudのファイルをダウンロードするという作業をすれば、ffmpegで処理が始められます。 WindowsでiCloudに接続するには [https://www.microsoft.com/ja-jp/p/icloud/9pktq5699m62?rtc=1&activetab=pivot:overviewtab iCloudアプリ]をMicrosoft App Storeから入手する必要があります。 ===mp4形式の動画を作るキャプチャ方法 Screenpresso編=== Windowsの操作画面を動画で録画するにはScreenpresso ([https://www.screenpresso.com/ja/ 公式サイト])を使うという方法があります。Screenpresso左下にロゴが入ってしまうので、クロップ[Crop](画面サイズ切り抜き変更)という作業をしなければ純粋な動画は作れないのが辛いところです。3691円を支払えば、プロ版を使うことが出来るので、ロゴも入らないし、音声も含めてキャプチャできるようになります。PC側の処理速度が十分あれば、スムースな動きの動画をキャプチャすることができます。これくらいの性能になると動画にロゴが出るとか制限をかけてくるのが普通ですね。自分はクロップして使う方法で事足りていますので、無料版を使っています。 インストールしたらCtrl+PrintScreen(PRTSC)キーで、指定領域の動画撮影が出来ます。領域を広くした分だけ、処理は重たくなりますし、ファイルサイズも大きくなります。終わるときは、PrintScreenキーです。 これでffmpegで遊ぶ準備が出来たと思います。 ===ffmpegで変換したファイルの情報を見る=== まずはiPhoneで録画したものがコチラ。 <syntaxhighlight2 lang="bash"> C:\...>ffmpeg -i input_iOS_capture.MP4 ffmpeg version 4.3.1-2020-11-02-full_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.2.0 (Rev3, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-shared --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input_iOS_capture.MP4': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: isommp41mp42 creation_time : 2020-XX-XXTXX:57:39.000000Z Duration: 00:05:21.51, start: 0.000000, bitrate: 4957 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default) Metadata: creation_time : 2020-XX-XXTXX:57:39.000000Z handler_name : Core Media Audio Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709/bt709/iec61966-2-1), 750x1334, 4826 kb/s, 24.37 fps, 60 tbr, 600 tbn, 1200 tbc (default) Metadata: creation_time : 2020-XX-XXTXX:57:39.000000Z handler_name : Core Media Video At least one output file must be specified </syntaxhighlight2> 上記の情報から動画は、avc1のH264(high)形式で750x1334pxのサイズでビットレート、4826kbpsの24.37fpsというヌルヌルの動作をする動画形式であり、24.37fpsという中途半端なことこの上無い形式であることがわかります。何気に高性能だわiPhone。こんな複雑な動画形式上手くデコードできるプレイヤーは、かなりの新進気鋭のソフトウェアだね。古いデバイスとかだと音ズレとかしやすい。そして音声はmp4aのaac(LC:Lfmpegで変換したファイルの情報を見る=== まずはiPhoneで録画したものがコチラ。 <syntaxhighlight2 lang="bash"> C:\...>ffmpeg -i input_iOS_capture.MP4 ffmpeg version 4.3.1-2020-11-02-full_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.2.0 (Rev3, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-shared --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input_iOS_capture.MP4': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: isommp41mp42 creation_time : 2020-XX-XXTXX:57:39.000000Z Duration: 00:05:21.51, start: 0.000000, bitrate: 4957 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default) Metadata: creation_time : 2020-XX-XXTXX:57:39.000000Z handler_name : Core Media Audio Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709/bt709/iec61966-2-1), 750x1334, 4826 kb/s, 24.37 fps, 60 tbr, 600 tbn, 1200 tbc (default) Metadata: creation_time : 2020-XX-XXTXX:57:39.000000Z handler_name : Core Media Video At least one output file must be specified </syntaxhighlight2> 上記の情報から動画は、avc1のH264(High)形式(H.264とMPEG-4 AVCは同じ意味で、H.264はITU-T(:International Telecommunication Union Telecommunication Standardization Sector国際電気通信連合の通信部門)での呼び方で、MPEG-4 AVC(Advanced Audio Coding)という名称の圧縮方式にあなっています。)で750x1334pxのサイズでビットレート、4826kbpsの24.37fpsというヌルヌルの動作をする動画形式であり、24.37fpsという中途半端なことこの上無い形式であることがわかります。何気に高性能だわiPhone。 *tbr = tbrはVideoStreamのr_time_baseという値で実ベースフレームレートです。ビデオフレームレートを探すときに得られる値です。すべてのタイムスタンプを正確に表現できる最小フレームレートで、キャプチャ動画では60tbr(time base rate)になっていて、60fpsで再生されたいとする設定がされています。 *tbn =VideoStreamのtime_baseはフレーム・タイム・スタンプが表される基本的な時間単位 (秒単位)です。キャプチャ動画では600秒になっています。 *tbc =AVCodecContext>time_baseは特定のストリームに使用されるコーデックのAVCodecContextのタイムベースです。キャプチャ動画では1200秒になっています。 訳の分からない値が入っているので、適当な値が規定値で設定されているようです。 こんな複雑な動画形式上手くデコードできるプレイヤーは、かなりの新進気鋭のソフトウェアだね。古いデバイスとかだと音ズレとかしやすい。そして音声はmp4aのaac(LC:Low Complexity)形式(mp4aはmp4のAudioコンテナで、その中にaac=Advanced Audio CodingのLC形式が格納されているイメージで良いです。 )でビットレート126kbpsでサンプリング周波数44.1kHz。これまた中途半端なビットレートです。普通は128kbpsとかが多い気がします。癖が強いな。 [[⧅ffmpeg]]に戻る
⧅ffmpeg DivX HomeTheater形式の生成
に戻る。
個人用ツール
3.12.136.98
このIPアドレスのトーク
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ