Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

  1. #1
    Grünschnabel
    Registriert seit
    13. May 2013
    Beiträge
    4

    Icon5 Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Hi zusammen,

    wie der Titel bereits andeutet, bin ich auf der Suche nach der schnellsten Möglichkeit, MPEG-2 Videos aus einem AVI-Synth-Script zu erzeugen. Die Qualität ist dabei NICHT von Bedeutung.

    Der Hintergrund ist der folgende. Schon seit längerem bin ich auf der Suche nach einer passenden Möglichkeit, Aufnahmen von HD-Sendern Framegenau und mit demselben Komfort zu schneiden, wie ich es von normalen SD-Aufnahmen über ProjectX und Cuttermaran gewöhnt war. Nach langem hin und her probieren von diversen Tools (darunter auch der neue Smart Cutter von TMPGEnc), die jedoch fast immer zu Artefakten an der Schnittstelle geneigt haben, scheint es ohne Reencode nicht möglich zu sein, einen sauberen Stream als Ergebnis zu bekommen.

    Ich hatte dann die Idee, aus der HD-Aufnahme so schnell wie Möglich ein MPEG-2 Video zu erzeugen, welches dann in den Cuttermaran geladen werden kann. Anschließend kann ich das Video im Cuttermara schneiden (so wird mir gleichzeitig die Audio-Spur geschnitten) und aus dem gespeicherten Projektdatei können dann die Cut-Points extrahiert werden, dich dann zu einer Cutlist für AVISynth nutzen kann. Und das resultierende Script ginge dann direkt an x264 in ein CRF-Encode. Mit dem Ergebnis könnte man dann je nach Bedarf weiter verfahren (z.B. MKVs draus machen).

    In AVISynth lade ich die Ausgangsaufnahme mit DGAVCIndex, was auch sehr gut funktioniert. Zum erstellen der MPEG2 Datei habe ich bereits den HCEnc ausprobiert, allerdings komme ich nicht wirklich weit über ~25fps hinaus, was also doch recht lange dauert.

    Beim Testen von ffmpeg als Encoder hat sich dann ergeben, dass ich fast ~60fps erhalte, was schon deutlich besser ist. Jedoch habe ich die *.ts-Datei direkt in ffmpeg geladen, was dazu geführt hat, dass die Anzahl der Frames zwischen dem AVISynth-Script und der ffmpeg erzeugten MPEG-2 File voneinander abwichen, was natürlich nicht gut ist, da die MPEG-2 Datei die Basis für die Schnittpunkte bilden soll.

    Als Lösung dachte ich mir, ich füttere einfach das AVISynth-Script direkt an ffmpeg. Und genau hier fangen die Probleme an. Ich habe es partout nicht geschafft, das AVISynth-Script an ffmpeg zu verfüttern. Und auch mit dem mencoder habe ich da noch keine großen Erfolge erzielt.

    Daher meine Frage (die ich zuerst einmal etwas allgemein halten wollte): was ist die schnellste Möglichkeit die ihr kennt, um aus einem AVISynth-Script welches DGAVCIndex nutzt eine MPEG-2 Videofile zu erstellen?

    Und im speziellen: Wie kann ich ein AVISynth-Script welches DGSource als Quellfilter verwendet an ffmpeg weiterreichen?
    Und als Alternative: Wie würde es aussehen (bzw. wie könnten die Settings von mencoder lauten) um aus dem AVISynth-Script (schnell) ein MPEG-2 Videofile zu erstellen?

    Aber vielleicht gibt es für die Ursache meines Problems auch schon eine viel elegantere Lösung ;-). Über eure Antworten würde ich mich freuen!

    MFG

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

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Ich glaube, ich hab da zunächst was völlig missverstanden, nochmal genau durchlesen...
    _

    Du willst also das MPEG2-Video nur erzeugen, um darauf basierend die Schnittpunkte zu finden, aber die endgültige Konvertierung wird dann vom Original mit dem AviSynth-Skript durchgeführt?

    Nun gut. Es mag ffmpeg-Builds geben, die auch AviSynth-Skripte verarbeiten können. Nicht jede Variante wird das können, dazu muss sie VfW oder die AviSynth-Schnittstelle direkt unterstützen. Wenn überhaupt, könnte die Variante, die in MeGUI verwendet wird, geeignet sein.

    Aber ich glaube, auch den HC-Encoder kann man so konfigurieren, dass er ziemlich schnell arbeitet.

    Dennoch glaube ich nicht, dass das ein optimaler Workflow ist. AviSynth-Skripte schneiden und die Schnittliste als Trim-Befehle übernehmen sollte auch in VirtualDubMod möglich sein. AviSynth kann auch Tonspuren laden und mitschneiden, und das Ergebnis lässt sich auch in Audio-Encoder leiten (dabei hilft auch die MeGUI). Bei AVC-Video (x264) eignet sich AAC-Audio (QAAC) als Ziel, und beides passt in MKV wie MP4 als Kontainer.
    Geändert von LigH (13. May 2013 um 18:58 Uhr)

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  3. #3
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.330

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Bei ffmpeg auch darauf achten, daß man nicht versucht mit 64 bit-ffmpeg ein 32 bit AviSynth-Skript direkt zu öffnen.

    Mit meinem etwas älteren QuadCore erreiche ich mit HC Geschwindigkeiten im dreistelligen fps-Bereich bei HD-Auflösung. Schau dort doch noch mal nach, ob Du auch schnelle Einstellungen (profile "fast", 1 pass, SMP). Evtl. bietet sich auch ein schnelles Downsizing in AviSynth an, um Encodierzeit zu sparen.

    Zitat Zitat von LigH Beitrag anzeigen
    Dennoch glaube ich nicht, dass das ein optimaler Workflow ist. AviSynth-Skripte schneiden und die Schnittliste als Trim-Befehle übernehmen sollte auch in VirtualDubMod möglich sein. AviSynth kann auch Tonspuren laden und mitschneiden, und das Ergebnis lässt sich auch in Audio-Encoder leiten (dabei hilft auch die MeGUI).
    Die Frage ist halt, ob hier verlustbehaftetes Scheiden beim Ton erwünscht ist? Wenn ja, ist VirtualDub wirklich eine gute Idee. Mit den aktuellen Versionen kann man ja inzwischen sogar direkt zu x264cli, qaac etc. pipen.

  4. #4
    Grünschnabel
    Registriert seit
    13. May 2013
    Beiträge
    4

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Vielen Dank für eure beiden schnellen Antworten! :-)

    Ja, der Workflow ist nicht optimal, das ist wohl wahr, aber irgendwie ist er im Moment die praktikabelste Möglichkeit die ich sehe, denn die Audiospur würde ich am liebsten nicht neu encoden müssen, sondern wie "früher" bei SD auch einfach nur entsprechend den Schnittpunkten schneiden. Ebenfalls sollte der Schnitt auch komfortabel durchführbar sein, auch da habe ich mit den Schnittfunktionen in MeGUI herumprobiert, aber das klappt alles nicht so schön schnell und komfortabel wie im Cuttermaran (insbesondere das Suchen der Schnittpunkte ist wirklich langsamer, wenn man in MeGUI direkt das AVISynth-Script lädt, so kommt es mir zumindest vor). Daher dieser umständliche Weg über ein temporäres MPEG2 Video... aber am Ende hoffe ich, dass das ganze dann per Script automatisiert ablaufen kann und nur noch im Cuttermaran die Schnittpunkte gefunden werden müssen.

    Bei ffmpeg habe ich bereits herumprobiert, es mittels avs2yuv zu encoden. Bedauerlicherweise fängt ffmpeg dann garnicht an zu encoden, sondern zeigt in jedem Encodingschritt an, bei Frame 0 zu sein und mit 0 fps zu encodieren und das bei q=0... also irgendetwas stimmt da noch nicht. Ich habe es auch nur mit einer älteren ffmpeg-Version überhaupt soweit kommen lassen können, die neueren Versionen brachen bei mir leider auch mittels avs2yuv direkt ab, das werde ich aber noch einmal näher untersuchen... vielleicht habe ich da unbedacht die 64bit Variante verwendet und schaue mir die commandline noch mal genauer an und poste sie mal.

    Aber vielleicht wäre das ja gar nicht mehr nötig... denn mit dem HCenc auf "fast" habe ich bereits ca. 46-50 fps erreicht, danke für den Tipp, das war mir vorher irgendwie entgangen (oder ich habe mich an die falschen fps erinnert oder im 2-Pass-Mode gearbeitet ;-) ). Aber eine Frage bleibt mir da noch:

    Zitat Zitat von sneaker2
    Mit meinem etwas älteren QuadCore erreiche ich mit HC Geschwindigkeiten im dreistelligen fps-Bereich bei HD-Auflösung. Schau dort doch noch mal nach, ob Du auch schnelle Einstellungen (profile "fast", 1 pass, SMP). Evtl. bietet sich auch ein schnelles Downsizing in AviSynth an, um Encodierzeit zu sparen.
    Hier würde mich interessieren, wie du fps im dreistelligen Bereich erzielt hast. Hier habe ich als Quelle eine Full-HD Aufnahmen mit h.264 Videostream und alles was im AVISynth-Script steht ist ein DGSource und ein BilinearResize auf 720x576 Pixel. Aber ich habe es auf einem i7 860 (@2.8 GHz) nur auf knapp 46-50 fps geschafft. Ausgewählt habe ich im HCEnc das Profil "fast" und habe dann mit einem Const-Quantizer encodiert. Welche Einstellungen wären noch erforderlich/nützlich um die Geschwindigkeit weiter zu steigern? Und was meinst du genau mit schnellem Downsizing in AVISynth? Gibt es da noch eine schnellere Methode als ein BilinearResize? :-)

    Danke schon mal!
    MFG

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

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    PointResize().

    Aber das willst du nicht.

    Nein, viel schneller dürfte es wohl nicht gehen mit HCEnc. Unter 9 sollte man auch die DC Precision nur in Ausnahmefällen stellen (bei der knappen SVCD-Bitrate war das der letzte Kompromiss). Von mehreren Rechenkernen dürfte der HCEnc mangels Parallelisierung auch nicht sehr profitieren. Vielleicht macht x262 (kein Vertipper) das irgendwann mal...

    Und AviSynth MT zur Beschleunigung nur eines Resize? Da bezweifle ich spürbare Verbesserungen.

    Das Multithreading in x264 ist sehr gut, der kann MPEG2-Encoder locker überholen. Dafür kann man das AVC-Ergebnis praktisch nicht schneiden...
    Geändert von LigH (14. May 2013 um 21:30 Uhr)

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  6. #6
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.831

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    wenn es mit x264 encoded ist, ist vielleicht MKVCutter interessant,...

  7. #7
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.330

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Zitat Zitat von Akio Beitrag anzeigen
    Hier würde mich interessieren, wie du fps im dreistelligen Bereich erzielt hast. Hier habe ich als Quelle eine Full-HD Aufnahmen mit h.264 Videostream und alles was im AVISynth-Script steht ist ein DGSource und ein BilinearResize auf 720x576 Pixel. Aber ich habe es auf einem i7 860 (@2.8 GHz) nur auf knapp 46-50 fps geschafft. Ausgewählt habe ich im HCEnc das Profil "fast" und habe dann mit einem Const-Quantizer encodiert. Welche Einstellungen wären noch erforderlich/nützlich um die Geschwindigkeit weiter zu steigern? Und was meinst du genau mit schnellem Downsizing in AVISynth? Gibt es da noch eine schnellere Methode als ein BilinearResize? :-)
    Kann es sein, daß Du wegen Deiner langsamen Grafikkarte einen Flaschenhals bei der Dekodierung hast? Wie schnell ist denn ein einfacher AviSynth-Benchmark ohne Enkodierung?

  8. #8
    Grünschnabel
    Registriert seit
    13. May 2013
    Beiträge
    4

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Danke für eure Tipps! :-)
    Der x262 wäre vielleicht wirklich vielversprechend... wäre cool, wenn er verfügbar wäre.

    Beim MKVCutter wäre das Problem aber, dass er nicht framegenau arbeitet wenn ich es richtig gesehen habe...

    Hmm... was den Flaschenhals betrifft, im Einsatz ist eine GTX 275, ich hoffe, dass sie nicht der Flaschenhals ist ;-). Aber dennnoch würde mich einmal interessieren, wie man einen Benchmark in AVISynth ohne Encoding durchführen würde. Einfach per VirtualDub in MJPEG encoden? Wobei dann vielleicht die HDD limitiert.

    Aber vielleicht sind die 50fps ja auch das Limit auf der Hardware hier. Was bedauerlich wäre, wenn man bedenkt, dass x264 auf schnellsten Einstellungen ein gutes Stück schneller wäre...

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

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Für einen ordentlichen Benchmark wäre es wichtig, das von AviSynth gelieferte Video zu ignorieren, damit keine nachfolgende Verarbeitung noch weitere Rechenzeit beansprucht. Dafür könnte man z.B. das Kommandozeilenprogramm AVS2AVI verwenden (für AviSynth 32-bit von Moitah / für AviSynth 64-bit - nicht zu empfehlen!*):

    Code:
    avs2avi.exe script.avs -c null -o n
    Es gab noch ein anderes typisches Benchmarkprogramm, aber das finde ich gerade nicht...

    Zu x262: Verfügbar ist er als Kommandozeilen-Encoder, allerdings noch längst nicht empfehlenswert. Nicht umsonst steht da die Warnung: Caution, this experimental version!
    _

    *Die Verwendung von AviSynth 64-bit ist derzeit generell nicht empfehlenswert: Seine Entwicklung ist noch nicht bis zu einer stabilen Version gekommen, und es fehlen jede Menge darauf umgeschriebene Plugins.
    Geändert von LigH (15. May 2013 um 09:56 Uhr)

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  10. #10
    . Avatar von Selur
    Registriert seit
    19. April 2003
    Ort
    underground
    Beiträge
    24.831

    Standard AW: Suche nach der schnellsten Möglichkeit, (temporäre) MPEG-2 Videos zu erzeugen

    Es gab noch ein anderes typisches Benchmarkprogramm, aber das finde ich gerade nicht...
    AVSMeter -> https://forum.doom9.org/showthread.php?t=165528 ?

    im Einsatz ist eine GTX 275, ich hoffe, dass sie nicht der Flaschenhals ist ;-).
    Vermutlich schon.
    Beim Dekodieren von FullHD Material mittels DGSource kommt man i.d.R. ne nach VP Chip so auf:
    VP2 => ~45 fps
    VP3 => keine Ahnung
    VP4 -> ~60 fps
    VP5 -> ~135 fps
    (FFmpegSource2 ist i.d.R. flotter geht aber über die CPU und nicht über den VP-Chip der Grafikkarte)

    Da Deine GTX 275 eine VP2 Karte ist, ist bei durchschnittlich 45fps Ende. -> FFmpegsource2, oder ein anderer SourceFilter könnte durchaus einiges an Speed bringen.

    Cu Selur
    Geändert von Selur (15. May 2013 um 10:09 Uhr)

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. DVDLab-Index: Gibt es eine Möglichkeit, diesen offline zu erzeugen?
    Von Woodman im Forum Blu-Ray & DVD-Authoring
    Antworten: 16
    Letzter Beitrag: 24. January 2008, 20:58
  2. Antworten: 9
    Letzter Beitrag: 10. July 2007, 15:53
  3. Schnittprogramm mit Möglichkeit zum Vergleich zweier Videos?
    Von Fletch im Forum Video-Bearbeitung & Frameserving
    Antworten: 14
    Letzter Beitrag: 21. June 2007, 02:01
  4. Suche Software, die aus Bilder Mpeg2 Videos erzeugen kann
    Von virtousa im Forum MPEG-2 Encoding
    Antworten: 2
    Letzter Beitrag: 24. June 2005, 10:34
  5. Mpeg, Vob nach bestimmtes WMV-Format, wie am schnellsten?
    Von Homeros im Forum Video-Bearbeitung & Frameserving
    Antworten: 2
    Letzter Beitrag: 21. March 2005, 22:25

Berechtigungen

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