# devo passare dei divx su dvd

## khris81

come faccio?

con transcode mi da errore durante la codifica, con qualsiasi divx, gli unici prog che funzionano sono quelli x win emulati tramite wine, es. divxtodvd, avidemux funziona ma ha uan qualità che fa pietà c'è una perdita di qualita passando da divx a dvd impressionante usando avidemux e nn capisco il xchè!!!

cosa posso usare?

----------

## Peach

hai provato a fare una ricerca nel forum o a guardare qui?

https://forums.gentoo.org/viewtopic-t-352925.html

se nn funziona che errore ti da e con che comando...

----------

## khris81

sono io l'autore di quel topic, ne ho aperto un altro xchè il problema è diverso volevo sapere tutti i strumenti che linux mette a disposizione x queste cose.

----------

## Peach

 *khris81 wrote:*   

> sono io l'autore di quel topic, ne ho aperto un altro xchè il problema è diverso volevo sapere tutti i strumenti che linux mette a disposizione x queste cose.

 

 :Embarassed: 

nn sono un esperto per nulla per quanto riguarda la compressione video cmq sia per scoprire gli strumenti a disposizione sotto linux per fare quanto desideri inizierei a fare una ricerca in http://packages.gentoo.org e poi una volta scoperti i pacchetti cercare nel forum.

per il tuo problema contingente, direi che la cosa migliore sia postare l'errore e il comando dato.

ciao

----------

## wildancer

anche io ero interessato, avevo un articolo su un prog apposito da usare con dvdstyler, appena trovo te lo faccio sapere

----------

## Gaspyd

Prova: http://tovid.sourceforge.net/

Trovi l'ebuild 

https://bugs.gentoo.org/show_bug.cgi?id=84761

----------

## wildancer

mh come andrebbe chiamato l'ebuild?  :Embarassed: 

EDIT: tovid-0.18b.ebuild da mettere in $PORTDIR_OVERLAY/media-video/tovid/  :Smile: 

----------

## LittleBug

se provo ad emergere tovid (versione 0.19)mi dice: 

```

!!! No package manifest found: /usr/portage/media-video/tovid/Manifest

```

Come posso fare?  :Embarassed:   :Embarassed: 

----------

## knefas

prova a rifare emerge sync, e se non va a farne un altro cambiando mirror. Se sei proprio disperato puoi provare con 

```
ebuild /usr/portage/media-video/tovid/tovid-xxx.ebuild digest
```

 ma in teoria il portage dovrebbe contenere i Manifest corretti!  :Smile: 

