you know, i've actually discovered something:
I had been using a really fat video file (codec/frame rate/frame size) and
that was eating all of the computer's resources. Its not the kernel.. the patch
helps this keyboard lock problem and the rest is just fine thus far. I
realized this when using pdp on a different machine with linux 2.4 and the same
video clip.
So, I decided to to a quick survey in codecs/settings for
pdp/pidip so future newbies might read this and save themselves the
trouble.
Here is a bit of research I did into video codecs that work with the
pdp/pidip library.
PURPOSE:
========
To determine what codecs work well with pdp/pidip libraries in
pd. The term *works well* can be understood as a codec/setting that:
- is readable by pdp_qt and/or pdp_yqt;
- plays back without using too much ram or cputime
- doesnt hang the kernel or x environment;
- results in files that are of a manageable size
Essentially, the point was to determine the best method to transcode
Apple Quicktime DV NTSC native uncompressed 29.97 fps files for future use in
pdp/pidip for a mixing and live stream environment.
METHOD:
=======
- transcode a short clip into each of the codecs available for export in
the default Quicktime Pro 6.4 release for OS X. Test the codecs in
pd/pdp/pidip for linux using the pdp_qt.pd and help-pdp_yqt.pd help
patches. Try processing video with effects. Try resizing and using fullscreen
output. Guage responsiveness of screen redraws and ancillary
processes.
pd/pdp/pidip machine setup:
850mhz celeron processor
256 MB SDRAM
Debian GNU/Linux sarge (testing/unstable)
Linux kernel 2.4.22
ffmpeg-cvs-2003-03-04
pd-0.37-0
pdp-0.12.2
pidip-0.12.11
ORIGINAL MOVIE FILE CHARACTERISTICS:
running length: 00:00:16.11
codec: Apple DV-NTSC
frame size:720 x 480 pixels
other: Millions of Colours, Integer (big endian)
audio: Stereo, 48000 Hz, 16 bits
frame rate: 29.97 fps
data rate: 3.6 MB/S
Data Size: 59.1 MB
PROPERTIES OF EXPORTED SAMPLES:
frame size: 360 x 240 pixels
frame rate: 15 fps
audio settings remained unchanged
unchecked prepare for internet streaming option
CODECS TESTED:
Animation
Apple H.263
Apple Pixlet Video
Apple VC H.263
BMP
Cinepak
Component Video
DV - PAL
DVCPRO
DV/DVC - NTSC
DVCPRO50 - NTSC
DVCPRO50 - PAL
Graphics
H.261
JPEG 2000
Motion JPEG A
Motion JPEG B
MPEG-4 Video
None
Photo - JPEG
Planar RGB
PNG
Sorenson Video
Sorenson Video 3
TIFF
TGA
Video
OBSERVATIONS/RESULTS:
=====================
I rated them out of 5 based on how well I felt they performed. The
lighter the effect on the operating system the better. I'm looking for a
lean codec, something that can be used for multiple video instances for
mixing and streaming.
The following codecs worked somewhat:
Photo - JPEG: Horrible pig. Works in both pdp_qt and pdp_yqt but who
cares.. (1/5)
Animation: works in pdp_qt but locked X once and was redrawing slowly
the second time. pdp_yqt gives a green screen. (2/5)
PNG: works in both qt_pdp and yqt_pdp but still too fat. (2/5)
Sorenson (not Sorenson3): works in pdp_qt and pdp_yqt pretty well. Still
a little heavy, causing slow screen redraws. (3/5)
Cinepak: works well in pdp_qt, green screen in pdp_yqt (4.5/5)
Video: works well in pdp_qt, green screen in pdp_yqt (5/5)
Component Video: very good, works in both pdp_qt and pdp_yqt and very
light (5/5)
None: very good, works in both pdp_qt and pdp_yqt and very light (5/5)
DV-NTSC: both pdp_qt and pdp_yqt accepted the codec, but as soon as i
tried to send them a play message... seg fault.. socket reset by peer (honorable
mention)
FILE SIZES of transcoded files:
64M BMP.mov
7.5M H261.mov
46M PNG.mov
64M TGA.mov
64M TIFF.mov
7.7M VCH263.mov
63M animation.mov
8.2M cinepak.mov
44M componentvideo.mov
60M dvcpro50ntsc.mov
71M dvcpro50pal.mov
37M dvcpropal.mov
31M dvntsc.mov
37M dvpal.mov
17M graphics.mov
53M jpeg2000.mov
9.8M motionjpega.mov
9.7M motionjpegb.mov
7.2M mpeg4.mov
64M none.mov
5.0M applepixlet.mov
8.7M photo-jpeg.mov
64M planarrgb.mov
13M sorenson.mov
20M sorenson3.mov
13M video.mov
CONCLUSIONS
===========
Video Component and None are the best settings to use, based on their
portability between pdp and pidip and the fact that they are light and do
not cause any seriously ill effects to the operation of the system or
other running processes. Since Component Video encoding results in a
smaller file size (44MB) than None (64MB) it is best to go with Component
Video encoding when transcoding media from Quicktime Pro for use in
pdp/pidip. Perhaps, in the future, or with additional codec libraries, there
might be a way to read files that work just as well but with better compression
so the files are more portable and take up less drive space.
CAVEATS:
========
- I did not test every setting in each codec, rather went with the
default options.
- The pd machine has only the default libavcodec package from ffmpeg CVS
- I did not use quantific methods to evaluate the degrees of resource
taxation. Rather, it was a subjective analysis, that started as a
quick test and ended up being ... If it were useful for development I
could do a further survey that incorporates some sort of output from cpu
or memory usage.
cheers,
naveen
> --__--__--
>
> Message: 12
> Date: Mon, 23 Feb 2004 22:08:42 -0500
> From: navz(a)dreaming.org
> To: pd-list(a)iem.at
> Subject: [PD] -rt freeze on a mac linux-2.6.3 and the patch
>
> hi,
>
> i am using linux 2.6.3-rc3-ben1 (for ppc) on an ibook g4, with
> pd-0.37-1test6. When i tried using the -rt option on pd start, the
> kernel hangs the keyboard and if I try and kill X (Xfree 4.3.99.902
> (4.4.0 RC 2)) then I am left with a green screen.
>
>
> also, i have used this patch, on s_inter.c line 515
>
> // p3 =3D (higher ? p2 - 1 : p2 - 3);
> p3 =3D (higher ? p1 + 3 : p1 + 1);
>
> and now, after doing a make with this patch, the pd process will almost d=
> rown
> out my other processes completely. for example, i launched pdp_zoom and
> loaded
> a quicktime and it suddenly slowed everything (including the movie) down
> to a crawl... my only hope was to escape to a terminal and kill -9 the
> pd process. although this was a very difficult thing to do since
> everything (including keyboard interrupts and mouse/trackpad response)
> was saturated by the rampant pd process.
>
>
> hope this helps.
>
>
>
> cheers,
>
> naveen
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.