Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Von ÖR 720p50 nach PAL-DVD

  1. #1
    Eroberer
    Registriert seit
    25. July 2007
    Beiträge
    66

    Standard Von ÖR 720p50 nach PAL-DVD

    Hallo!

    Ich muss doch manchmal einen ÖR-HD-Stream (*.ts) in 720p50 in einen DVD-kompatiblen Stream konvertieren. Ich kann das ganze mit TMPGEnc Video Mastering Works 5 relativ einfach machen, habe aber den Eindruck, dass das Ergebnis nicht optimal ist. Z.B. ruckeln die so erstellten DVDs und Laufschriften erscheinen horizontal zerrissen. Ich habe deshalb ein wenig gegoogled und andere Lösungen auf Basis von Avisynth und ffmpeg gefunden. Ich experimentiere mit folgendem Script:

    LoadPlugin("C:\meGUI\MeGUI_2153_x86\tools\dgavcindex\DGAVCDecode.dll")
    AVCSource("D:\HDTV\xy.dga")
    Lanczos4Resize(720, 576)
    Assumetff().SeparateFields().SelectEvery(4, 0, 3).Weave()

    Ich verstehe, dass Avisynth zuerst die Auflösung von 1280*720 auf 720*576 verkleinert und dann das Ganze irgendwie interlaced. Genau verstehe ich die Zeile mit Assumetff()... aber nicht und weiß deshalb auch nicht, ob das interlacing so richtig ist. Wer kann mir die Zeile genauer erklären?

    Das Script verfüttere ich dann an ffmpeg und zwar so:

    ffmpeg -i xy.dga -aspect 16:9 -target pal-dvd dvd.mpg

    Das ganze funktioniert im Prinzip auch - auch mit der Qualität wäre ich zufrieden, allerdings ist das Ergebnis am Ende progessive und nicht interlaced und - was viel schlimmer ist - ffmpeg scheint die Option -aspect zu ignorieren, denn das Seitenverhältnis ist verkehrt (Eierköpfe) und MediaInfo zeigt als Display aspect ratio 5:4 an. Wie komme ich zu einem interlaced Video im richtigen Seitenverhältnis von 16:9?

    Vielen Dank!
    Indy

  2. #2
    Erklär-Bär Avatar von LigH
    Registriert seit
    19. April 2003
    Ort
    OPAL-Invalidengebiet Altmark
    Alter
    42
    Beiträge
    42.555

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Zitat Zitat von Indy06 Beitrag anzeigen
    Genau verstehe ich die Zeile mit Assumetff()... aber nicht und weiß deshalb auch nicht, ob das interlacing so richtig ist. Wer kann mir die Zeile genauer erklären?
    Die AviSynth-Dokumentation, die beim Installieren mit auf deiner Festplatte gelandet ist.

    In Kürze:

    AssumeTFF() # Halbbildreihenfolge "oberes Halbbild zuerst" wird angenommen
    SeparateFields() # Clip mit 50 Vollbildern pro Sekunde wird in 100 Halbbilder pro Sekunde aufgeteilt
    SelectEvery(4, 0, 3) # immer je aller 4 Halbbilder werden nur das Halbbild Nr. 0 und das Halbbild Nr. 3 ausgewählt, also das aktuelle obere mit dem nächsten unteren
    Weave() # beide werden zu einem neuen Vollbild gemischt, wieder halbe Framerate, jetzt mit Interlaced-Inhalt
    AssumeFPS(25, 1) # zur Sicherheit; leider bin ich mir nicht sicher, ob SelectEvery auch die Halbbildrate halbiert hätte


    Zitat Zitat von Indy06 Beitrag anzeigen
    Das Script verfüttere ich dann an ffmpeg und zwar so:

    ffmpeg -i xy.dga -aspect 16:9 -target pal-dvd dvd.mpg
    Wieso xy.dga? Sollen AviSynth-Skripte nicht die Endung *.avs haben? Die Endung *.dga gehört zu DGAVCDec-Indexdateien, nicht zu AviSynth-Skripten.

    Ansonsten weiß ich nicht, wie man ffmpeg zuverlässig mit Parametern steuert, dafür ist mir der Dschungel aus Parameters unterschiedlichster Kategorie einfach zu dicht. Den HC-Encoder kann ich dagegen leicht bedienen, und ich bin mir auch bei dem ganz sicher, dass er qualitativ zu den besten MPEG2-Encodern gehört.

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  3. #3
    Eroberer
    Registriert seit
    25. July 2007
    Beiträge
    66

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Hallo!

    Vielen Dank für Deine Antwort!

    Zitat Zitat von LigH Beitrag anzeigen
    AssumeTFF() # Halbbildreihenfolge "oberes Halbbild zuerst" wird angenommen
    Warum muss ich diese Annahme überhaupt machen, wo das Quellmaterial doch progessiv ist und also jedes Frame nur aus einem Vollbild besteht? Oder hat diese Annahme einen Einfluss auf SeperateFields, das...
    SeparateFields() # Clip mit 50 Vollbildern pro Sekunde wird in 100 Halbbilder pro Sekunde aufgeteilt
    ...durch AssumeTFF() aus jedem progressiven Frame zuerst ein oberes und dann ein unteres Halbbild erzeugt und nicht umgekehrt? Aber was wäre der Unterschied zu AssumeBFF()? Die erzeugten Halbbilder bestehen nur aus jeder zweiten Bildzeile des jeweiligen Frames und haben die halbe vertikale Auflösung, ist das richtig?
    SelectEvery(4, 0, 3) # immer je aller 4 Halbbilder werden nur das Halbbild Nr. 0 und das Halbbild Nr. 3 ausgewählt, also das aktuelle obere mit dem
    nächsten unteren
    Weave() # beide werden zu einem neuen Vollbild gemischt, wieder halbe Framerate, jetzt mit Interlaced-Inhalt
    Ja, das verstehe ich sogar. Aus jedem ursprünglichen progessiven Frame wird jeweils nur ein erzeugtes Field ausgewählt, entweder das obere (0) oder untere (3). Dadurch hat Stream anschließend 50 Fields also 25 frames pro Sekunde.
    AssumeFPS(25, 1) # zur Sicherheit; leider bin ich mir nicht sicher, ob SelectEvery auch die Halbbildrate halbiert hätte
    Zumindest gibt MediaInfo 25 als frame rate aus. Dann wäre AssumeFPS(25, 1) nicht nötig?

    Wieso xy.dga?
    Kopierfehler, sorry.

    Den HC-Encoder kann ich dagegen leicht bedienen, und ich bin mir auch bei dem ganz sicher, dass er qualitativ zu den besten MPEG2-Encodern gehört.
    Ok, den kannte ich noch gar nicht und werde ihn mal ausprobieren!

    Vielen Dank,
    Indy

  4. #4
    Erklär-Bär Avatar von LigH
    Registriert seit
    19. April 2003
    Ort
    OPAL-Invalidengebiet Altmark
    Alter
    42
    Beiträge
    42.555

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Zitat Zitat von Indy06 Beitrag anzeigen
    Warum muss ich diese Annahme überhaupt machen, wo das Quellmaterial doch progessiv ist und also jedes Frame nur aus einem Vollbild besteht? Oder hat diese Annahme einen Einfluss auf SeperateFields, das...

    ...durch AssumeTFF() aus jedem progressiven Frame zuerst ein oberes und dann ein unteres Halbbild erzeugt und nicht umgekehrt?
    RÜÜÜCHTÜÜÜCH!

    Zitat Zitat von Indy06 Beitrag anzeigen
    Aber was wäre der Unterschied zu AssumeBFF()?
    Da wird zuerst das untere Halbbild aus dem ersten Frame herausgeholt, dann das obere aus dem ersten Frame, dann wieder das untere aus dem zweiten Frame... So was ist typisch für DV-Magnetband-Kameras, aber beim Digitalisieren von Fernsehsignalen mit analogen Capturekarten oder beim Verarbeiten von DVD-Material wird eher die TFF-Reihenfolge verwendet. Dem Röhrenfernseher ist das relativ egal, da kommt ein Halbbild nach dem anderen zur Anzeige. Relevant ist das nur, wenn zwei Halbbilder in einem Frame abgespeichert werden, dann muss man wissen, welches von beiden zu früherer Zeit dargestellt werden muss.

    Zitat Zitat von Indy06 Beitrag anzeigen
    Die erzeugten Halbbilder bestehen nur aus jeder zweiten Bildzeile des jeweiligen Frames und haben die halbe vertikale Auflösung, ist das richtig?
    Ja, und außerdem immer abwechselnd die anderen Zeilen, von ihrer "Höhenlage" her.

    Zitat Zitat von Indy06 Beitrag anzeigen
    Ja, das verstehe ich sogar. Aus jedem ursprünglichen progessiven Frame wird jeweils nur ein erzeugtes Field ausgewählt, entweder das obere (0) oder untere (3). Dadurch hat Stream anschließend 50 Fields also 25 frames pro Sekunde.
    Genau. Und da zwischen den Halbbildern (0 und 1) sowie (2 und 3) jeweils die Zeit 1/50 Sekunde voranschreitet, mischen sich im neuen Frame zwei Halbbilder "oben von jetzt" und "unten von 1/50 s später". In dieser Reihenfolge wegen AssumeTFF() und SelectEvery(4, 0, 3).

    Zitat Zitat von Indy06 Beitrag anzeigen
    Zumindest gibt MediaInfo 25 als frame rate aus. Dann wäre AssumeFPS(25, 1) nicht nötig?
    Allerdings. Dann hat wohl SelectEvery berechnet, dass 2 aus 4 Halbbildern die halbe Halbbildrate zum Ergebnis haben (100/2 => 50/2), wodurch Weave bereits die richtige Framerate erzeugt (50/2 => 25).

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  5. #5
    Haudegen
    Registriert seit
    12. October 2002
    Beiträge
    663

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Bei 720p50 sollte zunächst geprüft werden, ob es sich tatsächlich um 50fps handelt, oder - wie z.B. bei Spielfilmen - jedes Bild zweimal gesendet wird. In diesem Fall sollte durch SelectEven() ein 720p25 erzeugt werden. Anschließend prüfen, ob man besser progressiv oder interlace kodieren soll.

  6. #6
    Eroberer
    Registriert seit
    25. July 2007
    Beiträge
    66

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Hallo!

    Zitat Zitat von hdst Beitrag anzeigen
    Bei 720p50 sollte zunächst geprüft werden, ob es sich tatsächlich um 50fps handelt, oder - wie z.B. bei Spielfilmen - jedes Bild zweimal gesendet wird.
    Genau das wäre dann auch meine nächste Frage gewesen. Das zu prüfen scheint mir aber schon einigermaßen kompliziert zu sein. Was wäre denn das Ergebnis wenn man SelectEvery(4, 0, 3) auf eine Quelle anwendet bei der die Frames nur verdoppelt wurden?

    EDIT: Naja, klar ist, dass dann die beiden ausgewählten Halbbilder gar nicht von unterschiedlichen Zeitpunkten stammen würden. Aber was würde man dann sehen?

    In diesem Fall sollte durch SelectEven() ein 720p25 erzeugt werden.
    Das leuchtet dann ein!

    Anschließend prüfen, ob man besser progressiv oder interlace kodieren soll.
    Wie kann man soetwas entscheiden?

    Vielen Dank,
    Indy

  7. #7
    Haudegen
    Registriert seit
    12. October 2002
    Beiträge
    663

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Zitat Zitat von Indy06 Beitrag anzeigen
    Wie kann man soetwas entscheiden?
    Den Film in den VLC-Player einlesen, Ansicht auf Erweiterte Steuerung einstellen und auf Frame nach Frame klicken. Wenn grundsätzlich nur nach jedem 2. Bild Bewegung feststellbar ist, ist das Video als 720p25 anzusehen.

  8. #8
    Erklär-Bär Avatar von LigH
    Registriert seit
    19. April 2003
    Ort
    OPAL-Invalidengebiet Altmark
    Alter
    42
    Beiträge
    42.555

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Ich würde das nur eben nicht mit dem VLC tun. Man hat ja ohnehin ein AviSynth-Skript. Das lädt man in AvsPmod (oder VirtualDubMod), kommentiert ein paar Zeilen aus, und geht dann darin Bild für Bild vorwärts.

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  9. #9
    Eroberer
    Registriert seit
    25. July 2007
    Beiträge
    66

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Zitat Zitat von hdst Beitrag anzeigen
    Den Film in den VLC-Player einlesen, Ansicht auf Erweiterte Steuerung einstellen und auf Frame nach Frame klicken. Wenn grundsätzlich nur nach jedem 2. Bild Bewegung feststellbar ist, ist das Video als 720p25 anzusehen.
    Ja, ok. Auch das leuchtet mir ein! VLC-Player habe ich eh installiert und AvsPmod gucke ich mir auch mal an. Es ging mir jetzt aber um Deine Aussage, dass man entscheiden müsste, ob man nach der Umwandlung in 720p25 durch SelectEven() progressiv oder interlaced kodiert. Wie kann man das entscheiden? DVD-Video unterstützt ja auch 576p25. Warum sollte man in einem solchen Fall interlaced kodieren? Zumal bei 720p50, das durch Verdoppelung der Frames erzeugt wurde, ja eh keine höhere zeitliche Auflösung vorhanden ist. Interlaced zu kodieren würde dann nur Sinn machen, um die höhere zeitliche Auflösung eines "echten" 720p50 auf eine DVD zu retten, dann aber zum Preis einer geringeren vetikalen Auflösung.

    Gruß,
    Indy

  10. #10
    Eroberer
    Registriert seit
    25. July 2007
    Beiträge
    66

    Standard AW: Von ÖR 720p50 nach PAL-DVD

    Zitat Zitat von hdst Beitrag anzeigen
    Den Film in den VLC-Player einlesen, Ansicht auf Erweiterte Steuerung einstellen und auf Frame nach Frame klicken. Wenn grundsätzlich nur nach jedem 2. Bild Bewegung feststellbar ist, ist das Video als 720p25 anzusehen.
    Ja, ok. Auch das leuchtet mir ein! VLC-Player habe ich eh installiert und AvsPmod gucke ich mir auch mal an. Es ging mir jetzt aber um Deine Aussage, dass man entscheiden müsste, ob man nach der Umwandlung in 720p25 durch SelectEven() progressiv oder interlaced kodiert. Wie kann man das entscheiden? DVD-Video unterstützt ja auch 576p25. Warum sollte man in einem solchen Fall interlaced kodieren? Zumal bei 720p50, das durch Verdoppelung der Frames erzeugt wurde, ja eh keine höhere zeitliche Auflösung vorhanden ist. Interlaced zu kodieren würde dann nur Sinn machen, um die höhere zeitliche Auflösung eines "echten" 720p50 auf eine DVD zu retten, dann aber zum Preis einer geringeren vetikalen Auflösung.

    Gruß,
    Indy

Seite 1 von 3 123 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Antworten: 20
    Letzter Beitrag: 30. January 2005, 12:58
  2. Film ruckelt nach Convert von DivX nach DVD
    Von whiggy im Forum MPEG-2 Encoding
    Antworten: 7
    Letzter Beitrag: 2. April 2004, 17:49
  3. mp2 knistert nach wandeln von 44.1KHz nach 48KHz ?!
    Von Godspeed im Forum Audio – Bearbeitung und Konvertierung
    Antworten: 6
    Letzter Beitrag: 9. December 2003, 06:46
  4. Antworten: 1
    Letzter Beitrag: 7. December 2003, 11:31
  5. nach 5min ton aus, wenn ich dv-avi nach svcd konvertiere???
    Von Hannes im Forum Analoges Video-Capturing
    Antworten: 9
    Letzter Beitrag: 29. October 2003, 08:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •