Page 1 of 1
Transcoding without a codec ?
Posted: 12 Jul 2004 02:20
by velshome
I'm trying to send video stream from DVD to another computer, but I would like to change the resolution (width & height) of the video on the fly.
When I specify the width and height options in the #transcode, it just doesn't seem to do anything without the vcodec option.
Is it possible to change video size without invokving another codec (which will obviously degrade the quality of the streamed video) ?
Thanks
Posted: 12 Jul 2004 03:06
by markfm
If you step back and think about it, I believe that you need a complete transcode (stating what compression you want used in the changed-resolution output) already, inherent in changing the resolution.
The way video CODECs work, generally, is by taking the base video format (e.g., 640x480), then performing mathematical transforms on the values in sub-arrays (e.g., 8x8, 16x16, or 64x64 blocks of pixels). They often do the compression in the frequency domain on these blocks, using various methods to achieve compression (throwing out higher frequency elements, or performing various predictions of how things will change in the blocks from frame-to-frame).
The compressed video is tightly coupled to the original base format -- the video is represented in terms of values put out for the NxN pixel chunks of data, only meaningful if dealing with the original frame size, not at the individual "raw" pixel level. If you want to change the video size, you need to bring the video back to baseband (decompress it), do what you want to alter the resolution (methods to change the scale by factor of 0.75, 0.5, whatever), then recompress it.
I'm not a VLC developer, could be totally wrong, but the above is generally what you do with standard fourier transform-based compression (such as MPEG and JPEG).
Posted: 12 Jul 2004 09:29
by Sigmund
I think it is technically possible to change resolution by cut/crop and pad without completly reencoding the video. This however whould require a lot of very complex code. And it would have to be repeated for each codec supported. We do not find this useful enough to justify the amounts of work required.
Posted: 13 Jul 2004 12:15
by velshome
Thanks a lot for the detailed answers, guys.
I guess the smartest thing would be to change the resolution to the required one at the decoding/displaying side (i.e. the client).
Unfortunately, I'm not sure that my "client" - the Amino STB - is capable of doing that.
Will keep testing.
Thanks again for your help.
Posted: 13 Jul 2004 12:40
by markfm
You might want to try doing a normal transcode at the VLC server end. If you have a good source image (which DVDs provide), you should end up with a good transcoded stream.
Go for a 2048 or 3076 kbps video encode, maybe 256 kbps audio, whatever resolution you want, see how it works. VLC offers enough options for video and audio CODECs that something should work nicely with your STB.