Thanks Vladimir, for your very detailed answer. I am impressed with the
amount of time you find for answering user queries.
I am dissapointed at ati for providing only secam/ntsc res' for capture, even
when running a pal tuner, but moaning here won't help that.
I am generally recording VHS tapes or standard broadcast TV (both 4:3) and
the recording resolution ratio of AVView is either 3:2 or 3:1. (half
width/double interpolate or full frame). My main trouble is that the one
command line program I have found that will do fixed bitrate (vcd)
transcoding of mpegs will always take as gospel the ratio stored in the mpeg
file and not re-ratio it. When avview stores the file, its ratio value is
always 1:1, this means a nice long strip with nice big black borders, in full
frame mode, in the wrong ratio. I am going to mess about with ffmpeg soon to
see if I can get that to capture in the correct ratio/res, however, if
someone beats me to it, it might be an idea to allow the user to select the
actual ratio of the source in the interface, and just store that in the ratio
field. Of course, this does mean that someone has to work out how to modify
that field for ffmpeg! Like I say, I will mess around with it, but cannot
donate much time at the moment.
Oh, and yes, I am running from the cvs ver, I was the one who liked the new
On a completely different note, I have not manged to compile cinellera yet -
and have not dug too deeply, as I guess it is a little early to be bugging
On Friday 28 June 2002 21:28, Vladimir Dergachev wrote:
> Martyn, here is how it works:
> The hardware decoder outputs (for PAL/SECAM) 720x240 (or 768x240 depending
> on your card) fields 60 times per second. Two consecutive fields make an
> interlaced _frame_.
> Now the problem is that PC monitors display progressive video and not
> interlaced. Thus deinterlacing is required.
> Also, hardware decoder outputs data in YUV422 format, but MPEG files
> consume YUV420.
> Thus there are three good ways AVview can transform incoming video stream
> into something MPEG encoder can consume:
> 1) average each horizontal line (half-width) mode and discard every other
> color line. This results in 360x240 or 388x240 video
> 2) retain original size and discard every other color line. This results
> in 720x240 or 768x240 video.
> 3) create new horizontal brightness lines by interpolating neighbouring
> brightness lines and use color lines alternative for lines of different
> parity. (double-interpolate). This results in 720x480 or 768x480 video and
> retains most of the original information.
> In all of the cases above you should capture at "half-rate" or smaller to
> process fields of the same parity.
> There are other deinteralacing algorithms (like weave) but they are not as
> good with motion video. There is also known so called "adaptive"
> deinterlacing that switches between being closer to double-interpolate or
> weave depending on the picture, but it is not implemented in avview,
> because a) I do not know how it works (and how well it works) and b)
> whatever deinterlacing avview does must be done realtime.
> Now, to your problem of creating video stream in a format you like. First
> you need to compare the actual aspect ratios of incoming and outgoing
> streams. Are they both 4:3 ? Or is one 4:3 and the other 16:9 ?
> If they match you need to simply scale the image - check options in
> whatever program you use to do that. Otherwise you are best painting part
> of the image black to preserve the original aspect ration.
> Lastly, to produce mpeg files AVview uses ffmpeg library. Thus if there is
> any issue you should check it first. It is possible that avview is not
> setting some parameter - if you find out which one I'll be glad to change
> avview to do it properly.
> Vladimir Dergachev
> PS And, if you have not done so already, try avview from CVS - it is much