web-dev-qa-db-ja.com

AVIのコーデックを見つけるにはどうすればよいですか?

AVIファイルに必要なコーデックを見つけるにはどうすればよいですか?プログラムのダウンロードを必要としない方法が推奨されます(メモ帳でファイルを確認するなど)。

19
C. Ross

メモ帳で開き、「vids」を検索します-その直後にFOURCCがあります。たとえば、次のようなものが見つかります。

vidsWMV1

次に、この例では「fourcc WMV1」をグーグルで検索します。

24
Chris

これは非常に単純なプロセスであり、 GSpot コーデック情報ツールを使用して実行できます。プログラムをダウンロードしてインストールするだけです。次に、スタートメニューに移動し、プログラムを開きます。

  1. ファイルを選択| AVIファイルを開いて選択します
  2. ファイルのビデオコーデックの FourCC コードを探します

  3. FourCC Webサイトにアクセスして、誰がそのコーデックを開発しているかを調べてください。

  4. これで、その開発者のWebサイトにアクセスして、コーデックをダウンロードできます。 wmplugins。 のコーデックセクションにアクセスすることもできます。

注:「コーデックパック」というラベルの付いたものや、FourCC Webサイトの上部にあるリンクからはダウンロードしないでください。これにより、ファイルを再生するときに問題が発生しないようにすることができます。

VLCは、すべてのプラットフォームに組み込まれたDivxおよび3ivxをサポートしています。

ソース: http://msmvps.com/blogs/chrisl/articles/11529.aspx

21
joe

私はこれが必要で、この(非常に古い)ページを見つけ、260 MBのAVIをテキストエディターにロードしたくないと判断したので、私のソリューションが他の誰かを助けるかもしれません。

Unixライクなシェルを使用している場合は、印刷可能な文字のシーケンスを検索する「strings」というプログラムがある可能性があります。デフォルトでは、最小長は4ですが、このニーズには十分です。 (コマンドラインで変更できます。)「vids」とfourccは出力で連続します(ただし、私のAVIでは1つの文字列ではありません)。

結果を 'more'などの単純なものにパイプして、自分で見つけることができます。または、それを頭にパイプして、必要な行数を推測することもできます。または、もう少し洗練されて、sedにパイプして、目的のパターンに一致する線を印刷させることもできます。または、awkを使用して同じことを実行できます。私のcygwinbashシェルでは、これらのオプションは次のコマンドのようになります。

文字列foo.avi |もっと
strings foo.avi |頭-10
strings foo.avi | sed -n '/ vids /、+ 1p'
strings foo.avi | awk 'NR == 1、/ vids/{if($ 0 == "vids"){getline;印刷;出口 } } '

3番目のバージョンの欠点は、ファイル全体をsed処理したため、完了するまでに時間がかかる場合があることです。最初の試合の後でそれを止める方法があると私は確信しています、しかし私はそれを知る(または見つける)ためにsedについて十分な専門家ではありません。条件が真の場合、awkバージョンは明示的に停止します(次の行を取得し、それを出力し、終了します-一方、sedコマンドには+1とpの最初の2つしかありません)。 sedコマンドとawkコマンドの両方で、/ vids /は必要な正規表現です(つまり、上記のChrisの回答の検索文字列)。また、awk構造 'NR == 1、/ vids /'は、次のコードブロックを番号1(最初の入力行)からその正規表現(一致する文字列)が見つかる場所まで適用します。 if条件により、一致する行までのすべての行が印刷されなくなります。私はそれを完全な行($ 0)と一致させています。これは、stringsコマンドの場合、正常に機能するはずです。とにかく文字列は1行に1つずつ印刷されます。

見つかった文字列には余分な文字が含まれている可能性があることに注意してください(たとえば、私のAVIファイルからは 'strf(' not'strf '、つまりfourcc)が見つかります)。本当に4文字に切り刻む必要がある場合(たとえば、必要なスクリプトの場合)標準のリストと照合するために)、答えを「head -c 4」にパイプして、fourccだけを取得できます。これが私の最終的な答えです。

文字列foo.avi | awk 'NR == 1、/ vids/{if($ 0 == "vids"){getline;印刷;終了}} '|頭-c 4

FWIW、Windows Media Playerでは、AVIのコーデックがオーディオとビデオの両方で「-」と表示されていましたが、上記は期待どおりに機能しました。

私がこれをタイプするのに時間を費やした誰かにとってそれが価値があることを願っています! ;-)

ふぅ、マーク

0
Mark