以下のコマンドはエラーなしで実行されました。
ffmpeg -i thevideo.mkv outvideo.avi
その後、Windows Media Playerでoutvideo.aviを再生しようとすると、このエラーが発生しました。
You may need an additional video decoder to play this file.
This file contains a track in an unknown format (code "ARGB") format. You may need to
install a DirectShow decoder for this video format in order to play this file.
Windows Media Playerによって提供されるエラーの詳細は、ビデオを再生するためにmpg2コーデックが必要であることを示しています。 Windows Media Playerでサポートされているビデオコーデックにトランスコードするようにffmpegに指示するにはどうすればよいですか?
ffmpeg
自体は、システムにインストールされており、Windows Media Playerからアクセスできるコーデックを認識していないため、できません。これは、ffmpeg
が独自のlibavcodecおよびlibavformatライブラリを使用してエンコードおよびデコードするためです。したがって、ffmpeg
によって生成されたビデオは、必ずしもWindows MediaPlayerで再生される必要はありません。
このファイルを再生するには、このビデオ形式のDirectShowデコーダーをインストールする必要がある場合があります。
Windowsにはすべての可能なコーデックが付属しているわけではないため、これは最終的に行う必要があることです。実際、7までのWindowsバージョンは、追加のコーデックがほとんどない状態で出荷されるため、ユーザーは K-Lite または [〜#〜] cccp [〜#)のようなコーデックパックをインストールする必要があります。 〜] 。ただし、すべてのPCにそれらがインストールされているとは限りません。また、独自のコーデックを提供し、Windowsに依存しないVLCなどのメディアプレーヤーを使用してビデオを出荷することをお勧めします。
ただし、追加のマルチメディアコーデックをインストールすることは、すべての新しいWindowsマシンでおそらく実行する必要があります。
Windows Media Playerがサポートするマルチメディアファイルタイプに関する情報 によると、ネイティブにサポートされている形式がいくつかありますが、それらはそれほど具体的ではありません。安全を確保したい場合は、おそらくWindows Media Video(wmv)に変換する必要があります。他のすべてについては、まあ、これがマイクロソフトの言うことです:
さまざまなコーデックで圧縮されたオーディオコンテンツまたはビデオコンテンツは、.aviファイルに保存して、Windows Media Playerで再生できます適切なコーデックがコンピューターにインストールされている場合。 .aviファイルで頻繁に使用されるビデオコーデックには、次のコーデックが含まれます[...]
ffmpegのFAQ はもう少し具体的です。彼らが言う:
Windowsでサポートされているコーデックはどれですか?
次のビデオコーデックのリストは、ほとんどのWindowsシステムで機能するはずです。
msmpeg4v2
、. avi/.asfmsmpeg4
、. asfのみwmv1
、. asfのみwmv2
.asfのみmpeg4
、ffdshowやXvidなどのコーデックがインストールされている場合のみMPEG-4。mpeg1video
、. mpgのみWindowsでは、ASFファイルの拡張子が.wmvまたは.wmaであることがよくあります。また、MicrosoftはASF形式の特許を主張しており、Microsoft以外のソフトウェアでASFファイルを作成するユーザーを訴えたり脅したりする可能性があることにも言及しておく必要があります。可能な限りASFを回避することを強くお勧めします。
次のオーディオコーデックのリストは、ほとんどのWindowsシステムで機能するはずです。
adpcm_ima_wav
adpcm_ms
pcm_s16le
、常にlibmp3lame
、LAMEなどのMP3コーデックがインストールされている場合。
したがって、変換するときに、ビデオとオーディオにそれぞれ-vcodec
オプションと-acodec
オプションを使用して、使用するコーデックを指定できます。
例えば:
ffmpeg -i input.mp4 -vcodec msmpeg4v2 -acodec pcm_s16le output.avi
Windowsでサポートされるオーディオコーデックがわからないため、これは非圧縮オーディオを使用していることに注意してください。運が良ければ、MP3を試して(ほとんどの新しいマシンで動作するはずです)、libmp3lame
オプションを使用できます。
これを試して
C:\>ffmpeg -i yourvideofile.xyz -acodec mp2 -vcodec mpeg1video h.mpg
次に、出力ファイルh.mpgをWMPで再生すると、うまくいくと思います。
これは、MP2のオーディオコーデックとMPEG1のビデオコーデックを使用して、MPEGコンテナ形式に変換しています。
その組み合わせは、WMPでサポートされている必要があります。
これら3つのことを混同する理由はありません。また、mediainfoをダウンロードして、任意のビデオファイルからその種の情報を見つけることができます。 mediainfoのCLIバージョンは非常に明確です
http://mediainfo.sourceforge.net/en/Download/Windows