(mi sa che e' un problema tipo questo...)

----------

## LittleBug

ok ho fatto il digest e ora è tutto corretto 

thanks

----------

## Tùrin_Mormegil

com'è? funziona a dovere? anche a me servirebbe una roba simile...

----------

## power83

avete provato Qdvd-author?

EDIT: ma passando dei divx su dvd, si risparmia spazio almeno o tutto funziona in base al tempo del filmato???

----------

## Danilo

 *power83 wrote:*   

> avete provato Qdvd-author?
> 
> EDIT: ma passando dei divx su dvd, si risparmia spazio almeno o tutto funziona in base al tempo del filmato???

 

La codifica dvd richiede piu' spazio rispetto alla divx.

In mpeg i filmati non sono compressi, in divx si.

-----------EDIT --------------------

Per l'authoring c'e' anche l'ottimo  kmediafactory.

Non e' in portage ma sul sito vi sono degli ebuild gentoo.

Basta dirgli quali sono i files mpeg e lui ti crea il dvd  con i menu'necessari.

----------

## n3m0

Allora, io mi sono scritto uno script, ancora in fase MOOOOOOLTO alpha (per questo mai postato), che mi porta un divx in DVD, con un solo comando (dal punto di vista utente). Non permette di aggiungere menu, ne permette di fare vari capitoli: piglia il flusso video e crea esattamente un DVD leggibile con quell'unico flusso video. Punto. 

Se vi basta, il tutto è di seguito.

Se vorrete darmi una mano a migliorarlo/espanderlo/correggerlo, ne sarò lieto.

Così com'è pare funzionare, ma NON è completo.

I file sono due: 

- divx2dvd

- divx2dvd.conf: questo secondo i progetti dovrebbe andare in /etc. Per ora, però, va tenuto nella medesima directory del file divx2dvd

Un breve usage (perchè non l'ho messo ancora nello script):

```
# divx2dvd --input /path/to/avifile --work-dir /path/to/workdir

--output /path/to/output.iso
```

In realtà l'unico switch obbligatorio è --input.

Gli altri due overridano due variabili definite in divx2dvd.conf.

Dateci uno sguardo per capire.

Per maggiori info su quali switch si hanno a disposizione, consultare il file

divx2dvd, funzione parse_options, riga 159 in poi.

Ah, dimenticavo lo script, effettua il check delle dipendenze (molto probabilemente male). 

Trovate cmq i TOOL da cui dipende in divx2dvd.conf, ultima riga.

Altro errore potenziale: filename con spazi gestiti male.

File divx2dvd: 

```
#!/bin/bash

############################################################################

#    Copyright (C) 2005 by Vincenzo Russo                                 #

#    nemo@crazynet.org                                                     #

#                                                                          #

#    This program is free software; you can redistribute it and#or modify  #

#    it under the terms of the GNU General Public License as published by  #

#    the Free Software Foundation; either version 2 of the License, or     #

#    (at your option) any later version.                                   #

#                                                                          #

#    This program is distributed in the hope that it will be useful,       #

#    but WITHOUT ANY WARRANTY; without even the implied warranty of        #

#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #

#    GNU General Public License for more details.                          #

#                                                                          #

#    You should have received a copy of the GNU General Public License     #

#    along with this program; if not, write to the                         #

#    Free Software Foundation, Inc.,                                       #

#    59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             #

############################################################################

##############################

# text_colorize: print coloured text

# 

# $1 the text to colorize

# $2 the color to apply to, specified in the form COLOR or BRIGHT_COLOR (e.g.: RED or BRIGHT_RED)

# $3 colorize? (true/false)

##############################

text_colorize() {

   local TEXT=${1}

   local COLORIZE=${3}

   if (${COLORIZE}); then

      local BR=`echo ${2} | cut -d "_" -f 1`

      local COLOR=`echo ${2} | cut -d "_" -f 2`

      if [ $BR != $COLOR ]; then

         local BRIGHT=1;

      else

         local BRIGHT=0;

      fi

   else

      local COLOR="NOCOLOR"

   fi

   local DULL=0

   #

   local FG_BLACK=30

   local FG_RED=31

   local FG_GREEN=32

   local FG_YELLOW=33

   local FG_BLUE=34

   local FG_VIOLET=35

   local FG_CYAN=36

   local FG_WHITE=37

   local FG_NULL=00

   #

   local BG_BLACK=40

   local BG_RED=41

   local BG_GREEN=42

   local BG_YELLOW=43

   local BG_BLUE=44

   local BG_VIOLET=45

   local BG_CYAN=46

   local BG_WHITE=47

   local BG_NULL=00

   #

   # ANSI Escape Commands

   #

   local ESC="\033"

   local NORMAL="$ESC[m"

   local RESET="$ESC[${DULL};${FG_WHITE};${BG_NULL}m"

   #

   # Shortcuts for Colored Text ( Bright and FG Only )

   # BRIGHT TEXT

   local BLACK="$ESC[${BRIGHT};${FG_BLACK}m"

   local RED="$ESC[${BRIGHT};${FG_RED}m"

   local GREEN="$ESC[${BRIGHT};${FG_GREEN}m"

   local YELLOW="$ESC[${BRIGHT};${FG_YELLOW}m"

   local BLUE="$ESC[${BRIGHT};${FG_BLUE}m"

   local VIOLET="$ESC[${BRIGHT};${FG_VIOLET}m"

   local CYAN="$ESC[${BRIGHT};${FG_CYAN}m"

   local WHITE="$ESC[${BRIGHT};${FG_WHITE}m"

   

   

   case ${COLOR} in 

      "BLACK")   echo -ne ${BLACK}"${TEXT}"${NORMAL}   ;;

      

      "RED")   echo -ne ${RED}"${TEXT}"${NORMAL}   ;;

      "GREEN")   echo -ne ${GREEN}"${TEXT}"${NORMAL}   ;;

      "YELLOW")   echo -ne ${YELLOW}"${TEXT}"${NORMAL}   ;;

      "BLUE")   echo -ne ${BLUE}"${TEXT}"${NORMAL}   ;;

      "VIOLET")   echo -ne ${VIOLET}"${TEXT}"${NORMAL}   ;;

            

            

      "CYAN")   echo -ne ${CYAN}"${TEXT}"${NORMAL}   ;;

      "WHITE")   echo -ne ${WHITE}"${TEXT}"${NORMAL}   ;;

      "NOCOLOR")   echo -ne "${TEXT}"   ;;

   esac

}

#################################

# print_version: Print the script version

#################################

print_version() {

   echo "Version: changme"

   exit 0;

}

#################################

# print_usage: Print the script usage

#################################

print_usage() {

   echo "Usage: changeme"

   exit 0;

}

#################################

# parse_options: parse the command line parameters

# 

# $1: the global $@

#################################

parse_options() {

   # TEMP gets the output of the options parsing

   TEMP=`getopt -o vhncw:s:j::i:o: --long version,help,no-color,color,work-dir:,only-step:,jump-to-step:,input:,output: -- "$@" 2> /dev/null`

   # if getopt fails the script returns with an error status

   if [ $? != 0 ] 

   then 

      echo "Unable to parse command line parameters. Terminating..." >&2 

      exit 1  

   fi

   # Evaluate parsing command. 

   # Warning: The quotes around $TEMP are essential!

   eval set -- "$TEMP"

   while true; do

      case "$1" in

         -v|--version)   print_version; shift 1 ;;

            

         -h|--help)   print_usage; shift 1 ;;

      

         -n|--no-color)   export COLORIZE=false; shift 1 ;;

         

         -c|--color)   export COLORIZE=true; shift 1 ;;

         -w|--work-dir)   export WORKDIR="${2}"; export OUTFILE=$WORKDIR/dvd-image.iso; shift 2 ;;

      

         -o|--output)   export OUTFILE="${2}"; shift 2 ;;

      

         -i|--input)   export INFILE="${2}"; shift 2 ;;

         -j|--jump-to-step)   case "$2" in

                           1|2|3|4|5|audiodump|videodump|muxstreams|dvdauthor|isobuild) export STEP="${2}"; shift 2 ;;

                           *) print_usage; ;;

                        esac 

                        JUMPED=true;

                        ;;

                     

         -s|--only-step)   case "$2" in

                        1|2|3|4|5|audiodump|videodump|muxstreams|dvdauthor|isobuild) export STEP="${2}"; shift 2 ;;

                        *) print_usage; ;;

                     esac 

                     ONESTEP=true;

                     ;;               

         --|"") shift 1; break ;;                  # end of options

         

         *) echo -ne "Unknow options ${1}\n"; print_usage; exit 1 ;;      # unknow options

      esac

   done

}

#################################

# check_deps: check the script deps

#################################

check_deps () {

   for TOOL in $TOOLS; do

      if !(`which $TOOL >/dev/null 2>&1`); then

         text_colorize " * " "BRIGHT_RED" $COLORIZE

         text_colorize "$TOOL" "BRIGHT_WHITE" $COLORIZE

         echo -en " not found.  Install it or fix your path\n"

         exit 1

      fi

   done

}

#################################

# check_inputfile_format: check the format of the provided input file

#################################

check_inputfile_format () {

   FILETYPE=`file -bi "${1}" | grep 'video/x-msvideo'`

   if [ -z $FILETYPE ]; then

      text_colorize " * " "RED" $COLORIZE

      echo -ne " The specified input file has a wrong or unsupported format\n"

      exit 1

   fi

}

#########################################################################

# THE FOLLOWING FUNCTIONS ARE THE CORE OF THE CONVERSION PROCEDURE      #

#########################################################################

#################################

# dump_audio: extract audio from source video and convert it in mp3

#################################

dump_audio () {

   if [ -e audiodump.wav ]; then

      rm audiodump.wav

   fi

   mkfifo audiodump.wav 

   mplayer -ao pcm -vc dummy -vo null source.avi > audiodump.out.log 2>audiodump.err.log &

   lame audiodump.wav audio.mp3 > audioencode.out.log 2> audioencode.err.log

   rm audiodump.wav 2>> audiodump.err.log

}

#################################

# dump_video: extract video from source video and convert it in mpeg2

#################################

dump_video () {

   if [ -e stream.yuv ]; then

      rm stream.yuv

   fi

   mkfifo stream.yuv 

   mplayer -ao null -vo yuv4mpeg source.avi > videodump.out.log 2> videodump.err.log &

   yuvscaler -M BICUBIC -O DVD -n p < stream.yuv 2> videoscaler.err.log | mpeg2enc -F 3 -f 8 -o video.m2v > videoencode.out.log 2> videoencode.err.log 

   rm stream.yuv 2>> videodump.err.log

}

#################################

# mux_streams: multiplex audio (mp3) and video (mpeg2) streams

#################################

mux_streams () {

   mplex -f 8 audio.mp3 video.m2v -o dvd.mpg > mux.out.log 2> mux.err.log

   rm audio.mp3 video.m2v 2>> mux.err.log

}

#################################

# dvd_author: create DVD structure, ready for dvd-burning

#################################

dvd_author () {

   mkdir dvd-image > /dev/null 2>&1

   cat > dvd.xml <<EOF

   <dvdauthor dest="dvd-image/">

     <vmgm />

     <titleset>

       <titles>

         <pgc>

           <vob file="dvd.mpg" />

         </pgc>

       </titles>

     </titleset>

   </dvdauthor>

EOF

dvdauthor -x dvd.xml > dvdauthoring.out.log 2> dvdauthoring.err.log

rm dvd.mpg 2>> dvdauthoring.err.log

}

#################################

# make_dvd_iso: create an ISO DVD-image

#################################

make_dvd_iso () {

   mkisofs -dvd-video -o dvd-image.iso dvd-image/ > makeiso.out.log 2> makeiso.err.log

   rm -rf dvd-image 2>> makeiso.err.log

}

# read the configuration file

text_colorize "WARNING: change the following code line to /etc/divx2dvd.conf \n" "RED" true

source divx2dvd.conf

JUMPED=false

ONESTEP=false

STEP=1

echo -ne "\n"

# check for deps 

check_deps;

# parse command line options

parse_options ${@};

# check for an input file 

if [ -z $INFILE ]; then    # no input file specified

   print_usage;

fi

# check for the input file format

check_inputfile_format "${INFILE}";

# create work dir (if not exists)

mkdir -p "${WORKDIR}" > /dev/null 2>&1

# create a symlink to input file

ln -sf "$INFILE" ${WORKDIR}/source.avi

# change to work dir

cd "${WORKDIR}"

if ($JUMPED); then 

   text_colorize " * " "BRIGHT_YELLOW" $COLORIZE

   text_colorize " Jumped directly to step $STEP\n\n" "BRIGHT_WHITE" $COLORIZE

fi

if ($ONESTEP); then

   text_colorize " * " "BRIGHT_YELLOW" $COLORIZE

   text_colorize " Performing only step $STEP\n\n" "BRIGHT_WHITE" $COLORIZE

fi

if [ $STEP = "1" -o $STEP = "audiodump" ]; then

   text_colorize " *  Step $STEP" "BRIGHT_GREEN" $COLORIZE

   text_colorize " - Dumping audio from source file. Please wait..." "BRIGHT_WHITE" $COLORIZE

   

   dump_audio;

   echo -en "\t [" 

   text_colorize " ok " "BRIGHT_GREEN" $COLORIZE

   echo -en "]\n"

   if !($ONESTEP); then

      STEP=2;

   fi

fi

if [ $STEP = "2" -o $STEP = "videodump" ]; then

   text_colorize " *  Step $STEP" "BRIGHT_GREEN" $COLORIZE

   text_colorize " - Dumping video from source file.\n    Please wait patiently, this will take a large amount of time..." "BRIGHT_WHITE" $COLORIZE

   

   dump_video;

   echo -en "\t [" 

   text_colorize " ok " "BRIGHT_GREEN" $COLORIZE

   echo -en "]"

   

   if !($ONESTEP); then

      STEP=3;

   fi

fi

if [ $STEP = "3" -o $STEP = "muxstreams" ]; then

   text_colorize " *  Step $STEP" "BRIGHT_GREEN" $COLORIZE

   text_colorize " - Multiplexing audio and video streams. Please wait..." "BRIGHT_WHITE" $COLORIZE

   mux_streams;

   

   echo -en "\t [" 

   text_colorize " ok " "BRIGHT_GREEN" $COLORIZE

   echo -en "]"

   

   if !($ONESTEP); then

      STEP=4;

   fi

fi

if [ $STEP = "4" -o $STEP = "dvdauthor" ]; then

   text_colorize " *  Step $STEP" "BRIGHT_GREEN" $COLORIZE

   text_colorize " - Authoring the DVD. Please wait..." "BRIGHT_WHITE" $COLORIZE

   

   dvd_author;

   echo -en "\t [" 

   text_colorize " ok " "BRIGHT_GREEN" $COLORIZE

   echo -en "]"

   

   if !($ONESTEP); then

      STEP=5

   fi

fi

if [ $STEP = "5" -o $STEP = "isobuild" ]; then

   text_colorize " *  Step $STEP" "BRIGHT_GREEN" $COLORIZE

   text_colorize " - Creating the final ISO DVD Image. Please wait..." "BRIGHT_WHITE" $COLORIZE

   

   make_dvd_iso;

   echo -en "\t [" 

   text_colorize " ok " "BRIGHT_GREEN" $COLORIZE

   echo -en "]"

fi

text_colorize " * " "BRIGHT_GREEN" $COLORIZE

text_colorize " Done. Enjoy it ;)\n" "BRIGHT_WHITE" $COLORIZE
```

File divx2dvd.conf

```

# divx2dvd configuration file

# WORKDIR is the directory where are stored temporary files

WORKDIR="$HOME/.divx2dvd"

# OUTFILE is the default output filename where will stored the final dvd image

OUTFILE="$WORKDIR/dvd-image.iso"

# COLORIZE is true if you want coloured output, otherwise it is false

COLORIZE=true

# ERRLOG is the log file for the standard error

ERRLOG="$WORKDIR/stderr.log"

# OUTLOG is the log file for the standard output

OUTLOG="$WORKDIR/stdout.log"

# !!! WARNING !!!

# DO NOT TOUCH the following variable unless you know what you are doing.

# You could make the divx2dvd script useless.

# TOOLS lists the commands/programs within the divx2dvd script

TOOLS="mplayer lame yuvscaler mpeg2enc dvdauthor mkisofs"
```

----------

## fctk

io ne ho fatto di script, molto + breve ma nemmeno lontanamente paragonabile al tuo...  :Embarassed:   :Embarassed: 

```
#!/bin/bash

FILE="/tmp/output.mpg"

DIR="/tmp/dvd/"

function confirmation {

MSG1="do you want to proceed [y|n]? "

confirmation=""

while [ "$confirmation" != "y" ]; do

                                  read -p "$MSG1" confirmation

                                  done

}

nice -n 15 mplayer -benchmark -nosound -vo null "$1"

confirmation

w=$(midentify "$1" | grep "ID_VIDEO_WIDTH" | cut -d"=" -f2)

h=$(midentify "$1" | grep "ID_VIDEO_HEIGHT" | cut -d"=" -f2)

ok169=`echo "a=$w/$h; b=16/9-a; if (b<0) b=-b; c=4/3-a; if (c<0) c=-c; b<c" | bc -l`

case "$ok169" in

1) aspect="16:9";;

0) aspect="4:3";;

esac

nice -n 15 ffmpeg -i "$1" -target pal-dvd -aspect "$aspect" "$FILE"

mkdir "$DIR"

nice -n 15 dvdauthor -o "$DIR" "$FILE"

dvdauthor -o "$DIR" -T

echo -e "insert a rewritable dvd...\n"

confirmation

growisofs -Z /dev/hdc -dvd-video "$DIR"
```

io l'ho chiamato makefilm e l'ho messo in /usr/bin. poi ho dato:

```
chown root:root /usr/bin/makefilm

chmod 644 /usr/bin/makefilm
```

per eseguirlo, basta semplicemente:

```
makefilm /path/to/the/divx
```

----------

## n3m0

 *fctk wrote:*   

> io ne ho fatto di script, molto + breve ma nemmeno lontanamente paragonabile al tuo...  

 

Beh non è tutto oro quello che luccica.

Magari il mio è impostato in maniera più "ragionata" e in vista di future espansioni, ma noto che utilizzi meno passi di me per effettuare la conversione e utilizzi ffmpeg che io non uso proprio.

Sarebbe interessante (per me) sapere quanto impiega ad effettura l'intera conversione il tuo script e su che macchina, perchè il mio script è alquanto "lunghetto" in termini di tempo.

Purtroppo io non mi interesso minimamente di questo tipo di processi (manipolazione filmanti, encoding/decoding/ripping/etc) e ho tirato giù quello script grazie ad un howto striminzito che ho trovato ora non ricordo più dove. 

Magari si può decisamente migliorare quello che ho fatto.

Fammi sapere, qui o in privato, come vuoi.

----------

## fctk

beh... il mio script richiede circa 2 ore di tempo in totale, e questo su un athlon xp 2600+.

quanto ai comandi mi sono basato su questi due thread:

https://forums.gentoo.org/viewtopic.php?t=117709

https://forums.gentoo.org/viewtopic.php?t=120347

----------

## n3m0

 *fctk wrote:*   

> beh... il mio script richiede circa 2 ore di tempo in totale, e questo su un athlon xp 2600+.

 

Stessa macchina che ho io, e il mio script credo impieghi di più, anche se forse non tanto di più.

Ora faccio un benchmark.

 *fctk wrote:*   

> https://forums.gentoo.org/viewtopic.php?t=117709
> 
> https://forums.gentoo.org/viewtopic.php?t=120347

 

Gracias.

----------

## bigfantasy

Esiste qualche programma per trasformare un divx in un dvd?

----------

## Wise

ciao!

Nella ricerca che tu hai sicuramente fatto  :Wink:   ti sono sfuggiti questi topic:

-https://forums.gentoo.org/viewtopic-t-353982-highlight-dvd.html

-https://forums.gentoo.org/viewtopic-t-352925.html

spero sia quello che cerchi...

----------

## fctk

script aggiornato... ora mi baso su mencoder:

```
#!/bin/bash

#colours:

DEFAULT=$(tput sgr0);

RED=$(tput setaf 9);

GREEN=$(tput setaf 10);

YELLOW=$(tput setaf 11);

#paths:

FILE="/tmp/output.mpg"

DIR="/tmp/dvd/"

#mencoder options:

CONTAINER="-of mpeg -mpegopts format=dvd"

CODEC="-ovc lavc -oac lavc"

SR="-srate 48000"

FPS="-ofps 25"

#lavc options:

VCODEC="mpeg2video"

VRCBUFSIZE="1835"

KEYINT="15"

VRCMAXRATE="9800"

ASPECT="4/3"

ACODEC="ac3"

ABITRATE="192"

#video filters options:

XRES="720"

YRES="576"

#growisofs parameters:

GROWISOFS_DEVICE="/dev/hdc"

GROWISOFS_OPTIONS="-dvd-video"

#others:

CAPACITY="37634539520"

#messages:

TITLE="${GREEN}MAKEFILM${DEFAULT}"

MSG1="${GREEN}checking the movie...${DEFAULT}"

MSG2="${GREEN}please grab crop informations...${DEFAULT}"

MSG3="${YELLOW}insert crop informations:${DEFAULT} "

MSG4="${GREEN}please verify crop informations...${DEFAULT}"

MSG5="${GREEN}encoding the movie...${DEFAULT}"

MSG6="${GREEN}creating a suitable DVD filesystem...${DEFAULT}"

MSG7="${GREEN}creating the table of contents...${DEFAULT}"

MSG8="${GREEN}insert a rewritable dvd...${DEFAULT}"

MSG9="${GREEN}removing temporary files...${DEFAULT}"

function confirmation {

local MSG1="${YELLOW}do you want to proceed [y|n]?${DEFAULT} "

confirmation=""

while [ "$confirmation" != "y" ]; do

                                  read -p "$MSG1" confirmation

                                  done

}

clear; echo -e "$TITLE\n"

echo -e "$MSG1\n"; nice -n 15 mplayer -benchmark -nosound -vo null "$1"; echo

confirmation; echo

echo -e "$MSG2\n"; urxvt -e mplayer -vf cropdetect "$1"

read -p "$MSG3" crop; echo

echo -e "$MSG4\n"; urxvt -e mplayer -vf rectangle="$crop" "$1"

confirmation; echo

length=$(midentify "$1" | grep "ID_LENGTH" | cut -d"=" -f2)

videobitrate=`echo "(($CAPACITY-$ABITRATE*1000*$length)/$length)/1000" | bc`

if [ "$videobitrate" -gt "$VRCMAXRATE" ]; then videobitrate="$VRCMAXRATE"; fi

lavcopts="-lavcopts vcodec=$VCODEC:vrc_buf_size=$VRCBUFSIZE:keyint=$KEYINT:vrc_maxrate=$VRCMAXRATE:vbitrate=$videobitrate:aspect=$ASPECT:\

acodec=$ACODEC:abitrate=$ABITRATE"

w=$(midentify "$1" | grep "ID_VIDEO_WIDTH" | cut -d"=" -f2)

h=$(midentify "$1" | grep "ID_VIDEO_HEIGHT" | cut -d"=" -f2)

y=`echo "(768*$h)/$w" | bc`

videofilters="-vf crop=$crop,scale=$XRES:$y,expand=$XRES:$YRES"

echo -e "$MSG5\n"; mencoder "$1" -o "$FILE" $CONTAINER $SR $FPS $CODEC $lavcopts $videofilters; echo

echo -e "$MSG6\n"; nice -n 15 dvdauthor -o "$DIR" "$FILE"; echo

echo -e "$MSG7\n"; dvdauthor -o "$DIR" -T; echo

echo "$MSG8"; confirmation; echo; growisofs -Z "$GROWISOFS_DEVICE" "$GROWISOFS_OPTIONS" "$DIR"; echo

echo -e "$MSG9\n"; rm -rf "$DIR" "$FILE"
```

nota: per ora produce solo DVD con aspect ratio 4/3, ma non credo sia difficile modificarlo un po' per permettere la scelta tra 4/3 e 16/9... (non l'ho fatto personalmente perchè non ho questa esigenza).

/EDIT: ah, dimenticavo, questo script richiede poco più di un'oretta circa di tempo per transcodare+masterizzare...

----------

## bigfantasy

ciao!grazie per avermi risposto...senti un programma con interfaccia grafica esiste?

----------

## power83

si vedi in portage, qdvdauthor, dvdstyler, eccetera

----------

## bigfantasy

Ok grazie.Qual'è tra questi il migliore??

----------

## gutter

[MOD]Fatto il merge del thread di bigfantasy con questo.[/MOD]

[/MOD]Per favore cerchiamo prima di postare.[/MOD]

----------

## Danilo

 *bigfantasy wrote:*   

> Ok grazie.Qual'è tra questi il migliore??

 

Questione di gusti ed esigenze.

Dvdstyler l'ultima volta che l'ho usato non ti permetteva di avere i bottoni grafici.

Rispetto a qdvdauthor ti permetteva di disegnare meglio la struttura del vari titleset.

Inoltre in entrambi i casi ti puoi sfiziare con il menu.

Io ho optato su kmediafactory. Semplice ed efficace  scegli il template che ti interessa per il menu', aggiungi i files (supportati solo mpeg e dv) e lui ti crea il progetto per k3b (oppure i .vob o il file dvdauthor.xml).

L'ebuild NON e' in portage ma sul sito stesso.

Se ben ricordo nessuno di questi ti permette di partire da divx o mpeg1 ma richede un mpeg2.

----------

