Playing interlaced VC-1 videos on Linux
Posted: Mon Dec 20, 2010 10:22 pm
I'm trying to watch the BBC bluray "Ganges". The main features are VC-1 encoded and I suspect they are interlaced. I am unable to play them on my 64-bit Linux system. I made a 32-bit chroot environment and installed mplayer in it with the win32codecs. I was able to play ripped .mkv files generated by MakeMKV but was not able to play streams.
Unfortunately, the audio gets way out of sync with the video and starts to stutter. I can get them re-synced momentarily by doing a seek (for example mouse-wheel down one click and then up one click) but this gets tiresome and annoying. I'm hoping I might be able to re-encode the .mkv files so they play nicely. Bonus points if I can get them to play on my 64-bit system.
I tried the instructions in the sticky "Simple Howto for re-encoding (bluray) MKV's (linux)" but of course that didn't work because x264 is unable to read/decode the VC-1 interlaced video. I've had some success using mencoder (after many failures). The following seems to work okay, but it may be far from optimal:
Replace "title0.mkv" and "title0.avi" with your input and output file names.
I can play the created videos on my 64-bit system in mplayer, smplayer, and xine. XBMC segfaults and vlc can only play the audio. Still, the video quality and audio quality and sync seem to be fine in the players that can play the file. I'm sure there are more optimal ways of doing this but at least this is a start.
Just to be clear: I use makemkv to generate .mkv files. Then I run mencoder in the 32-bit chroot environment to transcode the .mkv files to .avi files. I can then play these .avi files in smplayer, mplayer, and xine on my 64-bit system.
Unfortunately, the audio gets way out of sync with the video and starts to stutter. I can get them re-synced momentarily by doing a seek (for example mouse-wheel down one click and then up one click) but this gets tiresome and annoying. I'm hoping I might be able to re-encode the .mkv files so they play nicely. Bonus points if I can get them to play on my 64-bit system.
I tried the instructions in the sticky "Simple Howto for re-encoding (bluray) MKV's (linux)" but of course that didn't work because x264 is unable to read/decode the VC-1 interlaced video. I've had some success using mencoder (after many failures). The following seems to work okay, but it may be far from optimal:
Code: Select all
$ mencoder title0.mkv -o title0.avi -vc wmvvc1dmo -ovc lavc -lavcopts vbitrate=5000:vqscale=2 -oac copy
I can play the created videos on my 64-bit system in mplayer, smplayer, and xine. XBMC segfaults and vlc can only play the audio. Still, the video quality and audio quality and sync seem to be fine in the players that can play the file. I'm sure there are more optimal ways of doing this but at least this is a start.
Just to be clear: I use makemkv to generate .mkv files. Then I run mencoder in the 32-bit chroot environment to transcode the .mkv files to .avi files. I can then play these .avi files in smplayer, mplayer, and xine on my 64-bit system.