Finishing up my "I can't freakin' think or breathe so I'll just rip video all day" project so I can get back to Blender modeling. I had originally used mjpegtools to encode all my DV video into MPEG-2. It looked fine on any computer I used, even when burned onto a DVD, but looked like absolute crap on a consumer DVD player. Motion trails, decoder noise... ick.
At first I thought that the player was having problems reading the media - which is weird because I have a Pioneer progressive-scan player that has thus far displayed every form of media, encoding, codec or book type known to man. But I switched from DVD-R to DVD+R to see if anything worked. Same results. Then I thought it might be the multiplexor separating out audio and video from the file stream. I tried both DVDStyler in Linux and Nero in WinXP to build the DVD filesystem, and both had the same garbled output.
I found out it was the mjpeg encoder... so all the work I'd done to encode every single DV tape I had was all for naught. I replaced mjpegtools with ffmpeg and all was beautiful. About twice the size than the mjpeg files, but looked even better than Nero's MPEG-2 encoder. Plus it uses AC3 instead of MPEG-2 audio. You can see a comparison at Transcoding's site - for some reason they still recommend mpeg2enc at higher bitrates, but I just don't see it. I hate the boxy sample noise generated by mpeg2enc.
The one problem is that Kino doesn't split scenes for ffmpeg (it's just a DV pipe). So I either have to
- Figure out what options are being (not) passed to mjpeg and try to force 'em
- Manually set the beginning frame and end frame for each export using ffmpeg
- Write a script to invoke ffmpeg over each individual DV file
- Or just archive "movies" instead of "scenes"
So now I'm mullin' thru man pages and examining the command-line options Kino is passing along. w00t. One day I hope that
mpeg2enc -v 0 -f 8 -I 1 -n n -a 3and
ffmpeg -v 0 -f rawvideo -pix_fmt yuv420p -s ntsc -r ntsc -i pipe: -an -target dvd -f mpeg1video -maxrate 8000 -ildct -ilme -aspect 16:9 -pass 2 -ymake as much sense to me as
Damn I'm hilarious.
I forced 9000kbps and sent a bunch of arcane commands to mjpeg, which eventually removed the "blockyness," but it still looked worse than ffmpeg. I tried it on different hardware and even custom-compiled the latest CVS version, but still not as nice as ffmpeg. True, mjpeg file sizes are nearly half of ffmpeg's, but the difference in apperance is noticeable.
So I think my final toolchain (I'm big into defining toolchains) will be:
I tried using Nero on the Windows XP side but I didn't find it as easy to use. File sizes and image quality was just about the same as ffmpeg. It encoded on-the-fly which was very nice, but I'd rather rip it all as DV Raw files, then do post-processing, then MPEG-2 encode. Plus I got weird lock-ups at times. The DVD authoring tool was very nice and I might end up using it instead of DVDStyler at times, but you can't save an ISO for burnination later (for some reason it thinks that only CD-R's get ISO's).