2

I tried doing this but Windows says the file isn't playable. Playing it in VLC does work.

ffmpeg -i in.mp4 -f mpeg -vcodec mpeg2video out.m2v

  • 1
    Try -f vob out.mpg although your WMP may need external codecs. – Gyan Jul 1 '18 at 5:19
2

Windows Media Player uses DirectShow, which is a system of filters connected together depending on what is fed into them. If you want to play any format using Windows Media Player, it would be best to install a set of free open-source DirectShow filters known collectively as "LAV Filters", written and maintained by Nevcairiel. Its latest installer release can be found on its Github releases page, here: https://github.com/Nevcairiel/LAVFilters/releases

However, if you're targeting default Windows installations, one of the highest-quality lossy codecs that Windows supports with its default DirectShow filters is Windows Media Video. Here's how to transcode a Windows Media Video file conveniently with ffmpeg using Windows Media Video 8.

ffmpeg -i input.mp4 -q:a 2 -q:v 2 -vcodec wmv2 -acodec wmav2 output.wmv

There is a later version of Windows Media Video, called Windows Media Video 9, but FFmpeg doesn't support encoding Windows Media Video 9; only decoding. For encoding that, you would be more likely to find success using a Microsoft tool.

I have one final note I'd like to include. Ideally, unless your source video is lossless, you shouldn't be transcoding video to a lossy format such as Windows Media Video 8 if you can help it. That introduces generational loss, which is a serious problem for archived video. Instead, try to ensure your target playback system can play the original lossy-codec-encoded video or make sure you're encoding your lossy video from a lossless source.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.