PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mpg --> svcd kompatibles mpg



newbie76
12.08.05, 18:38
guten abend ! ich versuche ein mpg-videodatei, die mit einer digicam (sony dsc t-3) aufgenommen wurde, in eine svcd-kompatible mpg-datei umzuwandeln, um sie dann später auf cd brennen zu können. transcode gibt aber folgenden fehler aus ... hat jemand eine ahnung, was ich falsch mache ? die auflösung beträgt doch nach der anpassung 480x576, so wie es für svcd gefordert ist ... und auch bei sound gibt es wohl probleme ... bin ratlos



daniel@linux:~/video> transcode -i video1vorher.mpg -x mplayer -o video1nachher.mpg -V -y mpeg2enc,mp2enc -B 0,5,32 -X 12,0,8 -F 4 -E 44100 -b 192 *** WARNING: The option -V is deprecated. ***
*** Transcode internal frame handling is now in YV12 / YUV420 ***
*** format by default because most codecs can only handle this format, ***
*** otherwise leading to unnecessary time and quality wasting conversions. ***
*** If you want to have to "old" behaviour (RGB24 as internal format), ***
*** then please use the new -1/--use_rgb option ***
transcode v1.0.0 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
libdvdread: Encrypted DVD support unavailable.
libdvdread: Can't open file VIDEO_TS.IFO.
[transcode] (probe) suggested AV correction -D 1386732 (46224400 ms) | AV 46224408 ms | 8 ms
[transcode] auto-probing source video1vorher.mpg (ok)
[transcode] V: import format | MPEG-1 (V=mplayer|A=mp3)
[transcode] V: import frame | 640x480 1.33:1 encoded @ 1:1
[transcode] V: new aspect ratio | 640x576 1.11:1 (-X)
[transcode] V: new aspect ratio | 480x576 0.83:1 (-B)
[transcode] V: bits/pixel | 0.217
[transcode] V: decoding fps,frc | 30.000,5
[transcode] V: Y'CbCr | YV12/I420
[transcode] A: import format | 0x50 MPEG layer-2 [32000,16,1] 64 kbps
[transcode] A: export format | 0x50 MPEG layer-2 [44100,16,1] 192 kbps
[transcode] V: encoding fps,frc | 30.000,5
[transcode] A: bytes per frame | 2134 (2133.333333)
[transcode] A: adjustment | -664@1000
[transcode] V: IA32/AMD64 accel | sse3 (sse3 sse 3dnowext 3dnow mmxext mmx asm C)
tc_memcpy: using sse for memcpy
[transcode] V: video buffer | 10 @ 640x576
[import_mp3.so] v0.1.4 (2003-08-04) (audio) MPEG
[import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer
[export_mp2enc.so] v1.0.10 (2004-09-27) (audio) MPEG 1/2
[export_mpeg2enc.so] v1.1.10 (2003-10-30) (video) MPEG 1/2
[import_mp3.so] MP3->PCM
[import_mp3.so] tcextract -a 0 -i "video1vorher.mpg" -x mp2 -d 0 | tcdecode -x mp2 -d 0 -z 0
tc_memcpy: using sse for memcpy
[import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg "video1vorher.mpg" -osdlevel 0 > /dev/null 2>&1
[import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg
tc_memcpy: using sse for memcpy
[export_mpeg2enc.so] *** init-v *** !
[export_mp2enc.so] *** init-v *** !
[export_mpeg2enc.so] cmd=mpeg2enc -v 0 -I 0 -f 4 -F 5 -n p -a 1 -o "video1nachher.mpg.m2v"
[export_mp2enc.so] (58/4096) cmd=mp2enc -v 0 -r 44100 -b 192 -m -o "video1nachher.mpg.mpa"
**ERROR: [mpeg2enc] SVCD only supports 4:3 and 16:9 aspect ratios
daniel@linux:~/video> **ERROR: [mp2enc] Error reading wave data

buzz768
13.08.05, 12:29
Die Auflösung ist okay, transcode beklagt sich über das Seitenverhältnis, das ist bei deinem Video 1:1, mit --export_asr 2 änderst du das auf 4:3. Auch die Framerate ist mit 30 nicht SVCD-konform, mit --export_fps 25,3 kannst du die auf 25 setzen (vielleicht nicht die beste Lösung). Oder versuch auch mal --export_prof svcd-pal. Für das Problem mit mp2enc weiß ich auf Anhieb keine Lösung.

newbie76
13.08.05, 13:30
ich hatte beim letzten versuch einfach mal die option -F 4 weggelassen und dann hat er mir ein mpg mit einer auflösung von 480x576 erstellt ... auch wenn ich die svcd-qualität am ende nicht so berauschend finde ...

buzz768
13.08.05, 14:54
Du kannst transcode über -F weitere Parameter für mpeg2enc mitgeben, um die Qualität zu verbessern, z.B. -F 4,'-q 3 -N 1.0', damit habe ich ganz gute Erfahrungen gemacht, siehe auch die manpage von mpeg2enc.

newbie76
14.08.05, 17:21
habe mir zwar die manpage durchgelesen, aber habe nicht so richtig verstanden, was die optionen -q 3 -N 1.0 so machen ... die kommata und anführungsstriche, die du gesetzt hast, muss man doch in der konsole nicht machen oder ? müssen die optionen für -q und -N direkt hinter dem für -F stehen ?

vielen dank für deine hilfe

buzz768
14.08.05, 18:38
Doch, das Komma (das zweite am Ende gehört nicht dazu) und die Anführungsstriche mußt du setzen, weil -q und -N Optionen für mpeg2enc sind, die transcode einfach weiterreicht - andernfalls würden sie als Optionen von transcode interpretiert werden. Du kannst auch folgende Schreibweise verwenden:
-F "4, -q 3 -N 1.0" (so steht's in der manpage von transcode)
Die Option -q gibt die Quantisierung an, je kleiner der Wert (1-31), desto höher die Qualität. Mit -N wird ein Filter zur leichten Rauschunterdrückung aktiviert. Evtl. kriegst du auch mit -H statt -N bessere Ergebnisse, hängt ganz von deinem Ausgangsmaterial ab, welche Optionen und Werte sinnvoll sind, mußt halt ein bißchen experimentieren.
Falls du mit -F 4 weiterhin Probleme hast, würde ich mal -F 5 versuchen.

newbie76
21.08.05, 21:25
so, ich habe mir jetzt meinen transcode-befehl wie folgt angepasst:

transcode -i video.mpg -x mplayer -o videonachher.mpg -V -y mpeg2enc,mp2enc -B 0,20,8 -X 12,0,8 -F 4 -E 44100 -b 192 --export_asr 2 --export_fps 25,3

das ursprungsvideo hat 640x480 bildpunkte bei 30 frames. laut der option --export_fps 25,3 müsste das der befehl das video doch auf 25 frames runterkodieren. es werden mir aber dabei max. 16 frames angezeigt. warum ist das so ?

buzz768
22.08.05, 10:11
Das weiß ich nicht. Bei einer NTSC-Quelle (23.976 fps) funktioniert die Option -fps 25,3 jedenfalls gut (wobei der Film einfach schneller abgespielt wird, dafür aber ruckelfrei), bei einer DV-Aufnahme sieht es offenbar anders aus (habe damit keine Erfahrung). Versuch mal zusätzlich die Option -J modfps anzugeben, das ist ein Filter zur Änderung der Framerate.

saumfinger
22.08.05, 17:41
Hi,

da mir das mit dem trancode zu kompliziert ist, benutze ich fuer solche sachen diese tovid Scriptsammlung. Gibts bei Sourceforge, und benutzt mencoder.

Funktioniert problemlos, einfach und in neuer Version gibts sogar eine GUI.

cheers
Jochen