Sunday, March 26, 2006

Burned a DVD using Linux! Success!!

Such small things make us happy. Well, this was not a small thing, as I've been wanting to use Linux to burn a DVD of my custom videos created from Cinelerra for a loooong time. Up until now, I've copped out and just rebooted to XP to get the dirty work done. This was the first time I really sat down and muddled through the arcane commands to get a DVD burned. In fact, not only did I get a DVD-R burned, but I also figured out how to get a DVD-RW formatted and a DVD image burned to that! F'n A!!

I will work on a doc later, but here are the quick and dirty steps to burning a DVD on a Fedora Core 4 system:

REFERENCES
http://heroinewarrior.com/cinelerra/cinelerra.html#MAKING%20A%20DVD
http://dvd.chevelless230.com/
http://www.kerklied.com/adrie/presentatiedvdmakeneng.html
http://users.dslextreme.com/~craig.lawson/linux_notes/video.html#Writing_to_DVD_media
growisofs syntax

PREREQUISITES
I needed ifogen, so get the latest copy of dvdrtools found here:
http://www.arklinux.org/projects/dvdrtools

CREATE DVD-READY MPEG
[root@computer 20060319]# ffmpeg -i test.m2v -i test.wav -target dvd output.mpg

TEST DVD-READY MPEG
[root@computer 20060319]# mplayer output.mpg

MAKE THE DIRECTORY TO PUT DVD IMAGE IN
[root@computer 20060319]# mkdir -p dvd/VIDEO_TS

CREATE DVD READY FILES (VOB/BUF/IFO)
[root@computer 20060319]# ifogen output.mpg -o dvd

VIEW DIRECTORY
[root@computer 20060319]# ll dvd/VIDEO_TS/
total 34444
-rw-r--r-- 1 root root 12288 Mar 26 14:58 VTS_01_0.BUP
-rw-r--r-- 1 root root 12288 Mar 26 14:58 VTS_01_0.IFO
-rw-r--r-- 1 root root 35205120 Mar 26 14:58 VTS_01_1.VOB

CREATE TABLE OF CONTENTS
[root@computer 20060319]# ifogen -T -o dvd
INFO: dvdauthor creating table of contents
scanning dvd/VIDEO_TS/VTS_01_0.IFO

VIEW DIRECTORY
[root@computer 20060319]# ll dvd/VIDEO_TS/
total 34460
-rw-r--r-- 1 root root 6144 Mar 26 14:59 VIDEO_TS.BUP
-rw-r--r-- 1 root root 6144 Mar 26 14:59 VIDEO_TS.IFO
-rw-r--r-- 1 root root 12288 Mar 26 14:58 VTS_01_0.BUP
-rw-r--r-- 1 root root 12288 Mar 26 14:58 VTS_01_0.IFO
-rw-r--r-- 1 root root 35205120 Mar 26 14:58 VTS_01_1.VOB

CREATE THE DVD IMAGE
[root@computer 20060319]# mkisofs -dvd-video -udf -o dvd.iso dvd/

USE -scanbus SWITCH TO VERIFY DEVICE NAME
[root@computer 20060319]# dvdrecord -scanbus

THIS COMMAND DID NOT WORK WITH MY ATA NEC DRIVE LABELED 1,0,0
[root@computer 20060319]# dvdrecord -ignsize -dao -v dev=1,0,0 fs=67108864 dvd.iso

THIS COMMAND CHECKS YOUR DRIVE
[root@computer 20060319]# cdrecord -dev=ATA:1,0,0 driveropts=help -checkdrive

THIS COMMAND BURNS A DVD-R WITH THE DEVICE LABELED ATA:1,0,0
[root@computer 20060319]# dvdrecord -ignsize -dao -v dev=ATA:1,0,0 fs=67108864 dvd.iso

THIS COMMAND FORMATS A DVD-RW
[root@computer 20060319]# dvd+rw-format -f /dev/hdc

THIS COMMAND BURNS A DVD ISO IMAGE TO A REWRITEABLE DVD DISC
[root@computer 20060319]# growisofs -Z /dev/hdc=dvd.iso

Until next time..good burning to you!

5/30/07 update: Here's a great article on the many types of DVDs and how to use them in Linux:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/creating-dvds.html

Saturday, March 25, 2006

motion stabilization effect experiment

Update 2009/03/17
I finally put together a motion stabilization tutorial. Hopefully, it helps folks who are as confused as I using the thing.
*** end update ***

Tonight, I used Cinelerra's motion tracker to stabilize a section of shakey video. The source was some sunset footage taken in high wind. The wind was so blustery that the camera and tripod were shaking. Cinelerra's motion stabilization saved the day, though.

Here is the video before motion stabilization
Here is the video after motion stabilization applied
(both vids ~7MB)

Pretty good, no?

Update:
Here's the next in the series:
/2006/10/motion-experiment-part-ii.html

Sunday, March 12, 2006

