This forum has been archived. All content is frozen. Please use KDE Discuss instead.

simple pixel-for-pixel render?

Tags: None
(comma "," separated)
PattiM
Registered Member
Posts
17
Karma
0
OS

simple pixel-for-pixel render?

Thu Nov 05, 2009 7:47 pm
I was starting to use KDEnlive this last weekend to re-sound some Hidef videos (1080p) and used the crop video effect to crop them to 720x480, so if I select the built-in 16:9 .avi resolution, it won't interpolate pixels to resize from the original (1920x1080p). I'm not sure it really matters since there is usually image compression involved, but I thought that it shouldn't "render" but should simply transcode. Am I missing something?

Also, I cropped out 95% of the video but still KDEnlive takes many seconds to move from frame to frame - I assume although the video is gone from the timeline, it's still reading through the original 10GB file on disk. Is there a way to save just the relevant parts of the video (what's left in the timeline after I've cut parts out) in a new (smaller) file without rendering? (i.e., keeping the full resolution)

THANKS,
Patti
ddennedy
Registered Member
Posts
1315
Karma
1

Re: simple pixel-for-pixel render?

Fri Nov 06, 2009 5:38 am
Regarding the crop, regardless of the tool and its terminology, any time you crop or extract a smaller resolution from a larger resolution, there is image processing, which one may call "rendering." I am not sure what you are expecting here.

Regarding the time "to move from frame to frame" maybe you are experiencing our very slow support for AVCHD where we had to trade off speed for accurate and artifact-free seeking, partly due to some remaining inefficiency in FFmpeg libavformat.

Regarding the ability to cut footage without re-rendering - that is simply not available in Kdenlive now. It remains to be seen whether it ever will be. That is a lot of work to implement especially when working with video compressions with complex reference rules like open-GOP MPEG-2 and MPEG-4 AVC. There are a lot things people want and few developers with little time.



PattiM
Registered Member
Posts
17
Karma
0
OS

Re: simple pixel-for-pixel render?

Fri Nov 06, 2009 4:29 pm
Thank you very much, dd! I guess I wanted to change to a number of pixels to that which an ordinary computer could easily handle, and I think that's about 720x480 - but I didn't want interpolation to degrade the image pixel-for-pixel accuracy (I'm doing quantitative image analysis). So I simply cropped it to 720x480, which leaves all the *remaining* pixels intact (correct?) - that is, as they originally were in this 720x480 portion of the 1920x1080 (1080 30p) video.

I need then to do two things - render to a nice, playable video of this subframe (compression is OK) - but also to save the cropped version in an uncompressed format so it is a pixel-by-pixel faithful reproduction of (a portion of) the original video. I guess in that case I would use HDV or some other uncompressed format (rather than mpg or avi), correct? I expected to be able to simply save this portion of the footage - but as you say, that's not possible right now except to re-render it.

Thanks for your reply. Thanks for a WONDERFUL tool!!

Where do I contribute?

Patti

PS: I want to be able to "manually" (i.e., with C, basic, or fortran) pull frames out of the uncompressed, cropped video - which video format would you recommend rendering it to in order to pull images out in the most straightforward way? Is there one that is simply a bitstream that I can read into a 720x480 integer buffer array frame-by-frame? I'm guessing it would be either HDV or Raw DV. Since I cropped to 720x480, does KDEnlive detect this and not interpolate the image if I render to HDV NTSC 720 30p format?
ddennedy
Registered Member
Posts
1315
Karma
1

Re: simple pixel-for-pixel render?

Sat Nov 07, 2009 5:30 am
OK, now I understand your situation better. First, an "ordinary computer" resolution should be one based on square pixels. 4:3 at 720x480 is not square pixels, but 640x480 is (use the VGA NTSC Project Setting in Kdenlive). However, at the end you mention rendering to HDV 720, but that is 1280x720. If you compute the crop amounts to reduce 1920x1080 to 640x480 and use a VGA project setting, then it should automatically skip scaling. However, if your source is interlaced, and you use a progressive project setting or render profile, then it will deinterlace and interpolate. So, make sure when you render that you set the scanning to interlaced if your source is interlaced. I see you mention your source is 30p, but double-check this.

Finally, the easiest output you make to read with a custom program is probably a series of PPM images. The PPM file format is very simple, and you can search the MLT source code for examples of how to use it. It basically is a couple lines of metadata followed by a RGB buffer dump. However, Kdenlive can not render to that directly. However, MLT can, in a terminal:

$ melt -profile square_ntsc your.kdenlive -consumer avformat:/path/to/out-%06d.ppm vcodec=ppm

"-profile square_ntsc" = Kdenlive project setting VGA NTSC
The %06d in the output says to number the files with 6 digits and leading zeroes.


PattiM
Registered Member
Posts
17
Karma
0
OS

Re: simple pixel-for-pixel render?

Sat Nov 07, 2009 6:04 pm
Wow! Thanks for the great information - there are a lot of gaps in my knowledge! (I am not using interlaced recording - I'm using progressive.) When I use Quicktime and/or VirtualDub I often import and export image sequences as an option (though a single file is simpler). KDEnlive is the only software I've found that works flawlessly (and automatically) with 1080p 30p (does the "p" go after the "30" or the "1080"?), so I'm sold on it. I guess I need to find a lucid and compact discussion of resolutions - when I cropped I divided 1920/1080 = 1.777..., and made sure that the cropped dimensions gave me the same number (and that it was also divisible by "8", because some codecs care about that...). Then I rendered to a 16:9 output (which is also 1.77777...). So I believe I got square pixels - as you say, KDEnlive detects this and skips the scaling step - again, great to hear!!

Last night I tried using Cinellera but it didn't recognize the file format - Advantage, KDEnlive. I was able to load my .mts files into Kino, but it automatically scaled them to 720p, so right away the resolution of my original files is lost.

Thanks for the information on melt. I had never heard of melt until reading on KDEnlive.

I did want to point out one thing - my Canon Vixia HF11 generates a sequence of 2GB files for a single movie. I was able to view the first file in a sequence in KDEnlive normally, but when I tried to load, say, the second file, it appeared as just sequences of white images. I had to do:

cat 00001.mts 00002.mts > outfile.mts

...in order to combine files so that I could view and process the video in 00002.mts. Kino was able to load, for instance, 00002.mts directly and view and process it normally, but for some reason KDEnlive requires the two files to be joined before I can view and process the frames in 00002.mts. This joining tends to gobble up disk space and, once joined, I can't load the combined video on a "stick" any more (FAT32 2GB limit). This is one reason I was asking about KDEnlive's ability to "cut away unneeded footage" from a video.

Thanks!!!!!!!!!!!!
Patti

PS: I'm using OpenSuSE 11.1 x86_64and the KDEnlive 4.1.3 from Packman repository under KDE 3.5 and I have COMPIZ/EMERALD desktop manager - Athalon 6000+ dual-core with 4GB memory, SATA hard drives. (I'm thinking of upgrading to a quad-core Phenom 965 black.)


Bookmarks



Who is online

Registered users: abc72656, Bing [Bot], daret, Google [Bot], Sogou [Bot], Yahoo [Bot]