Archive for the ‘ffmpeg/mplayer/mencoder’ Category

ts to avi using projectx and mencoder + ffmpeg

Wednesday, July 8th, 2009

I am feeling pretty pleased with myself tonight, having resolved another issue with my encoding of dvb-t streams to avi.

Having sorted out the crashing problem, I was now having a/v sync issues. This is easy enough to deal with by using the +/- keys to adjust a/v sync with mplayer, but annoying for other users.

I have solved the problem by demuxing the stream to its component video and audio parts, using Projectx, Mencoder and ffmpeg.

Projectx is a great java tool that allows you to crop and cut a dvb or mpeg stream and then output either to a ts/ps/m2p a/v stream or to demux the stream. By demuxing you end up with a video m2v file and an audio mp2 file.

It is easy enough to then encode the video using mencoder, then to use ffmpeg to encode the audio, and finally to use mencoder again to mux the video and audio encodes back together, which gives a perfect a/v sync. I put together a script that will encode all m2v/mp2 collections in a directory, so I can leave it running overnight if I have more than one encode to do. Here it is: Mencoder Batch Mux Script

I am using default mencoder libraries and encoders with a two pass approach, but will give h264 a crack later to see if I get better quality for the time and cpu cycles taken. The current script produces eminently watchable video on my 42″ LCD using GeeXBoX so I’m a happy bunny :)

If you get stuck or need help, give me a shout….

[Solved] - Mencoder Freezing Computer (my computer!) or Segmentation Faulting

Sunday, June 14th, 2009

This has been an annoyance for sometime, when encoding anything with mencoder, but specifically ts files from recorded TV. Mencoder would start off fine and then freeze the PC completely or Seg Fault, not necessarily in the same place. Other PCs I have would encode fine using the same settings.

I found the solution today on the mplayerusers email list. About 18 months ago I had overclocked my machine, up from 1.7 to 1.9 mhz and increased the FSB. Apparently mencoder doesn’t like overclocked PCs, even though the writer with the solution said it wasn’t mencoder’s fault! So I put my settings back to “Optimal” / “Auto”, and everything is now rosy in the garden, just a tad slower than before :) I can live with that!

How to remux an avi with the right audio language track using MPlayer/Mencoder

Sunday, April 26th, 2009

MPlayer and Mencoder to the rescue again!

I downloaded a movie the other night which was advertised as having both Spanish and English soundtracks. I had found films like this before, but English had always been the first audio track, so had never been a problem. On this occasion, Spanish was the first audio track. I didn’t want to have to fiddle around with Geexbox getting the right language playing, so needed to sort this out, so that English was the audio track that played. I wasn’t too bothered about dropping the Spanish soundtrack.

Four “simple” steps.

  1. Confirm the aid number of the English language track. Running the video with mplayer in verbose mode produced enough information to find this easily, as track 2
    • mplayer -v inputvideo.avi
  2. Extract the english audio track from the avifile
    • mplayer -aid 2 -dumpaudio -dumpfile englishaudio.mp3  inputvideo.avi
  3. Copy the video track out without any sound
    • mencoder -ovc copy -nosound -o soundlessvideo.avi  inputvideo.avi
  4. Stick the soundless video and the English audio track back together
    • mencoder -ovc copy soundlessvideo.avi -oac copy -audiofile englishaudio.mp3  -o newvideo.avi

No encoding or transcoding going on, just demuxing and remuxing of the right parts. Apparently the use of -nosound can cause a/v sync issues, but in this case a/v sync was fine all the way through.

Found another way too, as doing the above with ac3 sound doesn’t sync well at all. Simply re-encode the audio and output to a new file:

mencoder -ovc copy  -oac mp3lame aid 2 inputfile.avi -o outputfile.avi

or to simply grab the second audio stream without encoding

mencoder -ovc copy -oac copy aid 2 inputfile.avi -o outputfile.avi

Mplayer / Mencoder Tips

Saturday, February 14th, 2009

I love mplayer and mencoder, they just do everything I want to be able to do with video / audio. (more…)