I want to achieve the same video encoding that I had with ffmpeg2theora with standard ffmpeg, this is because i need the flexibility ffmpeg has to make the container mkv, with subtitles other than srt.
In ffmpeg2theora i have the following command that output a very high quality and very small filesize file:
$ ffmpeg2theora --videobitrate 2000 --two-pass --first-pass firstpass --speedlevel 0 --width 640 --height 360 --resize-method lanczos --noaudio input.mkv
$ ffmpeg2theora --videobitrate 2000 --two-pass --second-pass firstpass --speedlevel 0 --width 640 --height 360 --resize-method lanczos --noaudio input.mkv --output output.ogv
Being the most interesting options here i think (From ffmpeg2theora manual page):
--two-pass
--first-pass <filename>
--second-pass <filename>
--speedlevel
encoding is faster with higher values the cost is quality and bandwidth (default 1)
But i can only found a simple way to encode theora/vorbis in standard ffmpeg (from: https://trac.ffmpeg.org/wiki/TheoraVorbisEncodingGuide):
ffmpeg -i input.mkv -codec:v libtheora -qscale:v 7 -codec:a libvorbis -qscale:a 5 output.ogv
That produces a very bad quality output even in the best quality setting (10)
How can I do a 2 pass 'high quality'/'not so big filesize' theora/vorbis in plain ffmpeg?