a foul up

Last night, I encoded my first full length video podcast as a Quicktime from Cinelerra. I brought it into iTunes and used the 'Convert Selection for iPod' feature and it spent all night (from 11pm to 11am) converting. The .MOV file specs were pretty heavy:
- 50 minutes long
- 720x404 resolution
- 524MB

I used a PIII, 1.5Ghz laptop w/512MB of memory to do the conversion, hence the slowness. Once the file was converted, both audio and video tracks played back! Hooray! This was a lot better than my previous result wherein the audio was gone. So, I found the new .M4V file on the filesystem and looked at the metadata in the properties. I saw that there was no metadata, so not thinking that it could have a deleterious effect on the file, I added the missing metadata to the file as it existed on XP. Bad, nary I say REAL bad idea!

After adding the metadata to the file, the .M4V would no longer play in iTunes (6.0.4) or Quicktime. To put it politely..RATS!! I tried removing the metadata, but no go..the file still would not play. So, the twelve hours I spent converting the video was all for naught, cause now I have to do it all again. Wunnerful.

Let me be clear though..
1) you CAN edit the metadata for an iTunes video podcast within iTunes
2) you CANNOT edit the metadata for an iTunes video podcast in the filesystem. This will break the audio for the podcast.

This being the case, I decided to move my website over to my audio workstation in order to allow me to use my main video editing workstation to do the iTunes conversion. Screw the portable..conversion took way too long there. Copying the website from the video editing box to the audio workstation would allow me to use either of my primary machines to serve web content depending on which one I was using at the time. Both are dual boot setups, XP or Win2K and Fedora Core 4, so at least now I have flexibility. Of course, I wish it was under different circumstances that I make that improvement to my workstation setup. Argh.

So now the file is converting on my P4, 3.2Ghz, 1GB box. I'm hoping to get at least a 3x improvement in conversion time. So, I'm looking at 5pm today for the file to be done. 1-5pm..4hrs. Yeesh. I need a faster box..ain't it always the case!

UPDATE: Good news! It only took two hours to convert the file..sweet! I think the remarkable improvement may be bolstered by the MPEG compression available in my All-in-Wonder 9800 Pro video card. I should switch video cards and try this to verify..

Other things of note I'd like to get done:
- setup RSS feed for newly created video
- update Beginner's Guide for bitrate calculation/QT M4V metadata warning
- change rendering partition to ext2 (non-journaling file system)
- eventually get RAID0 back up and running for rendering partition

At least my cam should be coming back from the shop this week!

Saturday, March 11, 2006

problem rendering files with custom resolutions

Last night, I exported an MPG stream and put it into iTunes. The MPG in iTunes plays just fine. When I converted it using iTunes, though, the resulting file had no sound. What is going on here? If I use the Cinelerra standard YUV4MPEG pipe, with -target DVD, the video renders fine and comes back into Cinelerra in its' entirety. But when I use a custom resolution size (480x320), the video track gets truncated shorter than the audio track when I reimport the rendered MPEG back into Cinelerra. So something is definetly wrong about how Cinelerra is rendering files with custom resolutions. I guess I'm going to have to enter a bug because no one seems to be responding to my posts on cvs.cinelerra.org.

Tonight, I'm rendering the file as MOV and hopefully that will solve my issues. Of course, this is all extra work, because my original intent is to do all of this within Cinelerra, instead of having to go out.

More evidence of strangeness is that even though xine and mplayer played the MPG, ffplay played the video stream, but there was no audio. That may be telling me something.

Friday, March 10, 2006

optimal drive/partition setup for Cinelerra

To keep it simple, I would use five drives and do four logical partitions. This would allow for all filesystems to be on separate drive spindles:
- one system drive for /root, /usr, etc - ext3
- one storage drive for source files - ext3
- one working drive for index files in .bcast - ext2
- two working drives in RAID0 (stripe set) for destination render - ext2

If you only have four drives, just keep the source files on the system drive. I would think the index files would be the most used/most reads. I have to test this use "iostat -x " to monitor read/write stats of each physical device. I assume the render partition would be the heaviest hit, so make that your RAID stripe. You can do software RAID, but as a person who runs a decent sized HP web server farm, we've always depended on hardware RAID because CPU cycles are offloaded to the RAID card itself, rather than the operating system using CPU cycles for software RAID. Since rendering is pretty much all CPU, except for the input/index file reads and the destination render file writes, it makes sense that software RAID would tend to slow your rendering down.

Finally, ext2 is very important..no journaling necessary for the working drives..just storage.

When I used Adobe Premiere, I noticed that my ATI All In Wonder actually sped up the MPEG2 render times by 50%. However, I haven't been able to get the fglrx driver to work w/my dual monitor setup on FC4. Fglrx works with one monitor, but dammit, there's no way I'm going back to just one monitor! But I will need to test out whether or not the fglrx driver speeds rendering for Cinelerra as it does Premiere.