MainPage 〜きまぐれ ぷろぐらま語録〜
 

2024年4月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24
25
26 27
28 29 30        

最近の記事
Blog移転

エアポート2010を見た

花椒油

Steve Jobs,1955-2011

鉄球に無数のとげが付いた武器

M55→M42(T)が欲しい

健康診断done

回転寿司のルール

相模湖リゾート・プレジャー・フ ..

過去ログ 【表示/最小化】
2011年10月
2011年 9月
2011年 8月
2011年 7月
2011年 6月
2011年 5月
2011年 4月
2011年 3月
2011年 2月
2011年 1月
2010年12月
2010年11月
2010年10月
2010年 9月
2010年 8月
2010年 7月
2010年 6月
2010年 5月
2010年 4月
2010年 3月
2010年 2月
2010年 1月
2009年12月
2009年11月
2009年10月
2009年 9月
2009年 8月
2009年 7月
2009年 6月
2009年 5月
2009年 4月
2009年 3月
2009年 2月
2009年 1月
2008年12月
2008年11月
2008年10月
2008年 9月
2008年 6月
2008年 5月
2008年 4月
2008年 3月
2008年 2月
2008年 1月
2007年12月
2007年11月
2007年10月
2007年 9月
2007年 8月
2007年 7月
2007年 6月
2007年 5月
2007年 4月
2007年 3月
2007年 2月
2007年 1月
2006年12月
2006年11月
2006年10月
2006年 9月
2006年 8月
2006年 7月
2006年 6月
2006年 5月

広告欄

 

Blogを移転させました。
新Blogは次のURLです。
https://kerokero.org/wp/




動画のコンテナとフォーマット
今日はとある人に向けた私信30%でお送りします。

未だに、
A「AVIファイルの再生が出来ない><」
自分「AVIといっても色々あるから見てみないと分からないよ」
A「AVIはAVIでしょ?」
みたいな会話をすることがあるので、
動画ファイルについての簡単な説明。


AVIファイルというか、動画ファイルというか、
おおよそ、世の中のデータファイルというのは、
・ファイル構造
・データフォーマット(フォーマットは書式とか形式の意味の方)
に分けることが出来る。

先のAVIファイルの場合には
RIFFファイルフォーマットというモノに準拠していて、
たとえば、以下(外部サイト)のようなファイル構造になっている。
http://www.usagi-goten.com/jp/AVI_structure.html

つまり、どこに画面サイズの情報が有って、
どこにfpsの情報が格納されていて・・・
という動画ファイルの基本の構造を定義しているわけだ。
この、データを格納するファイルなどの形式のことを「コンテナ」と呼ぶこともある。


ただ、動画というのは、非常に大きくて、
DVDの画像サイズや色深度で2時間の動画を、
何も圧縮せずに保存すると200GBぐらいになってしまう。
なので、動画の圧縮というモノが必要になってくる。


そして、AVIファイルでは
「動画のサイズが格納する場所」とか、
「「動画全体の何秒目が、どこに格納されているか?」の情報を格納する場所」とかが
定義されているけど、
実際に、動画がどのような形で圧縮されているかは、定義されてない。
※正確には、どういう名前の圧縮を使って圧縮されたかの情報までは持っている。
 でも、その圧縮の名称は分かるけど、それがどのような圧縮アルゴリズムか?
 はAVIコンテナの担う範囲を超えている。

というわけで、圧縮の形は細かく別途定義されていて、それがデータフォーマット。
これには、非圧縮BMPをはじめ、DivXやら、RLE、Ycc=411、Indeo、Cinepackなど
様々なモノが世の中には存在する。

たとえば、AVIファイルコンテナに、
・動画フォーマット:非圧縮BMP/音声フォーマット:PCM整数16bitStereo
が格納されている動画もあれば、
・動画フォーマット:DivX/音声フォーマット:Mpeg1AudioLayer3-128kbps-JointStereo
が格納されている動画もある。


その他、世の中でよく見られるモノとしては
・コンテナ:AVI/フォーマット:DivX
・コンテナ:AVI/フォーマット:wmv
・コンテナ:wvm/フォーマット:wmv
・コンテナ:qt/フォーマット:MotionJpeg
・コンテナ:mpeg/フォーマット:MPEG1
・コンテナ:mpeg/フォーマット:MPEG2
・コンテナ:mp4/フォーマット:MPEG4
・コンテナ:mp4/フォーマット:MPEG-4 AVC
等、様々な組み合わせが可能だ。


なので、動画を再生するためには、
そのコンテナを読み出せて、その動画フォーマットを読み出せるという、
2つの条件が必要なわけだ。

Wnidowsにおいては、AVIやAMV、MPEGのコンテナは、
WindowsMediaPlayerがあれば読み出すことが出来る。
※というか、WindowsMediaPlayerが利用している
 DirectShowAPIやMCI-APIが知っている。

また、データフォーマットとしてのMPEGやWMVは
WindowsにおいてはDirectShowが展開方法を知っている。

なので、拡張子MPGやWMVのファイルについては
おおよそWindowsで再生する場合には、気にする必要がない。
※これらの拡張子で一般的じゃない、データフォーマットで保存されていたら話は別だけど。

ところが、AVIファイルの場合のフォーマットは、
そのフォーマットを解析できるためのドライバ的なソフト、
〜Codec〜が無いと、再生することが叶わない。

なので、動画の再生が出来ないときには、
どのようなコンテナに、どのようなフォーマットが詰め込まれているかを調べるため、
真空波動研などのフリーソフトがあったりもする。
http://www.kurohane.net/

ところで冒頭で
世の中のデータファイルというのは、
・ファイル構造
・データフォーマット(フォーマットは書式とか形式の意味の方)
に分けることが出来る。
こんな事を書いたけど、
これらの説明は別に、動画ファイルに限った話ではない。

たとえば、画像ファイルは、
BMPやjpegのコンテナがある。
BMPのコンテナは、画像の画面サイズや印刷時の大きさなどの定義がされていて、
フォーマットは色々と選べる。
通常は非圧縮DIBフォーマットで画像が格納されているけれど、
ランレングス圧縮DIBというものもあれば、JPEGを格納することだって可能だ。


そんな感じに、データのフォーマットというのは、
「ある分野のデータはこの形」とコンテナを決めて
「コンテナ内の格納データ書式」は別途定義されているわけだ。


ところで、拙作ソフトにAVI Bitrate Analyzerがあるんだけど、
これは、Codecが無くても、
AVIファイルのフレームあたりのデータサイズを出力することが出来る。

これは、何も難しい話ではなく、
AVIコンテナの中に「動画開始からnフレーム目のデータは、ファイルの何バイト目」
という情報が格納されている領域がある。
これは、動画の早送りや頭出しなどに利用されるための情報だけど、
この拙作ソフトはそれを、単に抽出しているだけだ。
※なので、一部で紹介をされていてちょっと恥ずかしい限り。

00:26, Friday, Jul 29, 2011 ¦ 固定リンク ¦ 携帯


■コメント

■コメントを書く

※コメントの受け付けは終了しました

△ページのトップへ
 

最新のつぶやき

サイト内検索
カスタム検索

旅行関係の記事等
九州・広島旅行記 2009(かみちゅ!)
大阪出張(KANON)
大阪出張(ハルヒ)
三宅島旅行記'05
三宅島旅行記'08
三宅島旅行記'10
伊豆半島小旅行

最近のコメント

最近のトラックバック

IPv4枯渇時計

携帯で読む
   URLを携帯に送る





[Valid RSS]

Powered by CGI RESCUE