Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
mit mencoder eine serie von dvd zu h264
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
pieter_parker
Veteran
Veteran


Joined: 07 Aug 2006
Posts: 1488
Location: 127.0.0.1

PostPosted: Tue Aug 19, 2008 7:51 am    Post subject: mit mencoder eine serie von dvd zu h264 Reply with quote

habe eine serie auf dvd9 die 25 dvds umfasst
habe die serie schon von dvd auf die festplatte gebackupt
ich finde es unhandlich soviele dvd scheiben zu haben

Code:

mplayer -identify VTS_01_1.VOB
MPlayer dev-SVN-r26753-4.1.2 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (Family: 6, Model: 23, Stepping: 6)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Kompiliert für x86 CPU mit folgenden Erweiterungen: MMX MMX2 SSE SSE2

Spiele VTS_01_1.VOB.
ID_VIDEO_ID=0
ID_AUDIO_ID=128
ID_AUDIO_ID=129
ID_AUDIO_ID=130
ID_AUDIO_ID=131
ID_SUBTITLE_ID=0
MPEG-PS-Dateiformat erkannt!
VIDEO:  MPEG2  720x576  (aspect 2)  25.000 fps  9800.0 kbps (1225.0 kbyte/s)
ID_FILENAME=VTS_01_1.VOB
ID_DEMUXER=mpegps
ID_VIDEO_FORMAT=0x10000002
ID_VIDEO_BITRATE=9800000
ID_VIDEO_WIDTH=720
ID_VIDEO_HEIGHT=576
ID_VIDEO_FPS=25.000
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=8192
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_LENGTH=1176.26
ID_SEEKABLE=1
==========================================================================
Öffne Videodecoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: VO wird versucht, auf 720 x 576 (Bevorzugter Farbraum: Mpeg PES) zu setzen.
Konnte keinen passenden Farbraum finden - neuer Versuch mit '-vf scale'...
Öffne Videofilter: [scale]
Der ausgewählte Videoausgabetreiber ist nicht kompatibel mit diesem Codec.
Versuche den scale-Filter zu deiner Filterliste hinzuzufügen,
z.B. mit -vf spp,scale an Stelle von -vf spp.
Initialisierung des Videodecoders fehlgeschlagen :(
Öffne Videodecoder: [ffmpeg] FFmpeg's libavcodec codec family
Ausgewählter Videocodec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
ID_VIDEO_CODEC=ffmpeg2
==========================================================================
Öffne Audiodecoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
ID_AUDIO_BITRATE=192000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
Ausgewählter Audiocodec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=a52
Starte Wiedergabe...
VDec: VO wird versucht, auf 720 x 576 (Bevorzugter Farbraum: Planar YV12) zu setzen.
VDec: Verwende Planar YV12 als Ausgabefarbraum (Nummer 0).
Film-Aspekt ist 1.33:1 - Vorskalierung zur Korrektur der Seitenverhältnisse.
ID_VIDEO_ASPECT=1.3333
VO: [xv] 720x576 => 768x576 Planar YV12
A:   2.2 V:   2.2 A-V:  0.002 ct:  0.052  49/ 49  7%  0%  0.3% 0 0
Beenden... (Ende)


ich bin dabei durchzulesen wie das mit dem umwandeln funktioniert, aber wie funktioniert es das ich 3 .vob dateien die zusammen gehoeren dem mencoder gebe, wie funktioniert es das ich den ton (ac3 192kbps unveraendert lasse und wie gebe ich ihm 2 tonspuren mit in die neue av datei ?
kann der mencoder .mkv erstellen ?

im grunde will ich nur von 720x576 25fps ~45min mpeg2 mit 4x ac3 192kbps ~2500mb --> 720x576 25fps ~45min in h264 mit 2x ac3 192kbps machen
die video aufloesung und 2 der 4 tonspuren sollen unveraendert bleiben, ich will aus mpeg2 -> h264 machen
die groesse der datei am ende ist nicht sehr wichtig
Back to top
View user's profile Send private message
schachti
Advocate
Advocate


Joined: 28 Jul 2003
Posts: 3765
Location: Gifhorn, Germany

PostPosted: Tue Aug 19, 2008 8:10 am    Post subject: Reply with quote

Ich empfehle Dir einen Blick auf media-video/dvdrip - damit sollte es relativ einfach gehen. Ich finde das Tool genial.
_________________
Never argue with an idiot. He brings you down to his level, then beats you with experience.

How-To: Daten verschlüsselt auf DVD speichern.
Back to top
View user's profile Send private message
pieter_parker
Veteran
Veteran


Joined: 07 Aug 2006
Posts: 1488
Location: 127.0.0.1

PostPosted: Tue Aug 19, 2008 8:28 am    Post subject: Reply with quote

media-video/dvdrip nutzt transcode, und nicht den mencoder ?
Back to top
View user's profile Send private message
fangorn
Veteran
Veteran


Joined: 31 Jul 2004
Posts: 1886

PostPosted: Tue Aug 19, 2008 9:51 am    Post subject: Reply with quote

Wenn du die vollen DVD Strukturen kopiert hast (.ifo, .bup) dann kannst du mit
Code:
mplayer -dvd-device <pfad> dvd://<titel> -dumpstream -dumpfile <serienname>_<staffel>x<folge>.mpg

die einzelnen titel (Folgen) abspeichern.

Leider habe ich meine scripte gerade nicht bei mir. Kann ich aber nachliefern. Ich benutze auch mencoder zum wandeln in x264. Vorzugsweise in mkv mit mehreren Tonspuren. Aber auch in AVI.
_________________
Video Encoding scripts collection | Project page
Back to top
View user's profile Send private message
siddy
n00b
n00b


Joined: 13 Oct 2007
Posts: 33

PostPosted: Tue Aug 19, 2008 10:10 am    Post subject: Reply with quote

hallo!

Quote:
aber wie funktioniert es das ich 3 .vob dateien die zusammen gehoeren dem mencoder gebe


mit mplayer /dev/dvd -dumpstream -dumpfile /pfad/zum/movie.vob
kriegst du den ganzen film von dvd auf die platte, und hast nur eine datei.

hab selber grad angefangen mit x264 herumzuspielen. ich verwende dazu avidemux aus dem berkano
overlay. solltest dir eventuell mal ansehen.
Quote:
die groesse der datei am ende ist nicht sehr wichtig


dann würd ich dir auf jeden fall zu einem divx codec raten. x264 ist extrem zeitaufwendig beim konvertieren. nur mal so zum vergleich:
dvd nach avi mit lavc codec: film von ca. 90 minuten im dualpass dauert bei fast dvd qualität ungefähr 80 minuten, und läuft auf 1 kern. größe vom avi 700 mb. ich verwende dafür mencoder und als gui acidrip.
damit geht das voll einfach, dvd ins laufwerk in acidrip ein paar einstellungen vorgenommen und das wars.

gleicher film mit x264 ca 6 - 7 stunden im dualpass. das ergebnis hat die gleiche qualitat, dateigröße 450 mb, wenn ich alle 4 kerne verwende.
hab das aber noch nicht richtig getestet, eventuell geht das auch schneller.

wenn du ein 64 bit os hast wirds etwas schneller gehen. mein vorschlag für den codec wäre xvid oder lavc,
bei 2 tonspuren (ac3) würd ich entweder dvdrip oder avidemux verwenden, geht mit mplayer/mencoder
auf der console auch, ist aber mehr arbeit.

greetz siddy
Back to top
View user's profile Send private message
fangorn
Veteran
Veteran


Joined: 31 Jul 2004
Posts: 1886

PostPosted: Tue Aug 19, 2008 10:43 am    Post subject: Reply with quote

Bei 25 DVDs mit je 3-4 Folgen lohnt sich die Investition in ein Script das von einem script angesteuert wird. Schon beim zusammenklicken einer Avidemux Joblist passieren zu viele Fehler. Außerdem ist es extrem stupide.

Wenn es nicht x264 sein soll würde ich lavc empfehlen. Wobei die Zeit zum encoding relativ ist. Ob dein Rechner nun 3 oder 4 Wochen braucht reisst es meiner Meinung nach auch nicht mehr raus :wink:

x264 skaliert recht gut auf mehreren Prozessoren. Je nach Einstellung war ein x264 Encoding durchaus schon mal schneller als ein lavc Encoding (bei vergleichbarer Qualität).

Falls du die Serie auch am Rechner sehen willst empfehle ich sowieso ein Deinterlacing. Dann kannst du die zu erwartende Geschwindigkeit nochmal halbieren.

x264 hat den Vorteil, dass es auch bei Onepass encoding und PAL schon mit 1000 kbit/s ansehnliche Ergebnisse bringt. Diese Methode verschenkt zwar Bildqualität bei schnellen Kameraschwenks und heftiger Bewegung, aber u. U. kannst du dir den zweiten Durchgang sparen.
_________________
Video Encoding scripts collection | Project page
Back to top
View user's profile Send private message
schachti
Advocate
Advocate


Joined: 28 Jul 2003
Posts: 3765
Location: Gifhorn, Germany

PostPosted: Tue Aug 19, 2008 11:07 am    Post subject: Reply with quote

pieter_parker wrote:
media-video/dvdrip nutzt transcode, und nicht den mencoder ?


Zumindest besitzt das Paket das USE flag mplayer, das eigentlich (TM) Unterstützung für mencoder selektieren sollte - da ich gerade nicht an einer gentoo-Kiste sitze, kann ich das auf die Schnelle nicht nachsehen.
_________________
Never argue with an idiot. He brings you down to his level, then beats you with experience.

How-To: Daten verschlüsselt auf DVD speichern.
Back to top
View user's profile Send private message
fangorn
Veteran
Veteran


Joined: 31 Jul 2004
Posts: 1886

PostPosted: Tue Aug 19, 2008 3:18 pm    Post subject: Reply with quote

Code:
#!/bin/bash

help_text () {
cat <<EOF
usage riptoh264 [-d] moviename
    -d         directory mode. moviename has to be directoryname
               (DVD ripped into directory)
    -l         low quality encoding (XVID and mp3)
    -t title   instead of encoding the longest title, use this title
EOF
   exit 0
}
 
chapter=0 
lowquality="no"     
directory="no"
while getopts dhlt: option;
do
  case "$option"
  in
    d)  directory="yes";;
    l)  lowquality="yes";;
    t)  chapter=$OPTARG;;
    h)  help_text ;;
  esac
done
shift $(($OPTIND - 1))

if [ -z $1 ]; then
   help_text ;
   exit;
fi

moviename="$1"
   
LSDEVICE=""
DEVICE=""
if [ "$directory" = "yes" ] ; then
   # Verzeichnis
   LSDEVICE="./$1"
else
   LSDEVICE="/dev/dvd"
fi

if [ $chapter = 0 ] ; then
   # Laengsten Track feststellen
   LCH=`lsdvd $LSDEVICE | grep Longest | awk '{print $3}'`
   # Anzahl Chapter feststellen
   NCH=`lsdvd -t $LCH $LSDEVICE | grep Chapters | awk '{fs=FS; FS=", "; print substr ($6, 1, length($6)-1)}'`
else
   LCH=$chapter
   NCH=`lsdvd -t $LCH $LSDEVICE | grep Chapters | awk '{fs=FS; FS=", "; print substr ($6, 1, length($6)-1)}'`
fi

echo "encoding Title $LCH"
echo "which has $NCH chapters"

if [ "$directory" = "yes" ] ; then
   # Verzeichnis
   DEVICE=" -dvd-device ./$1 dvd://$LCH "
   AUDIO="-alang de"
else
   DEVICE="dvd://$LCH "
   AUDIO="-alang de"
fi

