I think Theora might be fine. I just got excellent quality once I figured out how to achieve it and got the right tools. The important thing is to start with raw video if possible and not go via any other codecs in between which degrade the final quality immensely.
Compare this smaller resolution first attempt with the improved one below (124kb). You can see this one causes "smudges" around the movements:
http://wordit.com/renpy/windsor_test.ogg
Now improved in a larger size with top quality (568kb):
http://wordit.com/renpy/w4-muxed.ogg
I can't really fault the second Theora video. And this was created with the older ffmpeg2theora version so it runs in Ren'Py. It also plays in the same quality in Ren'Py as in Firefox, which note, was not the case with the lower-quality file.
This is what I did:
- Mux the raw video avi and pcm wav in ffmpeg
Code: Select all
ffmpeg.exe -i vidfile.avi -i audiofile.wav -vcodec rawvideo -acodec pcm_s16le file-muxed.avi
- Convert muxed file to theora with ffmpeg2theora, using a version compatible with renpy, and set quality to 10, highest.
Code: Select all
ffmpeg2theora-0.24.exe -v 10 file-muxed.avi
- In Ren'Py set size not larger than resolution. A smaller size than video res can also affect quality, e.g.
Code: Select all
image movie = Movie(size=(620, 460), xalign=0.0, yalign=0.0)
label start:
scene black
show movie at Position(xpos=0.0, ypos=0.0, xanchor='left', yanchor='top')
play movie "file.ogv"
pause
stop movie