Hallo beisammen, nachdem mal ich von Debian (sid) auf SuSE 10.0 gewechselt bin, wollte ich auch hier Fußballaufnahmen aus dem Fernsehen nach xvid transformieren. Also habe ich mir alle entsprechenden Pakete per apt installiert (hauptsächlich über packman). Allerdings schmiert mein transcode-Versuch kläglich ab, sobald es ans encodieren geht: ---------------------------8<------------------------------ martin@bart:~> transcode -x mplayer -i input.vob -o output.avi -V -y xvid4 -Z 512x384,fast -w 800 -I 1 -c 1180-8840,17220-29943 *** 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: Using libdvdcss version 1.2.9 for DVD access libdvdread: Can't open file VIDEO_TS.IFO. [transcode] (probe) suggested AV correction -D 1 (40 ms) | AV 69 ms | 29 ms [transcode] auto-probing source input.vob (ok) [transcode] V: import format | MPEG-2 (V=mplayer|A=vob) [transcode] V: AV demux/sync | (1) sync AV at initial MPEG sequence [transcode] V: import frame | 352x576 0.61:1 encoded @ 4:3 [transcode] V: de-interlace | (mode=1) interpolate scanlines (fast) [transcode] V: fast resize | Using -B 24,0,8 -X 0,20,8 [transcode] V: new aspect ratio | 512x576 0.89:1 (-X) [transcode] V: new aspect ratio | 512x384 1.33:1 (-B) [transcode] V: bits/pixel | 0.163 [transcode] V: decoding fps,frc | 25.000,3 [transcode] V: Y'CbCr | YV12/I420 [transcode] A: import format | 0x2001 AC3/A52 [48000,16,2] 256 kbps [transcode] A: export format | 0x55 MPEG layer-3 [48000,16,2] 128 kbps [transcode] V: encoding fps,frc | 25.000,3 [transcode] A: bytes per frame | 7680 (7680.000000) [transcode] A: adjustment | 0@1000 [transcode] V: IA32/AMD64 accel | sse3 (sse3 sse2 sse mmxext mmx asm C) tc_memcpy: using sse for memcpy [transcode] V: video buffer | 10 @ 512x576 [import_vob.so] v0.6.0 (2003-10-02) (video) MPEG-2 | (audio) MPEG/AC3/PCM | (subtitle) [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0) | (audio) MPEG/AC3/PCM [import_vob.so] tccat -i "input.vob" -t vob -d 0 -S 0 | tcdemux -a 0 -x ac3 -S 0 -M 1 -d 0 | tcextract -t vob -a 0 -x ac3 -d 0 | tcdecode -x a52 -d 0 -A 0 [import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg "input.vob" -osdlevel 0 > /dev/null 2>&1 [import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg tc_memcpy: using sse for memcpy [export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg' [export_xvid4.so] found. Default settings will be used instead. tc_memcpy: using sse for memcpy Audio: using new version Audio: using lame-3.96.1 Speicherzugriffsfehler0-001179], 97.33 fps, EMT: 0:00:47, ( 0| 1| 0) ---------------------------8<------------------------------ Und mir stellt sich die Frage: Wieso? Hat jemand eine Idee? Ich bin für allerlei Versuche offen. Vielen Dank schonmal für jedwede Hilfe. Martin
Hi, 0n 05/10/03@17:37 Martin Röhricht told me:
Hallo beisammen,
nachdem mal ich von Debian (sid) auf SuSE 10.0 gewechselt bin, wollte ich auch hier Fußballaufnahmen aus dem Fernsehen nach xvid transformieren. Also habe ich mir alle entsprechenden Pakete per apt installiert (hauptsächlich über packman). Allerdings schmiert mein transcode-Versuch kläglich ab, sobald es ans encodieren geht:
Ging das denn so unter sid? So wie das fuer mich aussieht versuchst Du eine dvb Aufzeichnung zu verfuettern, oder? Ich kenne mich mit dvb nicht aus und weiss auch nicht wie weit die tools sind um mpeg-ts handeln zu koennen :(. Aber:
---------------------------8<------------------------------ martin@bart:~> transcode -x mplayer -i input.vob -o output.avi -V -y xvid4 -Z 512x384,fast -w 800 -I 1 -c 1180-8840,17220-29943 *** 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 ***
-V solltest Du weglassen
transcode v1.0.0 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg libdvdread: Using libdvdcss version 1.2.9 for DVD access libdvdread: Can't open file VIDEO_TS.IFO. [transcode] (probe) suggested AV correction -D 1 (40 ms) | AV 69 ms | 29 ms [transcode] auto-probing source input.vob (ok) [transcode] V: import format | MPEG-2 (V=mplayer|A=vob) [transcode] V: AV demux/sync | (1) sync AV at initial MPEG sequence [transcode] V: import frame | 352x576 0.61:1 encoded @ 4:3 [transcode] V: de-interlace | (mode=1) interpolate scanlines (fast) [transcode] V: fast resize | Using -B 24,0,8 -X 0,20,8 [transcode] V: new aspect ratio | 512x576 0.89:1 (-X) [transcode] V: new aspect ratio | 512x384 1.33:1 (-B) [transcode] V: bits/pixel | 0.163 [transcode] V: decoding fps,frc | 25.000,3 [transcode] V: Y'CbCr | YV12/I420 [transcode] A: import format | 0x2001 AC3/A52 [48000,16,2] 256 kbps [transcode] A: export format | 0x55 MPEG layer-3 [48000,16,2] 128 kbps [transcode] V: encoding fps,frc | 25.000,3 [transcode] A: bytes per frame | 7680 (7680.000000) [transcode] A: adjustment | 0@1000 [transcode] V: IA32/AMD64 accel | sse3 (sse3 sse2 sse mmxext mmx asm C) tc_memcpy: using sse for memcpy [transcode] V: video buffer | 10 @ 512x576 [import_vob.so] v0.6.0 (2003-10-02) (video) MPEG-2 | (audio) MPEG/AC3/PCM | (subtitle) [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0) | (audio) MPEG/AC3/PCM [import_vob.so] tccat -i "input.vob" -t vob -d 0 -S 0 | tcdemux -a 0 -x ac3 -S 0 -M 1 -d 0 | tcextract -t vob -a 0 -x ac3 -d 0 | tcdecode -x a52 -d 0 -A 0
Das verstehe ich so nicht. Eigentlich hattest Du gesagt -x mplayer, warum hier dann ein vob plugin rummacht ..... versuch mal -x mplayer,mplayer (in der Hoffnung der kann mit ts gut umgehen). AFAIK kann transcode selbst mit mpeg-ts nicht um und bei dem obigen Versuch den Ton zu extrahieren auf die Nase geht.
[import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg "input.vob" -osdlevel 0 > /dev/null 2>&1 [import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg
Das ist nur das Bild, da nutzt transcode mplayer. Ein Test auf die Schnelle mit -x mplayer,null sollte zeigen ob es tatsaechlich nur am Ton liegt.
tc_memcpy: using sse for memcpy [export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg' [export_xvid4.so] found. Default settings will be used instead. tc_memcpy: using sse for memcpy Audio: using new version Audio: using lame-3.96.1 Speicherzugriffsfehler0-001179], 97.33 fps, EMT: 0:00:47, ( 0| 1| 0) ---------------------------8<------------------------------
Immerhin, 97.33 sind schon eine rekordverdaechtige Leistung :).
Und mir stellt sich die Frage: Wieso? Hat jemand eine Idee? Ich bin für allerlei Versuche offen.
Ich vermute stark das es an der mangelnden ts Unterstuetzung liegt. Versuch mal das Teil in einen mpeg-ps zu verwandeln, eigentlich sollte: mplayer -dumpstream -dumpfile video.m2v input.vob mplayer -dumpstream -dumpfile audio.mpa input.vob mplex -f 8 -o input.mpg video.m2v audio.mpa das machen, aber versuch vielleicht besser projektX, dass fuer mpeg-ts das Paradetool ist. Du kannst auch versuchen nur das Bild aus input.vob zusammen mit dem von mplayer gedumpten sound in Deinem transcode Aufruf zu verwenden (-p). Vielleicht kann auch avidemux damit direkt umgehen. Viele "vielleicht, koennte, sollte", ich weiss, aber HTH -- bye maik
Hallo Maik, Am Dienstag, 4. Oktober 2005 01:58 schrieb Maik Holtkamp:
Ging das denn so unter sid?
So wie das fuer mich aussieht versuchst Du eine dvb Aufzeichnung zu verfuettern, oder?
Ja, das hat genau so geklappt damals. Ich weiß jetzt aber auch nicht mehr, welche transcode Version das war und ob ich noch etwas anderes dazu installiert hatte. Das ganze ist eine Fernseh-Aufzeichnung auf DVD, die dann diese vob-Dateien erstellt. Die kann ich mir auch ganz normal anschauen, aber jetzt möchte ich die Werbung rausschneiden und das Teil etwas mehr komprimieren.
-V solltest Du weglassen
Habe ich getan (hilft allerdings für den Segfault nichts).
[transcode] V: video buffer | 10 @ 512x576 [import_vob.so] v0.6.0 (2003-10-02) (video) MPEG-2 | (audio) MPEG/AC3/PCM | (subtitle) [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0)
| (audio) MPEG/AC3/PCM
[import_vob.so] tccat -i "input.vob" -t vob -d 0 -S 0 | tcdemux -a 0 -x ac3 -S 0 -M 1 -d 0 | tcextract -t vob -a 0 -x ac3 -d 0 | tcdecode -x a52 -d 0 -A 0
Das verstehe ich so nicht.
Eigentlich hattest Du gesagt -x mplayer, warum hier dann ein vob plugin rummacht ..... versuch mal -x mplayer,mplayer (in der Hoffnung der kann mit ts gut umgehen).
Negativ: ----------------------------8<------------------------------ [...] [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0) | (audio) MPEG/AC3/PCM [import_mplayer.so] mplayer -hardframedrop -vo null -ao pcm:nowaveheader -ao pcm:file="/tmp/mplayer2transcode-audio.riCJbu" "input.vob" > /dev/null 2>&1 [import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg "input.vob" -osdlevel 0 > /dev/null 2>&1 [import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg [export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg' [export_xvid4.so] found. Default settings will be used instead. Audio: using new version tc_memcpy: using sse for memcpy Audio: using lame-3.96.1 Input does not start with "YUV4MPEG " This is not a valid input for me clean up | frame threads | unload modules | cancel signal | internal threads | done [transcode] encoded 0 frames (0 dropped, 0 cloned), clip length 0.00 s ----------------------------8<------------------------------ Da wird gar nichts angefasst.
AFAIK kann transcode selbst mit mpeg-ts nicht um und bei dem obigen Versuch den Ton zu extrahieren auf die Nase geht.
[import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg "input.vob" -osdlevel 0 > /dev/null 2>&1 [import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg
Das ist nur das Bild, da nutzt transcode mplayer. Ein Test auf die Schnelle mit -x mplayer,null sollte zeigen ob es tatsaechlich nur am Ton liegt.
----------------------------8<------------------------------ [import_null.so] v0.2.0 (2002-01-19) (video) null | (audio) null [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0) | (audio) MPEG/AC3/PCM [import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg "input.vob" -osdlevel 0 > /dev/null 2>&1 [import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg [export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg' [export_xvid4.so] found. Default settings will be used instead. Audio: using new version Audio: using lame-3.96.1 tc_memcpy: using sse for memcpy Speicherzugriffsfehler0-001179], 210.67 fps, EMT: 0:00:47, ( 0| 1| 0) ----------------------------8<------------------------------ Da stürzt er ebenso ab :-(
Immerhin, 97.33 sind schon eine rekordverdaechtige Leistung :).
(Habe meinen Rechner meistens auf 600MHz runtergedrosselt um den Lüfter nicht zu hören ;-))
Und mir stellt sich die Frage: Wieso? Hat jemand eine Idee? Ich bin für allerlei Versuche offen.
Ich vermute stark das es an der mangelnden ts Unterstuetzung liegt. Versuch mal das Teil in einen mpeg-ps zu verwandeln, eigentlich sollte:
mplayer -dumpstream -dumpfile video.m2v input.vob mplayer -dumpstream -dumpfile audio.mpa input.vob mplex -f 8 -o input.mpg video.m2v audio.mpa
Die ersten beiden Dateien werden von mplayer erstellt. Aber mplex will nicht so recht: ----------------------------8<------------------------------ martin@bart:~> mplex -f 8 -o input.mpg video.m2v audio.mpa INFO: [mplex] mplex version 1.8.0 (2.2.4 $Date: 2005/08/28 17:50:54 $) **ERROR: [mplex] File video.m2v unrecogniseable! **ERROR: [mplex] File audio.mpa unrecogniseable! **ERROR: [mplex] Unrecogniseable file(s)... exiting. ----------------------------8<------------------------------ ???
das machen, aber versuch vielleicht besser projektX, dass fuer mpeg-ts das Paradetool ist.
Wäre mir dann eigentlich egal. Kann ich damit auch frames rausschneiden und das Video bspw. mit xvid komprimieren? Ich will ja eigentlich nur etwas ganz simples machen ...
Du kannst auch versuchen nur das Bild aus input.vob zusammen mit dem von mplayer gedumpten sound in Deinem transcode Aufruf zu verwenden (-p).
Hat so auf Anhieb auch nur einen Segfault bereitet. Da ist doch irgendwas nicht ganz okay ... Auf jeden Fall vielen Dank für die ausführliche Hilfe. Wäre auch weiterhin für Ratschläge sehr dankbar. Martin
Hi, 0n 05/10/04@09:40 Martin Röhricht told me:
Hallo Maik,
Am Dienstag, 4. Oktober 2005 01:58 schrieb Maik Holtkamp:
Ging das denn so unter sid?
So wie das fuer mich aussieht versuchst Du eine dvb Aufzeichnung zu verfuettern, oder?
Ja, das hat genau so geklappt damals. Ich weià jetzt aber auch nicht mehr, welche transcode Version das war und ob ich noch etwas anderes dazu installiert hatte.
Ich glaube auch die Versionen fuer sid baut Christian Marillat. Der verwendet zur Zeit 0.6.14.
Das ganze ist eine Fernseh-Aufzeichnung auf DVD, die dann diese vob-Dateien erstellt.
Aus einem Hardwarerecorder, oder wie genau? Was sagt: tcprobe -H 10 -i input.vob Falls Du mpgtx installierthast mpginfo input.vob
Die kann ich mir auch ganz normal anschauen, aber jetzt möchte ich die Werbung rausschneiden und das Teil etwas mehr komprimieren.
Versuch avidemux, ich glaube das ist fuer dieses Schnittgeschichten das beste. Ob es allerdings mit dem Format umgehen kann ...?
-V solltest Du weglassen
Habe ich getan (hilft allerdings fÃŒr den Segfault nichts).
War auch nur am Rande.
[transcode] V: video buffer   | 10 @ 512x576 [import_vob.so] v0.6.0 (2003-10-02) (video) MPEG-2 | (audio) MPEG/AC3/PCM | (subtitle) [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0)
| (audio) MPEG/AC3/PCM
[import_vob.so] tccat -i "input.vob" -t vob -d 0 -S 0 | tcdemux -a 0 -x ac3 -S 0 -M 1 -d 0 | tcextract -t vob -a 0 -x ac3 -d 0 | tcdecode -x a52 -d 0 -A 0
Das verstehe ich so nicht.
Eigentlich hattest Du gesagt -x mplayer, warum hier dann ein vob plugin rummacht ..... versuch mal -x mplayer,mplayer (in der Hoffnung der kann mit ts gut umgehen).
Negativ: ----------------------------8<------------------------------ [...] [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0) | (audio) MPEG/AC3/PCM [import_mplayer.so] mplayer -hardframedrop -vo null -ao pcm:nowaveheader -ao pcm:file="/tmp/mplayer2transcode-audio.riCJbu"  "input.vob" > /dev/null 2>&1 [import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg  "input.vob" -osdlevel 0 > /dev/null 2>&1
Normalerweise drueckt mplayer das Bild in die ./stream.yuv, von wo transcode liesst, ich haette hier sowas wie > ./stream.yuv erwartet aber ...
[import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg
Das ist der Teil, der wo er spaeter auf die Nase faellt. Das was in ./stream.yuv steht hat keinen:
Input does not start with "YUV4MPEG "
Vielleicht kannst Du Dir mal diese Datei mit trancscode -i ./stream.yuv angucken. Vielleicht ist sie auch einfach leer :(. Wenn man nur mit mplayer rummacht, muss man vor jedem neuen Versuch diese Datei loeschen. Auf jeden Fall solltest Du die mjpegtools (von packman) installiert haben yuv4mpeg ist derren Standardformat (lavrec etc) und sowohl mplayer als auch transcode, werden wahrscheinlich code von dort brauchen.
Da wird gar nichts angefasst.
:(.
AFAIK kann transcode selbst mit mpeg-ts nicht um und bei dem obigen Versuch den Ton zu extrahieren auf die Nase geht.
[import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg "input.vob" -osdlevel 0 > /dev/null 2>&1 [import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg
Das ist nur das Bild, da nutzt transcode mplayer. Ein Test auf die Schnelle mit -x mplayer,null sollte zeigen ob es tatsaechlich nur am Ton liegt.
----------------------------8<------------------------------ [import_null.so] v0.2.0 (2002-01-19) (video) null | (audio) null [import_mplayer.so] v0.0.5 (2003-03-10) (video) rendered by mplayer | (audio) rendered by mplayer [export_xvid4.so] v0.0.5 (2003-12-05) (video) XviD 1.0.x series (aka API 4.0) | (audio) MPEG/AC3/PCM [import_mplayer.so] mplayer -benchmark -noframedrop -nosound -vo yuv4mpeg  "input.vob" -osdlevel 0 > /dev/null 2>&1 [import_mplayer.so] tcextract -i ./stream.yuv -x yv12 -t yuv4mpeg [export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg' [export_xvid4.so] found. Default settings will be used instead. Audio: using new version Audio: using lame-3.96.1 tc_memcpy: using sse for memcpy
sse kann Deine CPU? Ist das zufaellig ein 64 bit?
Speicherzugriffsfehler0-001179], 210.67 fps, EMT: 0:00:47, ( 0| 1| 0) ----------------------------8<------------------------------
Da stÃŒrzt er ebenso ab :-(
Mist.
Ich vermute stark das es an der mangelnden ts Unterstuetzung liegt. Versuch mal das Teil in einen mpeg-ps zu verwandeln, eigentlich sollte:
mplayer -dumpstream -dumpfile video.m2v input.vob mplayer -dumpstream -dumpfile audio.mpa input.vob mplex -f 8 -o input.mpg video.m2v audio.mpa
Die ersten beiden Dateien werden von mplayer erstellt. Aber mplex will nicht so recht: ----------------------------8<------------------------------ martin@bart:~> mplex -f 8 -o input.mpg video.m2v audio.mpa   INFO: [mplex] mplex version 1.8.0 (2.2.4 $Date: 2005/08/28 17:50:54 $) **ERROR: [mplex] File video.m2v unrecogniseable! **ERROR: [mplex] File audio.mpa unrecogniseable! **ERROR: [mplex] Unrecogniseable file(s)... exiting. ----------------------------8<------------------------------
Der mplayer dump sollte mpeg elementary stream (mpeg-es) erzeugen. Schau Dir die mal mit tcprobe oder besser mpginfo an ... kann mplayer die noch spielen?
das machen, aber versuch vielleicht besser projektX, dass fuer mpeg-ts das Paradetool ist.
WÀre mir dann eigentlich egal. Kann ich damit auch frames rausschneiden und das Video bspw. mit xvid komprimieren? Ich will ja eigentlich nur etwas ganz simples machen ...
Da ich dvb nicht habe, habe ich auch kein projectX und weiss nicht was es kann, beschrieben wird es aber als EierLegendeWollMilchSau. Mpegs bestehen aus sog. elementary streams (mpeg-es) -Ton, Bild, Untertitle etc-. Diese werden bei verlaesslichen Medien (e.g. DVD) als mpeg programm streams (mpeg-ps) zusammen geklebt (gemuxt, mplex). Mit diesen mpeg-ps Dateien koennen die tools unter Linux alle sehr gut umgehen, da gebraeuclich und lange bekannt. Sollen die mpeg Daten ueber unsichere (im Sinne von kann was auf der Strecke bleiben) Verbindungen geschickt werden (e.g. dvb), so muxt man die elementary streams als sogenannte transport-Streams (mpeg-ts). Im Prinzip ist da das gleiche drin, es wird nur zusaetzlich mehr Redundanz eingemischt, so das es auch spielbar bleit, wenn mal das ein oder andere bit auf der Strecke bleibt. Mit diesen TS koennen die linux tools nicht so gut (noch nicht so lange) umgehen. Der uebliche Weg war daher mpeg-ts mit projectX in elementary streams wandeln, mit mplex als mpeg-ps neu muxen und dann weiter. Da es bei Dir unter sid geklappt hat, kann es sein, dass das ein oder andere tool in sid so neu war, dass es selber mit mpeg-ts umgehen konnte, in SuSE 10 aber etwas aelter und daher (klassisch) erst in mpeg-ps gewandelt werden muss. Ich weiss aber auch nicht wie Du aufgenommen hast, evtl. liegt von Deinem Aufnahme tool schon ein ps vor. Andererseits kann grad bei dvb immer mal etwas entscheidenes auf der Strecke bleiben ... nur dann duerfte auch mplayer (ohne wuergarounds wie -tskeepbroken) damit Probleme haben. Neben projektX ist AFAIK avidemux das tool, dass am laengsten mit mpeg-ts umgehen kann. Transcode kann selbst in 1.0 ohne mplayer Hilfe nicht damit umgehen. Vielleicht laesst Du transcode ganz aussen vor um probierst rein mplayer, etwa so: mencoder -ovc lavc -oac mp3lame -o film.avi input.vob Leider habe ich hier die Skaliererei und bitraten Begrenzung nicht so im Kopf (man mplayer).
Du kannst auch versuchen nur das Bild aus input.vob zusammen mit dem von mplayer gedumpten sound in Deinem transcode Aufruf zu verwenden (-p).
Hat so auf Anhieb auch nur einen Segfault bereitet. Da ist doch irgendwas nicht ganz okay ...
*Grr* hartnaeckiger Fall ... falls alle Stricke reissen, kannst Du mal ein Stueckchen der Datei irgendwo aufladen? mplayer -dumpstream -dumpfile stream.mpg -ss xx:xx:xx Ich habe nur isdn Multilink, benutzte mit Gentoo wieder eine andere Distri und komme wohl nicht vor dem Wochenende dazu, wuerde aber gern mal reinschauen. -- bye maik CU _Maik Holtkamp_ -- ___ ___ (o o) (o o) ( V ) ( V ) ===============
Am Dienstag, 4. Oktober 2005 11:52 schrieb Maik Holtkamp:
Ich glaube auch die Versionen fuer sid baut Christian Marillat. Der verwendet zur Zeit 0.6.14.
Mmh. Vielleicht am Ende mal einfach selbst bauen ...?
Das ganze ist eine Fernseh-Aufzeichnung auf DVD, die dann diese vob-Dateien erstellt.
Aus einem Hardwarerecorder, oder wie genau?
Ja, so einen DVD Rekorder eben ...
Was sagt:
tcprobe -H 10 -i input.vob
--------------------------8<----------------------------- martin@bart:~> tcprobe -H 10 -i input.vob [tcprobe] MPEG program stream (PS) [tcprobe] summary for input.vob, (*) = not default, 0 = not detected import frame size: -g 352x576 [720x576] (*) aspect ratio: 4:3 (*) frame rate: -f 25.000 [25.000] frc=3 PTS=993.6732, frame_time=40 ms, bitrate=5000 kbps audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] PTS=993.6032, bitrate=256 kbps -D 1 --av_fine_ms 29 (frames & ms) [0] [0] detected (1) subtitle(s) --------------------------8<-----------------------------
Falls Du mpgtx installierthast
mpginfo input.vob
--------------------------8<----------------------------- martin@bart:~> mpginfo input.vob warning: couldn't find any valid system header. I'm continuing anyway input.vob Mpeg 2 Program Stream File [Video/Audio] Muxrate : 10.08 Mbps Estimated Duration: 05:20:48.20s Checking all time stamps (This may take a while.) ... Time stamps jumped from 32081.744256 to 1138.582344 at position 4662800 [...] Time stamps jumped from 2497.683911 to 2497.682278 at position 27247800 Time line is interupted at 39 times. That means at these points the time stamp is earlier than the previous one. You may have problems in joining and splitting this file, sorry. Aspect ratio 4/3 (TV) Interlaced, chroma format: 4:2:0 Size [352 x 576] 25.00 fps 5.00 Mbps Audio : Mpeg 1 layer 3 112 kbps 44100 Hz Stereo, No emphasis --------------------------8<-----------------------------
./stream.yuv steht hat keinen:
Input does not start with "YUV4MPEG "
Vielleicht kannst Du Dir mal diese Datei mit trancscode -i ./stream.yuv angucken. Vielleicht ist sie auch einfach leer :(. Wenn man nur mit mplayer rummacht, muss man vor jedem neuen Versuch diese Datei loeschen.
Also die Datei hat keinen Inhalt und kann auch nicht von transcode ausgelesen werden.
Auf jeden Fall solltest Du die mjpegtools (von packman) installiert haben yuv4mpeg ist derren Standardformat (lavrec etc) und sowohl mplayer als auch transcode, werden wahrscheinlich code von dort brauchen.
martin@bart:~> apt-cache policy mjpegtools mjpegtools: Installiert: 1.8.0-0.pm.0 Kandidat: 1.8.0-0.pm.0 Versionstabelle: *** 1.8.0-0.pm.0 0 500 ftp://ftp4.gwdg.de SuSE/10.0-i386/packman-i686 pkglist 100 RPM Database 1.8.0-0.pm.0 0 500 ftp://ftp4.gwdg.de SuSE/10.0-i386/packman pkglist 1.6.2-58 0 500 ftp://ftp4.gwdg.de SuSE/10.0-i386/base pkglist
sse kann Deine CPU?
Ist das zufaellig ein 64 bit?
Ja - Nein. Habe hier einen Pentium M Prozessor, 32 Bit.
Der mplayer dump sollte mpeg elementary stream (mpeg-es) erzeugen. Schau Dir die mal mit tcprobe oder besser mpginfo an ... kann mplayer die noch spielen?
Also die Ausgaben von tcprobe und mpginfo, angewandt auf die video.m2v sind die gleichen wie oben mit input.vob. mplayer kann zwar die input.vob spielen, allerdings nicht die m2v Datei.
Vielleicht laesst Du transcode ganz aussen vor um probierst rein mplayer, etwa so:
mencoder -ovc lavc -oac mp3lame -o film.avi input.vob
Leider habe ich hier die Skaliererei und bitraten Begrenzung nicht so im Kopf (man mplayer).
Das scheint eine gute Idee zu sein. Zumindest enkodiert er so schonmal den Film. Ich probiere gerade ein paar Parameter aus, bin gerade noch auf der Suche wie man mplayer sagt, kodiere von Frame 5 bis 10 und von 20 bis 25 -- geht das?
mplayer -dumpstream -dumpfile stream.mpg -ss xx:xx:xx
Ich habe nur isdn Multilink, benutzte mit Gentoo wieder eine andere Distri und komme wohl nicht vor dem Wochenende dazu, wuerde aber gern mal reinschauen.
Klar, allerdings erstellt mir mplayer mit den oben angegebenen Optionen ein stream.mpg, welches exakt die gleiche Größe hat wie input.vob: martin@bart:~> mplayer input.vob -dumpstream -dumpfile stream.mpg -ss 00:08:39 [...] martin@bart:~> ls -l *.vob *.mpg -r-xr-xr-x 1 martin users 656703488 2005-10-02 20:01 input.vob -rw-r--r-- 1 martin users 656703488 2005-10-04 13:20 stream.mpg (Und die 656MB willst Du nicht runter und ich trotz DSL nicht hochladen ;-)) Kennst Du Dich mit den mencoder Optionen etwas aus? Vielleicht kommt man damit auch genauso gut zum Ziel. Martin
Hi, 0n 05/10/04@13:26 Martin Röhricht told me:
Am Dienstag, 4. Oktober 2005 11:52 schrieb Maik Holtkamp:
Ich glaube auch die Versionen fuer sid baut Christian Marillat. Der verwendet zur Zeit 0.6.14.
Mmh. Vielleicht am Ende mal einfach selbst bauen ...?
Ist zwar auch eine Idee vor allem bei:
---cut
From: Jacob Meuser
Das ganze ist eine Fernseh-Aufzeichnung auf DVD, die dann diese vob-Dateien erstellt.
Aus einem Hardwarerecorder, oder wie genau?
Ja, so einen DVD Rekorder eben ...
Was sagt:
tcprobe -H 10 -i input.vob
--------------------------8<----------------------------- martin@bart:~> tcprobe -H 10 -i input.vob [tcprobe] MPEG program stream (PS) [tcprobe] summary for input.vob, (*) = not default, 0 = not detected import frame size: -g 352x576 [720x576] (*) aspect ratio: 4:3 (*) frame rate: -f 25.000 [25.000] frc=3 PTS=993.6732, frame_time=40 ms, bitrate=5000 kbps audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] PTS=993.6032, bitrate=256 kbps -D 1 --av_fine_ms 29 (frames & ms) [0] [0] detected (1) subtitle(s) --------------------------8<-----------------------------
Falls Du mpgtx installierthast
mpginfo input.vob
--------------------------8<----------------------------- martin@bart:~> mpginfo input.vob warning: couldn't find any valid system header. I'm continuing anyway input.vob Mpeg 2 Program Stream File [Video/Audio] Muxrate : 10.08 Mbps Estimated Duration: 05:20:48.20s Checking all time stamps (This may take a while.) ... Time stamps jumped from 32081.744256 to 1138.582344 at position 4662800 [...] Time stamps jumped from 2497.683911 to 2497.682278 at position 27247800 Time line is interupted at 39 times. That means at these points the time stamp is earlier than the previous one. You may have problems in joining and splitting this file, sorry. Aspect ratio 4/3 (TV) Interlaced, chroma format: 4:2:0 Size [352 x 576] 25.00 fps 5.00 Mbps Audio : Mpeg 1 layer 3 112 kbps 44100 Hz Stereo, No emphasis
Hmm. Ich hoffe mal tcprobe hat recht, denn mp3 ist auf DVD nicht erlaubt. Was aber uebler ist sind diese time stamps die springen. Man hat sowas manchmal bei commercials, als eine Art Kopierschutz fuer Dummies. Transcode bringt es schon zuverlaessig aus dem Tritt noch schlimmer aber mplex. 352x576 ist zwar nicht ueblich, aber erlaubt. Fuer Dein resizing nach 512x384 koenntest Du statt -Z 512,384,fast mal folgendes probieren: -X 0,5 -B 6,0 denn ich weiss nicht genau ob -Z auch rauf skalieren kann.
Der mplayer dump sollte mpeg elementary stream (mpeg-es) erzeugen. Schau Dir die mal mit tcprobe oder besser mpginfo an ... kann mplayer die noch spielen?
Also die Ausgaben von tcprobe und mpginfo, angewandt auf die video.m2v sind die gleichen wie oben mit input.vob. mplayer kann zwar die input.vob spielen, allerdings nicht die m2v Datei.
Das muesste auch ac3 (wenn tcprobe recht hat 0x2000) Sound sein. Das kann das Kommandozeilentool a52dec spielen. Was eher unueblich ist ist die bitarte fuer den sound, ac3 ist ueblicherweise @384 kbit/sec.
Vielleicht laesst Du transcode ganz aussen vor um probierst rein mplayer, etwa so:
mencoder -ovc lavc -oac mp3lame -o film.avi input.vob
Leider habe ich hier die Skaliererei und bitraten Begrenzung nicht so im Kopf (man mplayer).
Das scheint eine gute Idee zu sein. Zumindest enkodiert er so schonmal den Film. Ich probiere gerade ein paar Parameter aus, bin gerade noch auf der Suche wie man mplayer sagt, kodiere von Frame 5 bis 10 und von 20 bis 25 -- geht das?
mplayer -dumpstream -dumpfile stream.mpg -ss xx:xx:xx
Mit -frames kannst Du mplayer/mencoder sagen wieviele frames es spielen soll (25/Sekunde). Hinter -ss kannst Du angeben wo er beginnen soll, z.B. -ss 00:05:00 -frames 45000 ueberspringt die ersten 5 min und encoded dann 30 min (30x60x25). Siehe aber auch -endpos, sowie ueberhaupt alles in man mplayer im Abschnitt: GENERAL ENCODING OPTIONS (MENCODER ONLY) Auch unter /usr/share/doc/mplayer sollte es html Hilfen geben. Wenn Du googeln musst, such immer auch nach ffmpeg (libavcodec), dass meiste was mencoder nutzt stammt von ffmpeg ... wobei es eigentlich in mplayer besser dokumentiert ist als in ffmpeg selbst :(.
Ich habe nur isdn Multilink, benutzte mit Gentoo wieder eine andere Distri und komme wohl nicht vor dem Wochenende dazu, wuerde aber gern mal reinschauen.
Klar, allerdings erstellt mir mplayer mit den oben angegebenen Optionen ein stream.mpg, welches exakt die gleiche Größe hat wie input.vob: martin@bart:~> mplayer input.vob -dumpstream -dumpfile stream.mpg -ss 00:08:39 [...] martin@bart:~> ls -l *.vob *.mpg -r-xr-xr-x 1 martin users 656703488 2005-10-02 20:01 input.vob -rw-r--r-- 1 martin users 656703488 2005-10-04 13:20 stream.mpg
(Und die 656MB willst Du nicht runter und ich trotz DSL nicht hochladen ;-))
Sicher nicht ;). dumpstream scheint -ss zu ignorieren :(.
Kennst Du Dich mit den mencoder Optionen etwas aus?
Nein nur sehr beschraengt, muss da auch meist lesen und try&error :(.
Vielleicht kommt man damit auch genauso gut zum Ziel.
Bestimmt und man mplayer ist ein Quell der Weisheit ;). Das beschneiden des Videos sollte ueber die video filter (-vf) gehen (crop, expand, scale) gehen. Vieles anderes laeuft ueber -lavcopts. -- bye maik
Hi Maik, Am Dienstag, 4. Oktober 2005 14:42 schrieb Maik Holtkamp:
0n 05/10/04@13:26 Martin Röhricht told me:
Am Dienstag, 4. Oktober 2005 11:52 schrieb Maik Holtkamp:
Ich glaube auch die Versionen fuer sid baut Christian Marillat. Der verwendet zur Zeit 0.6.14.
Mmh. Vielleicht am Ende mal einfach selbst bauen ...?
Ist zwar auch eine Idee vor allem bei: [...] Aber transcode hat eine Menge Abhaengigkeiten, mach Dich auf was gefasst :(.
Das habe ich schon geahnt ... mal sehen wann sich dafür die Zeit findet.
Mit -frames kannst Du mplayer/mencoder sagen wieviele frames es spielen soll (25/Sekunde). Hinter -ss kannst Du angeben wo er beginnen soll, z.B.
-ss 00:05:00 -frames 45000
ueberspringt die ersten 5 min und encoded dann 30 min (30x60x25). Siehe aber auch -endpos, sowie ueberhaupt alles in man mplayer im Abschnitt:
GENERAL ENCODING OPTIONS (MENCODER ONLY)
Ja, die Option ist mir auch schon über den Weg (der über 5000 Zeilen manpage) gelaufen. Allerdings konnte ich bisher nichts finden, wie man gleich mehrere Abschnitte encodieren könnte, also eben wie bei transcode in meinem Beispiel die Frames 1180-8840 und die Frames 17220-29943. Weiß einer, ob das mit mencoder geht?
Vielleicht kommt man damit auch genauso gut zum Ziel.
Bestimmt und man mplayer ist ein Quell der Weisheit ;). Das beschneiden des Videos sollte ueber die video filter (-vf) gehen (crop, expand, scale) gehen. Vieles anderes laeuft ueber -lavcopts.
Mittlerweile habe ich auch das hinbekommen, was ich wollte. Ich habe mit avidemux2 die beiden Abschnitte separat per plain copy in einzelne Dateien herauskopiert und dann mit kmenc15 wieder zusammengeklatscht (ich glaube das sollte auch mit avidemux2 oder mit mencoder selbst gehen). Dann hatte ich mein beschnittenes Video als "unkomprimiertes" avi und konnte dann mittels mencoder -vf scale=640:480 -o output.avi -oac mp3lame -ovc lavc input.avi die Datei von 363MB auf 100MB schrumpfen (13:34 min Fußball TV Aufnahme). Okay, das war schonmal das wichtigste. Es stellen sich mir noch drei perfektionistische Fragen: (1) Kann man mit mencoder mehr als nur einen Abschnitt gleichzeitig aus einer Datei heraus encodieren? (2) Wie kann man mit mencoder zwei Dateien aneinanderfügen? (3) Gibt es Möglichkeiten, eine mpeg TV Aufnahme mit mencoder noch besser zu komprimieren? Martin
Hi, 0n 05/10/04@17:39 Martin Röhricht told me:
Am Dienstag, 4. Oktober 2005 14:42 schrieb Maik Holtkamp:
0n 05/10/04@13:26 Martin Röhricht told me:
Am Dienstag, 4. Oktober 2005 11:52 schrieb Maik Holtkamp:
Mit -frames kannst Du mplayer/mencoder sagen wieviele frames es spielen soll (25/Sekunde). Hinter -ss kannst Du angeben wo er beginnen soll, z.B.
-ss 00:05:00 -frames 45000
ueberspringt die ersten 5 min und encoded dann 30 min (30x60x25). Siehe aber auch -endpos, sowie ueberhaupt alles in man mplayer im Abschnitt:
GENERAL ENCODING OPTIONS (MENCODER ONLY)
Ja, die Option ist mir auch schon über den Weg (der über 5000 Zeilen manpage) gelaufen.
Wer den neuen Harry Potter schon durch hat ... ;).
Allerdings konnte ich bisher nichts finden, wie man gleich mehrere Abschnitte encodieren könnte, also eben wie bei transcode in meinem Beispiel die Frames 1180-8840 und die Frames 17220-29943. Weiß einer, ob das mit mencoder geht?
Ich glaube da hat mencoder richtige Probleme :(. Mit verschiedenen -ss und -endpos kann mal wohl mehrere Dateien erzeugen, die evtl. auch transcodes avimerge zusammenkleben kann, aber das ist IMHO Wurstelei :(.
Vielleicht kommt man damit auch genauso gut zum Ziel.
Bestimmt und man mplayer ist ein Quell der Weisheit ;). Das beschneiden des Videos sollte ueber die video filter (-vf) gehen (crop, expand, scale) gehen. Vieles anderes laeuft ueber -lavcopts.
Mittlerweile habe ich auch das hinbekommen, was ich wollte. Ich habe mit avidemux2 die beiden Abschnitte separat per plain copy in einzelne Dateien herauskopiert und dann mit kmenc15 wieder zusammengeklatscht (ich glaube das sollte auch mit avidemux2 oder mit mencoder selbst gehen).
Ich kenne leider avidemux selber auch zu wenig, aber ich halte es fuer Deinen job fuer das tool der Wahl.
Dann hatte ich mein beschnittenes Video als "unkomprimiertes" avi und konnte dann mittels mencoder -vf scale=640:480 -o output.avi -oac mp3lame -ovc lavc input.avi die Datei von 363MB auf 100MB schrumpfen (13:34 min Fußball TV Aufnahme).
Okay, das war schonmal das wichtigste. Es stellen sich mir noch drei perfektionistische Fragen: (1) Kann man mit mencoder mehr als nur einen Abschnitt gleichzeitig aus einer Datei heraus encodieren?
Ich glaube das geht nicht und ist IMHO ein sehr grosser Nachteil von mencoder.
(2) Wie kann man mit mencoder zwei Dateien aneinanderfügen?
Ich wuerde avimerge von transcode probieren.
(3) Gibt es Möglichkeiten, eine mpeg TV Aufnahme mit mencoder noch besser zu komprimieren?
In der Hinsicht bietet mencoder wohl das meiste. Als wichtigstes duefte der codec und die bitrate sich wohl auswirken, probhalber mit: -lavcopts vcodec=mpeg4:vbitrate=800 sollte schon einiges bewirken (default ist AFAIK msmpeg4 aka divx3). Auch kannst Du mit mencoder immer 2-3 pass encoden, wenn Du darauf angewiesen bist eine bestimmte Dateigroesse zu treffen und die Filter und codec Einstellmoeglichkeiten, wirst Du wohl auch bei keinem anderen tool in der Fuelle finden. Eine Uebersicht ueber die codecs die libavcodec (aka ffmpeg) unterstuetzt gibt es hier: http://ffmpeg.sourceforge.net/ffmpeg-doc.html#SEC16 dazu kannst Du nochmal rechnen, dass Du auch die Pfade der libavcodec Familie verlassen kannst (-ovc xvid oder x264) und das jeder einzelne codec vielleicht noch spezifische Einstellmoeglichkeiten bietet ... die 5000 Zeilen sind eigentlich recht knapp und auch das: http://www.mplayerhq.hu/DOCS/HTML/en/index.html ist IMHO nur ein erweiterter Einstieg ;). -- bye maik
participants (2)
-
Maik Holtkamp
-
Martin Röhricht