1. ATSC-HDTV to DVD
- capture transport stream
- transcode to DVD-compatible file
- dvdauthor
- mkisofs/growisofs
1.1. capture
hdhomerun_config X.X.X.X save /tunerX file
1.2. demux and repair
DISPLAY=:0 /usr/pkg/java/sun-1.4/bin/java -jar /home/jakllsch/ProjectX_Source_0.90.4/ProjectX.jar -out ./ 1171_20070330013000.m2t
1.3. transcode
-target ntsc-dvd -aspect 4:3 -b 4600000 -an -f mpeg2video
Where bitrate is 4750000-4900000 to fit 2 hours on a DVD5. -deinterlaceing should be added for 1080i, and dropped for 720p.
1.4. multiplex
mplex -f 8 -o 1171_20070326010000.vob 1171_20070326010000.dvd.m2v 1171_20070326010000.ac3
1.5. structure
<dvdauthor>
<vmgm />
<titleset>
<titles>
<pgc> <vob file="foo.mpg" chapters="0,71,614,1137,1670" /> </pgc>
<pgc> <vob file="bar.mpg" /> </pgc>
<pgc> <vob file="baz.mpg" /> </pgc>
<pgc> <vob file="qux.mpg" /> </pgc>
</titles>
</titleset>
</dvdauthor>dvdauthor -o /tmp/dvd -x 4-shows.xml
dvdauthor -o dvd -t -f foo.vob -t -f bar.vob dvdauthor -o dvd -T
1.6. assemble & burn
mkisofs -o /tmp/dvd.iso -dvd-video -V `date +%s` /tmp/dvd/
and
growisofs -dvd-compat -Z /dev/rcd0d=/tmp/dvd.iso
or
growisofs -dvd-compat -Z /dev/rcd0d -dvd-video -V `date +%s` /tmp/dvd/
2. Notes
- ProjectX needs to be in default (demux) mode to do it's all-important fix ups.
- mplex is better at multiplexing than ffmpeg
- you can pull commflag info out of mythtv to use as chapter points in the DVD
2.1. letterboxed 4:3 in 720p to DVD-Video
ffmpeg -r 60000:1001 -i 1171_20070330013000.m2v -cropleft 160 -cropright 160 -target ntsc-dvd -aspect 4:3 -b 4600000 -an -f mpeg2video 1171_20070330013000.dvd.m2v
Times from commflag
echo "SELECT mark/59.94 FROM recordedmarkup WHERE chanid =" $CHAN "AND starttime =" $START "AND (type = 4 OR type = 5) ORDER BY mark;" | mysql -B --skip-column-names --password=mythtv -u mythtv mythconverg | xargs 2>/dev/null|sed -e 's@ @,@g'