Doc / video-formats


Doc / video-formats
2015-08-18 (火) 16:06:34更新
カテゴリ:未訳
原文:http://www.mplayerhq.hu/DOCS/HTML/en/video-formats.html

6.1. Video formats

6.1.1. MPEG ファイル

MPEG fileには見かけ上、様々な形式があります。

  • MPG: これはMPEG file formatのもっとも基本的な形式です。この中には MPEG-1 videoと MP2 (MPEG-1 layer 2) またはごくまれに MP1 audioが入っています。
  • DAT: MPG と完全に同じもので、拡張子が違うだけです。Video CDが使います。VCDとLinux、それぞれの技術的、歴史的経緯から、DATファイルを通常のファイルのように再生したりコピーしたりする事はできません。Video CD.を再生するには、 vcd:// が必要です。
  • VOB:DVDに入っているMPEG file format。基本的にMPGと同じで、それに加えて字幕やnon-MPEG (AC3) audioを入れる事が出来ます。中に入っているのはエンコードされた MPEG-2 video と、通常は AC3 audio。音声はこの他に、DTS, MP2,非圧縮LPCM も許容されています。 DVD sectionも見て下さい!
  • TY: TiVo MPEG stream。 映像・音声ストリームはともに MPEG PES data に入っています。クローズド・キャプションのような情報はエクストラ・インフォメーションの形で入っています。 このコンテナは MPEG program streamではなく、TiVoが造ったクローズド・フォーマットです。 TiVo stream formatの詳細は TyStudio pageを参照して下さい。

Series of frames form independent groups in MPEG files. これは、MPEG fileをスタンダードなファイルツール(ddやcut)でカットや結合でき、その後でもファイルの機能を全く損なわない事を意味します。*GOP:Group Of Pictures。MPGファイルのカット編集の単位。約0.5秒程度。、、の事と思われ*

MPGの重要な機能の一つは、映像のアスペクトレシオ(*縦横比*)を書き込めるフィールドを内蔵している事です。例えばSVCDの解像度は 480x480ですが、ヘッダ中のそのフィールドが4:3にセットされている場合、再生は640x480 となります。AVIファイルは多くの場合このフィールドを持っていないので、エンコードの段階でスケーリングしておくか、-aspect オプションを使って再生する必要があります。

6.1.2. AVI ファイル

MicrosoftがデザインしたAVI (Audio Video Interleaved)は広く普及した汎用フォーマットで現在は主に MPEG-4 (DivX and DivX4) videoに使われています。 多くの欠点と機能不足(例えばストリーミング)があります。 AVIがサポートするvideo streamは一個、audio streamは0から最大99個。最大サイズは2GBまでですがOpenDMLと呼ばれる拡張でもっと大きなファイルを作る事ができます。 現在Microsoft は強力に ASF/WMVへの移行を推奨していますが、誰も気にしちゃいません。

AVI ファイルに Ogg Vorbis audio stream を入れるハックがあります。これは standard AVIと非互換になります。 MPlayer ではこうしたファイルの再生もサポートしています。 シークも実装されていますが、ヘッダに混乱があるとうまくシークできません。 残念ながら現在こうしたファイルを作成できる唯一のエンコーダ、NanDub はこの問題を抱えています。

Note

DV cameras create raw DV streams that DV grabbing utilities convert to two different types of AVI files. The AVI will then contain either separate audio and video streams that MPlayer can play or the raw DV stream for which support is under development.

【Note部分、意味不明、下訳】DVカメラはraw DV streamを生成しますが、DV grabbingユーティリティはこれを2種類の異なった形式のAVIファイルに変換します。こうしたAVIはaudio stream と video stream を個別に保存しており、MPlayerはこれを個別には再生できますが、こうしたraw DV streamのサポートはまだ開発中です。

AVI fileには種類が二つあります。:

  • Interleaved: 音声と映像がinterleave(交互配置)になっているもの。これがスタンダードな使い方。推奨。大半はこうなっている。作成ツールによってはsyncのズレたinterleaved AVIができますが、MPlayerはこうしたファイルもinterleavedとして認識し、最終的にはA/V syncを見失います。おそらくシークでも。 こうしたファイルは non-interleaved (-ni option)として再生して下さい。
  • Non-interleaved: 最初にvideo stream全体がまるっと書いてあり、audio stream全体がその次に書いてあるもの。 其の結果、大量のシークが必要になり、ネットワーク越しやCD-ROMからの再生は困難になります。

MPlayer はAVIファイルの同期タイミングをとるのに2種類の方式をサポートしています:

  • bpsベース:video/audio streamのbitrate/samplerateに基盤をおきます。avifile や、 Windows Media Playerを含めて、大半のプレイヤがこの方式を採用しています。ヘッダの壊れたファイルや、VBRに対応していないエンコーダで作られたVBR audioつきのファイルなどをこの方式で同期させた場合、 A/V desync *いわゆる音ズレ*をおこすでしょう(多くの場合、シーク時におこります)。
  • interleavingベース:ヘッダにかかれたビットレート値を使わず、交互配置されたaudio と video チャンクの相対位置を用います。この方式では、下手にVBR audioを使ってエンコードされたファイルも再生可能です。

AVIはどんな音声コデックも映像コデックも自由に使え、制限がありません。しかし、大半のプレイヤでは VBR audio はきちんとサポートされていない事に注意して下さい。ファイルフォーマットとしては VBR audio も使えるのですが、大半のプレイヤは CBR audio しか想定していませんからVBR再生がうまくいきません。VBRは一般には使われず、 Microsoftの AVI仕様書にも CBR audio の説明しかありません。さらに、大半のAVI エンコーダ/マルチプレクサはVBR audioを使うとバグのあるファイルを生成するようです。有名な例外は二つだけ: NanDub と MEncoderです。

6.1.3. ASF/WMV ファイル

ASF (Active Streaming Format) は Microsoftの産物です。 派生型として、v1.0 v2.0の二つがあります。 v1.0はMicrosoftのメディアツール (Windows Media Player と Windows Media Encoder)が使うものなので、極めてヒミツです。 v2.0 は 公開されていますがパテントで保護されています :). もちろん両者は別モノで、全く互換性がありません(ここにも法律ゲームがあるわけです)。 MPlayer がサポートするのは v1.0のみ。 v2.0 ファイルを見た事のある人が居ないから :). 最近の ASF ファイルの拡張子は .WMA または .WMV となっている事に注意して下さい。

6.1.4. QuickTime/MOV ファイル

Apple がデザインしたフォーマットで、いかなるコデックも CBR・VBRの区別なく入れる事ができます。一般的な拡張子は .QT または .MOV です。 MPEG-4 groupがQuickTimeをMPEG-4の推奨ファイルフォーマットに選んだため、MOVファイルも拡張子 .MPG や .MP4 となっている事がある事に注意して下さい(面白い事にこうしたファイルの中のvideo や audio stream はホンモノの MPG や AACファイルです。オプションの-dumpvideo と -dumpaudioで抽出する事すらできます)。

Note

新しい QuickTime ファイルの大半は Sorenson video と QDesign Music audio を使っています。 Sorenson コデックのセクションを参照して下さい。


6.1.5. VIVO ファイル

MPlayer は VIVO ファイルフォーマットのdemuxeも問題無く可能です。このフォーマット最大の難点は、インデックス・ブロックもフィクスド・パケットサイズも、 sync byte も無く、大半のファイルにはキーフレームすらありません。ですから、シークの事は忘れよう!

VIVO/1.0 ファイルの映像コデックは規格化されている h.263。 VIVO/2.0 ファイルの映像コデックはモディファイされ、規格化されていないh.263v2。音声も同様に、 g.723 (standard)、あるいは Vivo Sirenです。

インストール手順は VIVO video codecVIVO audio codec を参照して下さい。

(*h.263については国際標準規格一覧?を参照*)

6.1.6. FLI ファイル

