Q: What do you use to convert AVI/MP4 to DVD ISO images on 64-bit Centos 6 Linux?
In the past, I've successfully used DeVeDe on Ubuntu to convert multiple AVIs or MP4s to a DVD ISO image with menus (and then I burn with K3b).
However, on Centos 6 (which is the only OS I have), I keep getting the error "Conversion failed. It seems a bug of Mencoder" in my recent installation of DeVeDe 3.21.0.
I've read everything I could on the net for this common error and tried even the hare-brained suggestions:
- I've tried various different AVI & MP4 files (it does not appear to be data dependent)
- I selected the FFMPEG encoder instead of Mencode (no change)
- I turned off the creation of DVD menus (no change)
- I eliminated subtitle srt files (no change)
- I set the Video Rate and Audio Rate in File Properties - Advanced Options to defaults (no change)
- I moved all the files to the local disk (instead of a USB-mounted hard drive)
- I ran as root (no change)
- I rebooted multiple times (no change)
etc.
I have no debugging information other than the error message.
As usual, there's very little Centos (mostly it's Ubuntu anecdotal information) debugging help out there; but even so, the error, it seems, may even have nothing to do with Mencoder (based on bug reports).
I'm at my wits end and about to give up on DeVeDe.
But then, that brings me to the question:
Q: What do you use on Centos 6 to convert multiple AVI and/or MP4 files to a DVD format (either ISO or VIDEO_TS)?
UPDATE:
We found the problem was a bad DeVeDe (version 3.21.0) from the Linuxtech repository.
The solution was simply to use a different DeVeDe (version 3.16.9) from the fedora (Pbone) location.
+ Reply to Thread
Results 1 to 10 of 10
-
Last edited by rocksockdoc; 27th Dec 2012 at 04:28. Reason: Added update
-
I use mencoder + DVDStyler.
Actually, DVDStyler will handle everything by itself, but using mencoder separately gives me a lot more control and quality over the encode. DVDStyler can give you either stock menus or fully custom menus, and spits out either VIDEO_TS or a neatly packaged ISO.
I put all sources in a folder, create an empty destination dir, then run a bash script that basically just executes mencoder in a for loop on all the files in the source folder. The script has a nested for loop that runs each video through a 4-pass encode, which may be overkill, but I really value quality
If you like, I'll post my little script when I'm back at my dev rig.
Merry Christmas! -
That would be a nice Christmas present!
Meanwhile, I'll see how to install DVDStyler (although the reviews are lackluster).
EDIT:
Unfortunately it's not easy to install properly for Centos 6 (which frowns upon non-yum installations).
Here's what I tried so far (I'm not sure the next step so I hesitate):
$ uname -a
REPORTS: Linux XXX 2.6.32-279.19.1.el6.x86_64 #1 SMP ... x86_64 x86_64 x86_64 GNU/Linux
$ sudo yum update; sudo yum install dvdstyler
REPORTS: Nothing to do.
$ sudo yum list dvdstyler
REPORTS: Error: No matching Packages to list
$ yum search all dvdstyler
REPORTS: No Matches found
$ alias yumlist='yum --noplugins --showduplicates --enablerepo \* --disablerepo \*-source --disablerepo c6-media,\*debug\*,\*-source list'
$ yumlist dvdstyler
REPORTS: Error: No matching Packages to list
$ alias yumsearch='yum --noplugins --showduplicates --enablerepo \* --disablerepo \*-source --disablerepo c6-media,\*debug\*,\*-source search'
$ yumsearch dvdstyler
REPORTS: No Matches found
$ alias yumwhatprovides='yum --noplugins --showduplicates --enablerepo \* --disablerepo c6-media,\*-source,\*debug\* whatprovides'
$ yumwhatprovides "*/dvdstyler"
REPORTS: No Matches found
$ yum --noplugins --showduplicates --enablerepo \* --disablerepo c6-media,\*-source,\*debug\* provides "*/dvdstyler"
REPORTS: No Matches found
http://pkgs.repoforge.org
<control f>dvdstyler
REPORTS: nothing
http://pkgs.org/search/?keyword=dvdstyler
REPORTS:
Fedora 17, RPM Fusion Free: dvdstyler-2.0-0.2.rc1.fc17.i686.rpm - Cross-platform DVD authoring application
Fedora 17, RPM Fusion Free Updates: dvdstyler-2.3.4-1.fc17.i686.rpm - Cross-platform DVD authoring application
Fedora 16, RPM Fusion Free: dvdstyler-2.0-0.1.rc1.fc16.i686.rpm - Cross-platform DVD authoring application
Fedora Rawhide, RPM Fusion Free: dvdstyler-2.3.4-2.fc19.i686.rpm - Cross-platform DVD authoring application
http://pbone.net advance search limited to CentOS 6, RHEL 6 and Scientific Linux 6:
REPORTS: Search results for dvdstyler :
Other ftp.sourceforge.net/pub/sourceforge/d/dv/dvdstyler/dvdstyler/1.8.1/dvdstyler-1.8.1-1pclos2010.i586.rpm
Other ftp.sourceforge.net/pub/sourceforge/d/dv/dvdstyler/dvdstyler/1.8.0.3/dvdstyler-1.8.0.3-1pclos2010.i586.rpm
Other ftp.sourceforge.net/pub/sourceforge/d/dv/dvdstyler/dvdstyler/1.8.0.2/dvdstyler-1.8.0.2-1pclos2010.i586.rpm
Other ftp.sourceforge.net/pub/sourceforge/d/dv/dvdstyler/dvdstyler/1.8.0.1/dvdstyler-1.8.0.1-1pclos2010.i586.rpm
Other ftp.sourceforge.net/pub/sourceforge/d/dv/dvdstyler/dvdstyler/1.8.0/dvdstyler-1.8.0-1pclos2010.i586.rpm
Other ftp.sourceforge.net/pub/sourceforge/d/dv/dvdstyler/dvdstyler/1.7.4/dvdstyler-1.7.4_3-1pclos2010.i586.rpm
I'm looking up how to install DVDStyler from their web page given the results above.
In addition to the results above, I find this generic procedure for installing DVDStyler and the dvdstyler source code over here.Last edited by rocksockdoc; 25th Dec 2012 at 21:40.
-
I would never use it to transcode with; the results are definitely horrible. It uses something like a generic 1-pass ffmpeg transcode. However, I have been very happy with its menu creation, authoring, and ISO creation capabilities.
I'm not deadset on DVDStyler. Actually, it is pretty clunky and has crashed on me a few times, but I just Ctrl+S after every major edit and it re-loads fine.
I'm using it as the only cross-platform authoring tool that gives me decent control over the menu design. I'm 100% for a more stable, superior alternative.
I'm not too surprised that CentOS doesn't keep it in repos. CentOS is, well, enterprise-oriented
Once I get home I'll post that script. It worked wonders for me, hope it can help someone out. -
I'm still pretty fresh with bash scripting, so I'm sure there's a lot of work to be done. But, it gets the job done quite nicely!
This is set up to *produce* NTSC FILM DVDs with telecine (3:2 pulldown). This means my sources were 24fps progressive and I wanted to preserve that. It's more common to just use native 29.97fps NTSC DVD. If that's the case, be sure to uncomment the proper OFPS setting below, and remove the telecine: option from line 134 (in the -mpegopts string)
Open to comments, suggestions, critique, etc. Merry Christmas!
Code:#!/bin/bash # hqdvd.sh - A simple script for transcoding a directory # of video files to high-quality, DVD-ready MPEG2 with mencoder. # The resulting files will be immediately suitable for authoring # with a program like dvdauthor or DVDStyler. # Usage: ./hqdvd.sh <source dir> <destination dir> <video bitrate> <audio bitrate> # Example: ./hqdvd.sh source dest 1700 192 # BE SURE TO OMIT trailing slashes on the source and destination directories! # A good bitrate calculator is available at # http://dvd-hq.info/bitrate_calculator.php # Notes: # - This script is purposefully simple, which means it lacks a lot of # error checking and features of a program like DeVeDe. # - I started this script as a way to make some personal projects a bit # easier; consider it in alpha stages with no guarantee of success. # - I recommend using the latest *stable* mencoder; I ran into some # problems with the nightlies, though your mileage may vary. # - The mencoder settings below are optimized for *quality*, which # means the jobs go much slower than you may expect. This is not # intended for "quick and dirty" jobs. On an i5 MacBook, I encoded # at about halftime; i.e. 1 hour of source took about 2 to encode. # Uncomment the proper location of your mencoder binary #MENCODER=/opt/local/bin/mencoder MENCODER=/usr/bin/mencoder # Be sure to *OMIT* trailing slashes when invoking hqdvd.sh. # You could change $1 and $2 to permanent locations to make things simpler. SOURCE_DIR=$1 DEST_DIR=$2 # :TODO: Implement proper bitrate calculation so this becomes unnecessary. # For now, a good calculator is available at # http://http://dvd-hq.info/bitrate_calculator.php # Just integers in kiloBITS (NOT bytes) per second (kbps). # DVD-Video max is 9800, should be calculated based on the specific project VIDEO_BITRATE=$3 AUDIO_BITRATE=$4 # mencoder can perform N passes! 2 passes are good, 4 is excellent, more is # only suitable for very high motion sources and the most discriminating eye. # NOTE: This script will not work with a 1-pass encodes. PASSES=4 # Adjust for multi-core systems. Maximum: 8. THREADS=8 # Output framerate. Best expressed as an integer or rational number, # e.g. 24000/1001 = 23.976 for NTSC FILM. Uncomment the appropriate # one for your project. # NTSC DVD #OFPS=30000/1001 # NTSC FILM OFPS=24000/1001 # Output video resolution, in pixels, expressed as WIDTH:HEIGHT. SCALE=720:480 # Output video aspect resolution. Most are 16/9, but some are 4/3. VASPECT=16/9 # Audio sample rate in hertz (hz). SRATE=48000 # Number of audio channels. Currently untested beyond stereo, # but should work with more (limited to AC3 specifications). CHANNELS=2 # Just some presentational stuff here, change if you like. DIVIDER="---------------------------------------------------" COLOR="\033[1;36;40m" ECOLOR="\033[0m" # Directory should contain *only* video files, or mencoder will probably get mad :( # This for() loop effectively creates a batch job of all files to encode. for SRC in $SOURCE_DIR/* do # Strip the extension to form the destination filename DEST=$DEST_DIR$(basename $SRC ${SRC##*.})mpg # First pass echo $DIVIDER echo -e "$COLOR STARTING: Pass 1 of $PASSES on $DEST$ECOLOR" echo $DIVIDER $MENCODER \ -ovc lavc \ -nosound \ -sws 9 \ -vf scale=$SCALE \ -lavdopts threads=$THREADS:fast \ -lavcopts turbo:threads=$THREADS:vcodec=mpeg2video:vpass=1:vbitrate=$VIDEO_BITRATE \ -mc 0 \ -o /dev/null \ $SRC echo $DIVIDER echo -e "$COLOR FINISHED: Pass 1 of $PASSES on $DEST$ECOLOR" echo $DIVIDER # N passes # At this point we have already done one pass, so we subtract one # from the $PASSES variable # NOTE: This script is not intended for one-pass encodes. for i in $(seq -s ' ' 1 $((PASSES-1))) do echo $DIVIDER echo -e "$COLOR STARTING: Pass $((i+1)) of $PASSES on $DEST$ECOLOR" echo $DIVIDER $MENCODER \ -ovc lavc \ -oac lavc \ -mc 0 \ -sws 9 \ -noskip \ -vf scale=$SCALE,hqdn3d=2:1:2,pp=ac,harddup \ -srate $SRATE \ -af lavcresample=$SRATE,channels=$CHANNELS \ -channels $CHANNELS \ -lavdopts threads=$THREADS:fast \ -lavcopts threads=$THREADS:vpass=3:aspect=$VASPECT:vcodec=mpeg2video:\ vrc_buf_size=1835:vrc_maxrate=9350:vbitrate=$VIDEO_BITRATE:\ keyint=18:trell:mbd=2:precmp=3:subcmp=3:cmp=3:\ dia=-10:predia=-10:preme=1:last_pred=3:cbp:mv0:acodec=ac3_fixed:abitrate=$AUDIO_BITRATE:\ lmin=1:dc=10:vstrict=0 \ -of mpeg \ -mpegopts format=dvd:tsaf:vaspect=$VASPECT:telecine:interleaving2 \ -ofps $OFPS \ -o $DEST \ $SRC echo $DIVIDER echo -e "$COLOR FINISHED: Pass $((i+1)) of $PASSES on $DEST$ECOLOR" echo $DIVIDER done done echo $DIVIDER echo -e "$COLOR Job finished: $DEST" echo $DIVIDER
-
Oh, and here's a super primitive time calculator script that adds the runtime of all source files using ffmpeg. This makes bitrate calculation much easier. Unfortunately due to my lackluster bash skills this must be executed within the source directory.
So, the overall DVD creation process goes something like this:
- Collect all source video files into a single source directory
- Copy timecalc.sh into that directory and execute it: ./timecalc.sh
- Decide on an audio bitrate. For speech, 128k is more than enough, but some high quality audio tracks really need 224k+. Take that, and the total runtime in minutes and input it into a bitrate calculator, such as this one to get the target video bitrate.
- Create a destination directory, for the resulting MPEG files.
- Edit hqdvd.sh to suit your project (e.g. threads, passes, framerate, etc.) Currently defaults to 8 threads, 4 passes, NTSC FILM.
- Run ./hqdvd.sh source-dir dest-dir video-bitrate audio-bitrate
- Wait for a while
- Load the resulting files into an authoring program
Code:#!/bin/bash IFS=":" # Initialize time calculation variables HRS=0 MINS=0 SECS=0 OUTPUT=0 # Iterate over every m4v file in the current working directory for FILE in *.m4v do # Returns video length in hh:mm:ss format TIME=$(ffmpeg -i $FILE 2>&1 | grep Duration | awk '{print $2}' | tr -d , | sed -e "s/\.[0-9]*//g") # Splits the $TIME variable into $1, $2 and $3 based on the colon (:) delimiter set $TIME # Add the hours, minutes and seconds to each corresponding variable HRS=$(echo $HRS + $1 | bc) MINS=$(echo $MINS + $2 | bc) SECS=$(echo $SECS + $3 | bc) done # Add them all up and output total runtime in minutes OUTPUT=$(expr $HRS '*' 60) # Convert hours to minutes OUTPUT=$(($OUTPUT + $MINS)) # Add minutes OUTPUT=$(($OUTPUT + $(echo $SECS / 60 | bc))) # Convert seconds to minutes echo "Total runtime: $OUTPUT minutes" # Return output
-
I saved all that for future use (plus others can use it too!).
I'm still searching for a GUI-based DVD-authoring tool for 64-bit Centos 6 Linux (which is all that I have available to me).
I (really) wish DeVeDe worked without that darn error message because that was a simple GUI when I used DeVeDe on Ubuntu.
But now I'm on Centos, and DeVeDe is just not working (as described separately) for me.
It would be nice if someone else on 64-bit Centos can confirm whether it's just me - or if it's the DeVeDe program itself.
To work around the problem, I tried to install DVDStyler on my 64-bit Centos 6 - but that too has an exasperating installation problem as 64-bit libraries do not seem to be available.
So I plan on trying Bombono next, and then Kdenlive after that, because they come with a GUI.
But, if that fails, I'll then fall back to the command-line DVD authoring tools on Centos Linux.
In summary, these seem to be the GUI-based DVD authoring programs out there for Linux (none seem to have easy or working installations on 64-bit Centos 6 though):
1. DeVeDe (GUI based, very easy to use, converts almost anything to DVD, but DeVeDe doesn't seem to work on Centos 6)
2. Bombono (GUI based, unknown as yet how easy to use, unknown yet how to install it on Centos 6)
3. Kdenlive (GUI based, unknown as yet how easy to use, unknown yet how to install on Centos 6)
In summary, these seem to be the command-line DVD authoring programs out there for Linux (I have not tested them yet):
1. genisoimage (command line tool, very easy to install on Centos 6)
2. dvdstyler + mencoder (command line tool, does not yet seem to have an installer for Centos 6)
3. tovid (command line tool, doesn't seem to have a Centos 6 installer - but Scottro has gotten it to work)
Is my summary above accurate for the sum total of our DVD authoring options on 64-bit Centos 6?
-
I tried installing the three GUI-based programs, and I found a problem with most of them which is shown below so others can follow successfully in my footsteps.
Here is how I (unsuccessfully) installed DeVeDe to author DVDs from AVI or MP4 files:
Code:DeVeDe installation (linuxtech method): 1. Add the linuxtech repo to /etc/yum.repos.d using steps 2 & 3 below 2. $ cd /etc/yum.repos.d/ 3. $ sudo wget http://pkgrepo.linuxtech.net/el6/testing/linuxtech.repo 4. This linuxtech.repo file has the 'linuxtech-release' repo enabled by default. 5. Since mixing repos is bad, disable linuxtech-release using step 6 below 6. sudo vi /etc/yum.repos.d/linuxtech.repo ==> Change: linuxtech-release 'enabled=1' to 'enabled=0' 7. Then see if devede is available: 8. $ yum --enablerepo=linuxtech-testing info devede 9. To install devede, [temporarily] enable the 'linuxtech-release' repo for dependencies: 10. $ yum --enablerepo=linuxtech-testing --enablerepo=linuxtech-release install devede 11. If this reports dependencies of mplayer and mencoder, install them from elsewhere; then repeat step 10 12. $ which devede ==> should report /usr/bin/devede & it will show up in your menus
DeVeDe installation (PBone method):
Code:0. $ sudo yum erase dvdauthor vcdimager mencoder devede libvcdinfo mplayer 1. http://pbone.net -> advanced search -> CentOS 6, RHEL 6 and Scientific Linux 6 -> devede ==> failed 2. http://pbone.net -> advanced search -> add Fedora 12 and 13 ==> worked 3. Downloaded devede-3.16.9-1.fc13.src.rpm 4. $ rpmbuild --rebuild devede-3.16.9-1.fc13.src.rpm 5. $ ls /home/USER/rpmbuild/RPMS/noarch/devede-3.16.9-1.el6.noarch.rpm 6. $ cd /home/USER/rpmbuild/RPMS/noarch/ 7. $ sudo rpm -ivh ./devede-3.16.9-1.el6.noarch.rpm ==> reported dependencies which are fixed in the next step: 8. sudo yum --enablerepo=rpmforge install dvdauthor mencoder mplayer vcdimager 9. $ sudo rpm -ivh ./devede-3.16.9-1.el6.noarch.rpm ==> now reports success 10. $ which devede ==> should report /usr/bin/devede & it will show up in your menus
linuxtech method (which installed a DeVeDe that failed every single time).
In addition, I tried to install the other two GUI-based programs (but so far, I've failed) due to lack of support for Centos 6.
Here's my log for installing kdnlive:
Code:============================================================================ $ uname -a REPORTS: Linux XXX 2.6.32-279.19.1.el6.x86_64 #1 SMP $ sudo yum update; sudo yum install kdnlive REPORTS: Error: Nothing to do. $ sudo yum list kdnlive REPORTS: Error: No matching Packages to list $ yum search all kdnlive REPORTS: No Matches found $ alias yumlist='yum --noplugins --showduplicates --enablerepo \* --disablerepo \*-source --disablerepo c6-media,\*debug\*,\*-source list' $ yumlist kdnlive REPORTS: Error: No matching Packages to list $ alias yumsearch='yum --noplugins --showduplicates --enablerepo \* --disablerepo \*-source --disablerepo c6-media,\*debug\*,\*-source search' $ yumsearch kdnlive REPORTS: No Matches found $ alias yumwhatprovides='yum --noplugins --showduplicates --enablerepo \* --disablerepo c6-media,\*-source,\*debug\* whatprovides' $ yumwhatprovides "*/kdnlive" REPORTS: No Matches found $ yum --noplugins --showduplicates --enablerepo \* --disablerepo c6-media,\*-source,\*debug\* provides "*/kdnlive" REPORTS: No Matches found http://pkgs.repoforge.org <control f>kdnlive REPORTS: nothing http://pkgs.org/search/?keyword=kdnlive REPORTS: Your search did not match any packages. ============================================================================
Code:============================================================================ $ uname -a REPORTS: Linux XXX 2.6.32-279.19.1.el6.x86_64 #1 SMP $ sudo yum update; sudo yum install bombono REPORTS: Error: Nothing to do. $ sudo yum list bombono REPORTS: Error: No matching Packages to list $ yum search all bombono REPORTS: No Matches found $ alias yumlist='yum --noplugins --showduplicates --enablerepo \* --disablerepo \*-source --disablerepo c6-media,\*debug\*,\*-source list' $ yumlist bombono REPORTS: Error: No matching Packages to list $ alias yumsearch='yum --noplugins --showduplicates --enablerepo \* --disablerepo \*-source --disablerepo c6-media,\*debug\*,\*-source search' $ yumsearch bombono REPORTS: No Matches found $ alias yumwhatprovides='yum --noplugins --showduplicates --enablerepo \* --disablerepo c6-media,\*-source,\*debug\* whatprovides' $ yumwhatprovides "*/bombono" REPORTS: No Matches found $ yum --noplugins --showduplicates --enablerepo \* --disablerepo c6-media,\*-source,\*debug\* provides "*/bombono" REPORTS: No Matches found http://pkgs.repoforge.org <control f>bombono REPORTS: nothing http://pkgs.org/search/?keyword=bombono REPORTS: Debian, Fedora, Mandriva, openSUSE, Slackware, & Ubuntu (but unfortunately, no Centos repositories). ============================================================================
-
Update.
I spoke with the maintainer of the linuxtech-testing repository (listed in the "rpm -qi devede" command)who reproduced the problem - and - as a result - he removed the devede package from the repository to prevent others from having the same issues.
The problem is that the ffmpeg program that worked with the older DeVeDe 3.16.9 hasn't been updated to work with the newer DeVeDe 3.21.0 which his repository had.
So his repository had the new DeVeDe 3.21.0 but the old ffmpeg that only worked with DeVeDe 3.16.9.
As ffmpeg affects many other programs, he opted to remove DeVeDe 3.21.0 wholly from the repository.
He pointed me to this thread for details.
It turns out that most ffmpegs are the older version:
$ yum --noplugins --showduplicates --enablerepo \* --disablerepo c6-media,\*-source,\*debug\* provides "*/ffmpeg"
REPORTS: linuxtech-release, naulinux-school, nux-dextop, rpmforge & ATrpms
Apparently only the ATrpms version is the newer one - but it would be folly to mix repositories if you don't absolutely need it. -
I realise this post is rather old now: I've strengthened diprotic's script it a bit by adding a help option and check for mencoder installation.
Code:#!/bin/bash #!/bin/bash -x # hqdvd.sh - A simple script for transcoding a directory # of video files to high-quality, DVD-ready MPEG2 with mencoder. # The resulting files will be immediately suitable for authoring # with a program like dvdauthor or DVDStyler. #2016-08-26 AL Added 'help/number-of-arguments' test. Added test for existence # of $MENCODER # Check that at least 1 argument is given (use basename if script was saved # with a different filename). function helpme { ME=`basename $0` echo echo Usage: $ME source_dir destination_dir video_bitrate audio_bitrate echo echo Example: $ME source dest 1700 192 echo } case ${1} in -h* | --h* ) helpme exit ;; esac if [ $# -lt 4 ] then helpme exit fi # BE SURE TO OMIT trailing slashes on the source and destination directories! # A good bitrate calculator is available at # http://dvd-hq.info/bitrate_calculator.php # Notes: # - This script is purposefully simple, which means it lacks a lot of # error checking and features of a program like DeVeDe. # - I started this script as a way to make some personal projects a bit # easier; consider it in alpha stages with no guarantee of success. # - I recommend using the latest *stable* mencoder; I ran into some # problems with the nightlies, though your mileage may vary. # - The mencoder settings below are optimized for *quality*, which # means the jobs go much slower than you may expect. This is not # intended for "quick and dirty" jobs. On an i5 MacBook, I encoded # at about halftime; i.e. 1 hour of source took about 2 to encode. # Uncomment the proper location of your mencoder binary #MENCODER=/opt/local/bin/mencoder MENCODER=/usr/bin/mencoder FLAG=OK if [ ! ${MENCODER} ]; then echo "You need to install $MENCODER" ; FLAG=NOK ; fi #if [ ! `which ffmpeg` ]; then echo "You need to install ffmpeg" ; FLAG=NOK ; fi #if [ ! `which eyeD3` ]; then echo "You need to install eyeD3(eyed3 package)" ; FLAG=NOK ; fi if [ $FLAG = "NOK" ]; then echo "Stopping" ; fi # Be sure to *OMIT* trailing slashes when invoking this script. # You could change $1 and $2 to permanent locations to make things simpler. SOURCE_DIR=$1 DEST_DIR=$2 # :TODO: Implement proper bitrate calculation so this becomes unnecessary. # For now, a good calculator is available at # http://http://dvd-hq.info/bitrate_calculator.php # Just integers in kiloBITS (NOT bytes) per second (kbps). # DVD-Video max is 9800, should be calculated based on the specific project VIDEO_BITRATE=$3 AUDIO_BITRATE=$4 # mencoder can perform N passes! 2 passes are good, 4 is excellent, more is # only suitable for very high motion sources and the most discriminating eye. # NOTE: This script will not work with a 1-pass encodes. PASSES=4 # Adjust for multi-core systems. Maximum: 8. THREADS=3 # Output framerate. Best expressed as an integer or rational number, # e.g. 24000/1001 = 23.976 for NTSC FILM. Uncomment the appropriate # one for your project. # NTSC DVD #OFPS=30000/1001 # NTSC FILM OFPS=24000/1001 # Output video resolution, in pixels, expressed as WIDTH:HEIGHT. SCALE=720:480 # Output video aspect resolution. Most are 16/9, but some are 4/3. VASPECT=16/9 # Audio sample rate in hertz (hz). SRATE=48000 # Number of audio channels. Currently untested beyond stereo, # but should work with more (limited to AC3 specifications). CHANNELS=2 # Just some presentational stuff here, change if you like. DIVIDER="---------------------------------------------------" COLOR="\033[1;36;40m" ECOLOR="\033[0m" # Directory should contain *only* video files, or mencoder will probably get mad :( # This for() loop effectively creates a batch job of all files to encode. for SRC in $SOURCE_DIR/* do # Strip the extension to form the destination filename DEST=$DEST_DIR$(basename $SRC ${SRC##*.})mpg # First pass echo $DIVIDER echo -e "$COLOR STARTING: Pass 1 of $PASSES on $DEST$ECOLOR" echo $DIVIDER $MENCODER \ -ovc lavc \ -nosound \ -sws 9 \ -vf scale=$SCALE \ -lavdopts threads=$THREADS:fast \ -lavcopts turbo:threads=$THREADS:vcodec=mpeg2video:vpass=1:vbitrate=$VIDEO_BITRATE \ -mc 0 \ -o /dev/null \ $SRC echo $DIVIDER echo -e "$COLOR FINISHED: Pass 1 of $PASSES on $DEST$ECOLOR" echo $DIVIDER # N passes # At this point we have already done one pass, so we subtract one # from the $PASSES variable # NOTE: This script is not intended for one-pass encodes. for i in $(seq -s ' ' 1 $((PASSES-1))) do echo $DIVIDER echo -e "$COLOR STARTING: Pass $((i+1)) of $PASSES on $DEST$ECOLOR" echo $DIVIDER $MENCODER \ -ovc lavc \ -oac lavc \ -mc 0 \ -sws 9 \ -noskip \ -vf scale=$SCALE,hqdn3d=2:1:2,pp=ac,harddup \ -srate $SRATE \ -af lavcresample=$SRATE,channels=$CHANNELS \ -channels $CHANNELS \ -lavdopts threads=$THREADS:fast \ -lavcopts threads=$THREADS:vpass=3:aspect=$VASPECT:vcodec=mpeg2video:\ vrc_buf_size=1835:vrc_maxrate=9350:vbitrate=$VIDEO_BITRATE:\ keyint=18:trell:mbd=2:precmp=3:subcmp=3:cmp=3:\ dia=-10:predia=-10:preme=1:last_pred=3:cbp:mv0:acodec=ac3_fixed:abitrate=$AUDIO_BITRATE:\ lmin=1:dc=10:vstrict=0 \ -of mpeg \ -mpegopts format=dvd:tsaf:vaspect=$VASPECT:telecine:interleaving2 \ -ofps $OFPS \ -o $DEST \ $SRC echo $DIVIDER echo -e "$COLOR FINISHED: Pass $((i+1)) of $PASSES on $DEST$ECOLOR" echo $DIVIDER done done echo $DIVIDER echo -e "$COLOR Job finished: $DEST" echo $DIVIDER
Similar Threads
-
Batch Convert - ISO/DVD to MP4
By joepic in forum Video ConversionReplies: 12Last Post: 26th Feb 2015, 12:09 -
Cannot seem to convert MKV to MP4 or AVI to MP4 without audio sync issues
By Matth3w in forum Video ConversionReplies: 0Last Post: 16th Sep 2012, 13:36 -
convert iso to mp4 no sound
By baldthreads in forum Video ConversionReplies: 7Last Post: 8th Feb 2012, 14:17 -
Convert ISO MP4 Splited videos to Joining all
By fidogenial in forum EditingReplies: 0Last Post: 21st Nov 2011, 18:11 -
Best software to convert VOB to mp4 or AVI, or AVI to MP4?
By 80zforever in forum DVD RippingReplies: 7Last Post: 18th May 2010, 12:32