Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Goeppel 
Anmeldungsdatum: 26.11.2003 Beiträge: 5
|
Beitrag 0 - Verfasst am: Mi Nov 26, 2003 8:59 Titel: |
 |
|
Hallo Leute
zwar mein erster Beitrag hier und dann gleich ne Frage, aber ich komme echt nicht weiter ohne Hilfe :'(
Also, zum Problem: Ich hab hier einen DVB-Stream, der interlaced ist und möchte den nun gern mit Hilfe von einem Avisynth-Skript und TmpgEnc in SVCD encoden. Soweit so gut, das krieg ich ja auch noch hin Aber guckt euch mal das folgende Bild an:
http://home.arcor.de/thomasthe1st/unbenannt.jpg (Achtung Modem-Nutzer, ca. 200kB). So sieht das bei mir aus, wenn ich den Stream mit einem beliebigen Player öffne. Wohlgemerkt nur, wenn ich manuell die Größe des Videos ändere, in der Ausgangssituation, d.h. wenn der Player das Video 1:1 darstellt, wird das Interlacing sauber dargestellt. Auch wenn ich das Video in VirtualDub lade (mittels Avisynth) siehts genauso aus, es sei denn, ich stelle den Farbraum anders ein!
Code: |
vstream=mpeg2source("D:\dvd2avi.d2v",cpu=1,idct=2,iPP=true, showQ=false)
vstream=BicubicResize(vstream,480,576,1/3,1/3)
astream=MPASource("D:\dvb-audio1.mpa", normalize = false)
astream==Normalize(astream,0.98)
#vstream=YV12toRGB24(vstream,interlaced=true)
#vstream=FlipVertical(vstream)
avstream=AudioDub(vstream,astream)
return avstream
|
Also wenn ich da die Rauten entferne, dann klappt alles! Aber das ist ja nun blöd, den Farbraum zu konvertieren, weils Zeit und Qualität kostet. Hat da irgendjemand ne Lösung parat oder kennt auch das Problem? Wie gesagt, bei VirtualDub könnte ich das Problem so lösen, nicht jedoch bei Playern, sei es nun bsPlayer oder der WMP. Achja, hab letztens mein System neu aufgesetzt, und davor ging alles einwandfrei, auch ohne die Konvertierung des Farbraums.
Falls man es braucht, ich hab ne ATi Radeon 9000, AMD, WindowsXP mit DirectX 9.0b und irgendwie allen Updates, neuster Grafikkartentreiber direkt von ATi, mehr fällt mir erstmal nicht ein. |
|
 |
SVCDFan  WM-Tipp König 2006
Anmeldungsdatum: 20.09.2001 Beiträge: 7567
|
Beitrag 1 - Verfasst am: Mi Nov 26, 2003 9:16 Titel: |
 |
|
Hallo Goeppel.
Um auf einen kurzen Nenner zu bringen:
Willst du das ganze am PC anschauen, dann mache das ganze am besten gleich progressive, d.h. deinterlace das also.
Willst du das aber nur am TV über DVD-Player anschauen, dann ist völlig wurst, was am PC angezeigt wird. Kontrolliere das doch am TV selbst, da siehst keine solche "Kämme", höchstens du hast die falsche Field-Order, dann ruckelt es bei Bewegungen. _________________ Gruß SVCDFan |
|
 |
Goeppel 
Anmeldungsdatum: 26.11.2003 Beiträge: 5
|
Beitrag 2 - Verfasst am: Mi Nov 26, 2003 9:31 Titel: |
 |
|
Hallo SVCDFan, so früh schon auf
So: Ja, soll eigentlich nur am PC geschaut werden, und deshalb auch deinterlaced werden. Also du meinst, ich müßte die Farbraumkonvertierung in Kauf nehmen und das dann so encoden. Naja, so hab ichs bisher auch gehandhabt, aber man will ja alles ziemlich perfekt und nichts falsch machen ;) und das ist bisher noch das Einzige, was mich gestört hat. Aber ich guck mir auch DVB-Streams des öfteren direkt an, naja, nicht genießbar
Achso, falls das noch hilft: Falls die progressiven Frames "recovered" werden können (bei TmpgEnc IVTC), wird das Video automatisch deinterlaced O_O Das sollte ja normalerweise nicht vorkommen, ich hoffe du verstehst, was ich mein
ciao |
|
 |
RoBernd 

