you will need the following.
Windows 7 (for the cmd script)
ffmpeg (to transcode your video into half sized mpg's)
dvdauthor (to create the DVD structure)
mkisofs (to create your ISO)
growisofs (to burn your ISO to DVD)
nircmd (to eject the DVD)
Just extract all the support files into the same folder, create the cmd scripts (their text files), create a media folder in the same folder to place all the video's you want to convert. I have processed many thousand of videos with these scripts, so they have evolved over time.
I have broke the CMD files into separate systems because sometimes I do not want to do anything except convert a huge video that my computer can't handle into a smaller one so I can watch it on my computer.
Use this command script to transcode your video to mpg in DVD compatible format. Don't worry about the 360x240 format, most stand alone DVD players will expand the video. The quality is good for standard def. For better quality, such as for 720, you will want to change the line
Code:
if /i not %%~xa EQU .mp3 if /i not %%~xa EQU .jpg ffmpeg -threads 8 -i "%%a" -target ntsc-dvd -vf "yadif=0:-1:1, scale=iw/2:-1" -y newmovie1.mpg
to
Code:
if /i not %%~xa EQU .mp3 if /i not %%~xa EQU .jpg ffmpeg -threads 8 -i "%%a" -target ntsc-dvd -vf "yadif=0:-1:1" -y newmovie1.mpg
(transcodeing will take much longer).
Note: Transcodeing takes about 120fps for the 360 format and about 80fps for the 720 format with my Intel® Core™ Duo Processor T2400 (2M Cache, 1.83 GHz, 667 MHz FSB). So I am able to transcode at 2-4 times faster than the actual length of the video. FFMPEG is multi-threaded and uses both cores.
***************** 1. CreateMPG.cmd *****************
Code:
@echo off
cls
title transcode stills with mp3 to intro.mpg
if exist .\media\001.jpg Echo transcodeing all .jpg files in sequence starting with 001.jpg and
if exist .\media\001.jpg Echo combining with intro.mp3 to create an intro.mpg.
if exist .\media\001.jpg ffmpeg -r .07 -i ".\media\%%03d.jpg" -i .\media\intro.mp3 -loop 2 -map 0:0 -map 1:0 -target ntsc-dvd -y intro.mpg
rem ****** clean Up ******
if exist intro.mpg md mpg&move "intro.mpg" mpg
for /r %%a in (.\Media\*.*) do (
title transcode to mpg2 %%~na
echo transcodeing media into .mpg
if /i not %%~xa EQU .mp3 if /i not %%~xa EQU .jpg ffmpeg -threads 8 -i "%%a" -target ntsc-dvd -vf "yadif=0:-1:1, scale=iw/2:-1" -y newmovie1.mpg
rem ****** clean Up ******
if exist newmovie1.mpg ren newmovie1.mpg "%%~na.mpg"
if exist *.mpg md mpg&move "%%~na.mpg" mpg
)
exit
use this command script to create the DVD structure, create an ISO of the DVD and burn the ISO to disc.
***************** 2. finishDVD.cmd *****************
Code:
@echo off
cls
setlocal ENABLEDELAYEDEXPANSION
setlocal ENABLEEXTENSIONS
rem ****** Createing Dvd.xml ******
if exist Dvd.xml del Dvd.xml
echo ^<dvdauthor dest="dvd"^> >>DVD.xml
echo ^<vmgm^> >>DVD.xml
echo ^<menus^> >>DVD.xml
echo ^<pgc entry="title"^> >>DVD.xml
echo ^<vob file=".\mpg\intro.mpg" pause="10"/^> >>DVD.xml
echo ^<post^>jump title 1;^</post^> >>DVD.xml
echo ^</pgc^> >>DVD.xml
echo ^<video format="ntsc" aspect="16:9" widescreen="nopanscan"/^> >>DVD.xml
echo ^</menus^> >>DVD.xml
echo ^</vmgm^> >>DVD.xml
echo ^<titleset^> >>DVD.xml
echo ^<titles^> >>DVD.xml
echo ^<video format="ntsc" aspect="16:9" widescreen="nopanscan"/^> >>DVD.xml
for /f "tokens=*" %%a in ('dir /b .\mpg\*.mpg') do (
if intro NEQ %%~na% (
call :times "%%~na%"
)
)
set /a maxcount=%count%+1
set count=1
for /f "tokens=*" %%a in ('dir /b .\mpg\*.mpg') do (
if intro NEQ %%~na% (
call :times "%%~na%"
)
if intro NEQ %%~na% (
echo ^<pgc^> >>DVD.xml
)
if intro NEQ %%~na% (
echo ^<vob file=".\mpg\%%~na.mpg" chapters="0,5:00,10:00,15:00,20:00,25:00,30:00,35:00,40:00,50:00,55:00,60:00,65:00,70:00,75:00,80:00,85:00,90:00,95:00,100:00,105:00,110:00,115:00,120:00,125:00,130:00,135:00,140:00,145:00,150:00,155:00,160:00,165:00,170:00,175:00,180:00,185:00,190:00,195:00,200:00,205:00" pause="3"/^> >>DVD.xml
)
if intro NEQ %%~na% (
if !count! LSS !maxcount! echo ^<post^> jump title !count!; ^</post^> >>DVD.xml
)
if intro NEQ %%~na% (
echo ^</pgc^> >>DVD.xml
)
)
echo ^</titles^> >>DVD.xml
echo ^</titleset^> >>DVD.xml
echo ^</dvdauthor^> >>DVD.xml
rem ****** Createing DVD structure ******
title Createing DVD structure DVD1
if not exist dvd md dvd
if not exist ".\dvd\DVD1" md ".\dvd\DVD1"
dvdauthor -o ".\dvd\DVD1" -x Dvd.xml
rem ****** create DVD image ******
title Createing ISO DVD1
mkisofs -dvd-video -p "RSS" -publisher "RSS" -V "DVD1" -v -o "DVD1.iso" "DVD\DVD1"
if exist *.iso md iso &move "DVD1.iso" iso
rem ****** write to DVD ******
title ****** write to DVD DVD1 ******
growisofs -dvd-compat -Z d:="iso\DVD1.iso"
start "" /min nircmd.exe cdrom open
pause
ENDLOCAL
exit
:times
set /a count=%count%+1
goto end
:end
Use this command script if you already have a DVD saved to your computer and want to create and ISO of it.
***************** 2b. Create ISO.cmd *****************
Code:
@echo off
cls
setlocal ENABLEDELAYEDEXPANSION
setlocal ENABLEEXTENSIONS
rem ****** create DVD image ******
title Createing ISO DVD1
mkisofs -dvd-video -p "RSS" -publisher "RSS" -V "DVD1" -v -o "DVD1.iso" "DVD\DVD1"
if exist *.iso md iso &move "DVD1.iso" iso
pause
ENDLOCAL
exit
Use this command to burn your DVD ISO to disk.
***************** 3. WriteDVD.cmd *****************
Code:
@echo off
cls
:start
rem ****** write to DVD ******
title ****** write to DVD DVD1 ******
rem growisofs -dvd-compat -Z d:="iso\DVD1.iso"
growisofs -Z d:="iso\DVD1.iso"
start "" /min nircmd.exe cdrom open
goto end
:end
pause
exit
As A slight plus, this system will also create a mpg of stills with one mp3 for your DVD introduction. I haven't worked on the script for a few months, but eventually i want to have it create a basic menu.
Stills have to be named in order such as 001.jpg, 002.jpg, any break in the order such as not having a 003.jpg when you have ten stills will stop the stills from transcodeing. the intro.mpg will still transcode, leaving you with a long pause on a still but music playing.
For linux you should be able to pick through the command lines for all the software and figure out the proper format because the software is cross platform.
I have attached a 7z file with the cmd script and links to the software. just remove the .txt from the file name to use it.