ASPECT=`mplayer $DEVICE -vo dummy -ao dummy -identify 2>&1 | grep MPEG2 | cut -d'(' -f2 | cut -d' ' -f2 | cut -c1`
SRC_FPS=`mplayer -vo dummy -ao dummy -identify $DEVICE 2>&1 | grep VIDEO_FPS | cut -d= -f2`

if [ "$directory" = "no" ] ; then
   ENCDEV=$DEVICE
else
   ENCDEV=" -dvd-device ./$moviename dvd://$LCH "
fi


if [ "$lowquality" = "no" ] ; then
   mplayer $DEVICE -alang en -dumpaudio -dumpfile "$moviename""_en.ac3"
#   mplayer $DEVICE -alang de -dumpaudio -dumpfile "$moviename""_de.ac3"

   SCALE=""
   if [ $ASPECT = 3 ] ; then
      # anamorphic
      # This is because my network player cannot handle aspect ratios
      SCALE="-vf scale=1024:576"
      # if you want to use mkv container you can set aspect ratio and don't need to scale
      #SCALE=""
   fi

   mencoder -v $ENCDEV $AUDIO $SCALE \
        -ovc x264 -x264encopts subq=4:bframes=4:b_pyramid:weight_b:pass=1:psnr:bitrate=1500:turbo=2:threads=0 \
        -oac copy\
        -ofps $SRC_FPS\
        -o /dev/null

   if [ $ASPECT = 3 ] ; then
      # anamorphic
      # This is because my network player cannot handle aspect ratios
      SCALE="-vf spp,scale=1024:576,hqdn3d=2:1:2"
      # if you want to use mkv container you can set aspect ratio and don't need to scale
      #SCALE=""
   fi

   mencoder -v $ENCDEV $AUDIO $SCALE \
        -ovc x264 -x264encopts subq=5:partitions=4x4:8x8dct:frameref=3:bframes=4:b_pyramid:pass=2:psnr:bitrate=1500:threads=0 \
        -oac copy\
        -ofps $SRC_FPS \
        -o "$moviename""_tmp.avi"
   #muxing   
   avimerge -i $moviename_tmp.avi -p $moviename_en.ac3 -a 1 -o $moviename.avi
   # if you want to use mkv, use this line instead
   #if [ $ASPECT = 3 ] ; then
   #   # anamorphic
   #   aspect="--aspect-ratio 0:16/9 "
   #else
   #   aspect=""
   #fi
   #"mkvmerge" -o "$moviename"".mkv"  $aspect --language 1:ger -a 1 -d 0 -S "$moviename""_tmp.avi" --language 0:eng -a 0 -D -S "$moviename""_en.ac3" --track-order 0:0,0:1,1:0
#   rm "temp"$1".avi"
else
   SCALE="kerndeint"
   if [ $ASPECT = 3 ] ; then
      # anamorphic
      SCALE="-vf scale=1024:576"
   fi

   mencoder $ENCDEV -ovc lavc -oac copy \
           -ffourcc XVID $SCALE \
           -lavcopts vcodec=mpeg4:mbd=2:turbo:vpass=1:vbitrate=1500 \
           -o /dev/null

   if [ $ASPECT = 3 ] ; then
      # anamorphic
      SCALE="-vf kerndeint,spp,scale=1024:576,hqdn3d=2:1:2"
   fi

   mencoder $ENCDEV -ovc lavc -oac mp3lame \
           -ffourcc XVID $SCALE \
           -lameopts vbr=0:br=128:mode=0 \
           -lavcopts vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2:vpass=2:vbitrate=1500 \
           -o $moviename.avi
   
fi



Das sollte zum rumprobieren reichen :wink:
Deinterlacing ist noch nicht implementiert. Aber die Parameter sollten leicht zu finden sein.
_________________
Video Encoding scripts collection | Project page
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum