2010. november 18.

OGM to AVI with hardcoded subtitles

I was trying to hardcode a subtitle while "-ovc copy". How silly of me. It is only possible to hardcode a subtitle if mencoder has to process the video file frame by frame, as it modifies the pictures when hardcoding.

For whatever reason MEncoder didn't want to work for me recoding a Vorbis audio stream to mp3 with Lame, so two steps were added in between.

#1. Demuxing OGM to separate stream-files
ogmdemux input.ogm

#2. Converting audio track to mp3
soundconverter -b -m audio/mpeg -s .mp3 input.ogm-a1.ogg

#3. Muxing video, audio and subtitle into an avi
mencoder input.ogm-v1.avi -o output.avi -audiofile input.ogm-a1.mp3 -oac copy -ovc lavc -lavcopts vcodec=mpeg4 -sub input.ogm-t1.str

#1-3. Of course at the end I managed to do steps 1-3 in a single step:
mencoder input.ogm -aid 1 -sub input.srt -o output.avi -oac mp3lame -lameopts cbr=128 -ovc lavc -lavcopts vcodec=mpeg4


I guess to achieve the all inclusive #1-3, I had to install some stuff and make mplayer for myself...
sudo apt-get install libasound2-dev libfreetype6-dev zlib1g-dev libmp3lame-dev libfontconfig1-dev libexpat1-dev ogmtools
./configure --enable-theora --enable-libdv --enable-mp3lame --enable-mp3lame-lavc --enable-mp3lib --enable-debug
But of course I don't know what exactly did the trick.

For a better quality it's possible to use extra options, like -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=5000:mbd=2:trell
To get needed value of vbitrate do a mencoder -ovc frameno -o frameno.avi -oac copy input.avi and read your value in the terminal window.

Sources:
Gentoo Forums
MemoryLeak

Nincsenek megjegyzések: