PDA

View Full Version : use ffmpeg to intentionally interlace ??




FunkyRes
2 Oct 2009, 09:20 AM
I'm shooting with a MiniDV camera, which produces interlaced output (480i i think it is called). I also have a short dv clip made from jpeg images that displays copyright notice and my website name.

In kino, I take the final edit of the dv, insert the copyright clip at end, and use the dissolve transition.

The result is then exported as dv and shell script then transcodes to h.264/AVC and theora.

h.264 is done with two-pass ffmpeg specifying deinterlace and comes out beautifully.

theora is done with two-pass ffmpeg2theora (latest 0.25 version) also specifying deinterlace but it does not encode the copyright clip. Length is the same, it just uses the last frame from before the copyright. I suspect what it actually is doing is not properly encoding the copyright clip and i suspect the reason the reason is because it isn't interlaced source. I think it's a ffmpeg2theora bug, but it's there.

What I'd like to do to work around it is interlace the copyright notice before I bring it into kino to merge with the content. That way all the content is interlaced and hopefully ffmpeg2theora won't choke.

I'm guessing their must be a way to do it with ffmpeg but I can't seem to find it, there does not seem to be an interlace switch - only a deinterlace switch.

Anyone know how to do this?

Thanks for suggestions

m@thue
18 Oct 2009, 10:05 AM
Why not de-interlace the source footage?

You could use AVIDemux. h ttp://avidemux.sourceforge.net/

Correct me if I'm wrong but I don't think h.264 plays nice with interlaced material that said it will usually still encode it but you will often get little easter eggs like what you are getting.

FunkyRes
18 Oct 2009, 06:10 PM
The solution I finally came up with was to use ffmpeg to de-interlace the source into mpeg2 and then use ffmpeg2theora on that. That works out beautifully.

IE -

ffmpeg -i ${base}.dv -deinterlace -vcodec mpeg2video -qscale 1 -qmin 1 -intra -an -y ${base}.m2v
ffmpeg -i ${base}.dv -acodec copy -vn -y ${base}.wav

ffmpeg2theora-0.25 ${base}.m2v --noaudio --two-pass -V ${vid} \
-x ${wid} -y ${hei} -o ${base}_tmp.ogv
oggenc -b ${aud} ${base}.wav -o ${base}.ogg

oggzmerge -o ${base}.ogv ${base}_tmp.ogv ${base}.ogg