FLI は Autodesk Animator が使う非常に古い形式ですが、ネット上のショートアニメーションで一般的なファイルフォーマットです。MPlayerはFLI movieのdemuxeとデコード、さらにシークもできます(オプションの -loop を使ってループ再生をしたい時に便利)。FLIファイルにはキーフレームがありませんから、シーク直後しばらくの間は映像が乱れます。

6.1.7. RealMedia (RM) ファイル

MPlayer は RealMedia (.rm) ファイルもリード (demux)する事ができます。 サポートするコデックのリストは、RealVideoRealAudio codecsを参照。

6.1.8. NuppelVideo ファイル

NuppelVideo は TV グラビング・ツールです(自分の知る限りでは :) )。MPlayer はこれが使う .NUV ファイル を再生できます(NuppelVideo 5.0のみ)。このファイル形式に入れられるのは uncompressed YV12, YV12+RTJpeg compressed, YV12 RTJpeg+lzo compressed, YV12+lzo compressed frames. これらはMPlayer で全てデコード可能で (MEncoderで MPEG-4 (DivX)/などへ エンコード する事もできます!) シークもできます。

6.1.9. yuv4mpeg ファイル

yuv4mpeg / yuv4mpeg2mjpegtools programsが使うファイルフォーマットです。これらのツールを使って映像を grab, produce, filter, encode する事ができます。 実際にはこのフォーマットは非圧縮 YUV 4:2:0 静止画像の連続です。


6.1.10. FILM ファイル

このフォーマットは古いSega Saturn のCD-ROM ゲームで使われています。

6.1.11. RoQ ファイル

RoQ ファイルはQuake III や Return to Castle WolfensteinなどのID社のゲームで使われているマルチメディア・ファイルです。

6.1.12. OGG/OGM ファイル

Xiphophorusが開発した新しいファイルフォーマット。 いかなるvideo / audio コデックも、CBR / VBRでも収める事が出来ます。 これを再生するにはMPlayerのコンパイル前に libogg と libvorbis をインストールしておく必要があります。

6.1.13. SDP files

SDP is an IETF standard format for describing video and/or audio RTP streams. (The "LIVE555 Streaming Media" are required.)

6.1.14. PVA files

PVA is an MPEG-like format used by DVB TV boards' software (e.g.: MultiDec, WinTV under Windows).


6.1.15. NSV files

NSV (NullSoft Video) is the file format used by the Winamp player to stream audio and video. Video is VP3, VP5 or VP6, audio is MP3, AAC or VLB. The audio only version of NSV has the .nsa extension. MPlayer can play both NSV streams and files. Please note that most files from the Winamp site use VLB audio, that can't be decoded yet. Moreover streams from that site need an extra depacketization layer that still has to be implemented (those files are unplayable anyway because they use VLB audio).

6.1.16. Matroska ファイル

Matroska はオープンコンテナフォーマットです。詳細は 公式サイトへ。

6.1.17. NUT ファイル

NUT は MPlayer ならびに FFmpeg 開発チームのコンテナフォーマットで、両プロジェクトでサポートしています。詳細は 公式サイトへ。

6.1.18. GIF files

The GIF format is a common format for web graphics. There are two versions of the GIF spec, GIF87a and GIF89a. The main difference is that GIF89a allows for animation. MPlayer supports both formats through use of libungif or another libgif-compatible library. Non-animated GIFs will be displayed as single frame videos. (Use the -loop and -fixed-vo options to display these longer.)

MPlayer currently does not support seeking in GIF files. GIF files do not necessarily have a fixed frame size, nor a fixed framerate. Rather, each frame is of independent size and is supposed to be positioned in a certain place on a field of fixed-size. The framerate is controlled by an optional block before each frame that specifies the next frame's delay in centiseconds.

Standard GIF files contain 24-bit RGB frames with at most an 8-bit indexed palette. These frames are usually LZW-compressed, although some GIF encoders produce uncompressed frames to avoid patent issues with LZW compression.

If your distribution does not come with libungif, download a copy from the libungif homepage. For detailed technical information, have a look at the GIF89a specification.