<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkQDSHg6eSp7ImA9WhRUFko.&quot;"><id>tag:blogger.com,1999:blog-17915976</id><updated>2012-01-27T09:26:19.611-05:00</updated><category term="mk2efs" /><category term="aclocal" /><category term="flash" /><category term="knoppix" /><category term="fsck" /><category term="tools" /><category term="3:2pulldown" /><category term="dd" /><category term="bugs" /><category term="books" /><category term="production" /><category term="multiple processors" /><category term="cinelerra 4" /><category term="mkinitrd" /><category term="lvm" /><category term="resolution" /><category term="split screen" /><category term="web trends" /><category term="redhat" /><category term="ifogen" /><category term="freshrpms" /><category term="one weekend in nyc" /><category term="make" /><category term="stock footage" /><category term="nomad" /><category term="shapewipe" /><category term="frames" /><category term="libx264" /><category term="configuration" /><category term="git" /><category term="valgrind" /><category term="resources" /><category term="filesystem check" /><category term="video4linux" /><category term="fsarchiver" /><category term="mdadm" /><category term="fedora 12 live cd" /><category term="monty montgomery" /><category term="beginners guide" /><category term="audio technica" /><category term="one weekend in va" /><category term="compress" /><category term="yuv4mpeg" /><category term="system" /><category term="7600gs" /><category term="visualization" /><category term="jack" /><category term="ndas" /><category term="fields" /><category term="creation" /><category term="user agent" /><category term="sourceshow" /><category term="extundelete" /><category term="sound device" /><category term="ffmpeg" /><category term="dvd+rw-mediainfo" /><category term="memory" /><category term="mplex" /><category term="1080p" /><category term="decimate" /><category term="video tutorial" /><category term="ideas" /><category term="dvdauthor" /><category term="hue" /><category term="vlc" /><category term="core 4" /><category term="RGB" /><category term="compatibility" /><category term="drivers" /><category term="fedora 12" /><category term="jukebox 2" /><category term="fps" /><category term="marketing" /><category term="visiontek x1550" /><category term="mp3" /><category term="aac" /><category term="libiec61883" /><category term="sata" /><category term="specifications" /><category term="preferred minor" /><category term="ubuntu" /><category term="nyc" /><category term="dvdrecord" /><category term="error" /><category term="content" /><category term="dell sc1430" /><category term="nvidia" /><category term="buzzing" /><category term="dependencies" /><category term="at822" /><category term="x11grab" /><category term="media player" /><category term="gnuplot" /><category term="gpt" /><category term="jvchd10u" /><category term="podcast" /><category term="ffvhuff" /><category term="fedora 9" /><category term="storyboard" /><category term="google video" /><category term="livna" /><category term="camera automation" /><category term="hang" /><category term="rpmbuild" /><category term="transparent" /><category term="iso" /><category term="tag" /><category term="kwizart" /><category term="wine" /><category term="preferences" /><category term="about" /><category term="dvgrab" /><category term="mplayer" /><category term="panoramas" /><category term="sync" /><category term="addons" /><category term="optical media" /><category term="fglrx" /><category term="tokyo reality" /><category term="compilation" /><category term="crazed riviera" /><category term="raw yv12" /><category term="mjpeg" /><category term="codec" /><category term="gimp" /><category term="ext4" /><category term="virtual machine" /><category term="YCbCr" /><category term="code" /><category term="fedora 10" /><category term="gscanbus" /><category term="apple tv" /><category term="interpolate" /><category term="hardware" /><category term="HDTV" /><category term="2gb" /><category term="ffplay" /><category term="quicktime" /><category term="testlibraw" /><category term="ca0106" /><category term="yuvplay" /><category term="windows media player" /><category term="hue saturation" /><category term="watermark" /><category term="saturation" /><category term="gdb" /><category term="mpegts" /><category term="perspective" /><category term="macbook pro" /><category term="mpeg4" /><category term="premiere" /><category term="titles" /><category term="multicore" /><category term="shell scripts" /><category term="audio sync" /><category term="growisofs" /><category term="cvlc" /><category term="ie" /><category term="e2fsck" /><category term="mux" /><category term="tmpgenc" /><category term="animated route" /><category term="iso9660" /><category term="xv" /><category term="MediaGate" /><category term="largefile" /><category term="ati radeon 8500DV" /><category term="wireless" /><category term="ipod" /><category term="administration" /><category term="iomega buzz" /><category term="720p" /><category term="xiph" /><category term="grungy" /><category term="atrpms" /><category term="beginner" /><category term="mkisofs" /><category term="dar" /><category term="problem" /><category term="install" /><category term="ramdisk" /><category term="accumulate" /><category term="yuvmotionfps" /><category term="background render" /><category term="bootable" /><category term="color space" /><category term="documentation" /><category term="encoding" /><category term="partimage" /><category term="rpm fusion" /><category term="xine" /><category term="segmentation fault" /><category term="autogen" /><category term="nags head" /><category term="resize track" /><category term="ximeta" /><category term="dvd" /><category term="c programming" /><category term="presentation" /><category term="joliet" /><category term="pci express" /><category term="firefox" /><category term="stabilization" /><category term="huffyuv" /><category term="test-mpeg2" /><category term="fedora 7" /><category term="cubase sx" /><category term="yum" /><category term="mpstat" /><category term="quad core" /><category term="automatic keyframing" /><category term="ati" /><category term="mpeg" /><category term="hdv" /><category term="archiving" /><category term="libfaac" /><category term="alsa" /><category term="firmware" /><category term=".net" /><category term="performance" /><category term="hdparm" /><category term="dries" /><category term="edl" /><category term="raid" /><category term="tcf" /><category term="quicktime for linux" /><category term="xp" /><category term="backup" /><category term="aspect ratio" /><category term="parted" /><category term="jukebox" /><category term="image manipulation" /><category term="xml" /><category term="time average" /><category term="superblock" /><category term="sil680" /><category term="xeon" /><category term="64-bit" /><category term="camera" /><category term="transition" /><category term="jdk" /><category term="vmware" /><category term="home theater" /><category term="mistakes" /><category term="blu-ray" /><category term="screen capture" /><category term="reason" /><category term="labels" /><category term="bash" /><category term="compile" /><category term="xmms" /><category term="memtest86" /><category term="audigyls" /><category term="blur" /><category term="batch" /><category term="cinelerra" /><category term="m2v" /><category term="avidemux2" /><category term="vimeo" /><category term="paris" /><category term="transparency" /><category term="canon 5d mark ii" /><category term="high definition" /><category term="partition" /><category term="youtube features" /><category term="projector" /><category term="flowers" /><category term="mpeg3toc" /><category term="automation" /><category term="winamp" /><category term="plugins" /><category term="chroma key" /><category term="itunes" /><category term="ide" /><category term="x264" /><category term="x86-64" /><category term="motion" /><category term="core 6" /><category term="articles" /><category term="setup" /><category term="wmp" /><category term="h264" /><category term="dual layer" /><category term="digital audio workstation" /><category term="hello" /><category term="audacity" /><category term="workflow" /><category term="beach" /><category term="two-pass encoding" /><category term="ntfs-3g" /><category term="nspluginwrapper" /><category term="map" /><category term="dvdrtools" /><category term="raw yuv" /><category term="lucid" /><category term="skype" /><category term="7za" /><category term="fedora" /><category term="timelapse" /><category term="youtube" /><category term="export" /><category term="cdwrite" /><category term="insects" /><category term="faac" /><category term="cdrecord" /><category term="vmware server" /><category term="keyframe" /><category term="rpm" /><category term="500GB SATA" /><category term="browsers" /><category term="zoom" /><category term="opengl" /><category term="delay audio" /><category term="script" /><category term="dvhscap" /><category term="MG-350HD" /><category term="kdbg" /><category term="batch render" /><category term="cinmonty" /><category term="video effect" /><category term="memory leak" /><category term="video for linux" /><category term="linux" /><category term="creative labs" /><category term="rendering" /><category term="crash" /><category term="repositories" /><category term="histogram" /><category term="aperature" /><category term="lvm backup" /><category term="convert" /><category term="libraw1394" /><category term="tutorial" /><category term="multithreading" /><category term="ghost" /><category term="one weekend in nags head" /><category term="hugin" /><category term="delta 66" /><category term="YUV" /><category term="fedora 15" /><category term="broadcast" /><category term="source" /><category term="google video uploader" /><category term="nudge" /><category term="mpeg2enc" /><category term="blogging ecosystem" /><category term="blogger" /><category term="open office" /><category term="rotate effect" /><category term="vmware player" /><category term="upload" /><category term="projector automation" /><category term="grainy" /><category term="delay video" /><category term="shake" /><category term="mozilla" /><category term="ffmpeg presets" /><category term="command line" /><category term="burn" /><category term="nc" /><category term="bezier" /><category term="test video" /><category term="fdisk" /><category term="distribution" /><title>Crazed Mule Productions</title><subtitle type="html">Making sense out of Cinelerra, Linux, HDV and video production.   </subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://crazedmuleproductions.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>161</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/CrazedMule" /><feedburner:info uri="crazedmule" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkQDSHg5eip7ImA9WhRUFko.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-4182376051883966342</id><published>2012-01-26T20:16:00.000-05:00</published><updated>2012-01-27T09:26:19.622-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T09:26:19.622-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg" /><category scheme="http://www.blogger.com/atom/ns#" term="problem" /><category scheme="http://www.blogger.com/atom/ns#" term="audacity" /><category scheme="http://www.blogger.com/atom/ns#" term="video4linux" /><category scheme="http://www.blogger.com/atom/ns#" term="skype" /><category scheme="http://www.blogger.com/atom/ns#" term="jack" /><category scheme="http://www.blogger.com/atom/ns#" term="x11grab" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="mplayer" /><title>recording desktop with ffmpeg</title><content type="html">I had this idea that I'm going to start interviewing folks on different technical topics via Skype or Google Hangout. &amp;nbsp;Normally, I would use Cinelerra to perform this task, but for some reason, the recordings in Cinelerra showed some irritating sound artifacts. &amp;nbsp;Testing in audacity showed no such audio problems. &amp;nbsp;I'll bring this up on the Cin mailing list soon.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;FFmpeg to the Rescue&lt;/b&gt;&lt;br /&gt;
So with Cinelerra not working for desktop recordings, I needed an alternate way to record my desktop screen as well as the audio from the person being interviewed. &amp;nbsp;After some searching a good deal of trial and error, I found from the link in the reference section at the bottom of the page, a very nice ffmpeg command. &amp;nbsp;You can save to any format you want. &amp;nbsp;The example below shows how to save the microphone audio (hw:0,0) in PCM format. &amp;nbsp;The desktop video is brought in via the xllgrab format specifier :&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;ffmpeg -f alsa -i hw:0,0 -ac 2 -ar 48000 -acodec pcm_s16le -f x11grab -r 24 -s 1280x720 -i :0.0 -aspect 16:9 -vcodec libx264 -vpre lossless_ultrafast -threads 8 -y output.mov&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I later tweaked the command to do&amp;nbsp;a bit more, using pulse audio as input as well as saving out to an iPod compatible format:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;ffmpeg -f alsa -i pulse -f x11grab -s 1280x720 -r 23.98 -i :0.0 -vcodec libx264 -acodec pcm_s16le -ab 128k -ar 48000 -ac 1 -b 2000k -bt 750k -refs 1 -deblockalpha 0 -deblockbeta 0 -subq 1 -me_range 21 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 2000k -bufsize 2M -cmp 1 -threads 8 output.mov&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Errors&lt;/b&gt;&lt;br /&gt;
Not sure how yet to resolve these ffmpeg errors:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;i&gt;[alsa @ 0x16512a0] Estimating duration from bitrate, this may be inaccurate&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Input #0, alsa, from 'hw:0,0':&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Duration: N/A, start: 17479.447401, bitrate: N/A&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Stream #0.0: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[x11grab @ 0x1650240] device: :0.0 -&amp;gt; display: :0.0 x: 0 y: 0 width: 1280 height: 720&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[x11grab @ 0x1650240] shared memory extension found&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;i&gt;[x11grab @ 0x1650240] Estimating duration from bitrate, this may be inaccurate&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Input #1, x11grab, from ':0.0':&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Duration: N/A, start: 1327197224.425685, bitrate: 707788 kb/s&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Stream #1.0: Video: rawvideo, bgra, 1280x720, 707788 kb/s, 24 tbr, 1000k tbn, 24 tbc&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;i&gt;Incompatible pixel format 'bgra' for codec 'libx264', auto-selecting format 'yuv420p'&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Along the way, I received an error:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;"unknown field slave"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Finding a bit more about ALSA&lt;/b&gt;&lt;br /&gt;
This ended up being because I had edited my /etc/asound.conf file from the default. &amp;nbsp;This corrupted my sound card settings. &amp;nbsp;I was reacquainted with some debugging commands and places where "sound stuff" lives:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer etc]$ arecord -l&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;**** List of CAPTURE Hardware Devices ****&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;card 0: U0x46d0x821 [USB Device 0x46d:0x821], device 0: USB Audio [USB Audio]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Subdevices: 0/1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Subdevice #0: subdevice #0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;card 2: MobilePre [MobilePre], device 0: USB Audio [USB Audio]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Subdevices: 0/1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Subdevice #0: subdevice #0&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer etc]$ amixer -c 2&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Simple mixer control 'Speaker',0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Capabilities: pvolume pswitch pswitch-joined penum&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Playback channels: Front Left - Front Right&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Limits: Playback 0 - 31&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Mono:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Front Left: Playback 31 [100%] [0.00dB] [on]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Front Right: Playback 31 [100%] [0.00dB] [on]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Simple mixer control 'PCM',0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Capabilities: pvolume pswitch pswitch-joined penum&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Playback channels: Front Left - Front Right&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Limits: Playback 0 - 31&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Mono:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Front Left: Playback 25 [81%] [0.00dB] [on]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Front Right: Playback 25 [81%] [0.00dB] [on]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Simple mixer control 'PCM',1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Capabilities: volume volume-joined penum&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Playback channels: Mono&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Capture channels: Mono&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Limits: 0 - 2&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Mono: 2 [100%]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Simple mixer control 'Analog In',0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Capabilities: pvolume cvolume pswitch pswitch-joined cswitch cswitch-joined penum&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Playback channels: Front Left - Front Right&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Capture channels: Front Left - Front Right&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Limits: Playback 0 - 31 Capture 0 - 31&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Front Left: Playback 28 [90%] [6.00dB] [off] Capture 31 [100%] [12.00dB] [on]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Front Right: Playback 28 [90%] [6.00dB] [off] Capture 31 [100%] [12.00dB] [on]&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer ~]$ cat /proc/asound/cards&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;0 [U0x46d0x821 &amp;nbsp; &amp;nbsp;]: USB-Audio - USB Device 0x46d:0x821&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USB Device 0x46d:0x821 at usb-0000:00:1d.7-6, high speed&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;1 [MobilePre &amp;nbsp; &amp;nbsp; &amp;nbsp;]: USB-Audio - MobilePre&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; M Audio MobilePre at usb-0000:00:1d.0-1, full speed&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer etc]$ ls /dev/snd&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;by-id &amp;nbsp;by-path &amp;nbsp;controlC0 &amp;nbsp;controlC2 &amp;nbsp;pcmC0D0c &amp;nbsp;pcmC2D0c &amp;nbsp;pcmC2D0p &amp;nbsp;seq &amp;nbsp;timer&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer etc]$ cat /etc/asound.conf&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;#&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;# Place your global alsa-lib configuration here...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;#&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;@hooks [&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;func load&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;files [&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;"/etc/alsa/pulse-default.conf"&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;errors false&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;XWinInfo&lt;/b&gt;&lt;br /&gt;
Also, I learned about xwininfo, a cool command that shows you your desktop settings:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer videoConfTest]$ xwininfo&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;xwininfo: Window id: 0x320003b "Hak5 - Linux Screen Recording, Boxee Python Development and Qnext - YouTube - Google Chrome"&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Absolute upper-left X: &amp;nbsp;0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Absolute upper-left Y: &amp;nbsp;53&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Relative upper-left X: &amp;nbsp;0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Relative upper-left Y: &amp;nbsp;22&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Width: 1280&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Height: 971&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Depth: 24&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Visual: 0x21&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Visual Class: TrueColor&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Border width: 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Class: InputOutput&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Colormap: 0x20 (installed)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Bit Gravity State: NorthWestGravity&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Window Gravity State: NorthWestGravity&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Backing Store State: NotUseful&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Save Under State: no&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Map State: IsViewable&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Override Redirect State: no&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; Corners: &amp;nbsp;+0+53 &amp;nbsp;-1280+53 &amp;nbsp;-1280-0 &amp;nbsp;+0-0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; -geometry 1280x971+0-0&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Finally, I installed Skype and dealt with resolving a bunch of dependency problems (as usual):&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://kezhong.wordpress.com/2011/09/02/installing-skype-on-fedora-15x86_64/"&gt;http://kezhong.wordpress.com/2011/09/02/installing-skype-on-fedora-15x86_64/&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;VideoCamming&lt;/b&gt;&lt;br /&gt;
And a simple way to trigger mplayer to open up your videocam:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;mplayer tv:// -tv driver=v4l2 device=/dev/video0&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Reference&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.linuxquestions.org/questions/linux-newbie-8/recording-desktop-with-ffmpeg-877580/"&gt;http://www.linuxquestions.org/questions/linux-newbie-8/recording-desktop-with-ffmpeg-877580/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=mNz5Lrc06_s"&gt;http://www.youtube.com/watch?v=mNz5Lrc06_s&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://forums.fedoraforum.org/showthread.php?t=256681"&gt;http://forums.fedoraforum.org/showthread.php?t=256681&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ffmpeg.org/ffprobe.html#pulse"&gt;http://ffmpeg.org/ffprobe.html#pulse&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://alien.slackbook.org/blog/adding-an-alsa-software-pre-amp-to-fix-low-sound-levels/"&gt;http://alien.slackbook.org/blog/adding-an-alsa-software-pre-amp-to-fix-low-sound-levels/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://forums.opensuse.org/english/get-technical-help-here/multimedia/471522-record-my-desktop-using-ffmpeg-post2433494.html"&gt;http://forums.opensuse.org/english/get-technical-help-here/multimedia/471522-record-my-desktop-using-ffmpeg-post2433494.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://superuser.com/questions/251338/mencoder-capture-from-camera-and-microphone"&gt;http://superuser.com/questions/251338/mencoder-capture-from-camera-and-microphone&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ubuntuforums.org/showthread.php?t=1556038"&gt;http://ubuntuforums.org/showthread.php?t=1556038&lt;/a&gt;&amp;nbsp;(using jack)&lt;br /&gt;
&lt;a href="http://wiki.linuxaudio.org/wiki/screencasttutorial"&gt;http://wiki.linuxaudio.org/wiki/screencasttutorial&lt;/a&gt;&amp;nbsp;(jack_capture)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-4182376051883966342?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N1MdZoyZNcs5bVLi2Qt6keQYnoQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N1MdZoyZNcs5bVLi2Qt6keQYnoQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N1MdZoyZNcs5bVLi2Qt6keQYnoQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N1MdZoyZNcs5bVLi2Qt6keQYnoQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/dDHRrOdujWg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/4182376051883966342/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=4182376051883966342" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/4182376051883966342?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/4182376051883966342?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/dDHRrOdujWg/recording-desktop-with-ffmpeg.html" title="recording desktop with ffmpeg" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2012/01/recording-desktop-with-ffmpeg.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcFQ38yfSp7ImA9WhZVFkQ.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-2073423147133425955</id><published>2011-05-29T13:01:00.010-04:00</published><updated>2011-05-29T13:26:52.195-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T13:26:52.195-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cinmonty" /><category scheme="http://www.blogger.com/atom/ns#" term="video for linux" /><category scheme="http://www.blogger.com/atom/ns#" term="iomega buzz" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora 15" /><title>Fedora 15 cinelerra install works, breaks MP2</title><content type="html">&lt;span style="font-weight:bold;"&gt;Fedora 15, x86-64 Cinelerra CV install from source&lt;/span&gt;&lt;br /&gt;The Fedora 15, x86-64 installation of Cinelerra went well.  I followed my previous Fedora 12, x86-64 installation instructions from my document here:&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2010/02/fedora-12-x86-64-cinelerra-install.html"&gt;http://crazedmuleproductions.blogspot.com/2010/02/fedora-12-x86-64-cinelerra-install.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The same instructions apply, along with the RPM build of FFMPEG for libfaac, the Apple Audio Codec.&lt;br /&gt;&lt;br /&gt;Remove Video for Linux and IOMega Buzz drivers&lt;br /&gt;Before I compiled the latest Cinelerra CV, I had to patch the codebase to remove Video for Linux and IOMega Buzz drivers, as they are not supported under the kernel (kernel 2.6.38) that Fedora 15 runs under.  Here is the patch:&lt;br /&gt;&lt;a href="http://e.kevb.net/lurker/message/20110522.154000.ac0bc424.en.html"&gt;http://e.kevb.net/lurker/message/20110522.154000.ac0bc424.en.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MPEG2 audio rendering broken&lt;/span&gt;&lt;br /&gt;Once I got the code compiled, I tried reading and encoding video.  An immediate problem I noticed is that MPEG Layer II encoding is broken.  The rendering output gives no indication that there is a problem:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Input File : 'stdin'   48.0 kHz&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Output File: '/home/sfrase/videos/stormpigs/2010_12_28/testmp2monty_384.m2a'&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;384 kbps MPEG-1 Layer II j-stereo Psy model 1 &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;[De-emph:Off Copyright:No Original:No CRC:Off]&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;[Padding:Normal Byte-swap:Off Chanswap:Off DAB:Off]&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;ATH adjustment 0.000000&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;--------------------------------------------&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;encode_init: using tablenum 0 with sblimit 27&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Hit end of audio data&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Avg slots/frame = 1152.000; b/smp = 8.00; bitrate = 384.000 kbps&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Render::run: Session finished.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, both mplayer and ffplay spit out similar messages that the MP2 has a header missing:&lt;br /&gt;mplayer&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;AUDIO: 48000 Hz, 2 ch, floatle, 384.0 kbit/12.50% (ratio: 48000-&amp;gt;384000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Selected audio codec: [ffmp2float] afm: ffmpeg (FFmpeg MPEG layer-1 and layer-2 audio)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;==========================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;AO: [pulse] 48000Hz 2ch floatle (4 bytes per sample)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Video: no video&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Starting playback...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[mp2float @ 0x327153c6a0]Header missing&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[mp2float @ 0x327153c6a0]Header missing&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;A:   0.0 (00.0) of 342.7 (05:42.6) ??,?% &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;FFplay&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;Input #0, mp3, from 'testmp2monty_384.m2a':&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Duration: 00:05:42.67, start: 0.000000, bitrate: 384 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Stream #0.0: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[mp2 @ 0x7f27c8000af0] Header missing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Playing back the audio is garbled.  This isn't a deal breaker, but it is a little upsetting.  I thought I might escape it this time, but I guess I will have to bite the bullet and compatibility test all my Cinelerra file formats with Fedora 15.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Compiling Cinelerra Monty from source&lt;/span&gt;&lt;br /&gt;Since Cinelerra CV worked at a basic level, I wanted to compile my preferred Cinelerra distro, Cinelerra Monty:&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2010/07/green-beret-parachutes-in-to-help.html"&gt;http://crazedmuleproductions.blogspot.com/2010/07/green-beret-parachutes-in-to-help.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, this codebase also needed the updates to remove Video for Linux and IOMega Buzz drivers.  Since Monty's code base differs from CV, I had to manually patch the code myself using the instructions above.  Once that was complete, I was able to successfully compile CinMonty.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://bugs.cinelerra.org/ticket/949"&gt;http://bugs.cinelerra.org/ticket/949&lt;/a&gt;&lt;br /&gt;&lt;a href="http://e.kevb.net/lurker/message/20110522.154000.ac0bc424.en.html"&gt;Nicola's patch&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jungels.net/articles/diff-patch-ten-minutes.html"&gt;Creating a patch using Diff&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-2073423147133425955?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5ObW8HhblnM6oWrBIrnFCicnE0Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ObW8HhblnM6oWrBIrnFCicnE0Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5ObW8HhblnM6oWrBIrnFCicnE0Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ObW8HhblnM6oWrBIrnFCicnE0Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/QyLxpscKNKo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/2073423147133425955/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=2073423147133425955" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/2073423147133425955?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/2073423147133425955?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/QyLxpscKNKo/fedora-15-cinelerra-install-works.html" title="Fedora 15 cinelerra install works, breaks MP2" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2011/05/fedora-15-cinelerra-install-works.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEADSH09cSp7ImA9Wx5bEUs.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-928543584353144972</id><published>2010-10-26T20:23:00.011-04:00</published><updated>2010-10-27T02:59:39.369-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-27T02:59:39.369-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sync" /><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg" /><category scheme="http://www.blogger.com/atom/ns#" term="two-pass encoding" /><category scheme="http://www.blogger.com/atom/ns#" term="mjpeg" /><category scheme="http://www.blogger.com/atom/ns#" term="mpeg4" /><category scheme="http://www.blogger.com/atom/ns#" term="audio sync" /><title>two-pass encoding in Cinelerra</title><content type="html">So I was creating a video to showcase my cousin's ambient/electroacoustic music and needed the best output possible.  I put together the project with scraps of 1080P video from my Canon 5D that I had lying around.  &lt;br /&gt;&lt;br /&gt;Normally, I would do my edits and then post an MPEG-TS to Vimeo.  However, &lt;a href="http://crazedmuleproductions.blogspot.com/2010/07/canon-5d-conversion-for-xiphmonts-git.html"&gt;as Florian had called out recently&lt;/a&gt;, I found that portions of the final video were slightly underwhelming in quality.  Specifically, some timelapses in the video looked grainy.  This was because the MPEG2 render parameters I had been using in the above link were giving me less than best quality.  So my solution was to use a two pass encode from Cinelerra via the YUV4MPEG stream capability into an MPEG4.  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bcLw_LVf5nA/TMd2wFnPThI/AAAAAAAAA_c/5iyk6QGH-SI/s1600/ffmpegMp4CinRender.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 350px; height: 400px;" src="http://1.bp.blogspot.com/_bcLw_LVf5nA/TMd2wFnPThI/AAAAAAAAA_c/5iyk6QGH-SI/s400/ffmpegMp4CinRender.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5532521235760500242" /&gt;&lt;/a&gt;&lt;br /&gt;Easier said then done.&lt;br /&gt;&lt;br /&gt;There are three steps:&lt;br /&gt;1) export the audio&lt;br /&gt;2) perform the first pass encoding into /dev/null&lt;br /&gt;3) perform the second pass encoding with the audio file into the final file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Export the Audio&lt;/span&gt;&lt;br /&gt;As I was having some sync issues, I pushed the audio a little further down the timeline using a &lt;a href="http://crazedmuleproductions.blogspot.com/2007/05/nudge-avidemux2-and-reminder-about.html"&gt;negative nudge value&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;First Pass Encode&lt;/span&gt;&lt;br /&gt;Cinelerra seems to be very sensitive to any garbage in the command line sent to the YUV4MPEG stream.  Look at this output:&lt;pre&gt;Render::run 10&lt;br /&gt;trying popen(ffmpeg -threads 8 -y -i - -an -v 1 -vcodec libx264 -aspect 1.7777 -b 9000k -bt 7775k -refs 1 -deblockalpha 0 -deblockbeta 0 -subq 1 -me_range 21 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 10000k -bufsize 2M -cmp 1 -f mp4 -pass 1 /dev/null� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���)&lt;br /&gt;FFmpeg version 0.6-rpmfusion, Copyright (c) 2000-2010 the FFmpeg developers&lt;br /&gt;  built on Sep 23 2010 18:55:52 with gcc 4.4.4 20100630 (Red Hat 4.4.4-10)&lt;br /&gt;  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --extra-version=rpmfusion --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-nonfree --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect&lt;br /&gt;  libavutil     50.15. 1 / 50.15. 1&lt;br /&gt;  libavcodec    52.72. 2 / 52.72. 2&lt;br /&gt;  libavformat   52.64. 2 / 52.64. 2&lt;br /&gt;  libavdevice   52. 2. 0 / 52. 2. 0&lt;br /&gt;  libavfilter    1.19. 0 /  1.19. 0&lt;br /&gt;  libswscale     0.11. 0 /  0.11. 0&lt;br /&gt;  libpostproc   51. 2. 0 / 51. 2. 0&lt;br /&gt;[yuv4mpegpipe @ 0xf0a5f0]Estimating duration from bitrate, this may be inaccurate&lt;br /&gt;Input #0, yuv4mpegpipe, from 'pipe:':&lt;br /&gt;  Duration: N/A, bitrate: N/A&lt;br /&gt;    Stream #0.0: Video: rawvideo, yuv420p, 1920x1088, PAR 1:1 DAR 30:17, 30 tbr, 30 tbn, 30 tbc&lt;br /&gt;/dev/null� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���: File name too long&lt;br /&gt;Received sigpipe&lt;br /&gt;Received sigpipe&lt;br /&gt;Render::run: Session finished.&lt;/pre&gt;That is just damn ugly.  It looks like some crap got pasted into the command string.  Even though I couldn't see anything at the end of the line in the YUV4MPEG stream, I hit the delete key a few times.  The method cleaned out whatever invisible control characters got into the command.  &lt;br /&gt;&lt;br /&gt;My first pass encoding string was this:&lt;pre&gt;ffmpeg -threads 8 -y -i - -an -v 1 -vcodec libx264 -aspect 1.7777 -b 9000k -bt 7775k -refs 1 -deblockalpha 0 -deblockbeta 0 -subq 1 -me_range 21 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 10000k -bufsize 2M -cmp 1 -f mp4 -pass 1 /dev/null&lt;/pre&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bcLw_LVf5nA/TMd2wrSQcvI/AAAAAAAAA_k/Zt8nMcuJ_28/s1600/ffmpegMp4CinRenderPass1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 208px;" src="http://4.bp.blogspot.com/_bcLw_LVf5nA/TMd2wrSQcvI/AAAAAAAAA_k/Zt8nMcuJ_28/s400/ffmpegMp4CinRenderPass1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5532521245873042162" /&gt;&lt;/a&gt;&lt;br /&gt;Note that &lt;br /&gt;1) the audio file is not merged at this first pass step.&lt;br /&gt;2) there is no output file in the first pass encode, the output goes directly to /dev/null&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Second Pass Encode&lt;/span&gt;&lt;br /&gt;The second pass encode string is where I add my audio file and my output.  In the second pass encode string below, note the appearance of the audio file path and the % at the end of the YUV4MPEG stream indicating the output file:&lt;pre&gt;ffmpeg -threads 8 -y -i - -i /mnt/videos/projects/rickr/final.mp3 -v 1 -vcodec libx264 -aspect 1.7777 -b 9000k -bt 7775k -refs 1 -deblockalpha 0 -deblockbeta 0 -subq 1 -me_range 21 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 10000k -bufsize 2M -acodec libfaac -ab 256k -ar 44000 -ac 2 -cmp 1 -f mp4 -pass 2 %&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note that I could have done these commands outside of Cinelerra if I had output the video to some intermediate file format, usually Quicktime for Linux with JPEG or MJPEG compression for best results.  &lt;br /&gt;&lt;br /&gt;Every project I do leads me to find some bit of minutiae that sticks in my brain.  This time, the minutiae is an FFMPEG bug wherein the parameter to make adjustments to the audio sync does not work for MPEG4 files:&lt;br /&gt;&lt;a href="https://roundup.ffmpeg.org/issue359"&gt;https://roundup.ffmpeg.org/issue359&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Final Result&lt;/span&gt;&lt;br /&gt;All-in-all, I think this pain gave some very nice results.  Let me know what you think:&lt;br /&gt;&lt;iframe src="http://player.vimeo.com/video/16151865" width="400" height="300" frameborder="0"&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/16151865"&gt;A Little Time Away&lt;/a&gt; from &lt;a href="http://vimeo.com/crazedmule"&gt;crazed mule&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;Music By Rick Rascati from his album Cinemusica&lt;br /&gt;&lt;a href="http://myspace.com/​rickrmusic"&gt;http://myspace.com/​rickrmusic&lt;/a&gt;&lt;br /&gt;Shot with a Canon 5D (90%), other JVC HD10U &lt;br /&gt;&lt;br /&gt;Another one bites the dust.  Have a good one, folks.&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://howto-pages.org/ffmpeg/"&gt;http://howto-pages.org/ffmpeg/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-928543584353144972?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zMiC-KkDsDUdyN4m4ZKruEbsvlY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zMiC-KkDsDUdyN4m4ZKruEbsvlY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zMiC-KkDsDUdyN4m4ZKruEbsvlY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zMiC-KkDsDUdyN4m4ZKruEbsvlY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/j-NfKCbyDVw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/928543584353144972/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=928543584353144972" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/928543584353144972?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/928543584353144972?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/j-NfKCbyDVw/two-pass-encoding-in-cinelerra.html" title="two-pass encoding in Cinelerra" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_bcLw_LVf5nA/TMd2wFnPThI/AAAAAAAAA_c/5iyk6QGH-SI/s72-c/ffmpegMp4CinRender.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/10/two-pass-encoding-in-cinelerra.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcAQXc7cCp7ImA9Wx5VEkk.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-4607684532085249387</id><published>2010-10-04T18:37:00.004-04:00</published><updated>2010-10-04T21:44:00.908-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-04T21:44:00.908-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="panoramas" /><category scheme="http://www.blogger.com/atom/ns#" term="nags head" /><category scheme="http://www.blogger.com/atom/ns#" term="hugin" /><title>hugin, open source software for panoramas</title><content type="html">Hugin..very nice software for panoramas.&lt;br /&gt;&lt;br /&gt;I stitched together a few nighttime photos from north carolina with this result:&lt;br /&gt;&lt;img src="http://farm5.static.flickr.com/4148/5052676912_c208e62569_b_d.jpg"&gt;&lt;br /&gt;&lt;br /&gt;I'm sure it could be better..have to work on the technique.&lt;br /&gt;&lt;br /&gt;My flickr set:&lt;br /&gt;http://www.flickr.com/photos/frases/sets/72157625086498978/show/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Reference&lt;/span&gt;&lt;br /&gt;http://hugin.sourceforge.net/&lt;br /&gt;http://lifehacker.com/378490/stitch-photos-into-panoramas-with-free-software&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-4607684532085249387?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/c7K4AfrbPgAu3SmH1swaTDjgF6A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c7K4AfrbPgAu3SmH1swaTDjgF6A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/c7K4AfrbPgAu3SmH1swaTDjgF6A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c7K4AfrbPgAu3SmH1swaTDjgF6A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/PErXkddw6iw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/4607684532085249387/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=4607684532085249387" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/4607684532085249387?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/4607684532085249387?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/PErXkddw6iw/hugin-open-source-software-for.html" title="hugin, open source software for panoramas" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/10/hugin-open-source-software-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEDQ3gzeCp7ImA9Wx5WFUQ.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-7350819169312324651</id><published>2010-09-23T23:35:00.008-04:00</published><updated>2010-09-27T10:11:12.680-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-27T10:11:12.680-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="valgrind" /><category scheme="http://www.blogger.com/atom/ns#" term="memory leak" /><category scheme="http://www.blogger.com/atom/ns#" term="cinmonty" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><title>finding mem leaks with valgrind</title><content type="html">I had been playing around with &lt;a href="http://crazedmuleproductions.blogspot.com/2010/07/green-beret-parachutes-in-to-help.html"&gt;CinMonty&lt;/a&gt; for a couple weeks now and noticed a fairly big memory leak when I played back or rendered MPEG-PS or the AVC files from my Canon 5D(actually, H264/PCM audio). It must be stated that though I took some programming in school, I'm no C programmer. Handy with the shell, but not a C programmer. In any case, I found it interesting to try and find a memory leak in &lt;a href="http://crazedmuleproductions.blogspot.com/2010/07/green-beret-parachutes-in-to-help.html"&gt;Cinelerra Monty&lt;/a&gt; using &lt;a href="http://valgrind.org/"&gt;valgrind&lt;/a&gt;, a profiler/instrumenter/error detector of C programs.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Starting Valgrind&lt;/span&gt;&lt;br /&gt;Valgrind is executed at the command line with the name of the program that valgrind will analyze. You can start valgrind with plenty of options, but I started with a few common arguments:&lt;br /&gt;-check for leaks&lt;br /&gt;-log to a file&lt;br /&gt;-log unlimited errors&lt;br /&gt;&lt;br /&gt;The command line looks like this:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre 2010_09_22]$ valgrind --leak-check=full --log-file=memLeakCinMonty.txt --error-limit=no cinelerra&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Cinelerra 2.1CV&lt;br /&gt;xiphmont&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;GIT::a515d4be161fde852b72471f631782debf5d32f5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(C) 2006 Heroine Virtual Ltd.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(C) 2006-2010 The CinelerraCV Community&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Internal ffmpeg 0.6+fixes&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Compiled on Sat Sep 18 14:04:36 EDT 2010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Cinelerra is free software, covered by the GNU General Public License,&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;and you are welcome to change it and/or distribute copies of it under&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;certain conditions. There is absolutely no warranty for Cinelerra.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;FFMPEG::init_picture failed&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;FFMPEG::init_picture failed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FFMPEG::init_picture failed&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'm not sure what the init_picture failed error messages are, but they occur when I playback or render MPEG-PS or H264 video. This may have something to do with the memory leak.&lt;br /&gt;&lt;br /&gt;When running cinlerra under valgrind, the performance of Cinelerra grinds to a halt. Perhaps that's why Julian Seward (the original designer and author of Valgrind) called it valGRIND. However, performance is not so bad that you can't get usable data out of the program. For instance, valgrind shows me the following interesting section..an overlap in memcpy:&lt;span style="font-size:85%;"&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;==23140== Thread 36:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== Source and destination overlap in memcpy(0x3ce5e1b0, 0x3ce7e1b0, 526848)&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;==23140== at 0x4A06A3A: memcpy (mc_replace_strmem.c:497)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x569092: FileBase::update_pcm_history(long) (filebase.C:105)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x5872F5: FileFFMPEG::read_samples(double*, long) (fileffmpeg.C:648)&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;==23140== by 0x56ACAA: File::read_samples(double*, long, long, float*) (file.C:1042)&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;==23140== by 0x500CAE: AModule::render(double*, long, int, int, int, int) (amodule.C:258)&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;==23140== by 0x658543: VirtualANode::read_data(double*, long, long, long) (virtualanode.C:161)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x658820: VirtualANode::render_as_module(double**, double*, long, long, long) (virtualanode.C:238)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x65897A: VirtualANode::render(double*, long, long, long) (virtualanode.C:178)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x6576F7: VirtualAConsole::process_buffer(long, long, int, long) (virtualaconsole.C:134)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x502B06: ARender::process_buffer(long, long) (arender.C:232)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x502969: ARender::run() (arender.C:325)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;==23140== by 0x51B4425: Thread::entrypoint(void*) (thread.C:69)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's good that valgrind found something. Now to fix it! I've handed this info off to Monty. Hopefully he will be able to replicate my problem and fix it.&lt;br /&gt;:)&lt;br /&gt;the mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-7350819169312324651?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/w1LVfS0_LRZHNUOrKpkkvovlq0E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w1LVfS0_LRZHNUOrKpkkvovlq0E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/w1LVfS0_LRZHNUOrKpkkvovlq0E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w1LVfS0_LRZHNUOrKpkkvovlq0E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/bK6U_tRSKQA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/7350819169312324651/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=7350819169312324651" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7350819169312324651?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7350819169312324651?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/bK6U_tRSKQA/finding-mem-leaks-with-valgrind.html" title="finding mem leaks with valgrind" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/09/finding-mem-leaks-with-valgrind.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQESHc8fip7ImA9Wx5XEUg.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-8854282928641968617</id><published>2010-09-10T16:47:00.005-04:00</published><updated>2010-09-10T16:58:29.976-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-10T16:58:29.976-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="opengl" /><category scheme="http://www.blogger.com/atom/ns#" term="nvidia" /><title>making sure opengl is available</title><content type="html">This troubleshooting is listed in this post:&lt;br /&gt;&lt;a href="https://init.linpro.no/pipermail/skolelinux.no/cinelerra/2010-January/016493.html"&gt;https://init.linpro.no/pipermail/skolelinux.no/cinelerra/2010-January/016493.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But I thought I'd repost here so that I always have this information at hand:&lt;br /&gt;&lt;br /&gt;I have a GeForce 8800GT card installed in my box. I see glxinfo says I have OpenGL:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[sfr...@ogre my_cinelerra]$ glxinfo | head -20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;name of display: :0.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;display: :0  screen: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;direct rendering: Yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;server glx vendor string: NVIDIA Corporation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;server glx version string: 1.4&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I see glxgears points to the libGL.so.1 in /usr/lib64/nvidia:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[sfr...@ogre my_cinelerra]$ ldd `which glxgears`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        linux-vdso.so.1 =&gt;  (0x00007fff85dff000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libGL.so.1 =&gt; /usr/lib64/nvidia/libGL.so.1 (0x00007f791fa75000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libm.so.6 =&gt; /lib64/libm.so.6 (0x0000003f1bc00000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libX11.so.6 =&gt; /usr/lib64/libX11.so.6 (0x0000003f1e800000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libpthread.so.0 =&gt; /lib64/libpthread.so.0 (0x0000003f1c400000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libc.so.6 =&gt; /lib64/libc.so.6 (0x0000003f1b800000)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;libGLcore.so.1 =&gt; /usr/lib64/nvidia/libGLcore.so.1 (0x00007f791e5a3000) libnvidia-tls.so.1 =&gt; /usr/lib64/nvidia/tls/libnvidia-tls.so.1 (0x00007f791e4a1000)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libXext.so.6 =&gt; /usr/lib64/libXext.so.6 (0x0000003f1ec00000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libdl.so.2 =&gt; /lib64/libdl.so.2 (0x0000003f1c000000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libxcb.so.1 =&gt; /usr/lib64/libxcb.so.1 (0x0000003f1e400000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        /lib64/ld-linux-x86-64.so.2 (0x0000003f1b400000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        libXau.so.6 =&gt; /usr/lib64/libXau.so.6 (0x0000003f1e000000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I see that the libGL.so.1 in that directory has the appropriate OpenGL hooks:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[sfr...@ogre usr]$ strings -a /usr/lib64/nvidia/libGL.so.1 | grep glDeleteShader&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;glDeleteShader&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[sfr...@ogre usr]$ strings -a /usr/lib64/nvidia/libGL.so.1 | grep glUseProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;glUseProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;glUseProgramObjectARB&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've tried manually pointing configure.in to the /usr/lib64/nvidia directory:&lt;br /&gt;      &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;AC_CHECK_LIB([GL], [glUseProgram],&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                [OPENGL_LIBS="-lGL"; libGL=yes],&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# On SUSE/OpenSUSE, NVidia places the OpenGL 2.0 capable library in &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/X11R6/lib&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# but it doesn't place a libGL.so there, so the linker won't pick it up&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# we have to use the explicit libGL.so.1 path.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                save_LIBS="$LIBS"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                for l in /usr/lib64/nvidia /usr/X11R6/lib /usr/X11R6/lib64; do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                        LIBS="$l/libGL.so.1"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                        AC_MSG_CHECKING(for glUseProgram in $l/libGL.so.1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                        AC_TRY_LINK([],[extern int glUseProgram(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;glUseProgram();],&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                                [OPENGL_LIBS="$l/libGL.so.1"; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;libGL=yes],[libGL=no])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                        AC_MSG_RESULT([$libGL])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                        test $libGL = yes &amp;amp;&amp;amp; break&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                done&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                LIBS="$save_LIBS"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the end, even though ./configure did not recognize that I had openGL properly installed, I had to explicitly enable opengl on my ./configure line:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;./configure --enable-opengl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Who knew?&lt;br /&gt;da mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-8854282928641968617?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rzjw8losHe4E56m7RbbwXD_yrIE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rzjw8losHe4E56m7RbbwXD_yrIE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rzjw8losHe4E56m7RbbwXD_yrIE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rzjw8losHe4E56m7RbbwXD_yrIE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/eSCtrCt5_O8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/8854282928641968617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=8854282928641968617" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/8854282928641968617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/8854282928641968617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/eSCtrCt5_O8/making-sure-opengl-is-available.html" title="making sure opengl is available" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/09/making-sure-opengl-is-available.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcASXczeCp7ImA9Wx5bFUo.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-3985201286628569852</id><published>2010-08-06T09:17:00.008-04:00</published><updated>2010-10-31T22:20:48.980-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-31T22:20:48.980-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vmware server" /><category scheme="http://www.blogger.com/atom/ns#" term="yuvmotionfps" /><category scheme="http://www.blogger.com/atom/ns#" term="vmware" /><category scheme="http://www.blogger.com/atom/ns#" term="lucid" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>building CinCV from source, Ubuntu 32-bit</title><content type="html">Normally, I am a Fedora man, but I was helping a friend install Cinelerra on Ubuntu Lucid 10.04 32-bit. I installed Lucid in a VMware virtual machine on VMware Server. Here are some notes that may be helpful for someone. The instructions assume a base installation. The base installation VM file size is about 2.7GB. With my updates, it becomes 4GB.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;echo "1: update manually with synaptic package manager"&lt;/strong&gt;&lt;br /&gt;I don't know the command line for this, just do via GUI&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;echo "2: install dependencies for source"&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;sudo apt-get install g++ git-core libtool automake nasm mplayer xorg-dev ffmpeg libasound2-dev libogg-dev libvorbis-dev libtheora-dev libopenexr-dev libdv4-dev libpng12-dev libjpeg62-dev libx264-dev uuid-dev mjpegtools libmjpegtools-dev libfftw3-dev liba52-0.7.4-dev libmp3lame0 libmp3lame-dev libsndfile1-dev libfaac-dev libfaad-dev libesd0-dev libavc1394-dev libraw1394-dev libiec61883-dev libtiff4-dev libxxf86vm-dev libglu1-mesa-dev libogg-dev libvorbis-dev libopenexr-dev libpng12-dev libjpeg62-dev mjpegtools libmp3lame0 libquicktime-dev libqt4-dev libpostproc-dev libavformat-dev libavutil-dev libmad0-dev libhal-dev libdbus-1-dev libgcrypt11-dev libfribidi-dev&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;echo "3: touch language files not present"&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cd $HOME/my_cinelerra/po;touch de.gmo es.gmo eu.gmo fr.gmo it.gmo pt_BR.gmo ru.gmo sl.gmo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;echo "4: chmod on stamp-po for make install"&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cd $HOME/my_cinelerra/po;sudo chmod 777 stamp-po&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;echo "5: run ldconfig to get around libquicktimehv error"&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;sudo ldconfig&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;echo "6: add kernel parameter for max shared memory"&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;sudo su; echo "kernel.shmmax=2147483648" &gt;&gt; /etc/sysctl.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compile from source&lt;/strong&gt; (executed within source code directory):&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;1) ./autogen.sh&lt;br /&gt;2) ./configure&lt;br /&gt;4) make&lt;br /&gt;5) make install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compile with Monty's changes&lt;/strong&gt;&lt;br /&gt;After verifying a successful CinCV compile, you'd want to &lt;a href="http://crazedmuleproductions.blogspot.com/2010/07/green-beret-parachutes-in-to-help.html"&gt;load up Monty's changes&lt;/a&gt; and then do:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;1) ./autogen.sh&lt;br /&gt;2) ./configure&lt;br /&gt;3) make clean&lt;br /&gt;4) make&lt;br /&gt;5) make install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;da mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-3985201286628569852?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GxF67537GjCmkKLh7FAwkXxd4nM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GxF67537GjCmkKLh7FAwkXxd4nM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GxF67537GjCmkKLh7FAwkXxd4nM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GxF67537GjCmkKLh7FAwkXxd4nM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/QSqvNyTHM24" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/3985201286628569852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=3985201286628569852" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/3985201286628569852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/3985201286628569852?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/QSqvNyTHM24/building-cincv-from-source-ubuntu-32.html" title="building CinCV from source, Ubuntu 32-bit" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/08/building-cincv-from-source-ubuntu-32.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QGRn47cCp7ImA9Wx5bFk8.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-1850347888246424405</id><published>2010-07-24T15:07:00.014-04:00</published><updated>2010-11-01T10:22:07.008-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T10:22:07.008-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cinmonty" /><category scheme="http://www.blogger.com/atom/ns#" term="xiph" /><category scheme="http://www.blogger.com/atom/ns#" term="canon 5d mark ii" /><category scheme="http://www.blogger.com/atom/ns#" term="mpeg2enc" /><category scheme="http://www.blogger.com/atom/ns#" term="yuvplay" /><category scheme="http://www.blogger.com/atom/ns#" term="mplex" /><category scheme="http://www.blogger.com/atom/ns#" term="monty montgomery" /><title>Canon 5D conversion for xiphmont's git</title><content type="html">As &lt;a href="http://crazedmuleproductions.blogspot.com/2010/07/green-beret-parachutes-in-to-help.html"&gt;Monty has been working hard to make Cinelerra more input friendly&lt;/a&gt; with his FFmpeg loader fixes, I've been trying to help out as a QA resource.  One of my main concerns has been getting my Canon 5D video into Cinelerra.  As documented in the &lt;a href="http://irclog.cinelerra.org/2010/7/22"&gt;IRC log&lt;/a&gt;, my custom Canon conversion (ffmpeg stream -&gt; mpeg2enc (output: .m2v/.m2a) -&gt; mplex (output MPEG-PS) -&gt; ffmpeg (output MPEG-TS) was full of invalid timestamps.&lt;br /&gt;&lt;br /&gt;In addition, with some recent security updates to my Fedora system just today, it looks like my previous Canon conversion script had broken.  I get the dread error:&lt;br /&gt;&lt;div class="im"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;**ERROR: [mpeg2enc] display_horizontal_size must be in range 0...16383&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I was doubly screwed.  Back to the drawing board..er, mailing list.  Following up on mjpegtools' &lt;a href="http://sourceforge.net/mailarchive/message.php?msg_name=4C3C9290.7080304%40utanet.at"&gt;Bernhard Prachinger's advice here&lt;/a&gt;, I first try to play a test file using a pipe from ffmpeg, like so:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;mvi_2655.mov&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; -threads 7 -s 1920x1088 -f yuv4mpegpipe - |  yuvplay&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The video stream plays back with no visible errors, outside of a warning about the video stream frame rate differing from the container frame rate.  Here are the top few lines of the output:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Seems stream 0 codec frame rate differs from container frame rate: 48000.00 (48000/1) -&gt; 23.98 (24000/1001)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mvi_2655.mov':&lt;br /&gt;Duration: 00:00:06.92, start: 0.000000, bitrate: 45836 kb/s&lt;br /&gt;Stream #0.0(eng): Video: h264, yuv420p, 1920x1088, 44296 kb/s, 23.98 tbr, 24k tbn, 48k tbc&lt;br /&gt;Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s&lt;br /&gt;Metadata&lt;br /&gt;major_brand     : qt&lt;br /&gt;minor_version   : 537331968&lt;br /&gt;compatible_brands: qt  CAEP&lt;br /&gt;Output #0, yuv4mpegpipe, to 'pipe:':&lt;br /&gt;Stream #0.0(eng): Video: rawvideo, yuv420p, 920x108, q=2-31, 200 kb/s, 90k tbn, 23.98 tbc&lt;br /&gt;Stream mapping:&lt;br /&gt;Stream #0.0 -&gt; #0.0&lt;br /&gt;Press [q] to stop encoding&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0000 - 0:00:00.00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0001 - 0:00:00.01&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0002 - 0:00:00.02&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0003 - 0:00:00.03&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0004 - 0:00:00.04&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0005 - 0:00:00.05&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0006 - 0:00:00.06&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [yuvplay] Playing frame 0007 - 0:00:00.077 bitrate=752028.9kbits/s&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, streaming from FFmpeg to a y4m stream works.  I then take that y4m stream and convert it to an mpeg2video for use in Cinelerra,  again using Bernhard's simplified mpeg2enc pipe adjusted for aspect ratio and higher bitrate:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;mvi_2655.mov&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; -threads 7 -s 1920x1088 -f yuv4mpegpipe - | mpeg2enc --verbose 2 --format 3 --aspect 3 --video-bitrate 24000 --no-constraints --video-buffer 448 -o mvi_2655.m2v&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Looking at the output (&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;--verbose 2&lt;/span&gt;&lt;/span&gt;), there don't seem to be any major errors here:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Seems stream 0 codec frame rate differs from container frame rate: 48000.00 (48000/1) -&gt; 23.98 (24000/1001)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mvi_2655.mov':&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Duration: 00:00:06.92, start: 0.000000, bitrate: 45836 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.0(eng): Video: h264, yuv420p, 1920x1088, 44296 kb/s, 23.98 tbr, 24k tbn, 48k tbc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Metadata&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    major_brand     : qt  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    minor_version   : 537331968&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    compatible_brands: qt  CAEP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Output #0, yuv4mpegpipe, to 'pipe:':&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.0(eng): Video: rawvideo, yuv420p, 920x108, q=2-31, 200 kb/s, 90k tbn, 23.98 tbc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Stream mapping:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Stream #0.0 -&gt; #0.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Press [q] to stop encoding&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Selecting Generic MPEG2 output profile&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Assuming norm NTSC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Progressive input - selecting progressive encoding.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Encoding MPEG-2 video to mvi_2655.m2v&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Horizontal size: 920 pel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Vertical size: 108 pel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Aspect ratio code: 3 = 16:9 display&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Frame rate code:   1 = 24000.0/1001.0 (NTSC 3:2 pulldown converted FILM)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Bitrate: 24000 KBit/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Quality factor: 8 (Quantisation = 9) (1=best, 31=worst)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Field order for input: none/progressive&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Sequence unlimited length&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Search radius: 16&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] DualPrime: no&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Using one-pass rate controller&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] GOP SIZE RANGE 7 TO 15 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Setting colour/gamma parameters to "NTSC"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Progressive format frames = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] Using default unmodified quantization matrices&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mpeg2enc] SETTING MMX and MMX for QUANTIZER!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--DEBUG: [mpeg2enc] PAR = 7&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I then take the output of the audio conversion:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i mvi_2655.mov -acodec mp2 -ab 384k -ar 48000 -ac 2 test.m2a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Seems stream 0 codec frame rate differs from container frame rate: 48000.00 (48000/1) -&gt; 23.98 (24000/1001)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mvi_2655.mov':&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Duration: 00:00:06.92, start: 0.000000, bitrate: 45836 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.0(eng): Video: h264, yuv420p, 1920x1088, 44296 kb/s, 23.98 tbr, 24k tbn, 48k tbc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Metadata&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    major_brand     : qt  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    minor_version   : 537331968&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    compatible_brands: qt  CAEP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Output #0, mp2, to 'mvi_2655.m2a':&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.0(eng): Audio: mp2, 48000 Hz, 2 channels, s16, 384 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Stream mapping:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Stream #0.1 -&gt; #0.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Press [q] to stop encoding&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;size=     325kB time=6.94 bitrate= 384.0kbits/s    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;video:0kB audio:325kB global headers:0kB muxing overhead 0.000000%&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;and mux both the video and audio streams to an MPEG-PS in mplex:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;mplex -f 3 -b 2000 mvi_2655.m2a mvi_2655.m2v -o mvi_2655.ps&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] mplex version 1.9.0 (2.2.7 $Date: 2006/02/01 22:23:01 $)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] File mvi_2655.m2a looks like an MPEG Audio stream.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] File mvi_2655.m2v looks like an MPEG Video stream.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Found 1 audio streams and 1 video streams&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Selecting generic MPEG2 output profile&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Multiplexing video program stream!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Scanning for header info: Audio stream c0 (mvi_2655.m2a)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] MPEG AUDIO STREAM: c0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Audio version  : 1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Layer          :        2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] CRC checksums  :       no&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Bit rate       :    49152 bytes/sec (384 kbit/sec)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Frequency      :     48000 Hz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Mode           :        0 stereo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Mode extension :        0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Copyright bit  :        0 no copyright&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Original/Copy  :        1 original&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Emphasis       :        0 none&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Scanning for header info: Video stream e0 (mvi_2655.m2v) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] VIDEO STREAM: e0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Frame width     : 1920&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Frame height    : 1088&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Aspect ratio    : 16:9 display&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Picture rate    : 23.976 frames/sec&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Bit rate        : 24000000 bits/sec&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Vbv buffer size : 229376 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] CSPF            : 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] SYSTEMS/PROGRAM stream:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] rough-guess multiplexed stream data rate    : 24894496&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Setting best-guess data rate.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Run-in delay = 30030 Video delay = 30030 Audio delay = 33783&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] New sequence commences...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Audio c0: buf=      0 frame=000000 sector=00000000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Video e0: buf=      0 frame=000000 sector=00000000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Scanned to end AU 165&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] STREAM e0 completed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] STREAM c0 completed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Multiplex completion at SCR=653806.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Audio c0: completed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Video e0: completed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] AUDIO_STATISTICS: c0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Audio stream length 332928 bytes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Syncwords      :      289&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Frames         :      289 padded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Frames         :        0 unpadded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] BUFFERING min 189 Buf max 1162&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] VIDEO_STATISTICS: e0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Video Stream length:    13871991 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Sequence headers:        1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Sequence ends   :        1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] No. Pictures    :      166&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] No. Groups      :       12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] No. I Frames    :       12 avg. size162167 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] No. P Frames    :      154 avg. size 77441 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] No. B Frames    :        0 avg. size     0 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Average bit-rate : 16028800 bits/sec&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] Peak bit-rate    : 21470400  bits/sec&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] BUFFERING min 85 Buf max 1944774&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   INFO: [mplex] MUX STATUS: no under-runs detected&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This gives me a good program stream file that is suitable for editing in Cinelerra using Monty's changes.  Update 2010/09/13: Florian Cramer advised me that the video render string does not give the highest quality output.  I'm still working on improvements to the string that will render at a higher quality.&lt;/div&gt;&lt;div class="im"&gt;&lt;br /&gt;Moral of the story: never update your system.&lt;br /&gt;;)&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://man-wiki.net/index.php/1:mplex"&gt;http://man-wiki.net/index.php/1:mplex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.fedoraforum.org/showpost.php?p=1332653&amp;amp;postcount=961"&gt;Minor headache with nvidia drivers after kernel upgrade resolved&lt;/a&gt;&lt;br /&gt;Plus another pulseaudio fuck job.."pulseaudio module-alsa-card file not found"&lt;br /&gt;- had to reinstall pulseaudio and then execute "alsamixer -c0" to fix&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-1850347888246424405?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jc-qzOxTI3scGYLEFfGTz5QIUu0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jc-qzOxTI3scGYLEFfGTz5QIUu0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jc-qzOxTI3scGYLEFfGTz5QIUu0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jc-qzOxTI3scGYLEFfGTz5QIUu0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/LTblA2ucQXc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/1850347888246424405/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=1850347888246424405" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/1850347888246424405?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/1850347888246424405?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/LTblA2ucQXc/canon-5d-conversion-for-xiphmonts-git.html" title="Canon 5D conversion for xiphmont's git" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/07/canon-5d-conversion-for-xiphmonts-git.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AFQHo6eip7ImA9Wx5WE00.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-6211846730384296437</id><published>2010-07-16T14:14:00.038-04:00</published><updated>2010-09-24T00:15:11.412-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-24T00:15:11.412-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="background render" /><category scheme="http://www.blogger.com/atom/ns#" term="dell sc1430" /><category scheme="http://www.blogger.com/atom/ns#" term="cinmonty" /><category scheme="http://www.blogger.com/atom/ns#" term="xiph" /><category scheme="http://www.blogger.com/atom/ns#" term="git" /><category scheme="http://www.blogger.com/atom/ns#" term="canon 5d mark ii" /><category scheme="http://www.blogger.com/atom/ns#" term="h264" /><category scheme="http://www.blogger.com/atom/ns#" term="ramdisk" /><category scheme="http://www.blogger.com/atom/ns#" term="compilation" /><category scheme="http://www.blogger.com/atom/ns#" term="monty montgomery" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="compile" /><title>Green Beret parachutes in to help Cinelerra</title><content type="html">Unbelievably, just in the past week, the Cinelerra CV community (&lt;a href="http://cvs.cinelerra.org/"&gt;http://cvs.cinelerra.org/&lt;/a&gt;) has had a heavyweight developer parachute in and start fixing stuff all over the place. The guy is Chris "Monty" Montgomery who developed the Ogg multimedia container and Vorbis audio formats (&lt;a href="http://en.wikipedia.org/wiki/Chris_Montgomery"&gt;http://en.wikipedia.org/wiki/Chris_Montgomery&lt;/a&gt;). He is a developer currently working for Red Hat.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Monty, You're The Man!&lt;/span&gt;&lt;br /&gt;His primary effort has been to yank out the kludgy and incompatible file loader in Cinelerra and replace it using good old FFmpeg. FFmpeg has problems of its own, but a helluva lot less problems than the Cinelerra loader. This is a task that the original developer of Cinelerra, Heroine Warrior (&lt;a href="http://www.heroinewarrior.com/"&gt;http://www.heroinewarrior.com/&lt;/a&gt;), has wisely done with the 4.1 version of Cinelerra. Much props to Father HV, for without him, this blog and Open Source video editing would be very different, if exist at all.&lt;br /&gt;&lt;br /&gt;Monty is patching the version of FFmpeg that comes with the Cinelerra CV source code (&lt;a href="http://cinelerra.org/getting_cinelerra.php"&gt;http://cinelerra.org/getting_cinelerra.php&lt;/a&gt;). In Cinelerra CV's source code tree, FFmpeg is found under quicktime/ffmpeg. This means that once you compile Cinelerra from source code and add Monty's code fixes, files like the Canon 5D/7D H264 AVC files (the 1080P files spat out of the Canons') will load natively in Cinelerra.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AVC, oh AVC, Why Are You So Stubborn?&lt;/span&gt;&lt;br /&gt;Problem here is that you can't really edit with AVC files because the decoding of them is so bloody CPU intensive. AVC playback in Cinelerra on my dual, quad core Dell SC1430 with 10GB RAM is 3-4fps. This is unacceptable for previewing edits. There is a workaround to this such that if you really wanted to edit AVC, you'd need to have background rendering enabled, make your edits and then wait for the background render to finish. But that bg render takes a long time too. You could speed this up to by creating a ramdisk (&lt;a href="http://www.techanswerguy.com/2009/02/creating-ramdisk-in-linux.html"&gt;http://www.techanswerguy.com/2009/02/creating-ramdisk-in-linux.html&lt;/a&gt;) and setting the background render to use that ramdisk. But that's a whole other task.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Transcoding Canon 5D/7D Files, as usual&lt;/span&gt;&lt;br /&gt;Thus, we're still left with the task of transcoding Canon 5D/7D files into a more compatible format. There are two solutions:&lt;br /&gt;1) get my varied MPEG-TS conversion magic to work for you (&lt;a href="http://crazedmuleproductions.blogspot.com/2009/02/dark-of-winter-has-me-in-its-grasp.html"&gt;http://crazedmuleproductions.blogspot.com/2009/02/dark-of-winter-has-me-in-its-grasp.html&lt;/a&gt;)&lt;br /&gt;2) convert the 5D/7D files using FFmpeg into another format that works since FFmpeg is now Cinelerra's loader (with Monty's additions)&lt;br /&gt;&lt;br /&gt;Both require research/work, but I did a quick conversion that I tested in Cinelerra with Monty's code additions:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i [inputFileFromCanon] -acodec mp2 -ar 48000 -ab 384k -ac 2 -vcodec mpeg2video -qscale 1 [outputFile]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The audio format is mpeg, layer II and the video format is mpeg2video. This loads in Cinelerra and is fast to edit with. Once edited, render out from Cinelerra as usual.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to Compile Cinelerra for Ubuntu and Fedora users&lt;/span&gt;&lt;br /&gt;So Monty's additions require compiling from source. I'll provide some quick links here. For Ubuntu folks, Raffaella Traniello has put a nice post together on how to compile Cinelerra in Ubuntu:&lt;br /&gt;&lt;a href="http://www.g-raffa.eu/Cinelerra/HOWTO/compilation.html"&gt;http://www.g-raffa.eu/Cinelerra/HOWTO/compilation.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For Fedora users, I have a post here:&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2010/02/fedora-12-x86-64-cinelerra-install.html"&gt;http://crazedmuleproductions.blogspot.com/2010/02/fedora-12-x86-64-cinelerra-install.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Get Monty's Additions Working&lt;/span&gt;&lt;br /&gt;Once you get the source code compiled, install it (make install) and just test that Cinelerra works at a basic level. Once you've tested that your compile has worked, move onto apply Monty's code additions:&lt;br /&gt;- remove your installed Cinelerra (make uninstall)&lt;br /&gt;- download Monty's additions at &lt;a href="http://people.xiph.org/%7Exiphmont/cinelerra/patches/"&gt;http://people.xiph.org/~xiphmont/cinelerra/patches/&lt;/a&gt;&lt;br /&gt;- apply each of them to the Cinelerra source code tree one at a time (git apply [patch name])&lt;br /&gt;or join in Monty's git branch:&lt;br /&gt;1) git remote add xiphmont git://git.xiph.org/users/xiphmont/cinelerraCV.git&lt;br /&gt;2) git remote update&lt;br /&gt;- compile Cinelerra, this time with all Monty's additions (make clean;make;make install)&lt;br /&gt;&lt;br /&gt;After starting CinCV with Monty's additions, you should see the startup info change:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ cinelerra&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Cinelerra 2.1CVxiphmont&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;GIT::8c01c13bbb21d30aff2733454a49fbfe641e51ca&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(C) 2006 Heroine Virtual Ltd.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(C) 2006-2010 The CinelerraCV Community&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Internal ffmpeg 0.6+fixes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Compiled on Fri Jul 16 20:40:38 EDT 2010&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As well, you should see that FFmpeg becomes the default loader for videos in you goto the Resources window, right-click on a video and click "Info". You should see FFMPEG there under File Format:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bcLw_LVf5nA/TEtLBNDWPhI/AAAAAAAAA8I/VZPwSzTx-2I/s1600/montysAddition.png"&gt;&lt;img style="width: 190px; height: 320px; cursor: pointer;" id="BLOGGER_PHOTO_ID_5497570254191476242" alt="" src="http://4.bp.blogspot.com/_bcLw_LVf5nA/TEtLBNDWPhI/AAAAAAAAA8I/VZPwSzTx-2I/s320/montysAddition.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A Few Git Notes..&lt;/span&gt;&lt;br /&gt;While I'm at it..&lt;br /&gt;&lt;br /&gt;View current git branches&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git branch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* master&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Add Monty's remote branch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git remote add xiphmont git://git.xiph.org/users/xiphmont/cinelerraCV.git&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Update the local copy of Monty's remote branch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git remote update&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Fetching origin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Fetching xiphmont&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;remote: Counting objects: 2754, done.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;remote: Compressing objects: 100% (1904/1904), done.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;remote: Total 1981 (delta 997), reused 0 (delta 0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Receiving objects: 100% (1981/1981), 2.77 MiB 1.07 MiB/s, done.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Resolving deltas: 100% (997/997), completed with 711 local objects.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;From git://git.xiph.org/users/xiphmont/cinelerraCV&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* [new branch] master -&gt; xiphmont/master&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Check that Monty's branch has been added&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git branch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* master&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;xiphmont&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;I then was able to switch branches&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git checkout -b xiphmont xiphmont/master&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Branch xiphmont set up to track remote branch master from xiphmont.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Switched to a new branch 'xiphmont'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;"git branch" shows that I have switched to Monty's branch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git branch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;master&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* xiphmont&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Now I can switch easily between branches (Monty's and CinelerraCV)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git checkout master&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Switched to branch 'master'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Switching to Monty's branch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git checkout xiphmont&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Switched to branch 'xiphmont'&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Show the current status of the git code repositories&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[sfrase@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git status | head -6&lt;/span&gt;&lt;br /&gt;# On branch xiphmont&lt;br /&gt;# Untracked files:&lt;br /&gt;# (use "git add &lt;file&gt;..." to include in what will be committed)&lt;br /&gt;#&lt;br /&gt;# cinelerra-cvs-current.spec&lt;br /&gt;# cinelerra/.deps/&lt;br /&gt;&gt;&lt;/file&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;View the latest change log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git log xiphmont/master | head -6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;commit 8c01c13bbb21d30aff2733454a49fbfe641e51ca&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Author: Monty &lt;xiphmont@fishcore.(none)&gt;&lt;/xiphmont@fishcore.(none)&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Date: Fri Jul 16 07:30:10 2010 -0400&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;iAlter/extend versioning to avoid any confusion between this temporarily&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;forked version and the main CinelerraCV repo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Pull in the latest code updates: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;git pull&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;I tried to switch branches and got this error&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git checkout -b xiphmont xiphmont/master&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;error: You have local changes to 'po/de.po'; cannot switch branches.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;I did a hard reset to clear the above error&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;span style="font-weight: bold;"&gt;git reset --hard HEAD&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;HEAD is now at d95887f Pass --libdir given to configure on to ffmpeg configure.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Last resort for repos not working, a destructive clean:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre my_cinelerra]$ &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;git clean -dfx&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Update 2010/07/16&lt;/span&gt;&lt;br /&gt;Looks like the YUV4MPEG render stream is broken..this simple render pipe outputs a file unreadable in FF&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -f yuv4mpegpipe -i - -y -target dvd -f mpeg2video %&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I talked to Monty and he will fix..something about colorspace converter.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;*** end update ***&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that you have to compile Cinelerra and do a full reinstall, as the Cinelerra "make" process hard links the installation directory into the cinelerra executable.&lt;br /&gt;&lt;br /&gt;So I hope Monty stays with us as long as possible. Thanks man! Hope springs eternal!&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://www.itworld.com/open-source/115063/breaking-open-video-frontier-despite-mpeg-la"&gt;http://www.itworld.com/open-source/115063/breaking-open-video-frontier-despite-mpeg-la&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-6211846730384296437?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tt3UxZkmQxrxhfIA_AXU3Bor_1w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tt3UxZkmQxrxhfIA_AXU3Bor_1w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tt3UxZkmQxrxhfIA_AXU3Bor_1w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tt3UxZkmQxrxhfIA_AXU3Bor_1w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/flodC1Ps9dE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/6211846730384296437/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=6211846730384296437" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/6211846730384296437?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/6211846730384296437?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/flodC1Ps9dE/green-beret-parachutes-in-to-help.html" title="Green Beret parachutes in to help Cinelerra" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_bcLw_LVf5nA/TEtLBNDWPhI/AAAAAAAAA8I/VZPwSzTx-2I/s72-c/montysAddition.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/07/green-beret-parachutes-in-to-help.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MHRXozeCp7ImA9WhdUGEs.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-5241804738990004035</id><published>2010-06-05T12:08:00.004-04:00</published><updated>2011-10-05T20:37:14.480-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T20:37:14.480-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ext4" /><category scheme="http://www.blogger.com/atom/ns#" term="mistakes" /><category scheme="http://www.blogger.com/atom/ns#" term="extundelete" /><title>extundelete to the rescue!</title><content type="html">So..in usual fashion, I had a minor foul up today. I was overzealous in my desire to reclaim disk space and zapped some primary source vids off of my ext4 partition. Ooops. Thankfully, I found extundelete, a program that scans ext3 and ext4 filesystem journals and recovers files from those journals:&lt;br /&gt;
&lt;a href="http://extundelete.sourceforge.net/" target="_blank"&gt;http://extundelete.&lt;wbr&gt;&lt;/wbr&gt;sourceforge.net/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Process&lt;/span&gt;&lt;br /&gt;
Here's what I did to recover the files.&lt;br /&gt;
1) In order to prevent the deleted files being overwritten, I immediately stopped whatever work I was doing and unmounted the drive that the files were on. In my case:&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;umount /dev/mapper/vg_ogre-lv_root&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
2) Well, that's my root drive. So before rebooting to my Fedora 12 Live CD, I checked that Fedora had the extundelete program in its repository. I was in luck!&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;[root@localhost ~]# yum install extundelete&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;Loaded plugins: presto, refresh-packagekit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;fedora/metalink&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="ii gt" id=":oa" style="font-family: courier new;"&gt;
&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 20 kB 00:00&lt;br /&gt;fedora &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 4.2 kB 00:00&lt;br /&gt;fedora/primary_db &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 9.7 MB 00:10&lt;br /&gt;updates/metalink &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 16 kB 00:00&lt;br /&gt;updates &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 4.5 kB 00:00&lt;br /&gt;updates/primary_db &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 4.3 MB 00:01&lt;br /&gt;Setting up Install Process&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&amp;gt; Running transaction check&lt;br /&gt;---&amp;gt; Package extundelete.i686 0:0.1.8-2.fc12 set to be updated&lt;br /&gt;--&amp;gt; Finished Dependency Resolution&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
You can also compile from source at the link above.&lt;br /&gt;
&lt;br /&gt;
3) Since extundelete requires you to access an unmounted filesystem, I rebooted to Fedora 12 Live CD&lt;br /&gt;
&lt;br /&gt;
4) I installed extundelete from the Fedora Updates repository&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;Transaction Summary&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="ii gt" id=":oa" style="font-family: courier new;"&gt;
&lt;span style="font-size: 85%;"&gt;Install 1 Package(s)&lt;br /&gt;Upgrade 0 Package(s)&lt;br /&gt;&lt;br /&gt;Total download size: 52 k&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;Setting up and reading Presto delta metadata&lt;br /&gt;updates/prestodelta &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 4.4 kB 00:00&lt;br /&gt;Processing delta metadata&lt;br /&gt;Package(s) data still to download: 52 k&lt;br /&gt;extundelete-0.1.8-2.fc12.i686.&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;rpm &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt; 52 kB 00:00&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;Installing : extundelete-0.1.8-2.fc12.i686 &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;1/1&lt;br /&gt;&lt;br /&gt;Installed:&lt;br /&gt;extundelete.i686 0:0.1.8-2.fc12 &lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;Complete!&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
5) In order to restore deleted files, you must have a partition mounted that has enough space for the recovered files. I have a second partition (/mnt/backups) that I use to backup my main root partition. So while running under the Live CD, I created a destination directory and mounted /mnt/backups:&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;[root@localhost /]# mkdir /mnt/backup&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new';"&gt;[root@localhost /]# mount -t ext3 /dev/mapper/vg_ogre-lv_backup /mnt/backup&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
6) Though you can specify that extundelete undeletes individual files or all files on a filesystem, I ran extundelete with the proper command switches to undelete an entire directory of files:&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;[root@localhost backup]# extundelete /dev/mapper/vg_ogre-lv_root --restore-directory "mnt/videos/stormpigs/20100408"&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
&lt;div class="ii gt" id=":pa"&gt;
&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new';"&gt;WARNING: Extended attributes are not restored.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Loading group metadata ... 27025 groups loaded.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Loading journal descriptors ... 30695 descriptors loaded.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Writing output to directory RECOVERED_FILES/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Searching for recoverable inodes in directory mnt/videos/stormpigs/20100408 ... &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;309 recoverable inodes found.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Looking through the directory structure for deleted files ...&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new';"&gt;Restored inode 2495842 to file RECOVERED_FILES/mnt/videos/&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;stormpigs/20100408/20100408_2.&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;m2t&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Restored inode 2495844 to file RECOVERED_FILES/mnt/videos/&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;stormpigs/20100408/20100408_3.&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;m2t&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Restored inode 57147521 to file RECOVERED_FILES/mnt/videos/&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;stormpigs/20100408/vadd.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Restored inode 57147522 to file RECOVERED_FILES/mnt/videos/&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;stormpigs/20100408/aadd.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Restored inode 57147525 to file RECOVERED_FILES/mnt/videos/&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;stormpigs/20100408/temp.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Restored inode 57147528 to file RECOVERED_FILES/mnt/videos/&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;stormpigs/20100408/test.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;Restored inode 57147532 to file RECOVERED_FILES/mnt/videos/&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;stormpigs/20100408/testLabels.&lt;/span&gt;&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;/wbr&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;sh&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Success..or close enough to it&lt;/span&gt;&lt;br /&gt;
This is good..I've undeleted all but one of the files I had deleted. So, it looks like before I unmounted my root partition, the inode for "20100408_1.m2t" was overwritten. Oh well, two out of three ain't bad.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: red;"&gt;Update 2011/10/05&lt;/span&gt;&lt;br /&gt;
This works nicely with ext4 partitions as well.&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: red;"&gt;*** end update ***&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, this short post should give you some comfort that extundelete actually does what it is supposed to. Thanks number9652!!&lt;br /&gt;
&lt;br /&gt;
Reference&lt;br /&gt;
&lt;a href="http://extundelete.sourceforge.net/" target="_blank"&gt;http://extundelete.&lt;wbr&gt;&lt;/wbr&gt;sourceforge.net/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/mailarchive/forum.php?forum_name=extundelete-users" target="_blank"&gt;http://sourceforge.net/&lt;wbr&gt;&lt;/wbr&gt;mailarchive/forum.php?forum_&lt;wbr&gt;&lt;/wbr&gt;name=extundelete-users&lt;/a&gt; &lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-5241804738990004035?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L_fJPudEFIg34nzndcXpdjhcv8Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L_fJPudEFIg34nzndcXpdjhcv8Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L_fJPudEFIg34nzndcXpdjhcv8Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L_fJPudEFIg34nzndcXpdjhcv8Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/T_fAF4sdxq0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/5241804738990004035/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=5241804738990004035" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5241804738990004035?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5241804738990004035?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/T_fAF4sdxq0/extundelete-to-rescue.html" title="extundelete to the rescue!" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/06/extundelete-to-rescue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcBQn49fSp7ImA9WxFSFEk.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-7403257255586921861</id><published>2010-04-12T20:16:00.030-04:00</published><updated>2010-04-16T15:44:13.065-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-16T15:44:13.065-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="shell scripts" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="watermark" /><category scheme="http://www.blogger.com/atom/ns#" term="script" /><title>automating repetitive tasks by scripting Cinelerra, part II</title><content type="html">This is a follow up to my earlier article:&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2010/01/automating-repetitive-tasks-by.html"&gt;/2010/01/automating-repetitive-tasks-by.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Saving Time&lt;/span&gt;&lt;br /&gt;In this entry, I discuss writing a shell script that automatically adds a second video track to your Cinelerra project.  This comes in handy for projects that you do repeatedly.  For example,  a weekly podcast that uses a standard watermark.&lt;br /&gt;&lt;br /&gt;For instance, I produce a monthly podcast for my band.  You can see the pig watermark in the screen cap below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bcLw_LVf5nA/S8O-KXq1gzI/AAAAAAAAA7k/k5gl4hSuTLw/s1600/addPigPig.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 193px;" src="http://4.bp.blogspot.com/_bcLw_LVf5nA/S8O-KXq1gzI/AAAAAAAAA7k/k5gl4hSuTLw/s320/addPigPig.png" alt="" id="BLOGGER_PHOTO_ID_5459416258664825650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In Cinelerra, the pig watermark is created by adding a second video track to my base Cinelerra project.  This second video track includes a jpg stretched to the length of the first video track.  Also, there is a chroma key effect applied to the pig track in order for it to be transparent against the background of the jam video.&lt;br /&gt;&lt;br /&gt;The two items, a graphic of a pig and a video track with the image of the pig and applied effects are represented by XML in the Cinelerra EDL.  Remember, the Cinelerra EDL (edit decision list) is the XML file that represents all the edits that you've performed in creating your video masterpiece.  It looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kDFQ8Z13I/AAAAAAAAA48/raOMCudZhJU/s1600-h/cinelerraEdl.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 243px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kDFQ8Z13I/AAAAAAAAA48/raOMCudZhJU/s320/cinelerraEdl.png" alt="" id="BLOGGER_PHOTO_ID_5424870615127021426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this blog post, I will show you a shell script that inserts these two chunks of XML into a basic Cinelerra project file.  For my script to work properly, note that the base project needs at least one video track and at least one label.  I'll get into the reason for that later. The basic project file can also have audio tracks as well.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Asset, the Asset EDL and the Video Track EDL&lt;/span&gt;&lt;br /&gt;One asset and two sections of XML represent the video track of the pig:&lt;br /&gt;1) Here is the graphic of the pig, &lt;a href="http://docs.google.com/leaf?id=0BzSzE_zejuQZMTFlZGRjNzgtMjk3NS00MTc3LWI1ZjUtNjc3MDllYTlhN2Ez&amp;amp;hl=en"&gt;as a Google Doc&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;2) Here is the EDL of the asset (pig2.jpg):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S8O9YvDGOzI/AAAAAAAAA7U/-4cSxJLUBeE/s1600/addPigAsset.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 53px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S8O9YvDGOzI/AAAAAAAAA7U/-4cSxJLUBeE/s320/addPigAsset.png" alt="" id="BLOGGER_PHOTO_ID_5459415405947140914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The EDL is &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xMmNkNzNucGdk&amp;amp;hl=en"&gt;also available in a Google Doc&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;3) Here is the EDL of the video track of the pig:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bcLw_LVf5nA/S8O9eg69gbI/AAAAAAAAA7c/UQBaMWa9GNU/s1600/addPigVideoTrack.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 262px;" src="http://1.bp.blogspot.com/_bcLw_LVf5nA/S8O9eg69gbI/AAAAAAAAA7c/UQBaMWa9GNU/s320/addPigVideoTrack.png" alt="" id="BLOGGER_PHOTO_ID_5459415505234133426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The full EDL is &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xMzNta2h4dmto&amp;amp;hl=en"&gt;also available as a Google Doc&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since I use the pig watermark on each podcast, I reuse the two chunks of XML above for each installment of my monthly podcast.  So I've saved both the asset and the video track XML above from an older project to separate files (pigAsset.txt and pigVideoTrack.txt).  Using the shell script, I will insert both of these files at the appropriate places in my base Cinelerra project (my latest podcast).  To make life simple, my base project has only one track, the video track of the band rehearsal.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Disclaimer&lt;/span&gt;&lt;br /&gt;You're probably saying that this seems like a lot of work and you maybe getting confused.  Well..it kind of is a pain in the ass, but it will be worth it when you can whip out a shell script and automatically add your watermark to your project!  But I digress..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Shell Script Fun&lt;/span&gt;&lt;br /&gt;Here is the meat of the script:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;PWD=/mnt/scripts/scriptsTimeline/addPig&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ASSET=$PWD/pigAsset.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;TRACK=$PWD/pigVideoTrack.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;OLDLENGTH=85965&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;NEWLENGTH=$(videoLength.sh $INPUT)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo "OLDLENGTH is $OLDLENGTH"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo "NEWLENGTH is $NEWLENGTH"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo "INPUT is $INPUT"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo "OUTPUT is $OUTPUT"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# adds both via a pipe WORKING&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sed -e "s/^&lt;\/ASSETS&gt;/&lt;\!-- $REM --&gt;/g" $INPUT | sed -e "/&lt;\!-- $REM --&gt;/r $ASSET" | sed -e "/LABEL TIME/,/^&lt;\/LABELS/{ /&lt;\/LABELS&gt;/r $TRACK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}" | sed -e "s/$OLDLENGTH/$NEWLENGTH/g" &gt; $OUTPUT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The full script &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xNGQzdnBuMmM0&amp;amp;hl=en"&gt;is here, again as a Google Doc&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The core of the script revolves around a neat bit of sed (stream editor) trickery that I mentioned in &lt;a href="http://crazedmuleproductions.blogspot.com/2010/01/automating-repetitive-tasks-by.html"&gt;my first scripting article&lt;/a&gt;.  In this case, the core function of the script does something similar, but still hinges upon the appearance of labels in the EDL ("LABEL TIME") as a positional reference within the EDL to perform the insertion:&lt;pre&gt;sed -e "s/^&lt;\/ASSETS&gt;/&lt;\!-- $REM --&gt;/g" $INPUT | sed -e "/&lt;\!-- $REM --&gt;/r $ASSET" | sed -e "/LABEL TIME/,/^&lt;\/LABELS/{ /&lt;\/LABELS&gt;/r $TRACK&lt;br /&gt;}" | sed -e "s/$OLDLENGTH/$NEWLENGTH/g"&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;If we break this command apart, we see that it does a few things:&lt;br /&gt;1) it adds the pig as an asset (the $ASSET constant in the second sed command) to a project (the $INPUT constant listed in the first sed command)&lt;pre&gt;sed -e "s/^&lt;\/ASSETS&gt;/&lt;\!-- $REM --&gt;/g" $INPUT | sed -e "/&lt;\!-- $REM --&gt;/r $ASSET" &lt;/pre&gt;&lt;br /&gt;2) it adds a video track of said pig (the $TRACK constant) with this part of the command&lt;pre&gt;| sed -e "/LABEL TIME/,/^&lt;\/LABELS/{ /&lt;\/LABELS&gt;/r $TRACK&lt;/pre&gt;&lt;br /&gt;3) to make the new track the same length as the new track, it calculates the length of the base track and then substitutes that value for the initial length of the pig track. &lt;pre&gt;| sed -e "s/$OLDLENGTH/$NEWLENGTH/g"&lt;/pre&gt;&lt;br /&gt;Now, I threw a curveball in there with that NEWLENGTH constant.  This number is the current length of the video track in your input file and it is calculated via a second, slightly shorter script called "videoLength.sh".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bcLw_LVf5nA/S8UQXfIQxII/AAAAAAAAA7s/8UmiWJefmgg/s1600/addPigVideoLength.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 27px;" src="http://1.bp.blogspot.com/_bcLw_LVf5nA/S8UQXfIQxII/AAAAAAAAA7s/8UmiWJefmgg/s320/addPigVideoLength.png" alt="" id="BLOGGER_PHOTO_ID_5459788118935782530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xNWRucXhjcGN6&amp;amp;hl=en"&gt;Google Doc of that script&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Putting It All Together&lt;/span&gt;&lt;br /&gt;To test how the script adds a track, download the following components to the same directory:&lt;br /&gt;1) &lt;a href="http://docs.google.com/leaf?id=0BzSzE_zejuQZMTFlZGRjNzgtMjk3NS00MTc3LWI1ZjUtNjc3MDllYTlhN2Ez&amp;amp;hl=en"&gt;the jpg of the pig&lt;/a&gt;, save as pig2.jpg&lt;br /&gt;2) &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xMmNkNzNucGdk&amp;amp;hl=en"&gt;the xml representing the pig&lt;/a&gt;, save as pigAsset.txt&lt;br /&gt;3) &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xMzNta2h4dmto&amp;amp;hl=en"&gt;the xml representing a new video track with effects&lt;/a&gt;, save as pigVideoTrack.txt&lt;br /&gt;4) &lt;a href="http://docs.google.com/leaf?id=0BzSzE_zejuQZOTJmNzBlZmEtNmU5Zi00MzUyLWJiZTQtMjhkMGZmM2E3ZDUy&amp;hl=en"&gt;a test Cinelerra project&lt;/a&gt;, save as testProject.xml&lt;br /&gt;5) &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xNGQzdnBuMmM0&amp;amp;hl=en"&gt;the script&lt;/a&gt;, save as addPig.sh&lt;br /&gt;6) &lt;a href="http://docs.google.com/Doc?docid=0ATSzE_zejuQZZG50bW10el8xNWRucXhjcGN6&amp;hl=en"&gt;the videoLength shell script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Don't forget to make both scripts executable: &lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;chmod a+x addPig.sh&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;chmod a+x videoLength.sh&lt;/span&gt;&lt;/span&gt;, save as videoLength.sh&lt;br /&gt;&lt;br /&gt;Script usage:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;./addPig.sh [inputEDLfile] [outputEDLfile]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ex.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;./addPig.sh testProject.xml trackAdded.xml&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You may want to load testProject.xml into Cinelerra first to see that it only has one track.  The script will create a new EDL file once it is run.  Once you run the script, load your output EDL into Cinelerra.  You should see the new track with the associated effects.  The track should be the same length as testProject's video track.  &lt;br /&gt;&lt;br /&gt;Most likely, though, you won't see the pig, just because the pig is not in the same asset directory as the EDL specifies.  Simply change pigAsset.txt to reference the pig into the proper directory, rerun the script and all should be good!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;These scripts definitely can be improved upon, especially by someone who has better tools than sed to manipulate XML.  But it was fun to automate a mundane task in Cinelerra.  Now I don't have to manually add that watermark to my project anymore and neither do you!&lt;br /&gt;&lt;br /&gt;the mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-7403257255586921861?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WgJKbaIWL9wxCbD1ACb2zg2vBvc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WgJKbaIWL9wxCbD1ACb2zg2vBvc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WgJKbaIWL9wxCbD1ACb2zg2vBvc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WgJKbaIWL9wxCbD1ACb2zg2vBvc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/vty-_COsGW8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/7403257255586921861/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=7403257255586921861" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7403257255586921861?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7403257255586921861?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/vty-_COsGW8/automating-repetitive-tasks-by.html" title="automating repetitive tasks by scripting Cinelerra, part II" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_bcLw_LVf5nA/S8O-KXq1gzI/AAAAAAAAA7k/k5gl4hSuTLw/s72-c/addPigPig.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/04/automating-repetitive-tasks-by.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEAQHg4eip7ImA9WxFVEUQ.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-1609167913048874244</id><published>2010-03-27T15:29:00.008-04:00</published><updated>2010-06-10T14:14:01.632-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-10T14:14:01.632-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="timelapse" /><category scheme="http://www.blogger.com/atom/ns#" term="aperature" /><category scheme="http://www.blogger.com/atom/ns#" term="canon 5d mark ii" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><title>timelapse in Cinelerra</title><content type="html">I've been playing around for the past few weeks with &lt;a href="http://www.ononesoftware.com/detail.php?prodLine_id=38"&gt;DSLR Remote&lt;/a&gt;, an iPhone app that allows you to control recent Canon or Nikon cameras remotely. DSLR Remote has an intervalometer, or timer, to allow you to take N number of photographs at T intervals. Once you take a bunch of photos, you can assemble them in Cinelerra to create a video of the change seen over time in the pictures, or timelapse.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Overview&lt;/span&gt;&lt;br /&gt;This is my first experimentation with timelapse; specifically, timelapses of clouds and nighttime city scenes. I'm using a Canon 5D Mark II. Timelapse has been a real challenge, as the camera must be setup for proper exposure. I'm generally satisfied with the result, but I think it can be improved upon once I figure out the proper exposure settings.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;An Education&lt;/span&gt;&lt;br /&gt;I have learned some basics over the eight or so timelapses I've done:&lt;br /&gt;1) don't use Automatic mode or full manual because the exposures vary quite a bit if the aperature (F Stop) or shutter speed change dramatically or conversely, don't change. Use aperature priority mode instead. Also, if the camera is in Auto mode, sometimes it will take time to change its settings. This will change the time interval between shots and make your final timelapse production jump around and jerky.&lt;br /&gt;&lt;br /&gt;From the EXIF data in the JPEGs that I took during a morning timelapse, you can see how my shutter speed bounces around as the sun rose over a period of about an hour (FStop and ISO were locked):&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre cinelerra]$ ./imageIdentifyFIsoShutter.sh /mnt/videos/projects/timelapse/Remote04639.jpg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:ExposureTime: 1/5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:FNumber: 11/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:ISOSpeedRatings: 640&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre cinelerra]$ ./imageIdentifyFIsoShutter.sh /mnt/videos/projects/timelapse/Remote05639.jpg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:ExposureTime: 1/100&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:FNumber: 11/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:ISOSpeedRatings: 640&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre cinelerra]$ ./imageIdentifyFIsoShutter.sh /mnt/videos/projects/timelapse/Remote06239.jpg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:ExposureTime: 1/500&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:FNumber: 11/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exif:ISOSpeedRatings: 640&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This can also blowout highlights and generally wash out the colors in the image, as shown in the latter half of this video:&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/M42XrevAwYw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/M42XrevAwYw&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;2) shoot in aperature priority mode with auto ISO on. Auto ISO will account for variations in lighting conditions, like when a cloud passes in front of the sun.&lt;br /&gt;&lt;br /&gt;3) make sure any lens stabilization is turned off, as this will make the frame jump around at times. This sounds counterintuitive, yes, but if the camera is on a tripod (as it should be for timelapse photography) a lens stabilizer will try to correct for movement that isn't present and will shift the frame around slightly. I figured this out after about five tries. (Yes, I am a doofus).&lt;br /&gt;&lt;br /&gt;4) turn off automatic white balancing as it will effect the exposure from frame to frame&lt;br /&gt;&lt;br /&gt;5) if you want to emphasize depth of field during day timelapses, make sure to get a neutral density filter. This will allow you to keep your aperature open wider, thus creating greater depth of field.&lt;br /&gt;&lt;br /&gt;6) slower shutter speeds slightly blur movement. For example, daytime time lapse photography of clouds seem smoother with a slower shutter speed. Again, try a neutral density filter to help slow down the shutter speed. Of course, slow shutter speeds are very cool for time lapse traffic shots.&lt;br /&gt;&lt;br /&gt;7) make sure your intervalometer is functioning properly. If it doesn't accurately time the snapshots, your final timelapse will look jerky and jump around once stitched together in Cinelerra.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Proper Interval&lt;/span&gt;&lt;br /&gt;My camera has a limitation of 999 total shots that can be taken. In my experiments, I found that to acheive a smooth movement of clouds in my timelapses, I should take a picture every two or three seconds. That means if I want to take a picture every two seconds (30 pictures per minute) and I have 999 total shots available, my timelapse will last for a period of 33.3 minutes (999 shots / 30 pictures/minute). Doesn't seem that long, does it? If I chose an interval between shots of three seconds, my timelapse would occur over 49.95 minutes (999 shots / 20 pictures/minute). That seems a little more useful.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Timelapse in Cinelerra&lt;/span&gt;&lt;br /&gt;Once I have my 999 images, I then stitch them together in Cinelerra at 60fps, 30fps or 15fps depending on my desired result..fast, medium or slower motion of whatever I was time lapsing. You'll need to do a bit of calculation to figure out at what duration (length) the images will be once imported into Cinelerra. That duration is set in Preferences -&gt; Recording (screen below). I've provided those calculations below:&lt;br /&gt;15 seconds = .0667&lt;br /&gt;30 seconds = .0333&lt;br /&gt;60 seconds = .0167&lt;br /&gt;&lt;br /&gt;Be aware that if you import that many JPEGs, and especially if the JPEGs are very large, the import can take a while. My source files were 5616x3744 and took about 15-20 minutes to load.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bcLw_LVf5nA/S65rD2tztSI/AAAAAAAAA7M/XFC2nsPwNOU/s1600/timelapseCInPref.png"&gt;&lt;img style="WIDTH: 302px; HEIGHT: 320px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5453413912763675938" border="0" alt="" src="http://3.bp.blogspot.com/_bcLw_LVf5nA/S65rD2tztSI/AAAAAAAAA7M/XFC2nsPwNOU/s320/timelapseCInPref.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's my acceptable timelapse..not the best..but getting there:&lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10482534&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=10482534&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Going forward, the one thing I'd like to acheive is to remove or limit the slight changes in exposure that occur every once in a while so that the timelapse flows smoothly from one frame to another.&lt;br /&gt;&lt;br /&gt;another work in progress..&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.jayfriesen.com/2010/03/canon-t2i550d-hdmi-output-footages/?dsq=41604944#disqus_thread"&gt;Canon 5D: Best Modes for Video and Photos&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-1609167913048874244?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/312kg3JkOR90Ww3VoK7WiyfB130/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/312kg3JkOR90Ww3VoK7WiyfB130/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/312kg3JkOR90Ww3VoK7WiyfB130/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/312kg3JkOR90Ww3VoK7WiyfB130/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/jyOQnn0SGWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/1609167913048874244/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=1609167913048874244" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/1609167913048874244?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/1609167913048874244?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/jyOQnn0SGWk/timelapse-in-cinelerra.html" title="timelapse in Cinelerra" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_bcLw_LVf5nA/S65rD2tztSI/AAAAAAAAA7M/XFC2nsPwNOU/s72-c/timelapseCInPref.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/03/timelapse-in-cinelerra.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YERHo5eCp7ImA9Wx9bEU4.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-5406123102376218051</id><published>2010-02-21T08:26:00.012-05:00</published><updated>2011-02-19T12:05:05.420-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-19T12:05:05.420-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="backup" /><category scheme="http://www.blogger.com/atom/ns#" term="multithreading" /><category scheme="http://www.blogger.com/atom/ns#" term="fsarchiver" /><title>fsarchiver, good backup for ext4 partitions</title><content type="html">Since I had &lt;a href="http://crazedmuleproductions.blogspot.com/2010/02/lost-root-partitionoops.html"&gt;lost my root partition the other day&lt;/a&gt; (!), I needed a decent method to backup my new ext4 partitions.  Since partimage does not currently support ext4, I found fsarchiver:&lt;br /&gt;&lt;a href="http://www.fsarchiver.org/"&gt;http://www.fsarchiver.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Overview&lt;/span&gt;&lt;br /&gt;I've partitioned my new 4.5TB drives this way:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/boot &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/root 3.7TB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/backup 800GB&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I formatted the backup filesystem as ext3.  This way, I can simply boot with a Fedora Live CD, mount the backup partition and backup my boot and root partitions to the backup.  Of course, I'll need to roll that backup off to another storage media.  But this strategy helps when I make major updates to my system because I can easily rollback to an earlier version that is stored locally.&lt;br /&gt;&lt;br /&gt;Most importantly, restore works!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Detail&lt;/span&gt;&lt;br /&gt;Here's what I did the other day to get 'er going.&lt;br /&gt;&lt;br /&gt;First, I booted to my Fedora Live CD.  It didn't have fsarchiver installed by default, so I did so. You need to become superuser to do this:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[liveuser@localhost ~]$ su&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# yum install fsarchiver&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Loaded plugins: presto, refresh-packagekit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Setting up Install Process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Resolving Dependencies&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--&gt; Running transaction check&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;---&gt; Package fsarchiver.i686 0:0.6.7-1.fc12 set to be updated&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--&gt; Finished Dependency Resolution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Dependencies Resolved&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;=============================================================================================================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; Package                                Arch                             Version                                   Repository                           Size&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;=============================================================================================================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Installing:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; fsarchiver                             i686                             0.6.7-1.fc12                              updates                              93 k&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Transaction Summary&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;=============================================================================================================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Install       1 Package(s)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Upgrade       0 Package(s)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Total download size: 93 k&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Is this ok [y/N]: y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Downloading Packages:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Transaction Test Succeeded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Installing     : fsarchiver-0.6.7-1.fc12.i686                                                                                                          1/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Installed:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  fsarchiver.i686 0:0.6.7-1.fc12                                                                                    &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Complete!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I created my backup directory and mounted it:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# mkdir /mnt/backup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# mount -t ext3 /dev/mapper/vg_ogre-lv_backup /mnt/backup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# ls /mnt/backup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lost+found   test.txt&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, I ran fsarchiver to do the backup and took advantage of its multithreaded capability:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# fsarchiver -j7 -o savefs /mnt/backup/lv_root_backup.fsa /dev/mapper/vg_ogre-lv_root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statistics for filesystem 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;* files successfully processed:....regfiles=306990, directories=31024, symlinks=16561, hardlinks=4157, specials=28&lt;br /&gt;* files with errors:...............regfiles=0, directories=0, symlinks=0, hardlinks=0, specials=0&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You could concatenate these steps into a script:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;[mule@ogre ~]$ cat systemBackup.sh &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;su - &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;yum install fsarchiver&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;mkdir /mnt/backup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;mount -t ext3 /dev/mapper/vg-ogre/lv_backup /mnt/backup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;fsarchiver -j7 -o savefs /mnt/backup/lv_root_backup.fsa /dev/mapper/vg_ogre-lv_root&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Voila!  In seven hours, I backed up approximately 450GB of data:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]$ ll /mnt/backup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;total 459289180&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;drwx------. 2 root root        16384 2010-02-10 20:09 lost+found&lt;br /&gt;-rw-r--r--. 1 root root 480252970629 2010-07-21 07:34 lv_root_backup.fsa&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Update:&lt;br /&gt;When my RAID set was not being checked, an fsarchive of about 760GB took 3.5 hours.  Not bad!&lt;br /&gt;***end update***&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Restore&lt;/span&gt;&lt;br /&gt;Restore works in a similar way.  Since fsarchiver allows you to backup multiple filesystems within one archive, you need to specify which filesystem is getting restored:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;fsarchiver restfs /mnt/backup/lv_root_backup.fsa id=0,dest=/dev/mapper/vg_ogre-lv_root&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nice.&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://www.fsarchiver.org/QuickStart"&gt;http://www.fsarchiver.org/QuickStart&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-5406123102376218051?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mIz9uMEQcGyIchC2hp7iVyom0_o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mIz9uMEQcGyIchC2hp7iVyom0_o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mIz9uMEQcGyIchC2hp7iVyom0_o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mIz9uMEQcGyIchC2hp7iVyom0_o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/-VSjEMSlHZY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/5406123102376218051/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=5406123102376218051" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5406123102376218051?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5406123102376218051?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/-VSjEMSlHZY/fsarchiver-good-backup-for-ext4.html" title="fsarchiver, good backup for ext4 partitions" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/02/fsarchiver-good-backup-for-ext4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMHSXg_eSp7ImA9WhRXEk4.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-5762239834857277726</id><published>2010-02-11T20:47:00.010-05:00</published><updated>2011-12-18T15:00:38.641-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-18T15:00:38.641-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="x86-64" /><category scheme="http://www.blogger.com/atom/ns#" term="faac" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora 12" /><title>compiling Cinelerra on Fedora 12, x86-64 from source</title><content type="html">Happily, I'm over the hurdle with &lt;a href="http://crazedmuleproductions.blogspot.com/2010/01/fedora-12-x86-64-upgrade.html"&gt;my server rebuild from Fedora 10 to Fedora 12&lt;/a&gt; and have successfully built Cinelerra from source on my Fedora 12, x86-64 box!  Yes!&lt;br /&gt;
&lt;br /&gt;
The install was generally smooth, with the exception of  a minor glitch: as aac encoding is proprietary, ffmpeg does not include faac support.  Doh!  So, you'll need to compile and install ffmpeg with faac support from source as per these excellent instructions from Doran:&lt;br /&gt;
&lt;a href="http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html"&gt;http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;RPM Fusion Yo!&lt;/span&gt;&lt;br /&gt;
Note that you'll need &lt;span style="font-style: italic;"&gt;both the free and non-free repositories&lt;/span&gt; from RPM Fusion enabled in yum.  Don't use the ATrpms repos if you're going to compile from source.  I've had strange system problems when I've used them in combination with the Fusion repos.&lt;br /&gt;
&lt;br /&gt;
So here's the deal..&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Summary Steps to Installing Cinelerra from Source&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;download source code&lt;/li&gt;
&lt;li&gt;install dependencies for ffmpeg compile&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html"&gt;compile ffmpeg with faac support for fedora 12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;install rest of Cinelerra dependencies&lt;/li&gt;
&lt;li&gt;compile cinelerra&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Detailed Steps to Installing Cinelerra from Source&lt;/span&gt;&lt;br /&gt;
1. Get the Cinelerra source code&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;git clone git://git.cinelerra.org/j6t/cinelerra.git my_cinelerra  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
2. Install dependencies for ffmpeg compile&lt;br /&gt;
Feel free to use the following script (don't forget to &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;chmod a+x&lt;/span&gt;&lt;/span&gt; it!):&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;yum install dirac-devel faac-devel faad2-libs gsm-* imlib2-devel lame-libs* libdc1394-devel libvdpau-devel openjpeg-devel schroedinger-devel speex-devel texi2html x264-* xvidcore-* yasm&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
3. &lt;a href="http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html"&gt;Compile ffmpeg with faac support&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Highlights&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer&amp;nbsp;~]$ yumdownloader --source ffmpeg&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer&amp;nbsp;~]$ rpm -ivh ffmpeg-0.7.6-1.fc15.src.rpm&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer&amp;nbsp;~]$ vi rpmbuild/SPECS/ffmpeg.spec&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer&amp;nbsp;~]$ rpmbuild -ba ~/rpmbuild/SPECS/ffmpeg.spec --with faac&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer ~]$ cd rpmbuild/RPMS/&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer RPMS]$ cd x86_64/&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer x86_64]$ ls -ltr&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;total 39164&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;-rw-rw-r--. 1 sodo sodo &amp;nbsp;259049 Dec 18 14:56 ffmpeg-0.7.6-1.fc15_fozz.x86_64.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;-rw-rw-r--. 1 sodo sodo 3138877 Dec 18 14:56 ffmpeg-libs-0.7.6-1.fc15_fozz.x86_64.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;-rw-rw-r--. 1 sodo sodo &amp;nbsp;166417 Dec 18 14:56 ffmpeg-devel-0.7.6-1.fc15_fozz.x86_64.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;-rw-rw-r--. 1 sodo sodo 9860213 Dec 18 14:56 ffmpeg-debuginfo-0.7.6-1.fc15_fozz.x86_64.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sodo@computer x86_64]$ sudo rpm -Uvh ffmpeg-libs-0.7.6-1.fc15_fozz.x86_64.rpm ffmpeg-0.7.6-1.fc15_fozz.x86_64.rpm ffmpeg-devel-0.7.6-1.fc15_fozz.x86_64.rpm ffmpeg-debuginfo-0.7.6-1.fc15_fozz.x86_64.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;[sudo] password for sodo:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Preparing... &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;########################################### [100%]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;1:ffmpeg-libs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;########################################### [ 25%]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;2:ffmpeg &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ########################################### [ 50%]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;3:ffmpeg-devel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ########################################### [ 75%]&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;4:ffmpeg-debuginfo &amp;nbsp; &amp;nbsp; &amp;nbsp; ########################################### [100%]&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
4. Install rest of Cinelerra dependencies&lt;br /&gt;
Feel free to use the following script (don't forget to &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;chmod a+x&lt;/span&gt;&lt;/span&gt; it!):&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;yum install gsm-devel libvorbis* libogg* libtool* libtheora* libpng* libjpeg* libtiff* esound* audiofile* libraw1394* libavc1394* freetype* fontconfig* nasm e2fsprogs* OpenEXR* fftw fftw-devel libsndfile* libiec61883* libdv* libquicktime ffmpeg xvidcore* lame lame-devel a52* faad2* x264* mjpegtools* faac* vlc*&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
5. Compile Cinelerra&lt;br /&gt;
If you used the same default directory when you downloaded the source code, cd into that directory and type:&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;./autogen.sh&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This will build your configuration files.  Next, to configure Cinelerra with default options, type:&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;./configure&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If you want to customize your configuration, just type "&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;./configure --help&lt;/span&gt;&lt;/span&gt;".  At which point, configure will spill its guts to you about all &lt;a href="http://heroinewarrior.com/cinelerra/cinelerra.html"&gt;the Secrets of Cinelerra&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Then, to compile the code, run:&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;make&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If you have multiple processors, you can even run "&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;make -j N&lt;/span&gt;&lt;/span&gt;" where "N" is the number of processors you have minus one.&lt;br /&gt;
&lt;br /&gt;
Finally, if make was successful or you are just feeling good about yourself, go ahead and install Cinelerra:&lt;br /&gt;
&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: 'courier new';"&gt;make install&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Hopefully, this post has gotten you started on your way to using Cinelerra, Linux's "&lt;a href="http://heroinewarrior.com/cinelerra.php"&gt;50,000 watt flamethrower of multimedia of editing&lt;/a&gt;"&lt;br /&gt;
&lt;br /&gt;
Much thanks to Jack Crossfire, our patron saint of compositing code.&lt;br /&gt;
&lt;br /&gt;
the mule&lt;br /&gt;
&lt;br /&gt;
Reference&lt;br /&gt;
Don't forget &lt;a href="http://cinelerra.org/docs.php"&gt;to read the manual&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-5762239834857277726?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gScow_1CgX7oHoqlbTRxvRG6Xig/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gScow_1CgX7oHoqlbTRxvRG6Xig/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gScow_1CgX7oHoqlbTRxvRG6Xig/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gScow_1CgX7oHoqlbTRxvRG6Xig/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/ULmADUADhI8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/5762239834857277726/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=5762239834857277726" title="12 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5762239834857277726?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5762239834857277726?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/ULmADUADhI8/fedora-12-x86-64-cinelerra-install.html" title="compiling Cinelerra on Fedora 12, x86-64 from source" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>12</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/02/fedora-12-x86-64-cinelerra-install.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IAQ3o7eip7ImA9Wx5WEkk.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-453804087394751180</id><published>2010-02-06T18:29:00.015-05:00</published><updated>2010-09-23T09:45:42.402-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-23T09:45:42.402-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fedora 12 live cd" /><category scheme="http://www.blogger.com/atom/ns#" term="parted" /><category scheme="http://www.blogger.com/atom/ns#" term="raid" /><category scheme="http://www.blogger.com/atom/ns#" term="filesystem check" /><category scheme="http://www.blogger.com/atom/ns#" term="e2fsck" /><category scheme="http://www.blogger.com/atom/ns#" term="gpt" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora 12" /><title>lost root partition..oops.</title><content type="html">&lt;div&gt;I was running some disk performance statistics on the new Fedora 12 64-bit yesterday according to the very good benchmarking article on 3ware's site:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.3ware.com/kb/attachments/Linux2.6WP_0701.pdf"&gt;Benchmarking the 3ware 9000 Controller Using Linux Kernel 2.6&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Benchmarking&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was benchmarking the write performance of my RAID set when it seemed to stall out.  The process I was running was writing a bunch of zeros to a 20 gigabyte file.  I believe the stall was due to the fact that my RAID controller card's battery was disconnected; hence, write-cacheing was disabled.&lt;br /&gt;&lt;br /&gt;I let the process try to finish for four hours.  I figured it should have finished writing that 20GB file by that time.   However, the fact that the system was still slow to non-responsive indicated that activity was still taking place.  But, being an impetuous fool, I was anxious to get working on some video and also thought it might be an interesting test of the resilience of the ext4 filesystem if I just shut the system down.  So I as a soft reboot did not do the trick, I hard powered the box off.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sleeping the Sleep of the Dead&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In retrospect, I should have let the box finish whatever it was doing, because as you may have guessed it, the box didn't come back up.  Here was the first indication from the kernel messages:&lt;/div&gt;&lt;div  style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;Boot has failed..sleeping forever&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And in the dmesg output:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:'courier new';font-size:100%;"&gt;&lt;span class="Apple-style-span"&gt;can't mount root filesystem&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:'courier new';font-size:100%;"&gt;&lt;span class="Apple-style-span"&gt;can't access tty job control turned off&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Woops.  Dracut did find my volume group:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;dracut: 2 logical voumes in "vg_ogre" now active&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Something was wrong with the root filesystem mount:&lt;/div&gt;&lt;div style="font-family: courier new;"&gt;mount: you must specify the filesystem type&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just in case, I rebooted with the following kernel parameters in grub to see more debugging and to drop me to an emergency shell to see if I could debug the problem:&lt;/div&gt;&lt;div style="font-family: courier new;"&gt;kernel .. debug rdshell&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What Up, ext4?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oh boy.  So, ext4 is not as resilient as I believed.  I thought the best course of action would be to load up Fedora Live, and look at the disk stats.  Since fdisk does not work with GPT partitions, I used parted and thought that I'd use e2fsck to fix any bad blocks.  After booting the Live CD, here's what I found:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The swap drive seemed in tact (oh, great):&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[liveuser@localhost ~]$ dmesg | grep vg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;vgaarb: loaded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Adding 12369912k swap on /dev/mapper/vg_ogre-lv_swap.  Priority:-1 extents:1 across:12369912k&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I thought I'd try to manually mount my / partition.  I had to become superuser in order to do this:&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[liveuser@localhost ~]$ su&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# mkdir /mnt/root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# mount -t ext4 /dev/mapper/vg_ogre-lv_root /mnt/root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mount: wrong fs type, bad option, bad superblock on /dev/mapper/vg_ogre-lv_root,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  missing codepage or helper program, or other error&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  In some cases useful info is found in syslog - try&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  dmesg | tail  or so&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dmesg tells me what I already know:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# dmesg | tail&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[drm] nouveau 0000:07:00.0:     0x00409910: 0x3fbf3fdb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[drm] nouveau 0000:07:00.0:     0x00409e08: 0x0002dea8&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[drm] nouveau 0000:07:00.0:     0x00409e0c: 0x00000000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[drm] nouveau 0000:07:00.0:     0x00409e24: 0x0a21026f&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;EXT4-fs (dm-2): VFS: Can't find ext4 filesystem&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;I just want to see what fdisk reads about my hardware RAID5 array (3ware 9650SE):&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# fdisk -l /dev/sda&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;WARNING: The size of this disk is 4.5 TB (4499967049728 bytes).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DOS partition table format can not be used on drives for volumes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;partition table format (GPT).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Disk /dev/sda: 4500.0 GB, 4499967049728 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;255 heads, 63 sectors/track, 547089 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Disk identifier: 0x000f0844&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Device Boot      Start         End      Blocks   Id  System&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda1               1      267350  2147483647+  ee  GPT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What does parted see about /dev/sda?&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# parted /dev/sda print&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Model: AMCC 9650SE-4LP DISK (scsi)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Disk /dev/sda: 4500GB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Sector size (logical/physical): 512B/512B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Partition Table: gpt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Number  Start   End     Size    File system  Name  Flags&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1      17.9kB  210MB   210MB   ext4               boot&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2      210MB   4500GB  4500GB                     lvm&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At least the partition is there.  But it looks like parted does not have support for checking ext4 filesystems yet:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# parted /dev/sda&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;GNU Parted 1.9.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Using /dev/sda&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Welcome to GNU Parted! Type 'help' to view a list of commands.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(parted) check 1                                                    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;No Implementation: Support for opening ext4 file systems is not implemented yet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(parted) check 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Error: Could not detect file system.                                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(parted) quit                                                       &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;e2fsck bound!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let me run e2fsck (which does have support for ext4 filesystems) and see if I can fix the problem:&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# e2fsck&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Usage: e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   [-I inode_buffer_blocks] [-P process_inode_size]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   [-l|-L bad_blocks_file] [-C fd] [-j external_journal]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   [-E extended-options] device&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Emergency help:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-p                   Automatic repair (no questions)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-n                   Make no changes to the filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-y                   Assume "yes" to all questions&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-c                   Check for bad blocks and add them to the badblock list&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-f                   Force checking even if filesystem is marked clean&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-v                   Be verbose&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-b superblock        Use alternative superblock&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-B blocksize         Force blocksize when looking for superblock&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-j external_journal  Set location of the external journal&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-l bad_blocks_file   Add to badblocks list&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-L bad_blocks_file   Set badblocks list&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My skills at e2fsck are pretty basic.  I use the -n option to make no changes while I review what e2fsck finds out about the array:&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# e2fsck -n /dev/mapper/vg_ogre-lv_root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e2fsck 1.41.9 (22-Aug-2009)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e2fsck: Superblock invalid, trying backup blocks...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Superblock has an invalid journal (inode 8).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Clear? no&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e2fsck: Illegal inode number while checking ext3 journal for /dev/mapper/vg_ogre-lv_root&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Invalid journal..oops.&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# e2fsck -v /dev/mapper/vg_ogre-lv_root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e2fsck 1.41.9 (22-Aug-2009)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e2fsck: Superblock invalid, trying backup blocks...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Superblock has an invalid journal (inode 8).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Clear&lt;/span&gt;&lt;/span&gt;&lt;y&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;?y&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I had thought that ext4 gave us the safety of a journalled filesystem (like ext3) with increased performance.  You would have thought it could have recovered from being shutdown while writing a bunch of zeros to a 20 gigabyte file.&lt;br /&gt;&lt;br /&gt;And then of course, hundreds to thousands of these various errors:&lt;br /&gt;&lt;/y&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Group descriptor 32923 checksum is invalid.  FIXED.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Entry 'e61abf8156cc476151baa07d67337cae-le64.cache-3' in ??? (57347) has deleted/unused inode 212.  Clear&lt;/span&gt;&lt;y style="font-family: courier new;"&gt;? yes&lt;br /&gt;&lt;br /&gt;Unconnected directory inode 98305 (...)&lt;br /&gt;Connect to /lost+found&lt;y&gt;? yes&lt;br /&gt;&lt;br /&gt;Free blocks count wrong for group #138 (32768, counted=557).&lt;br /&gt;Fix&lt;y&gt;? yes&lt;br /&gt;&lt;br /&gt;Free inodes count wrong for group #308 (8192, counted=8186).&lt;br /&gt;Fix&lt;y&gt;? yes&lt;br /&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Directories count wrong for group #308 (0, counted=6).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Fix? yes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally..at the bottom of the list of errors:&lt;br /&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Recreate journal&lt;/span&gt;&lt;/span&gt;&lt;y&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;? yes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Creating journal (32768 blocks): yyyyyyy Done.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*** journal has been re-created - filesystem is now ext3 again ***&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/mapper/vg_ogre-lv_root: ***** FILE SYSTEM WAS MODIFIED *****&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;327475 inodes used (0.12%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  585 non-contiguous files (0.2%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  130 non-contiguous directories (0.0%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # of inodes with ind/dind/tind blocks: 0/0/0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      Extent depth histogram: 310327/414/1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;239381919 blocks used (21.85%)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0 bad blocks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   42 large files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;283167 regular files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;27385 directories&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0 character device files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0 block device files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0 fifos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 3953 links&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;16849 symbolic links (16659 fast symbolic links)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   63 sockets&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;331417 files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Result?&lt;/span&gt;&lt;br /&gt;So let's see if I have files in tact after that 18 hour experience..&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# mount -t ext4 /dev/mapper/vg_ogre-lv_root /mnt/root/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# ls /mnt/root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lost+found&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# ls /mnt/root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lost+found&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# ls /mnt/root/lost+found/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;*348489 *723483 324843 238390&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;y&gt;Ah..that would be a "no."  Time to reinstall F12.  Ugh.  Lesson learned.  But I need to know why I couldn't recover a journal.  Maybe I did not look in the right place.  I need to understand journalling better.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Things I Learned Along the Way&lt;/span&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Some boot info from the Live CD&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[root@localhost liveuser]# grep EFI_ /boot/config-2.6.31.5-127.fc12.i686&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CONFIG_EFI_VARS=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CONFIG_EFI_PARTITION=y&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;You can force a filesystem check upon the next reboot with this command:&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(70, 73, 77);font-family:verdana, arial, helvetica, sans-serif;font-size:11px;"&gt;&lt;pre   style="margin: 0px; padding: 0px; font-weight: normal; list-style-type: none;  font-family:courier new;font-size:1.2em;"&gt;&lt;span style="font-size:85%;"&gt;shutdown -rF now&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;You can run verbose debug messages and drop to an emergency shell by placing these commands on the kernel line in grub:&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(70, 73, 77);font-family:verdana, arial, helvetica, sans-serif;font-size:11px;"&gt;&lt;pre   style="margin: 0px; padding: 0px; font-weight: normal; list-style-type: none;  font-family:courier new;font-size:1.2em;"&gt;&lt;span style="font-size:85%;"&gt;kernel /vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=/dev/mapper/vg_ogre-lv_root debug rdshell&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;References&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/div&gt;&lt;div&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;y&gt;&lt;a href="http://ext4.wiki.kernel.org/index.php/Ext4_Howto"&gt;Ext4 Howto - Ext4&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.fedoraforum.org/showthread.php?t=228191"&gt;Recover lost partition table on GPT using testdisk&lt;/a&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/y&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cgsecurity.org/wiki/TestDisk:_undelete_file_for_ext2"&gt;TestDisk - Undelete file for ext2&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cyberciti.biz/tips/fdisk-unable-to-create-partition-greater-2tb.html"&gt;Linux Creating a Partition Size Larger than 2TB&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://fedoraproject.org/wiki/Common_F12_bugs"&gt;Fedora 12 common bugs&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-453804087394751180?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XBBDb8fXawEX2aetZK0KAxYkyXU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XBBDb8fXawEX2aetZK0KAxYkyXU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XBBDb8fXawEX2aetZK0KAxYkyXU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XBBDb8fXawEX2aetZK0KAxYkyXU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/tJ31nxa1t4s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/453804087394751180/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=453804087394751180" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/453804087394751180?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/453804087394751180?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/tJ31nxa1t4s/lost-root-partitionoops.html" title="lost root partition..oops." /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/02/lost-root-partitionoops.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MNRXY7eCp7ImA9Wx5XEkw.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-9029102321871267843</id><published>2010-02-04T20:13:00.009-05:00</published><updated>2010-09-11T11:38:14.800-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-11T11:38:14.800-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="test video" /><category scheme="http://www.blogger.com/atom/ns#" term="accumulate" /><category scheme="http://www.blogger.com/atom/ns#" term="time average" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><title>time average video effect</title><content type="html">Time average is a neat effect.  It takes a number of frames of video to average or accumulate. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bcLw_LVf5nA/S2txfTMA2eI/AAAAAAAAA6o/5-ROw8-2wrg/s1600-h/cinelerraTimeAverage.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 218px; height: 235px;" src="http://3.bp.blogspot.com/_bcLw_LVf5nA/S2txfTMA2eI/AAAAAAAAA6o/5-ROw8-2wrg/s320/cinelerraTimeAverage.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5434562157893179874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;:averaging&lt;/span&gt;&lt;br /&gt;In the below video, I show averaging.  Averaging lots of frames gives a very ghost-like effect.  Average very few frames shows trails of whatever movement is happening.  Medium settings are like you've had too much to drink.&lt;br /&gt;&lt;br /&gt;&lt;object width="600" height="462"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9219505&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9219505&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="462"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;a href="http://vimeo.com/9219505"&gt;Cinelerra time average effect&lt;/a&gt; from &lt;a href="http://vimeo.com/crazedmule"&gt;crazed mule&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;:accumulate&lt;/span&gt;&lt;br /&gt;A second option called Accumulation is just that..stacking one frame on top of the other.  If the scene in the frame is well lit, the frame will blowout..make it so bright that all detail will be lost.  The detail gets lost quickly too, when just a few frames are being accumulated.  Accumulate is more useful for extremely dark scenes, like making very distant stars become more visible, as in the example below.  In the example, I show the original and the time averaged result:&lt;br /&gt;&lt;br /&gt;&lt;object width="600" height="462"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=14880325&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=14880325&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="462"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;a href="http://vimeo.com/14880325"&gt;Cinelerra time average effect: accumulate&lt;/a&gt; from &lt;a href="http://vimeo.com/crazedmule"&gt;crazed mule&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is another time averaging parameter called "Inclusion Or" that I have not used.  It is explained in the link to the manual below as are the two options "Reprocess Frame Again" and "Disable Subtraction."&lt;br /&gt;&lt;br /&gt;cheers,&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://cinelerra.org/docs/split_manual_en/cinelerra_cv_manual_en_14.html"&gt;Cinelerra User Manual&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-9029102321871267843?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uMdqf1y8OPGhWx0P31PYEcC_eYY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uMdqf1y8OPGhWx0P31PYEcC_eYY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uMdqf1y8OPGhWx0P31PYEcC_eYY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uMdqf1y8OPGhWx0P31PYEcC_eYY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/1PAVvY7s1ck" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/9029102321871267843/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=9029102321871267843" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/9029102321871267843?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/9029102321871267843?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/1PAVvY7s1ck/time-average-video-effect.html" title="time average video effect" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_bcLw_LVf5nA/S2txfTMA2eI/AAAAAAAAA6o/5-ROw8-2wrg/s72-c/cinelerraTimeAverage.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/02/time-average-video-effect.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEAQ3Yzfip7ImA9WxFWEEo.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-422079776169950483</id><published>2010-01-30T12:14:00.005-05:00</published><updated>2010-05-28T15:07:22.886-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-28T15:07:22.886-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="shell scripts" /><category scheme="http://www.blogger.com/atom/ns#" term="mpeg3toc" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="script" /><title>mpeg toc maker</title><content type="html">I got tired of having Cinelerra hang while create table of contents files for a list MPEG videos.  So I wrote my own script to create the table of contents files for a list of MPEGs in a directory.  Once you specify the LIST, the script plops the table of contents files in your users' .bcast directory in ~/.bcast.&lt;br /&gt;&lt;br /&gt;I output the file name, start time, end time and elapsed time for the table of contents creation.  This output looks like this:&lt;pre&gt;&lt;br /&gt;SCRIPTSTART:                  20100130_121201&lt;br /&gt;       FILE:                     mvi_0703.m2t      START: 20100130_121201        END: 20100130_121204    TIME(s):       3&lt;br /&gt;       FILE:                     mvi_0705.m2t      START: 20100130_121204        END: 20100130_121222    TIME(s):      18&lt;br /&gt;       FILE:                     mvi_0706.m2t      START: 20100130_121222        END: 20100130_121255    TIME(s):      33&lt;br /&gt;       FILE:                     mvi_0708.m2t      START: 20100130_121255        END: 20100130_121325    TIME(s):      30&lt;br /&gt;       FILE:                     mvi_0709.m2t      START: 20100130_121325        END: 20100130_121341    TIME(s):      16&lt;br /&gt;       FILE:                     mvi_0710.m2t      START: 20100130_121341        END: 20100130_121347    TIME(s):       6&lt;br /&gt;       FILE:                     mvi_0711.m2t      START: 20100130_121347        END: 20100130_121401    TIME(s):      14&lt;br /&gt;       FILE:                     mvi_0713.m2t      START: 20100130_121401        END: 20100130_121403    TIME(s):       2&lt;br /&gt;       FILE:                     mvi_0714.m2t      START: 20100130_121403        END: 20100130_121415    TIME(s):      12&lt;br /&gt;       FILE:                     mvi_0715.m2t      START: 20100130_121415        END: 20100130_121415    TIME(s):       0&lt;br /&gt;       FILE:                     mvi_0716.m2t      START: 20100130_121416        END: 20100130_121416    TIME(s):       0&lt;br /&gt;       FILE:                     mvi_0717.m2t      START: 20100130_121416        END: 20100130_121421    TIME(s):       5&lt;br /&gt;       FILE:                     mvi_0718.m2t      START: 20100130_121421        END: 20100130_121442    TIME(s):      21&lt;br /&gt;       FILE:                     mvi_0719.m2t      START: 20100130_121442        END: 20100130_121442    TIME(s):       0&lt;br /&gt;       FILE:                     mvi_0720.m2t      START: 20100130_121442        END: 20100130_121446    TIME(s):       4&lt;br /&gt;       FILE:                     mvi_0721.m2t      START: 20100130_121446        END: 20100130_121449    TIME(s):       3&lt;br /&gt;       FILE:                     mvi_0722.m2t      START: 20100130_121449        END: 20100130_121454    TIME(s):       5&lt;br /&gt;       FILE:                     mvi_0724.m2t      START: 20100130_121454        END: 20100130_121455    TIME(s):       1&lt;br /&gt;       FILE:                     mvi_0725.m2t      START: 20100130_121455        END: 20100130_121507    TIME(s):      12&lt;br /&gt;       FILE:                     mvi_0727.m2t      START: 20100130_121507        END: 20100130_121515    TIME(s):       8&lt;br /&gt;       FILE:                     mvi_0728.m2t      START: 20100130_121515        END: 20100130_121531    TIME(s):      16&lt;br /&gt;       FILE:                     mvi_0730.m2t      START: 20100130_121531        END: 20100130_121534    TIME(s):       3&lt;br /&gt;       FILE:                     mvi_0731.m2t      START: 20100130_121534        END: 20100130_121535    TIME(s):       1&lt;br /&gt;  SCRIPTEND:                  20100130_121535 RUNTIME(s):             213&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;*** Update 2010/05/28 ***&lt;/span&gt;&lt;br /&gt;I added a little logic to the beginning of the script that checks for the presence of a single argument to the script.  That argument is the name of a single file to convert.  So now, you have two choices:&lt;br /&gt;1) convert a list of mpeg files as specified in the LIST variable or&lt;br /&gt;2) convert a single file via the command line like so:&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  ./tocMaker.sh videoToConvert.m2t&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;*** end update ***&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is the script:&lt;pre&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# tocMaker.sh&lt;br /&gt;# Author: SCF&lt;br /&gt;# Website: http://crazedmuleproductions.blogspot.com&lt;br /&gt;#&lt;br /&gt;# Purpose: This script builds the table of contents files for a list of mpeg files&lt;br /&gt;#&lt;br /&gt;# Input: List of mpeg files as specified in the LIST variable or a single file via command line like so:&lt;br /&gt;#  ./tocMaker.sh videoToConvert.m2t&lt;br /&gt;#&lt;br /&gt;# Output: Runs mpeg3toc and puts toc's in your users' .bcast directory&lt;br /&gt;#&lt;br /&gt;DEBUG=&lt;br /&gt;if [ $1 ]&lt;br /&gt;then&lt;br /&gt; LIST=$1&lt;br /&gt;else&lt;br /&gt; LIST="*.m2t"&lt;br /&gt;fi&lt;br /&gt;echo "converting $LIST"&lt;br /&gt;TOTALTIME=0&lt;br /&gt;function dt {&lt;br /&gt;       DATE=$(date +"%Y%m%d_%H%M%S")&lt;br /&gt;       echo $DATE&lt;br /&gt;}&lt;br /&gt;function st {&lt;br /&gt;       SECONDS=$(date +%s)&lt;br /&gt;       echo $SECONDS&lt;br /&gt;}&lt;br /&gt;PWD=$(pwd)&lt;br /&gt;DIR=$(echo $PWD | sed 's/\//_/g' | sed 's/^_//g')&lt;br /&gt;&lt;br /&gt;SCRIPTSTART=$(dt)&lt;br /&gt;printf "%13s %32s\n" "SCRIPTSTART:" $SCRIPTSTART&lt;br /&gt;&lt;br /&gt;for FILE in $(ls -1 $LIST)&lt;br /&gt;do&lt;br /&gt;       START=$(dt)&lt;br /&gt;       COUNTBEGIN=$(st)&lt;br /&gt;       NEWFILE=$(echo $FILE | sed 's/\./_/g')&lt;br /&gt;       FULLPATH="${DIR}_${NEWFILE}.toc"&lt;br /&gt;       ORIG_PATH="$PWD/$FILE"&lt;br /&gt;       if [ $DEBUG ]&lt;br /&gt;       then&lt;br /&gt;               echo "$FILE was: $FILE, is: $NEWFILE"&lt;br /&gt;               echo "FULLPATH is $FULLPATH"&lt;br /&gt;               echo "command is mpeg3toc $ORIG_PATH ~/.bcast/$FULLPATH"&lt;br /&gt;       fi&lt;br /&gt;       mpeg3toc $ORIG_PATH ~/.bcast/$FULLPATH&lt;br /&gt;       END=$(dt)&lt;br /&gt;       COUNTFINISH=$(st)&lt;br /&gt;       ELAPSED=$(expr $COUNTFINISH - $COUNTBEGIN)&lt;br /&gt;       printf "%13s %32s %11s %15s %11s %15s %11s %7d\n" "FILE:" $FILE "START:" $START "END:" $END "TIME(s):" $ELAPSED&lt;br /&gt;       TOTALTIME=$(expr $ELAPSED + $TOTALTIME)&lt;br /&gt;done&lt;br /&gt;SCRIPTEND=$(dt)&lt;br /&gt;printf "%13s %32s %11s %15d\n" "SCRIPTEND:" $SCRIPTEND "RUNTIME(s):" $TOTALTIME&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;cheers,&lt;br /&gt;the mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-422079776169950483?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/y2LWqg7IJZW0945YPPU67h77sfE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y2LWqg7IJZW0945YPPU67h77sfE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/y2LWqg7IJZW0945YPPU67h77sfE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y2LWqg7IJZW0945YPPU67h77sfE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/5OjrPKyoYTo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/422079776169950483/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=422079776169950483" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/422079776169950483?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/422079776169950483?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/5OjrPKyoYTo/mpeg-toc-maker.html" title="mpeg toc maker" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/01/mpeg-toc-maker.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUINQn4yeCp7ImA9WxBXGEo.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-7329486481860070039</id><published>2010-01-27T01:26:00.016-05:00</published><updated>2010-01-30T13:53:13.090-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-30T13:53:13.090-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="batch render" /><category scheme="http://www.blogger.com/atom/ns#" term="gnuplot" /><category scheme="http://www.blogger.com/atom/ns#" term="test video" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><title>batch render redux</title><content type="html">As a follow up to this original post, I thought I'd give a few hints on working with the batch render function in Cinelerra.  I've been using the batch render to prepare me for my new Fedora 12, x86-64 system.  Specifically, I am using batch render to profile the capacity and speed of my current Fedora 10 system.  After I install the new Fedora 12 system, I can then use the Fedora 10 performance baseline to tell me how much faster (or slower) the new system is in relation to the old system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Selecting a Cinelerra Project&lt;/span&gt;&lt;br /&gt;The first thing I did was use a short (~1 min) clip of a project that I had been working on:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bcLw_LVf5nA/S2D3obrXLLI/AAAAAAAAA6g/4DUgdmRSUZQ/s1600-h/cinelerraShortClip.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 252px;" src="http://3.bp.blogspot.com/_bcLw_LVf5nA/S2D3obrXLLI/AAAAAAAAA6g/4DUgdmRSUZQ/s320/cinelerraShortClip.png" alt="" id="BLOGGER_PHOTO_ID_5431613424605277362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I then used this project to output a short clip as the basis for the batch render:&lt;br /&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/B98C8pSfHP0&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/B98C8pSfHP0&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Batch render is accessed by typing Shift-B within Cinelerra:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S2DtR7u4FAI/AAAAAAAAA6Q/FZ1gjkZaLDA/s1600-h/cinelerraBatchRenderDialog.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 186px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S2DtR7u4FAI/AAAAAAAAA6Q/FZ1gjkZaLDA/s320/cinelerraBatchRenderDialog.png" alt="" id="BLOGGER_PHOTO_ID_5431602042956682242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can save a batch render list to XML format.  This format is similar to the XML of the edit decision list (EDL) that Cinelerra stores when a project is saved.  You can then load that XML to use later.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Batch Render Gotchas&lt;/span&gt;&lt;br /&gt;I used a previous batch list to render out that short clip to about twenty different file formats.  The batch render blew up a few times, so I had to get over a few obstacles:&lt;br /&gt;1) the batch list I had saved months ago was out of date and the directory pointers in the XML were incorrect.  I fixed the incorrect pointers by going into the vi text editor and doing a wholesale conversion with a sed construct:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;:1,$ s/videos\/oldpath/videos\/newpath/g&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1,$ says look for and make replacements on all lines.  s means "search for.."  The matching expression looks for the string "videos/oldpath" in the file and replaces it with "videos/newpath".  g means "do the replacement globally"&lt;br /&gt;&lt;br /&gt;2) my project had an improperly formatted Quicktime video track on the timeline.  I kept getting Quicktime errors when the batch ran, which would crash Cinelerra.  Once I removed that errant track, the batch render worked correctly.&lt;br /&gt;&lt;br /&gt;3) once I got the batch running, my disk would fill up quickly as I was rendering to a few uncompressed formats.  I deleted some very large, extraneous files and the batch was able to complete.&lt;br /&gt;&lt;br /&gt;So you can see that you need to prepare both the base project and your system if you expect your batch render to run properly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Command Line Batching&lt;/span&gt;&lt;br /&gt;Once you get your batch working, another nice feature of batch rendering you can take advantage of is the ability of Cinelerra to do this at a command line.  I just kicked off a batch job at the command line and see that it does work on a box with X installed.  Nicely, it also give you an ETA:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[sodo@tbear ~]$ cinelerra -r /mnt/videos/cinelerra/batch/batchList.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/mnt/videos/cinelerra/batch/renderCompatibility.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Cinelerra 2.1CV (C) 2006 Heroine Virtual Ltd.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Compiled on Sat Jan 23 01:32:17 EST 2010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Cinelerra is free software, covered by the GNU General Public License,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and you are welcome to change it and/or distribute copies of it under&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;certain conditions. There is absolutely no warranty for Cinelerra.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Render::run: /mnt/videos/cinelerra/batch/renderCompatibility.xml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Render::render: starting render farm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg4 @ 0x7ff313d3ba00]warning: first frame is no keyframe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg4 @ 0x7ff313d3ba00]concealing 1 DC, 1 AC, 1 MV errors&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;12% ETA: 0:07:45&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Batch Results&lt;/span&gt;&lt;br /&gt;So my goal was to profile my current system's capacity by capturing the system's cpu and disk utilization while the files rendered.  To really see what is going on though, I thought it might be nice to have a graphical representation of the render as it occurs over time.  So I spent some time writing a gnuplot script to plot the system utilization as the files rendered:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S2Dtzbv-qvI/AAAAAAAAA6Y/gJj83J3oysw/s1600-h/cinelerraBatchRenderGnuplot.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 230px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S2Dtzbv-qvI/AAAAAAAAA6Y/gJj83J3oysw/s320/cinelerraBatchRenderGnuplot.png" alt="" id="BLOGGER_PHOTO_ID_5431602618486926066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A bit of explanation may be required.  I captured the output of vmstat to a file.  VMstat has CPU load and wait i/o (disk utilization) statistics.  While capturing that output, I kicked off the batch render.&lt;br /&gt;&lt;br /&gt;In the graphic, you can see that different types of renders have different utilization profiles.  For example, the mpeg4 renders were generally lower in CPU utilization (red line), while h264 renders used a lot of CPU.  Similarly, the uncompressed formats like rgb/rgba/yuv420planar stress out the disk quite a bit (green line).  Please excuse the fact that the filenames aren't perfectly lined up with each file's render profile..this was my first effort at graphing render times.&lt;br /&gt;&lt;br /&gt;It will be interesting to see how the new Fedora 12 install affects the CPU.  Also, I am planning on installing a new hardware RAID set, so I expect those green lines to go to zero (hopefully)!&lt;br /&gt;&lt;br /&gt;ciao,&lt;br /&gt;the mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-7329486481860070039?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7TWUgNQQKnzb92Ers7XGjO49ZHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7TWUgNQQKnzb92Ers7XGjO49ZHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7TWUgNQQKnzb92Ers7XGjO49ZHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7TWUgNQQKnzb92Ers7XGjO49ZHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/GQEfy-NYOw0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/7329486481860070039/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=7329486481860070039" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7329486481860070039?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7329486481860070039?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/GQEfy-NYOw0/batch-render-redux.html" title="batch render redux" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_bcLw_LVf5nA/S2D3obrXLLI/AAAAAAAAA6g/4DUgdmRSUZQ/s72-c/cinelerraShortClip.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/01/batch-render-redux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MCQ3g_eSp7ImA9WxFaF0w.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-7041064353488375787</id><published>2010-01-24T15:24:00.008-05:00</published><updated>2010-07-21T08:31:02.641-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-21T08:31:02.641-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="7za" /><category scheme="http://www.blogger.com/atom/ns#" term="multithreading" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="compile" /><category scheme="http://www.blogger.com/atom/ns#" term="make" /><title>compile time performance improved!</title><content type="html">I was compiling Cinelerra today and noticed that CPU usage was very low during the compile..around 10-15% utilized.  I have a dual CPU, quad core box.  This makes for a total of eight processors.  So with all those CPUs, I figured there must be a way to make compiling faster.&lt;br /&gt;&lt;br /&gt;Actually, this low CPU use during compiles was something I had noticed the first time I installed Cinelerra.  Ashamedly, I've forgotten to investigate this issue in the two years that I've had the box.  So today I googled for "make compiler see multiple CPUs" and found the -j switch to "make" the program that does the compiling:&lt;br /&gt;&lt;a href="http://blogs.koolwal.net/2009/04/20/tip-compile-your-programs-fasters-with-multiple-processor-machines/"&gt;http://blogs.koolwal.net/2009/04/20/tip-compile-your-programs-fasters-with-multiple-processor-machines/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This article also mentions the CONCURRENCY_LEVEL environment variable, but that variable did not work for my box, a Dell SC1430.  So I used the -j switch to make instead:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;[mule@ogre my_cinelerra]$ make -j7&lt;br /&gt;(CDPATH="${ZSH_VERSION+.}:" &amp;amp;&amp;amp; cd . &amp;amp;&amp;amp; /bin/sh /home/sfrase/my_cinelerra/missing --run autoheader)&lt;br /&gt;rm -f stamp-h1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here are my results.&lt;br /&gt;&lt;br /&gt;the time it took to compile Cinelerra normally, without -j:&lt;br /&gt;3min 45s&lt;br /&gt;the time it took to compile Cinelerra with the -j8 (for eight cores):&lt;br /&gt;1min 16s&lt;br /&gt;&lt;br /&gt;Holy crap!  That's a 300% speed improvement!&lt;br /&gt;&lt;br /&gt;Glad I finally researched this.&lt;br /&gt;scott&lt;br /&gt;&lt;br /&gt;ps - one other note: 7z is a multithreaded version of tar.  On Fedora, use 7za&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;  Installing     : p7zip-4.65-2.fc12.x86_64&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       7za - A file archiver with highest compression ratio&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SYNOPSIS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       7za [adeltux] [-] [SWITCH] &lt;archive_name&gt; &lt;arguments&gt;&lt;/arguments&gt;&lt;/archive_name&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Related Posts&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2007/10/multithreading-in-ffmpeg-and-mpstat.html"&gt;http://crazedmuleproductions.blogspot.com/2007/10/multithreading-in-ffmpeg-and-mpstat.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-7041064353488375787?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nHzj5t8MULXx8ToqcpBI3eW6PwE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nHzj5t8MULXx8ToqcpBI3eW6PwE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nHzj5t8MULXx8ToqcpBI3eW6PwE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nHzj5t8MULXx8ToqcpBI3eW6PwE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/chuuHwqutrE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/7041064353488375787/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=7041064353488375787" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7041064353488375787?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7041064353488375787?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/chuuHwqutrE/compile-times-performance-improved.html" title="compile time performance improved!" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/01/compile-times-performance-improved.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEMQHcyfSp7ImA9WxBVEEU.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-5971027055871839196</id><published>2010-01-24T10:39:00.008-05:00</published><updated>2010-02-13T13:11:21.995-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-13T13:11:21.995-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="raid" /><category scheme="http://www.blogger.com/atom/ns#" term="rpmbuild" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora 12" /><title>Fedora 12, x86-64 upgrade</title><content type="html">The time has come again..sytem upgrade.  Ugh. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;From Fedora 10 x86-64 to Fedora 12 x86-64&lt;/strong&gt;&lt;br /&gt;I say "ugh", but I truly am excited as Fedora 12 does have some nice performance improvements (ext4, kernel modesetting, faster boot, rpm) that they've packaged since the Fedora 10 system I'm working with now:&lt;br /&gt;&lt;a href="http://fedoraproject.org/wiki/Releases/11/FeatureList"&gt;http://fedoraproject.org/wiki/Releases/11/FeatureList&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fedoraproject.org/wiki/Releases/12/FeatureList"&gt;http://fedoraproject.org/wiki/Releases/12/FeatureList&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To be clear, I don't do upgrades.  I will tar up my /home directory to USB, install the new OS from scratch and then blast my /home directory onto the clean new OS and RAID array.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Thinking Hard&lt;/strong&gt;&lt;br /&gt;I've spent quite a bit of time planning this upgrade.  One of the big things I am doing is to profile the performance of my system before and after the OS and hardware upgrades.  Of course, I won't be able to determine whether or not the performance gain is coming from the OS or the new RAID array, but at the end of the day, I simply want to be able to say "my system is now X% faster."&lt;br /&gt;&lt;br /&gt;I will be looking at the performance of the system from the OS, Cinelerra and encoder perspectives.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Learning about Fedora 12&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://fedoraproject.org/wiki/Common_F12_bugs"&gt;http://fedoraproject.org/wiki/Common_F12_bugs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/24513176/Fedora-12-Installation-Guide"&gt;http://www.scribd.com/doc/24513176/Fedora-12-Installation-Guide&lt;/a&gt;&lt;br /&gt;&lt;a href="http://docs.fedoraproject.org/release-notes/f12/en-US/html/sect-Release_Notes-Changes_in_Fedora_for_Desktop_Users.html"&gt;Changes_in_Fedora_for_Desktop_Users&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hardware changes going in&lt;/strong&gt;&lt;br /&gt;New RAID configuration:&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B000K2IF6Y?ie=UTF8&amp;amp;tag=crazmuleprod-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B000K2IF6Y"&gt;3WARE Pci-e 9650SE RAID card&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=crazmuleprod-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B000K2IF6Y" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt; with &lt;a href="http://www.amazon.com/gp/product/B000RZCFL0?ie=UTF8&amp;amp;tag=crazmuleprod-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B000RZCFL0"&gt;Battery Backup&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=crazmuleprod-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B000RZCFL0" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt;&lt;br /&gt;four &lt;a href="http://www.amazon.com/gp/product/B0021L9HE6?ie=UTF8&amp;amp;tag=crazmuleprod-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B0021L9HE6"&gt;Western Digital 1.5 TB Green SATA 32MB Cache Hard Drive &lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=crazmuleprod-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B0021L9HE6" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Virtual Machine Testbed&lt;/strong&gt;&lt;br /&gt;One of the things that has helped me in the process is using VMware Server to test out Fedora 12.  I've caught a couple things right off the bat: as it is a proprietary format, FAAC is not installed with FFmpeg by default.  I was able to resolve this through Doran's excellent post here:&lt;br /&gt;&lt;a href="http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html"&gt;http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also, H264 encoder magic has changed a bit.  Other than that, my output testing to various formats (MPEG-PS, HDV, DVD, iPod/iPhone) has worked very well.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;General prep work&lt;/strong&gt;&lt;br /&gt;work out bugs with Fedora 12 virtual machine&lt;br /&gt;clean up old F10 system&lt;br /&gt;backup F10 system files via script&lt;br /&gt;backup /home directory via tar to external drive&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Installation steps&lt;/strong&gt;&lt;br /&gt;Install new F12, Developer's edition&lt;br /&gt;Install RPMs via script&lt;br /&gt;Build and install FFmpeg RPM with faac support from nonfree RPM Fusion repo via script&lt;br /&gt;Install favorite programs&lt;br /&gt;Install Cinelerra dependencies&lt;br /&gt;Install Cinelerra&lt;br /&gt;&lt;br /&gt;For those with strong constitutions, here's the full project plan:&lt;br /&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=0AjSzE_zejuQZdFphck9aQUVBbzZVOWhyOC1CaVFVQmc&amp;amp;hl=en"&gt;http://spreadsheets.google.com/ccc?key=0AjSzE_zejuQZdFphck9aQUVBbzZVOWhyOC1CaVFVQmc&amp;amp;hl=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm almost there..most of the planning is done.  Now, to execute!  I'll let you know how it goes.&lt;br /&gt;The Mule&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://www.graphics-muse.org/wp/?p=501"&gt;http://www.graphics-muse.org/wp/?p=501&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-5971027055871839196?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zFE6uf7hVbodWVe2jM5gCYlKjlE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zFE6uf7hVbodWVe2jM5gCYlKjlE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zFE6uf7hVbodWVe2jM5gCYlKjlE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zFE6uf7hVbodWVe2jM5gCYlKjlE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/MYCgRZ_HiKE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/5971027055871839196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=5971027055871839196" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5971027055871839196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5971027055871839196?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/MYCgRZ_HiKE/fedora-12-x86-64-upgrade.html" title="Fedora 12, x86-64 upgrade" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/01/fedora-12-x86-64-upgrade.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MDSXg8eCp7ImA9Wx5bFk8.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-7047421815689673128</id><published>2010-01-16T15:30:00.011-05:00</published><updated>2010-11-01T10:24:38.670-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T10:24:38.670-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sync" /><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg" /><category scheme="http://www.blogger.com/atom/ns#" term="rendering" /><category scheme="http://www.blogger.com/atom/ns#" term="nudge" /><category scheme="http://www.blogger.com/atom/ns#" term="mplex" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="audio sync" /><title>best practices to alleviate audio sync problems in Cinelerra</title><content type="html">Audio synchronization problems are the bane of video editors everywhere.  Here's what I do in Cinelerra to try to prevent them.&lt;br /&gt;&lt;br /&gt;The first thing to understand is that playback in Cinelerra is a separate process from rendering (exporting) your project to a final format.  So it is a good idea to calibrate the audio-video synchronization of your files when they are played back in the Cinelerra compositor as well as the a/v sync of rendered output.  More specifically:&lt;br /&gt;1) You need to calibrate the audio you see being played back in the compositor.  Do this by setting Audio Offset in the Preferences -&gt; Playback -&gt; Audio Out so that your playback audio is in sync with the video.  I generally use ALSA as my audio driver under Preferences -&gt; Playback.  (You might also want to try to use OSS or ESound to see if those audio drivers help your playback sync issues.)  For reference, my offset is .1 seconds.&lt;br /&gt;&lt;br /&gt;2) You'll need to calibrate the audio and video once it is rendered out of Cinelerra.  This doesn't have to be the absolute final format of the file.  Just an intermediate file format to determine that audio is not drifting and in sync.  You'll do this by setting Nudge on your audio tracks so that your rendered audio and video are in sync.  Here's an article on nudge:&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2007/05/nudge-avidemux2-and-reminder-about.html"&gt;http://crazedmuleproductions.blogspot.com/2007/05/nudge-avidemux2-and-reminder-about.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let me give you an example.&lt;br /&gt;&lt;br /&gt;My projects usually run about an hour on the timeline.  When I start a project, I will concatenate a bunch of clips or raw videos on the timeline.  I will then render a short segment of video, about 15 seconds long, from about 45 minutes into the timeline.  The segment I take should have key features like someone speaking or someone hitting a drum that I can use to determine audio synchronization.  I then render the file to a format that works well in the various Linux media players:&lt;br /&gt;-Quicktime for Linux using MPEG4 video compression and MP4 or twos complement (pcm) audio compression&lt;br /&gt;-Quicktime for Linux container using JPEG video compression and MP4 or twos complement&lt;br /&gt;&lt;br /&gt;The side benefit of using MPEG4 video compression is that it renders damn fast.&lt;br /&gt;&lt;br /&gt;The good thing about these steps is that if you work with the same format of video over and over, you won't need to change #1, the Audio Offset.&lt;br /&gt;&lt;br /&gt;Here are notes regarding specific source formats and output formats.&lt;br /&gt;&lt;br /&gt;MPEG SOURCE FILES to MPEG RENDERED OUTPUT&lt;br /&gt;After much study and pain, I've found that when working with MPEG-TS HDV files as my source (and MPEG formats in general), the best pipe to render from Cinelerra in order to alleviate sync headaches is mpeg2enc.  I'm not five channel yet, so I just export my 48.1Khz stereo audio as MPEG Layer II audio MP3s @ 384kbps.  I then use mplex to combine my audio and video streams into a program stream.  Further on, I use VLC to convert that PS into MPEG-TS (HDV) and then use FFMPEG to convert the HDV into DVD and iPod/iPhone compatible formats.&lt;br /&gt;&lt;br /&gt;QUICKTIME (QT) SOURCE FILES to QT RENDERED OUTPUT&lt;br /&gt;If my source video format is Quicktime for Linux (like from a screen capture), then I have no sync problems rendering out to QT for Linux.&lt;br /&gt;&lt;br /&gt;MPEG SOURCE FILES to QT RENDERED OUTPUT&lt;br /&gt;If I render my MPEG-TS, HDV projects using Quicktime for Linux as an output format (MPEG4 or JPEG video w/twos complement or MP4 audio compression), then I will get sync problems in the rendered output.  I then follow the above best practices to alleviate the problem.&lt;br /&gt;&lt;br /&gt;TEST YOUR OUTPUT&lt;br /&gt;In Fedora, I've found that the best media players to test final output are mplayer, vlc and ffmpeg.&lt;br /&gt;&lt;br /&gt;Finally, there are options to mplex and ffmpeg to offset audio and video sync problems:&lt;br /&gt;mplex -O &lt;milliseconds&gt;; eg, mplex -O 350&lt;br /&gt;ffmpeg -itsoffset &lt;seconds&gt;; eg, ffmpeg -itsoffset 0.35&lt;br /&gt;&lt;br /&gt;Hope this helps,&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2007/05/nudge-avidemux2-and-reminder-about.html"&gt;My Article on Cinelerra's "nudge" parameter&lt;/a&gt;&lt;br /&gt;&lt;a href="http://howto-pages.org/ffmpeg/"&gt;FFMPEG HowTo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://man-wiki.net/index.php/1:mplex"&gt;http://man-wiki.net/index.php/1:mplex&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-7047421815689673128?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oPLi2pVEfYUjaGtgHlpJqwpWnl0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oPLi2pVEfYUjaGtgHlpJqwpWnl0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oPLi2pVEfYUjaGtgHlpJqwpWnl0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oPLi2pVEfYUjaGtgHlpJqwpWnl0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/-vTYyPV-eXs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/7047421815689673128/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=7047421815689673128" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7047421815689673128?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7047421815689673128?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/-vTYyPV-eXs/best-practices-to-alleviate-audio-sync.html" title="best practices to alleviate audio sync problems in Cinelerra" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/01/best-practices-to-alleviate-audio-sync.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQnwyfCp7ImA9WxBQEEQ.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-8497438871598647953</id><published>2010-01-09T17:19:00.014-05:00</published><updated>2010-01-09T21:45:33.294-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-09T21:45:33.294-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="shell scripts" /><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><category scheme="http://www.blogger.com/atom/ns#" term="edl" /><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra" /><category scheme="http://www.blogger.com/atom/ns#" term="workflow" /><title>automating repetitive tasks by scripting Cinelerra EDL, part I</title><content type="html">I produce a bi-monthly video of my band's jam sessions:&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/StormpigsPodcast"&gt;http://feeds.feedburner.com/StormpigsPodcast&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The format of the video edit is roughly the same for every video:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;intro titles&lt;br /&gt;&lt;/li&gt;&lt;li&gt;staff titles&lt;/li&gt;&lt;li&gt;songs&lt;/li&gt;&lt;li&gt;end credits&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Since the Cinelerra EDL (edit decision list) is an XML text file, it occurred to me that I should be able to add the titles by editing this text file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cinelerra's Edit Decision List (EDL)&lt;/span&gt;&lt;br /&gt;Let's look at Cinelerra's EDL.  This is an XML text file that gets written when you save a Cinelerra project.  The easiest way to review the EDL is to open it in a browser, as the browser will let you expand and collapse the XML elements.  Here's a screen cap of the EDL in Firefox:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kDFQ8Z13I/AAAAAAAAA48/raOMCudZhJU/s1600-h/cinelerraEdl.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 243px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kDFQ8Z13I/AAAAAAAAA48/raOMCudZhJU/s320/cinelerraEdl.png" alt="" id="BLOGGER_PHOTO_ID_5424870615127021426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I create my monthly video podcast, I place title effects on Cinelerra's timeline for each song of about a dozen songs.  The title effect looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kE5ueBjmI/AAAAAAAAA5M/OxUTVCsxiow/s1600-h/songTitle.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 256px;" src="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kE5ueBjmI/AAAAAAAAA5M/OxUTVCsxiow/s320/songTitle.png" alt="" id="BLOGGER_PHOTO_ID_5424872615917489762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Placing title effects is a real time sink, especially when I have to place one for each song.  I place title effects about 20 seconds into each song.  I separate each song by placing a label between the clips.  So the labels indicate where in the video track I will need to place title effects.  You can see that the title effect is placed after the appearance of a label in Cinelerra's timeline below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kD8saMD0I/AAAAAAAAA5E/trC2Afya6Cg/s1600-h/cinelerraLabels.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 146px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kD8saMD0I/AAAAAAAAA5E/trC2Afya6Cg/s320/cinelerraLabels.png" alt="" id="BLOGGER_PHOTO_ID_5424871567392509762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Task&lt;/span&gt;&lt;br /&gt;My goal is to have a shell script find the position of the label in the EDL and plop the title effects about 20s after the appearance of the label.  After I add the labels programmatically, I can do fancier edits to the project later on.&lt;br /&gt;&lt;br /&gt;In today's post, I will describe a bit more about my workflow and the EDL, and also show you a basic shell script command to insert a title effect into the EDL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Procedure&lt;/span&gt;&lt;br /&gt;First, I put my basic edit together assembling the clips on the timeline, doing my audio and video fades and placing labels between the clips.  This is my first round of edits.  At this point, my timeline is very simple.  I only have a video track and two audio tracks:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kfFtdVTyI/AAAAAAAAA50/q5p-QFdG0Hc/s1600-h/timeline.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 105px;" src="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kfFtdVTyI/AAAAAAAAA50/q5p-QFdG0Hc/s320/timeline.png" alt="" id="BLOGGER_PHOTO_ID_5424901409106906914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I will use a script to insert a title effect into the EDL file.  In the Cinelerra EDL, a title effect (designated by the PLUGINSET XML element) looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kGM_Vwh0I/AAAAAAAAA5U/HpPY4NMIkeE/s1600-h/titleEffect.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 177px;" src="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kGM_Vwh0I/AAAAAAAAA5U/HpPY4NMIkeE/s320/titleEffect.png" alt="" id="BLOGGER_PHOTO_ID_5424874046375364418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let's inspect the EDL in order to find the block of labels.  If you grep for 'LABEL TIME' in the EDL, you'll find an XML code block that looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kHqEsaRAI/AAAAAAAAA5k/L4hswCTGfE4/s1600-h/labelTime.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 204px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kHqEsaRAI/AAAAAAAAA5k/L4hswCTGfE4/s320/labelTime.png" alt="" id="BLOGGER_PHOTO_ID_5424875645540385794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I will need to edit the video TRACK that appears directly beneath the LABELS in the EDL.  Since there is quite a bit of confusing repetition in the EDL file, finding the list of LABELs helps identify which TRACK we need to edit.  I've capitalized the words in the above sentence to highlight the XML elements you'll need to look for when editing EDL. &lt;br /&gt;&lt;br /&gt;Using a bash shell script, I'll add a title effect after the last MASKAUTOS XML tag, but before the closing TRACK tag.  Again, this is the closing TRACK tag of the video TRACK:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kIywszMWI/AAAAAAAAA5s/OdCiHIwNS1E/s1600-h/titlePlacement.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 204px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kIywszMWI/AAAAAAAAA5s/OdCiHIwNS1E/s320/titlePlacement.png" alt="" id="BLOGGER_PHOTO_ID_5424876894303760738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've created a second file containing just one title effect, the PLUGINSET example from above:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kGM_Vwh0I/AAAAAAAAA5U/HpPY4NMIkeE/s1600-h/titleEffect.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 177px;" src="http://3.bp.blogspot.com/_bcLw_LVf5nA/S0kGM_Vwh0I/AAAAAAAAA5U/HpPY4NMIkeE/s320/titleEffect.png" alt="" id="BLOGGER_PHOTO_ID_5424874046375364418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I will then use a bit of sed (stream editor) magic to insert that file into the right spot in the main Cinelerra EDL for the project.  Here is the script command that will place the PLUGINSET into the correct position in the XML:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sed -e "/LABEL TIME/,/^&lt;\/MASKAUTOS/{ /&lt;\/MASKAUTOS&gt;/r titleEffectPluginset.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}" cinelerraEdl.xml &gt; cinelerraEdlNewEdit.xml&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's break this apart:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sed -e "/LABEL TIME/&lt;/span&gt;&lt;/span&gt;  # This finds the first occurrence of "LABEL TIME" (a label) in the EDL.  Remember that the appearance of labels in the EDL tells us that the video TRACK in which we need to insert our title effect comes next in the file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;,/^&lt;\/MASKAUTOS/{&lt;/span&gt;&lt;/span&gt;     # This finds the first occurrence of a closing MASKAUTOS tag after the string "LABEL TIME".  Our title effect, the PLUGINSET, will be inserted after this closing tag. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;/&lt;\/MASKAUTOS&gt;/r titleEffectPluginset.txt&lt;/span&gt;&lt;/span&gt;  # Insert the title effect boilerplate after the end MASKAUTOS XML tag&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;}" cinelerraEdl.xml &gt; cinelerraEdlNewEdit.xml&lt;/span&gt;&lt;/span&gt;  # Have sed perform the edit on "cinelerraEdl.xml", but save the output to "cinelerraEdlNewEdit.xml&lt;br /&gt;&lt;br /&gt;The Result - Before&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kIywszMWI/AAAAAAAAA5s/OdCiHIwNS1E/s1600-h/titlePlacement.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 204px;" src="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kIywszMWI/AAAAAAAAA5s/OdCiHIwNS1E/s320/titlePlacement.png" alt="" id="BLOGGER_PHOTO_ID_5424876894303760738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Result - After&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bcLw_LVf5nA/S0k5TqtPMlI/AAAAAAAAA58/BcxvMgWMdnY/s1600-h/pluginsetAfter.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 204px;" src="http://1.bp.blogspot.com/_bcLw_LVf5nA/S0k5TqtPMlI/AAAAAAAAA58/BcxvMgWMdnY/s320/pluginsetAfter.png" alt="" id="BLOGGER_PHOTO_ID_5424930236188799570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can see that sed has inserted the title effect (the PLUGINSET XML boilerplate) in between the closing MASKAUTOS tag and the closing tag of the video TRACK.  Pretty cool! &lt;br /&gt;&lt;br /&gt;This is a simple example of editing Cinelerra EDL, but is the first step to helping me automate otherwise manual tasks in my monthly video podcast creation.&lt;br /&gt;&lt;br /&gt;I will try to expand upon this subject in future posts.&lt;br /&gt;&lt;br /&gt;-enjoy-&lt;br /&gt;The Mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-8497438871598647953?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X8FRiLmPQue2fKGAOAQ2QqQf6JY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X8FRiLmPQue2fKGAOAQ2QqQf6JY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/X8FRiLmPQue2fKGAOAQ2QqQf6JY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X8FRiLmPQue2fKGAOAQ2QqQf6JY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/Z5zKu4OrNFw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/8497438871598647953/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=8497438871598647953" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/8497438871598647953?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/8497438871598647953?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/Z5zKu4OrNFw/automating-repetitive-tasks-by.html" title="automating repetitive tasks by scripting Cinelerra EDL, part I" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_bcLw_LVf5nA/S0kDFQ8Z13I/AAAAAAAAA48/raOMCudZhJU/s72-c/cinelerraEdl.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2010/01/automating-repetitive-tasks-by.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04CQHo-fCp7ImA9WxBWFEs.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-4881144064290563284</id><published>2009-05-30T12:08:00.007-04:00</published><updated>2010-02-06T10:26:01.454-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-06T10:26:01.454-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cinelerra 4" /><category scheme="http://www.blogger.com/atom/ns#" term="mistakes" /><category scheme="http://www.blogger.com/atom/ns#" term="compile" /><title>Cinelerra 4 just not working</title><content type="html">I was interested in trying out Cinelerra 4, Heroine Warrior's latest version of Cinelerra.  To reiterate, there are two versions of Cinelerra available:&lt;br /&gt;&lt;a href="http://www.heroinewarrior.com/"&gt;Heroine Warrior's&lt;/a&gt;, the original coded by Adam Williams (bow down to the man!) and&lt;br /&gt;&lt;a href="http://cvs.cinelerra.org/"&gt;Cinelerra Community Version&lt;/a&gt;, Cinelerra CV&lt;br /&gt;&lt;br /&gt;On my Fedora 10, x86-64 setup, I gave the latest HV Cinelerra 4 version a try.  I encountered a bunch of hurdles, mainly the GCC 4.3 changes that caused missing header information in mjpegtools-1.9.0_rc3 listed here:&lt;br /&gt;&lt;a href="http://bugs.gentoo.org/show_bug.cgi?id=200767"&gt;http://bugs.gentoo.org/show_bug.cgi?id=200767&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I got the software to compile.  At the final "make install" step, the installation starts, but does not complete with only the first 40 or so lines of the install finishing:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre bin]# make install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make -f build/Makefile.cinelerra install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[1]: Entering directory `/usr/src/cinelerra-4'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make -C plugins install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Entering directory `/usr/src/cinelerra-4/plugins'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mkdir -p ../bin/fonts&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp fonts/* ../bin/fonts&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mkdir -p ../bin/shapes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp shapes/* ../bin/shapes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp ../thirdparty/mjpegtools*/mpeg2enc/mpeg2enc ../bin/mpeg2enc.plugin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Leaving directory `/usr/src/cinelerra-4/plugins'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DST=../bin make -C libmpeg3 install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Entering directory `/usr/src/cinelerra-4/libmpeg3'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp x86_64/mpeg3dump x86_64/mpeg3peek x86_64/mpeg3toc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x86_64/mpeg3cat ../bin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Leaving directory `/usr/src/cinelerra-4/libmpeg3'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make -C po install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Entering directory `/usr/src/cinelerra-4/po'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mkdir -p ../bin/locale/de/LC_MESSAGES&lt;/span&gt;&lt;/span&gt;&lt;repetitive lines="" omitted=""&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp sl.mo ../bin/locale/sl/LC_MESSAGES/cinelerra.mo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Leaving directory `/usr/src/cinelerra-4/po'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make -C doc install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Entering directory `/usr/src/cinelerra-4/doc'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mkdir -p ../bin/doc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp arrow.png autokeyframe.png camera.png channel.png crop.png cut.png&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;expandpatch_checked.png eyedrop.png fitautos.png ibeam.png&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;left_justify.png magnify.png mask.png mutepatch_up.png paste.png&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;projector.png protect.png record.png recordpatch_up.png rewind.png&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;singleframe.png show_meters.png titlesafe.png toolwindow.png&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;top_justify.png wrench.png magnify.png ../bin/doc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp: warning: source file `magnify.png' specified more than once&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp cinelerra.html ../bin/doc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[2]: Leaving directory `/usr/src/cinelerra-4/doc'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cp COPYING README bin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make[1]: Leaving directory `/usr/src/cinelerra-4'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre bin]#&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Therefore, the installation does not copy the cinelerra binary into /usr/local/bin.  If I try to run the binary from the source code directory, I get this:&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PluginServer::open_plugin: /usr/src/cinelerra-4/bin/brightness.plugin:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;undefined symbol: glUseProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PluginServer::open_plugin: /usr/src/cinelerra-4/bin/deinterlace.plugin:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;undefined symbol: glUseProgram&lt;/span&gt;&lt;/span&gt;&lt;similar lines="" omitted=""&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;undefined symbol: glNormal3f&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PluginServer::open_plugin: /usr/src/cinelerra-4/bin/swapchannels.plugin:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;undefined symbol: glUseProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PluginServer::open_plugin: /usr/src/cinelerra-4/bin/threshold.plugin:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;undefined symbol: glUseProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PluginServer::open_plugin: /usr/src/cinelerra-4/bin/zoomblur.plugin:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;undefined symbol: glEnd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signal_entry: got SIGSEGV my pid=3965 execution table size=16:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    awindowgui.C: create_objects: 433&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    awindowgui.C: create_objects: 440&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    awindowgui.C: create_objects: 444&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    awindowgui.C: create_objects: 447&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    awindowgui.C: create_objects: 453&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    suv.C: get_cwindow_sizes: 744&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    suv.C: get_cwindow_sizes: 774&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    suv.C: get_cwindow_sizes: 800&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    suv.C: get_cwindow_sizes: 821&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    editpanel.C: create_buttons: 177&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    editpanel.C: create_buttons: 303&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    editpanel.C: create_buttons: 177&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    editpanel.C: create_buttons: 303&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    mwindowgui.C: create_objects: 192&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    mwindowgui.C: create_objects: 195&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    mwindowgui.C: create_objects: 199&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signal_entry: lock table size=6&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0x357dc80 RemoveThread::input_lock RemoveThread::run &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0x64d0370 CWindowTool::input_lock CWindowTool::run &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0x64f3640 TransportQue::output_lock PlaybackEngine::run &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0x3441940 TransportQue::output_lock PlaybackEngine::run &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0x3442420 MainIndexes::input_lock MainIndexes::run 1 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    0x3442f80 Cinelerra: Program MWindow::init_gui *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BC_Signals::dump_buffers: buffer table size=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BC_Signals::delete_temps: deleting 0 temp files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SigHandler::signal_handler total files=0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Even though I have an NVidia graphics card, the error lines above were related to OpenGL.  Thus, I thought I might have better luck compiling without OpenGL enabled.  After I removed those lines from from hvirtual_config.h, I did a &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;make clean;make&lt;/span&gt;&lt;/span&gt;.   This time around, I was able to get Cinelerra 4 to start properly.  Though, it soon locks up when viewing my 720P MPEG-TS files:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[mule@ogre cinelerra-4]$ ./bin/cinelerra &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Cinelerra 4 (C)2008 Adam Williams&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Cinelerra is free software, covered by the GNU General Public License,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and you are welcome to change it and/or distribute copies of it under&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;certain conditions. There is absolutely no warranty for Cinelerra.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]slice mismatch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]mb incr damaged&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]mb incr damaged&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]invalid cbp at 14 37&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]slice mismatch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]ac-tex damaged at 25 40&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]ac-tex damaged at 6 41&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[mpeg2video @ 0xeafd00]ac-tex damaged at 7 42&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So much for that experiment!  I'm going back to the CV version for now.&lt;br /&gt;the mule&lt;br /&gt;&lt;/similar&gt;&lt;/repetitive&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-4881144064290563284?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mYwoL_qKiLEyZCerLtB_9_7q-Zo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mYwoL_qKiLEyZCerLtB_9_7q-Zo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mYwoL_qKiLEyZCerLtB_9_7q-Zo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mYwoL_qKiLEyZCerLtB_9_7q-Zo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/QmRd5Fcf19s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/4881144064290563284/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=4881144064290563284" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/4881144064290563284?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/4881144064290563284?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/QmRd5Fcf19s/cinelerra-4-compile-failure.html" title="Cinelerra 4 just not working" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2009/05/cinelerra-4-compile-failure.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cAQX0_fyp7ImA9Wx5aFko.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-5036212871849339418</id><published>2009-05-18T10:50:00.017-04:00</published><updated>2010-11-13T15:10:40.347-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-13T15:10:40.347-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="yuv4mpeg" /><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg" /><category scheme="http://www.blogger.com/atom/ns#" term="mpeg2enc" /><category scheme="http://www.blogger.com/atom/ns#" term="multithreading" /><category scheme="http://www.blogger.com/atom/ns#" term="ffvhuff" /><category scheme="http://www.blogger.com/atom/ns#" term="huffyuv" /><title>ffmpeg pipe to mpeg2enc</title><content type="html">Occasionally, I'll need to send a video stream into mpeg2enc. Mpeg2enc doesn't take an input file; it only accepts a yuv4mpeg stream. In order to send a yuv4mpeg stream to mpeg2enc, I do this using ffmpeg and the -f yuv4mpegpipe command line switch. &lt;span style="text-decoration: line-through;"&gt;Also, for best quality, I will send the stream using the FFMPEG variant of the Huffyuv lossless compression algorithm&lt;/span&gt;. ffyhuff is an enhanced version of Huffyuv that compresses better than Huffyuv.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Update 2009/05/19&lt;br /&gt;&lt;/span&gt;As per Dan Dennedy's comment below, ffmpeg's yuv4mpegpipe command will ignore the -vcodec option and pipe the video stream to mpeg2enc using an uncompressed C420jpeg stream, which is an uncompressed YUV format. Certainly good enough for the likes of me!&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;*** end update ***&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is a sample command to reencode a 720P video stream as a yuv4mpeg pipe to mpeg2enc:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;ffmpeg -threads 4 -i INPUT.M2V -f yuv4mpegpipe - ¦ mpeg2enc --verbose 0 --multi-thread 4 --aspect 3 --format 3 --frame-rate 4 --video-bitrate 18300 --nonvideo-bitrate 384 --interlace-mode 0 --force-b-b-p --video-buffer 448 --video-norm n --keep-hf --no-constraints --sequence-header-every-gop --min-gop-size 6 --max-gop-size 6 -o OUTPUT.M2V&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that I am taking advantage of the eight processors in my dual quad core using the multithread switches in the commands to both ffmpeg and mpeg2enc. Note that the eight threads have been split evenly, four to each encoder, to avoid CPU context switching. (Thanks again, Dan!)&lt;br /&gt;&lt;br /&gt;Here's another trick: to see the header information of a YUV4MPEG stream, pipe the FFmpeg conversion stream to head -1 like so:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i intermediate.mov -vcodec mpeg2video -f yuv4mpegpipe - | head -1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The FFmpeg output should show you some very important information, &lt;span style="font-weight: bold;"&gt;bolded&lt;/span&gt; below:&lt;br /&gt;the output format: YUV4MPEG2 stream&lt;br /&gt;height and width: 1280x720&lt;br /&gt;framerate: 30001:1001 (or 29.97fps)&lt;br /&gt;colorspace: C420JPEG&lt;br /&gt;not sure what IP: 1 or XYSCSS is&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Duration: 01:19:46.74, start: 0.000000, bitrate: 110301 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720 [PAR 1:1 DAR 16:9], 108762 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.1(eng): Audio: pcm_s16be, 48000 Hz, 2 channels, s16, 1536 kb/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Output #0, yuv4mpegpipe, to 'pipe:':&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    encoder         : Lavf52.64.2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Stream #0.0(eng): Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Stream mapping:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Stream #0.0 -&gt; #0.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Press [q] to stop encoding&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;YUV4MPEG2 W1280 H720 F30000:1001 Ip A1:1 C420jpeg XYSCSS=420JPEG&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Sweet, eh?&lt;br /&gt;&lt;br /&gt;As a final note, I am a bit confused on the differences between FFMPEG compression algorithms: ffyhuff and ffv1. If someone has pointers to the documentation on these, I'd be interested in finding out more. A google search just added to my confusion.&lt;br /&gt;&lt;br /&gt;the mule&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://linux.die.net/man/1/mpeg2enc"&gt;mpeg2enc man page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tns.lcs.mit.edu/manuals/mpeg2/mpeg2encode.txt"&gt;mpeg2enc manual&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.transcoding.org/cgi-bin/transcode?FFmpeg_Vs._Mpeg2enc"&gt;ffmpeg vs mpeg2enc&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Huffyuv"&gt;Huffyuv&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/FFV1"&gt;FFV1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itbroadcastanddigitalcinema.com/ffmpeg_howto.html#Generic_Syntax"&gt;FFMPEG How To&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;related posts&lt;br /&gt;&lt;a href="http://www.blogger.com/2010/01/batch-render-redux.html"&gt;http://crazedmuleproductions.blogspot.com/2010/01/batch-render-redux.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://crazedmuleproductions.blogspot.com/2010/01/compile-times-performance-improved.html"&gt;/2010/01/compile-times-performance-improved.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://howto-pages.org/ffmpeg/"&gt;FFMPEG HowTo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-5036212871849339418?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zxyUrVdqg4thHVoroApCkVFXqm0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zxyUrVdqg4thHVoroApCkVFXqm0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zxyUrVdqg4thHVoroApCkVFXqm0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zxyUrVdqg4thHVoroApCkVFXqm0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/W3XdMfYUgho" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/5036212871849339418/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=5036212871849339418" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5036212871849339418?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/5036212871849339418?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/W3XdMfYUgho/ffmpeg-pipe-to-mpeg2enc.html" title="ffmpeg pipe to mpeg2enc" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2009/05/ffmpeg-pipe-to-mpeg2enc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUCQ3Y7fCp7ImA9WxJREk8.&quot;"><id>tag:blogger.com,1999:blog-17915976.post-7472289148239597520</id><published>2009-05-13T11:18:00.002-04:00</published><updated>2009-05-13T11:24:22.804-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-13T11:24:22.804-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="64-bit" /><category scheme="http://www.blogger.com/atom/ns#" term="vmware" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora 10" /><category scheme="http://www.blogger.com/atom/ns#" term="virtual machine" /><title>VMware virtual appliance for video editing</title><content type="html">Over the weekend, I created a VMware Partner Account and got my Fedora 10, x86-64 virtual machine approved to be listed on VMware's Virtual Appliance listings:&lt;br /&gt;&lt;a href="http://www.vmware.com/appliances/directory/148183"&gt;http://www.vmware.com/appliances/directory/148183&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want to try out Cinelerra and you use 64-bit VMware Player, Workstation or Server, this is an easy way to get started.  I'd appreciate someone giving it a shot and letting me know how it works.&lt;br /&gt;&lt;br /&gt;the mule&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17915976-7472289148239597520?l=crazedmuleproductions.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L8xwojsvYkuoo2DSydGivoc2gSg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L8xwojsvYkuoo2DSydGivoc2gSg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L8xwojsvYkuoo2DSydGivoc2gSg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L8xwojsvYkuoo2DSydGivoc2gSg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/CrazedMule/~4/TmXU9kuDdLE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://crazedmuleproductions.blogspot.com/feeds/7472289148239597520/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=17915976&amp;postID=7472289148239597520" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7472289148239597520?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17915976/posts/default/7472289148239597520?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CrazedMule/~3/TmXU9kuDdLE/vmware-virtual-appliance-for-video.html" title="VMware virtual appliance for video editing" /><author><name>Cacasodo</name><uri>http://www.blogger.com/profile/05422708734815721628</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-Ich2LFD-cbQ/TxxPBiR8NHI/AAAAAAAABR4/Y5vkkHHFSxI/s220/crazedmule.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://crazedmuleproductions.blogspot.com/2009/05/vmware-virtual-appliance-for-video.html</feedburner:origLink></entry></feed>

