Hi, I do a lot of PAL-NTSC conversions under Windows, and am now trying to find a good automated scriptabtle solution for Linux. I have done a lot of tests with mplayer/mencoder and transcode, but not found a solution similar to what I can achieve with AVISYNTH under Windows.
Having read the MJPEG HOWTO and experimented a bit, I noticed that the frame rate conversion described there is again the low-quality *FRAME* based conversion. What I would like to do is the high-quality *FIELD* based conversion, as it is almost completely free of judder and really equals professional conversion quality. Does anybody have any experience with this or can recommend something? In case you don't know what I am talking about, here are some comments about the frame rate conversion HOWTO. 1. My source is interlaced Video (DV), so 720 x 568 at 25fps, interlaced. 2. lav2yuv video.eli | yuvdenoise -F will deinterlace. Now I have 720 x 568, 25fps progressive. The problem is: With this step I have already lost temporal resolution, the video is already less smooth then the original! 3. yuvfps -r 24000:1001. Now I have 720 x 576 at 29.97 fps progressive. The problem here is that in order to achieve this, about every 5th frame is duplicated, creating jerky movement, judder. A temporal blend "5 into 6" could help, but I don't thing yuvfps works that way, and it would have its own problems anyway. 4. yuvscaler -O SIZE_720x480 nothing wrong here, I now have 720 x 480, 29fps progressive, judder of 1 frame every 6. Now compare this to the solution with AVISYNTH: 1. My source is interlaced Video (DV), so 720 x 568 at 25fps, interlaced. 2. in Avisynth, I call Bob(). This only separates the fields and thus gives me 720 x 288 at 50(!)fps. At this point, I have not lost any information yet, neither resolution nor temporal info. 3. BilinearResize(720,480): now I upscale the 720 x 288, still no loss of information. I now have 720 x 480 at 50fps. 4. ConvertFPS(59.94). I now convert the 50 (twice PAL) to almost 60 (twice NTSC). This process will duplicate one field (rather than a frame) every 5 fields. I now have 720 x 480 at 59.94 fps. 5. SeparateFields.SelectEvery(4,0,3). I now pick my even and odd fields. I now have 720 x 240 at 59.94 6. Weave(). And finally, put the fields together to frames. Result: 720 x 480 at 29.97. I now have an interlaced(!) NTSC with only one frame judder rather than a field. And I have nicely avoided a "full" deinterlace (really a Bob/Weave is of course a form of deinterlacing) because I kept the temporal info. Now...how could this be done using mplayer/transcode/mjpegtools? Don't tell me AVISYNTH is the only solution!!!! ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users