Anmeldungsdatum: 27.01.2003 Beiträge: 331 Wohnort: Windach/Bayern
|
Beitrag 3 - Verfasst am: Do Nov 27, 2003 12:52 Titel: |
 |
|
Hi,
ähnliches habe ich auch bemerkt. Wahrscheinlich wird das Bild erst in ein anderes Format umgerechnet und dann deinterlaced. Damit sind die zum Deinterlacing verwendeten Zeilen die falschen (sie gehören nicht zum selben Halbbild).
Man müsste die Bearbeiteungsreihenfolge also vertauschen. Wie? _________________ Gruß RoBernd |
|
 |
Der Karl  V.I.P. Mitglied
Anmeldungsdatum: 15.02.2002 Beiträge: 1416
|
Beitrag 4 - Verfasst am: Do Nov 27, 2003 13:03 Titel: |
 |
|
Moin,
daß die "Farbraumkonvertierung" da im Interlacing was korrigiert, ist eigentlich nicht
logisch. Das ist vermutlich nur ein fieldorderproblem.
Lade doch mal eine kurze Sequenz des *.mpv (so 25 Frames mit viel Bewegung)
hoch.
Gruß Karl |
|
 |
Goeppel 
Anmeldungsdatum: 26.11.2003 Beiträge: 5
|
Beitrag 5 - Verfasst am: Do Nov 27, 2003 19:31 Titel: |
 |
|
Hallo Karl und danke für deinen Beitrag.
Ich hab schnell ein kleines Sample hochgeladen, liegt auf http://home.arcor.de/thomasthe1st/test.mpv bereit (3 MB).
Um es nochmal zu erklären: Wenn ich ein Video habe, dass ich mittel 2:2 Pulldown (bei TmpgEnc unter IVTC) deinterlacen kann, also die progressiven Frames wieder herstellen kann, dann wird das Video im bsPlayer und auch WMP bereits _deinterlaced_ wiedergegeben (die Source, die jedoch interlaced dargestellt werden müsste), und das darf ja wohl nicht sein. Es ist zwar schön, dass deinterlaced wird, aber ich möchte ja bestimmen, wie, ob und wann das passiert. Und bei Videos, bei denen man die Frames nicht so ohne Weiteres wiederherstellen kann, geht das in die Hose und ich habe ein Bild wie in meinem ersten Posting. Ich habe schonmal versucht, was mit Graphedit zu machen, aber da sind tatsächlich nur die meienr Meinung nach nötigsten Filter am werkeln.
Installiert zur Zeit: PowerDVD 5, WinDVD, Elecard Decoder.
Gruß |
|
 |
Goeppel 
Anmeldungsdatum: 26.11.2003 Beiträge: 5
|
Beitrag 6 - Verfasst am: Do Nov 27, 2003 19:37 Titel: |
 |
|
Zitat: | Hi,
ähnliches habe ich auch bemerkt. |
Hi RoBernd.
Hast wohl auch das Problem? Naja, bin ich wenigstens nicht der Einzige
Irgendeinem Teil im Puter wird nicht gesagt nicht gesagt, dass es sich um ein interlaced Video handelt und dann passiert das so :'(
Goeppel |
|
 |
Der Karl  V.I.P. Mitglied
Anmeldungsdatum: 15.02.2002 Beiträge: 1416
|
Beitrag 7 - Verfasst am: Fr Nov 28, 2003 9:56 Titel: |
 |
|
Moin,
also - wie vermutet: Source ist progressive, tff und phase-shifted.
Es wird also nix "deinterlaced", sondern es müssen nur die fields in die richtige
Reihenfolge bzw. "paarung" gebracht werden.
In abwandlung des scripts von oben (was btw. unnötig umständlich ist):
Code: | vstream=mpeg2source("D:\dvd2avi.d2v",cpu=1,idct=2,iPP=true, showQ=false)
astream=MPASource("D:\dvb-audio1.mpa", normalize = false)
astream==Normalize(astream,0.98)
AudioDub(vstream,astream)
ComplementParity() #### Für TFF-source
DoubleWeave().SelectOdd() #### de-phase-shift
BicubicResize(480,576,1/3,1/3) |
Gruß Karl |
|
 |
Goeppel 
Anmeldungsdatum: 26.11.2003 Beiträge: 5
|
Beitrag 8 - Verfasst am: Di Dez 09, 2003 15:12 Titel: |
 |
|
okay, danke Karl
werd das schleunigst mal ausprobieren!
Goeppel |
|
 |
|