⧅ffmpeg 全てのエンコード(ファイル生成)・デコード(ファイル読み込み)可能なファイル形式 新しいページはコチラ
提供: yonewiki
(→ビデオ形式) |
(→概要) |
||
1行: | 1行: | ||
+ | [[⧅ffmpeg]]に戻る | ||
== '''概要''' == | == '''概要''' == | ||
もの凄い数のファイル形式が生成できたり、読み取りできたりするffmpeg。どうなってんの?そんなに全てのファイルを網羅したプログラミングって出来るもんなの?凄すぎるっていうリストです。画像と音声と動画ファイルがエンコード・デコード出来ます。 | もの凄い数のファイル形式が生成できたり、読み取りできたりするffmpeg。どうなってんの?そんなに全てのファイルを網羅したプログラミングって出来るもんなの?凄すぎるっていうリストです。画像と音声と動画ファイルがエンコード・デコード出来ます。 | ||
− | ひとつ、豆知識なんですけど、デコード(読み込み)したら編集しやすい可逆ロスレス(情報の欠落が起こらない非圧縮) | + | ひとつ、豆知識なんですけど、デコード(読み込み)したら編集しやすい可逆ロスレス(情報の欠落が起こらない非圧縮)形式に変換されます。例えばjpgならbitmapに変換されてメモリやハードディスクに展開されます。この展開された情報に対して編集をします。圧縮されたまま編集することは、ほとんど無いです。1秒間に何枚かある絵が一枚づつがビットマップやYCbCrあるいはYPbPr形式に展開されます。すくなくとも編集する部分に関しては圧縮を解除するデコードされた状態になっています。YCbCrの色域をの絶対値が0.5以内になるものとして表現した場合はYUVという色域表現と一致します。近年ではYUVは動画における色域表現全般のことを意味しています。YCbCrとYPbPrという表現がが含まれる感じです。定数x(青or赤-輝度)みたいな表現です。 |
− | + | 音声ファイルなら波形ファイルそのものであるwavファイルのような形式に。動画の場合は音声ファイルと動画ファイルがそれぞれの圧縮形式でコンテナと呼ばれる箱のようなものにまとめる規格に収めて使います。なので、コンテナを解釈して、音声ファイルをwavファイルのようなものにし、動画は映像表示のハードウェアが理解できる形式に変換された状態になります。コンテナでは、音声と動画でデータの時間軸において、可変圧縮率が適用されていることで、データ量だけで時間を制御できないためズレが生じないような仕組みがあったりします。同期処理それは、ファイルを解釈する側に工夫が求められる。そこまでややこしくしてでも圧縮する動画情報処理。凄いことなんだけど、迷走しまくってきました。今後も混沌とした動画ファイル形式が渦を巻いていく事だと思います。 | |
− | + | ffmpegのファイル形式を見ると、どれだけの人が圧縮のメカニズムを考えてきたか?そして、私の考えた圧縮・展開の方法が世界一だから標準であるべきだ!いや、標準じゃなくても私の考えたやつの方がすげぇからな!いや、そんなにソフトウェア著作権とか言うなら自分で作るわ!と争ってきたのだと思います。その結果がコレです。OSが乱立するのと同じだと思えばよいです。すべては自由競争なのです。複雑化していくのは仕方のないことです。いろんな味の料理屋さんがあるのと同じです。一番、オーソドックスな味はコレっていう感じのを決めているだけ、情報処理技術の機関は取り仕切っているなと思う。 | |
+ | |||
+ | 動画、字幕、音声、どんな形式だろうとなんでも入れていい箱やらそうじゃない箱があります。使ってやろうと思う形式における仕組みは深く勉強し、散在するファイル形式に対応する必要もある場合はあるので、身の回りにありそうな動画形式については、勉強し続けるしかないよね。理解度はそれぞれのファイル景色に合わせて、深くても浅くてもいい。バランスが必要だね。 | ||
==='''画像形式'''=== | ==='''画像形式'''=== | ||
+ | E列の○はエンコードが出来る事、D列の○はデコードが出来ることを意味しています。 | ||
<syntaxhighlight2 lang="text"> | <syntaxhighlight2 lang="text"> | ||
E_D_Name#Description | E_D_Name#Description | ||
− | 〇_〇_.Y.U.Vone raw file per component | + | 〇_〇_.Y.U.Vone raw file per component % 不明の画像形式 |
− | 〇_〇_Alias PIX#Alias/Wavefront PIX image format | + | 〇_〇_Alias PIX#Alias/Wavefront PIX image format %エイリアスPIXエイリアス/ウェーブフロントRLE画像形式 (ImageMagic、Deark、Xnviweで対応)Autodeskに[https://www.autodesk.com/techpubs/aliasstudio/2010/index.html?url=WS73099cc142f4875535a241551166ac8792f-7d76.htm,topicNumber=d0e246178 ファイル仕様]があります。 |
− | 〇_〇_animated | + | 〇_〇_animated GIF#アニメーションGIF |
− | + | 〇_〇_APNG#アニメーションPNG | |
− | 〇_〇_BMP#Microsoft | + | 〇_〇_BMP#Microsoft ビットマップ画像形式 |
− | _〇_BRender | + | _〇_BRender PIX#3D編集アプリArgonaut BRender 3D の画像処理形式. |
− | 〇_〇_DPX#Digital Picture Exchange | + | 〇_〇_DPX#Digital Picture Exchange % デジタル・フィルム作業のための画像 ファイルフォーマット。ANSIおよびSMPTE標準 |
− | _〇_EXR#OpenEXR | + | _〇_EXR#OpenEXR % VFXとアニメーション、両方のCG業界で非常に幅広く使用されている。HDR処理に強い形式でインダストリアル・ライト&マジック社:アメリカの特殊効果とVFXを制作する会社 によって作成され、オープン標準になっている。 |
− | 〇_〇_FITS#Flexible Image Transport System | + | 〇_〇_FITS#Flexible Image Transport System % オープン標準形式 天文学の分野で活用されている。天体座標情報が埋め込まれた形式 一般にも取得できる画像です。 |
− | 〇_〇_JPEG#Progressive JPEG is not supported. | + | 〇_〇_JPEG#Progressive JPEG is not supported.プログレッシブは対応してないそうな。なんでだろ。これだけ多岐にわたる対応をしているのに |
− | 〇_〇_JPEG 2000# | + | 〇_〇_JPEG 2000# 幻になりかけたJPEG 2000 より圧縮性能が高いものになっている。 |
− | 〇_〇_JPEG- | + | 〇_〇_JPEG-LS#LJPEGと同じく可逆性圧縮(ロスレス)のJPEGです。ロスレスとは情報が切り落とされないという事です。 |
− | 〇_ _LJPEG#Lossless JPEG | + | 〇_ _LJPEG#Lossless JPEG % JPEG-LSと同じです。方式が異なります。JPEG-LSの方が改良されたものとなっています。 |
− | 〇_〇_PAM#PAM is a PNM extension with alpha support. | + | 〇_〇_PAM#PAM is a PNM extension with alpha support. %簡素な2次元ラスター画像形式PNMの透明処理Alpha対応をしたもの。 |
− | 〇_〇_PBM#Portable BitMap image | + | 〇_〇_PBM#Portable BitMap image%簡素な白黒二値の2次元ラスター画像形式 |
〇_〇_PCX#PC Paintbrush | 〇_〇_PCX#PC Paintbrush | ||
〇_〇_PGM#Portable GrayMap image | 〇_〇_PGM#Portable GrayMap image | ||
33行: | 37行: | ||
_〇_PGX#PGX file decoder | _〇_PGX#PGX file decoder | ||
_〇_PIC#Pictor/PC Paint | _〇_PIC#Pictor/PC Paint | ||
− | + | 〇_〇_PNG#GIFの方式を拡張したGIFより多い色見本方式の画像。 | |
− | 〇_〇_PPM#Portable PixelMap image | + | 〇_〇_PPM#Portable PixelMap image%PNMのRGB対応形式 |
− | _〇_PSD#Photoshop | + | _〇_PSD#Photoshop % Adobe社が作った画像編集アプリの画像保存形式 |
− | _〇_PTX#V.Flash PTX format | + | _〇_PTX#V.Flash PTX format % ペンタックス社のカメラ撮影画像のRAWデータ形式 |
− | 〇_〇_SGI#SGI RGB image format | + | 〇_〇_SGI#SGI RGB image format %シリコングラフィックスインターナショナル社(現ヒューレットパッカード:HP社)がワークステーション用に取り決めた規格の画像形式 |
− | 〇_〇_Sun Rasterfile#Sun RAS image format | + | 〇_〇_Sun Rasterfile#Sun RAS image format % サンマイクロシステムズ社が取り決めたSUNラスター(RAS)は、Sun UNIXプラットホームへの形式 |
− | 〇_〇_TIFF#YUV, JPEG and some extension is not supported yet. | + | 〇_〇_TIFF#YUV, JPEG and some extension is not supported yet. % ビットマップ画像の符号化形式の一種。タグと呼ばれる識別子を使った符号化が特徴 |
− | 〇_〇_Truevision Targa#Targa (.TGA) image format | + | 〇_〇_Truevision Targa#Targa (.TGA) image format トゥルービジョン社が取り決めた、アニメーション業界でよく使われる可逆性の画像形式 |
− | E_〇_WebP#WebP image format, encoding supported through external library libwebp | + | E_〇_WebP#WebP image format, encoding supported through external library libwebp % 米Googleが開発しているオープンな静止画像フォーマットPNGを置き換えることを狙う規格。動画にはMebMという規格がある。MebMの1フレーム版がWebPウェッピー |
− | 〇_〇_XBM#X BitMap image format | + | 〇_〇_XBM#X BitMap image format % X Window SystemのGUIにおいてカーソルやアイコンに使用するビットマップ画像 |
− | 〇_〇_XFace#X-Face image format | + | 〇_〇_XFace#X-Face image format % X-Faceは通常は48×48ピクセル、モノクロ二値の小さな画像。メールアイコンとしての役割を担う技術。限られた制限の中での超絶技巧を楽しむことが一部でエモいことになっていた。 |
− | _〇_XPM#X PixMap image format | + | _〇_XPM#X PixMap image format % フランスのソフィア・アンティポリスのブル・リサーチ・センターで働いていた人が作成したXウィンドウ・システムで使用される画像ファイル形式で主にアイコンを作成に利用された。 |
− | 〇_〇_XWD#X Window Dump image format | + | 〇_〇_XWD#X Window Dump image format % X Windowシステムで最小限の構成でスクリーンショットを取ることを目的として作られた画像形式 |
</syntaxhighlight2> | </syntaxhighlight2> | ||
==='''オーディオ形式'''=== | ==='''オーディオ形式'''=== | ||
+ | E列の○はエンコードが出来る事、D列の○はデコードが出来ることを意味しています。特殊記号が付与されている場合はDescriptionで補足事項のとおりの動作になります。 | ||
<syntaxhighlight2 lang="text"> | <syntaxhighlight2 lang="text"> | ||
+ | E_D_Name#Description | ||
_〇_8SVX exponential# | _〇_8SVX exponential# | ||
_〇_8SVX fibonacci# | _〇_8SVX fibonacci# | ||
228行: | 234行: | ||
==='''ビデオ形式'''=== | ==='''ビデオ形式'''=== | ||
+ | E列の○はエンコードが出来る事、D列の○はデコードが出来ることを意味しています。 | ||
<syntaxhighlight2 lang="text"> | <syntaxhighlight2 lang="text"> | ||
− | + | E_D_Name#Description | |
− | + | _〇_4X MovieUsed in certain computer games. | |
+ | _〇_8088flex TMV# | ||
〇_ _A64 multicolor#Creates video suitable to be played on a commodore 64 (multicolor mode). | 〇_ _A64 multicolor#Creates video suitable to be played on a commodore 64 (multicolor mode). | ||
_〇_Amazing Studio PAF Video# | _〇_Amazing Studio PAF Video# | ||
239行: | 247行: | ||
_〇_Apple Intermediate Codec# | _〇_Apple Intermediate Codec# | ||
_〇_Apple MJPEG-B# | _〇_Apple MJPEG-B# | ||
− | _〇_Apple | + | _〇_Apple Pixlet# |
− | 〇_〇_Apple ProRes#fourcc: apch,apcn,apcs,apco,ap4h, | + | 〇_〇_Apple ProRes#fourcc: apch,apcn,apcs,apco,ap4h,ap4x |
_〇_Apple QuickDraw#fourcc: qdrw | _〇_Apple QuickDraw#fourcc: qdrw | ||
〇_〇_Asus v1#fourcc: ASV1 | 〇_〇_Asus v1#fourcc: ASV1 | ||
250行: | 258行: | ||
_〇_Autodesk Animator Flic video# | _〇_Autodesk Animator Flic video# | ||
_〇_Autodesk RLE#fourcc: AASC | _〇_Autodesk RLE#fourcc: AASC | ||
− | + | E_E_AV1#Supported through external libraries libaom, libdav1d, librav1e and libsvtav1 | |
〇_〇_Avid 1:1 10-bit RGB Packer#fourcc: AVrp | 〇_〇_Avid 1:1 10-bit RGB Packer#fourcc: AVrp | ||
_〇_AVS (Audio Video Standard) video#Video encoding used by the Creature Shock game. | _〇_AVS (Audio Video Standard) video#Video encoding used by the Creature Shock game. | ||
− | + | E_E_AVS2-P2/IEEE1857.4#Supported through external libraries libxavs2 and libdavs2 | |
− | + | _E_AVS3-P2/IEEE1857.10#Supported through external library libuavs3d | |
〇_〇_AYUV#Microsoft uncompressed packed 4:4:4:4 | 〇_〇_AYUV#Microsoft uncompressed packed 4:4:4:4 | ||
_〇_Beam Software VB# | _〇_Beam Software VB# | ||
267行: | 275行: | ||
_〇_CamStudio#fourcc: CSCD | _〇_CamStudio#fourcc: CSCD | ||
_〇_CD+G#Video codec for CD+G karaoke disks | _〇_CD+G#Video codec for CD+G karaoke disks | ||
− | + | _〇_CDXL#Amiga CD video codec | |
− | + | E_〇_Chinese AVS video#AVS1-P2, JiZhun profile, encoding through external library libxavs | |
_〇_Delphine Software International CIN video#Codec used in Delphine Software International games. | _〇_Delphine Software International CIN video#Codec used in Delphine Software International games. | ||
_〇_Discworld II BMV Video# | _〇_Discworld II BMV Video# | ||
274行: | 282行: | ||
_〇_Canopus HQ# | _〇_Canopus HQ# | ||
_〇_Canopus HQA# | _〇_Canopus HQA# | ||
− | _〇_Canopus | + | _〇_Canopus HQX# |
_〇_Canopus Lossless Codec# | _〇_Canopus Lossless Codec# | ||
_〇_CDToons#Codec used in various Broderbund games. | _〇_CDToons#Codec used in various Broderbund games. | ||
282行: | 290行: | ||
_〇_Creative YUV (CYUV)# | _〇_Creative YUV (CYUV)# | ||
_〇_DFA#Codec used in Chronomaster game. | _〇_DFA#Codec used in Chronomaster game. | ||
− | + | E_〇_Dirac#supported though the native vc2 (Dirac Pro) encoder | |
− | + | _〇_Deluxe Paint Animation# | |
− | + | 〇_〇_DNxHD#aka SMPTE VC3 | |
_〇_Duck TrueMotion 1.0#fourcc: DUCK | _〇_Duck TrueMotion 1.0#fourcc: DUCK | ||
_〇_Duck TrueMotion 2.0#fourcc: TM20 | _〇_Duck TrueMotion 2.0#fourcc: TM20 | ||
_〇_Duck TrueMotion 2.0 RT#fourcc: TR20 | _〇_Duck TrueMotion 2.0 RT#fourcc: TR20 | ||
〇_〇_DV (Digital Video)# | 〇_〇_DV (Digital Video)# | ||
− | + | _〇_Dxtory capture format# | |
− | _〇_Feeble Files/ScummVM | + | _〇_Feeble Files/ScummVM DXA#Codec originally used in Feeble Files game. |
_〇_Electronic Arts CMV video#Used in NHL 95 game. | _〇_Electronic Arts CMV video#Used in NHL 95 game. | ||
_〇_Electronic Arts Madcow video# | _〇_Electronic Arts Madcow video# | ||
311行: | 319行: | ||
〇_〇_H.263 / H.263-1996# | 〇_〇_H.263 / H.263-1996# | ||
〇_〇_H.263+ / H.263-1998 / H.263 version 2# | 〇_〇_H.263+ / H.263-1998 / H.263 version 2# | ||
− | + | E_〇_H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10#encoding supported through external library libx264 and OpenH264 | |
− | 〇_〇_HEVC#encoding supported through | + | 〇_〇_HEVC#encoding supported through external library libx265 and libkvazaar |
_〇_HNM version 4# | _〇_HNM version 4# | ||
〇_〇_HuffYUV# | 〇_〇_HuffYUV# | ||
334行: | 342行: | ||
_〇_Lagarith# | _〇_Lagarith# | ||
_〇_LCL (LossLess Codec Library) MSZH# | _〇_LCL (LossLess Codec Library) MSZH# | ||
− | + | E_E_LCL (LossLess Codec Library) ZLIB# | |
_〇_LOCO# | _〇_LOCO# | ||
_〇_LucasArts SANM/Smush#Used in LucasArts games / SMUSH animations. | _〇_LucasArts SANM/Smush#Used in LucasArts games / SMUSH animations. | ||
341行: | 349行: | ||
_〇_Mandsoft Screen Capture Codec# | _〇_Mandsoft Screen Capture Codec# | ||
_〇_Microsoft ATC Screen#Also known as Microsoft Screen 3. | _〇_Microsoft ATC Screen#Also known as Microsoft Screen 3. | ||
− | _〇_Microsoft | + | _〇_Microsoft Expression Encoder Screen#Also known as Microsoft Titanium Screen 2. |
_〇_Microsoft RLE# | _〇_Microsoft RLE# | ||
_〇_Microsoft Screen 1#Also known as Windows Media Video V7 Screen. | _〇_Microsoft Screen 1#Also known as Windows Media Video V7 Screen. | ||
347行: | 355行: | ||
_〇_Microsoft Video 1# | _〇_Microsoft Video 1# | ||
_〇_Mimic#Used in MSN Messenger Webcam streams. | _〇_Mimic#Used in MSN Messenger Webcam streams. | ||
− | _〇_Miro | + | _〇_Miro VideoXL#fourcc: VIXL |
〇_〇_MJPEG (Motion JPEG)# | 〇_〇_MJPEG (Motion JPEG)# | ||
− | + | _〇_Mobotix MxPEG video# | |
− | _〇_Motion | + | _〇_Motion Pixels video# |
〇_〇_MPEG-1 video# | 〇_〇_MPEG-1 video# | ||
〇_〇_MPEG-2 video# | 〇_〇_MPEG-2 video# | ||
− | 〇_〇_MPEG-4 part | + | 〇_〇_MPEG-4 part 2#libxvidcore can be used alternatively for encoding. |
_〇_MPEG-4 part 2 Microsoft variant version 1# | _〇_MPEG-4 part 2 Microsoft variant version 1# | ||
〇_〇_MPEG-4 part 2 Microsoft variant version 2# | 〇_〇_MPEG-4 part 2 Microsoft variant version 2# | ||
361行: | 369行: | ||
_〇_NotchLC# | _〇_NotchLC# | ||
_〇_NuppelVideo/RTjpeg#Video encoding used in NuppelVideo files. | _〇_NuppelVideo/RTjpeg#Video encoding used in NuppelVideo files. | ||
− | _〇_On2 VP3#still | + | _〇_On2 VP3#still experimental |
_〇_On2 VP4#fourcc: VP40 | _〇_On2 VP4#fourcc: VP40 | ||
_〇_On2 VP5#fourcc: VP50 | _〇_On2 VP5#fourcc: VP50 | ||
_〇_On2 VP6#fourcc: VP60,VP61,VP62 | _〇_On2 VP6#fourcc: VP60,VP61,VP62 | ||
_〇_On2 VP7#fourcc: VP70,VP71 | _〇_On2 VP7#fourcc: VP70,VP71 | ||
− | + | E_〇_VP8#fourcc: VP80, encoding supported through external library libvpx | |
− | + | E_〇_VP9#encoding supported through external library libvpx | |
_〇_Pinnacle TARGA CineWave YUV16#fourcc: Y216 | _〇_Pinnacle TARGA CineWave YUV16#fourcc: Y216 | ||
_〇_Q-team QPEG#fourccs: QPEG, Q1.0, Q1.1 | _〇_Q-team QPEG#fourccs: QPEG, Q1.0, Q1.1 | ||
381行: | 389行: | ||
_〇_RealVideo 3.0#still far from ideal | _〇_RealVideo 3.0#still far from ideal | ||
_〇_RealVideo 4.0# | _〇_RealVideo 4.0# | ||
− | _〇_Renderware | + | _〇_Renderware TXD (TeXture Dictionary)#Texture dictionaries used by the Renderware Engine. |
_〇_RL2 video#used in some games by Entertainment Software Partners | _〇_RL2 video#used in some games by Entertainment Software Partners | ||
_〇_ScreenPressor# | _〇_ScreenPressor# | ||
392行: | 400行: | ||
_〇_Smacker video#Video encoding used in Smacker. | _〇_Smacker video#Video encoding used in Smacker. | ||
_〇_SMPTE VC-1# | _〇_SMPTE VC-1# | ||
− | + | 〇_〇_Snow#experimental wavelet codec (fourcc: SNOW) | |
_〇_Sony PlayStation MDEC (Motion DECoder)# | _〇_Sony PlayStation MDEC (Motion DECoder)# | ||
〇_〇_Sorenson Vector Quantizer 1#fourcc: SVQ1 | 〇_〇_Sorenson Vector Quantizer 1#fourcc: SVQ1 | ||
_〇_Sorenson Vector Quantizer 3#fourcc: SVQ3 | _〇_Sorenson Vector Quantizer 3#fourcc: SVQ3 | ||
− | _〇_Sunplus JPEG ( | + | _〇_Sunplus JPEG (SP5X)#fourcc: SP5X |
_〇_TechSmith Screen Capture Codec#fourcc: TSCC | _〇_TechSmith Screen Capture Codec#fourcc: TSCC | ||
_〇_TechSmith Screen Capture Codec 2#fourcc: TSC2 | _〇_TechSmith Screen Capture Codec 2#fourcc: TSC2 | ||
− | + | E_〇_Theora#encoding supported through external library libtheora | |
− | + | _〇_Tiertex Limited SEQ video#Codec used in DOS CD-ROM FlashBack game. | |
〇_〇_Ut Video# | 〇_〇_Ut Video# | ||
〇_〇_v210 QuickTime uncompressed 4:2:2 10-bit# | 〇_〇_v210 QuickTime uncompressed 4:2:2 10-bit# | ||
413行: | 421行: | ||
〇_〇_Windows Media Video 8# | 〇_〇_Windows Media Video 8# | ||
_〇_Windows Media Video 9#not completely working | _〇_Windows Media Video 9#not completely working | ||
− | _〇_Wing Commander III / | + | _〇_Wing Commander III / Xan#Used in Wing Commander III .MVE files. |
− | _〇_Wing Commander IV / | + | _〇_Wing Commander IV / Xan#Used in Wing Commander IV. |
_〇_Winnov WNV1# | _〇_Winnov WNV1# | ||
〇_〇_WMV7# | 〇_〇_WMV7# | ||
421行: | 429行: | ||
〇_〇_yuv4#libquicktime uncompressed packed 4:2:0 | 〇_〇_yuv4#libquicktime uncompressed packed 4:2:0 | ||
_〇_ZeroCodec Lossless Video# | _〇_ZeroCodec Lossless Video# | ||
− | 〇_〇_ZLIB#part of LCL, encoder | + | 〇_〇_ZLIB#part of LCL, encoder experimental |
〇_〇_Zip Motion Blocks Video#Encoder works only in PAL8. | 〇_〇_Zip Motion Blocks Video#Encoder works only in PAL8. | ||
+ | |||
+ | </syntaxhighlight2> | ||
+ | |||
+ | |||
+ | |||
+ | ==='''字幕形式'''=== | ||
+ | 字幕にはMuxing(ミキング)とDemuxing(デミキシング)、エンコードとデコードという考え方があります。字幕機能を保有するビデオ形式には字幕だけのストリームを持っていて、ソフトサブ(動画に動画とは別の仕組みで字幕を表示)する方式があり、この字幕機能を生成することをmuxing、この字幕機能を分離することをdemuxingと呼んでいます。取り出すことが出来ると考えて良いと思います。字幕を動画そのものを動画に埋め込むエンコード(ハードサブ)と字幕の機能を解釈(読み込んでプレイヤーに展開)するデコードがあります。それぞれが対になっているようで、考え方がことなります。Muxing生成DeMuing分離Decode読み込み Encode埋め込みで、埋め込んだ文字情報は動画なので、通常の動画のdecodeで読み込む感じです。流石に動画に埋め込まれた文字を解釈することはできません。今の時代なら動画から文字を認識するということをAIで学習させて、取り出すという技術はあるかもしれませんが、それはまた別の話。 | ||
+ | |||
+ | |||
+ | 字幕の仕組み自体もいろいろあるんだなと思いました。まだ少ない方かな。DVD向けの字幕とか、ストリーミング用の字幕とか、動画編集用の字幕とかSSA、ASS、SubRip(SRT)、VobSubあたりが動画編集では流行っている感じがします。DVD仕様は業者とか、DVD、Bluray映像編集とかで使うのかもしれません。 | ||
+ | |||
+ | 以下ではMがMuxing、DMがDemuxing。EがEncode、DがDecode。 | ||
+ | <syntaxhighlight2 lang="text"> | ||
+ | M_DM_E_D_Type | ||
+ | _ _〇_〇_3GPP Timed Text | ||
+ | _〇_ _〇_AQTitle | ||
+ | 〇_〇_〇_〇_DVB | ||
+ | _〇_ _E_DVB teletext | ||
+ | 〇_〇_〇_〇_DVD | ||
+ | 〇_〇_ _〇_JACOsub | ||
+ | 〇_〇_ _〇_MicroDVD | ||
+ | _〇_ _〇_MPL2 | ||
+ | _〇_ _〇_MPsub (MPlayer) | ||
+ | _ _ _〇_PGS | ||
+ | _〇_ _〇_PJS (Phoenix) | ||
+ | _〇_ _〇_RealText | ||
+ | _〇_ _〇_SAMI | ||
+ | _〇_ _〇_Spruce format (STL) | ||
+ | 〇_〇_〇_〇_SSA/ASS | ||
+ | 〇_〇_〇_〇_SubRip (SRT) | ||
+ | _〇_ _〇_SubViewer v1 | ||
+ | _〇_ _〇_SubViewer | ||
+ | _〇_ _〇_TED Talks captions | ||
+ | _〇_ _〇_VobSub (IDX+SUB) | ||
+ | _〇_ _〇_VPlayer | ||
+ | 〇_〇_〇_〇_WebVTT | ||
+ | _ _〇_〇_XSUB | ||
+ | |||
+ | </syntaxhighlight2> | ||
+ | |||
+ | |||
+ | ==='''利用できるネットワーク技術'''=== | ||
+ | Eのマークは追加の外部ライブラリで利用できる技術 | ||
+ | <syntaxhighlight2 lang="text"> | ||
+ | AMQP E | ||
+ | file | ||
+ | FTP | ||
+ | Gopher | ||
+ | HLS | ||
+ | HTTP | ||
+ | HTTPS | ||
+ | Icecast | ||
+ | MMSH | ||
+ | MMST | ||
+ | pipe | ||
+ | Pro-MPEG FEC | ||
+ | RTMP | ||
+ | RTMPE | ||
+ | RTMPS | ||
+ | RTMPT | ||
+ | RTMPTE | ||
+ | RTMPTS | ||
+ | RTP | ||
+ | SAMBA E | ||
+ | SCTP | ||
+ | SFTP E | ||
+ | TCP | ||
+ | TLS | ||
+ | UDP | ||
+ | ZMQ E | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | |||
+ | |||
+ | ==='''入出力デバイス'''=== | ||
+ | Iは入力、Oは出力 | ||
+ | <syntaxhighlight2 lang="text"> | ||
+ | I_O_Name | ||
+ | 〇_〇_ALSA | ||
+ | 〇_ _BKTR | ||
+ | _〇_caca | ||
+ | 〇_ _DV1394 | ||
+ | 〇_ _Lavfi virtual device | ||
+ | 〇_〇_Linux framebuffer | ||
+ | 〇_ _JACK | ||
+ | 〇_ _LIBCDIO | ||
+ | 〇_ _LIBDC1394 | ||
+ | 〇_ _OpenAL | ||
+ | _〇_OpenGL | ||
+ | 〇_〇_OSS | ||
+ | 〇_〇_PulseAudio | ||
+ | _〇_SDL | ||
+ | 〇_〇_Video4Linux2 | ||
+ | 〇_ _VfW capture | ||
+ | 〇_ _X11 grabbing | ||
+ | 〇_ _Win32 grabbing | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | |||
+ | |||
+ | ==='''読み書きできるTimecode'''=== | ||
+ | タイムコードを編集するには、以下の形式でないと出来ないということです。タイムコードはフレームレートの扱いを決める方式があります。小数点付きの放送局でよく使われていたような一般的な動画のフレームレートの場合、中途半端になるので、タイムコードが正確に合わせることが出来ません。24.9fpsのような中途半端なフレームでは、フレームと時間の突合せをしようとしても、24.9の10倍の249フレーム毎にしかタイムレコードが付けられず10秒ごとにしか整数の時間が表示できません。このような問題に対応するため、ドロップ(中途半端)になる24フレーム目の映像の後の0.9fps分を欠落さける手法があります。以下の拡張子ではTimeCode情報を書き込むを画像に表示させることを書き込むことが出来るということです。タイムコードを読み込む。指定の時間の動画を読み込むという感じです。 | ||
+ | <syntaxhighlight2 lang="text"> | ||
+ | AVI | ||
+ | DV | ||
+ | GXF | ||
+ | MOV | ||
+ | MPEG1/2 | ||
+ | MXF | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
684行: | 801行: | ||
_〇_Psygnosis YOP# | _〇_Psygnosis YOP# | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
+ | |||
+ | |||
+ | |||
+ | [[⧅ffmpeg]]に戻る |