Geeigneter Codec für spezielle Anforderungen (Capture einer Vorschau mit Datacode)

  • Hallo zusammen,


    ich möchte Hi8-Kassetten ein zweites Mal digitalisieren, um den Datacode sichtbar zu machen (Zweitkopie mit Datum, Uhrzeit).

    Hier zu möchte ich einen Codec einsetzen, der folgenden Anforderungen genügt:


    1) einsetzbar unter VDub

    2) Einzelframes, d.h. framegenau zu schneiden (also kein MPEG, eher intermediate ...)

    3) Qualität skalierbar (Qualität ist eher unwichtig, nur der Datacode muss erkennbar sein)

    4) Komprimierung während der Aufnahme muss möglich sein

    5) hohe Komprimierung, soll möglicht wenig Platz erfordern


    Mir sind vor Jahren solche Codecs sicher untergekommen, ist aber lange her.


    Hat jemand eine aktuelle Empfehlung für mich?



    Ich digitalisiere meine Hi8-Bänder mit einer Sony DCR-TRV 120E. Die gibt den Hi8-Timecode nicht aus.

    Der ist irgendwo im nicht sichtbaren Bereich abgelegt und (wahrscheinlich ?) nicht auslesbar.

    Daher hilt nur der Einsatz eines alten CCD-Camcorders (nicht alle können den Timecode beim Abspielen einblenden !) und ein zweiter Capture-Vorgang.


    Ideal wäre es natürlich, wenn man den Timecode aus der avi auswerten könnte (mit OCR-Erkennung).

    Kennt jemand ein Plugin für Avisynth?


    Gruß

    Highwayman.

  • Komprimierbar mit wählbarer Qualität und nur Keyframes ... als erstes fiele mir da MJPG ein (auch weil YUV 4:2:2 unterstützt wird). Empfehlenswert wäre da u.U. ffvfw, ein VfW-Anteil der ffdshow-Installation.


    Aber warte mal andere Empfehlungen ab...

  • Hallo Highwayman,


    wenn du kein MPEG möchtest, dann bleiben nur der UT-Video YUV420 BT.601-Codec und diverse andere, oder ein DV-Codec übrig.

    Aber das kannst du vergessen, denn es soll ja Platz gespart werden. Die Datenrate bei diesen Codecs, ist für dich viel zu hoch.

    Für deinen Wunsch, brauchst du einen MPEG-Codec. Das wäre der FFMPEG x265.


    Alle genannten Codecs, sind in VDub (Vers. 43073) verfügbar, auch im Capture-Modus.

    Für eine gute Qualität, kann man ohne Sorge 2000 – 3000 Kbps einstellen. Der x264 codiert schneller.


    Das was LigH empfohlen hat wäre qualitätsmäßg schon sehr gut, aber als 4:2:2, hat man mindestens eine Datenrate von 30 MBit/s in komprimierter Form.
    Bei 4:2:2 ist eine Datenrate von 50 MBit/s normal. Mit einem bestimmten Codec bei ffdshow, hatte ich einmal 27 MBit/s bei 4:2:2 erreicht.

    Dann war Schluss. Ansonsten wird automatisch auf 4:2:0 umgeschaltet.


    Das Bild skalieren, das braucht man normalerweise nicht. Die Position des Timecodes im Display, gibt vermutlich der Camcorder selbst vor.

    In den Display-Eigenschaften, bei deinen verschiedenen Camcordern, kann man eine andere Position wahrscheinlich nicht einstellen.


    Es bleibt nur noch die Frage, ob auf den alten Hi8-Bändern wirklich ein Timecode aufgezeichnet wurde.

    Wenn ja, dann brauchst du kein AviSynth, denn dann ist der Datacode vom Band sichtbar.

    Wenn nicht, dann gibt es bestimmt eine Möglichkeit in AviSynth, irgendetwas zu basteln.


    Nachträglich, kann man einen Timecode, als Effekt, auch mit einem Schnittsystem einblenden.

    Ob das auch mit einer kostenlosen Schnittsoftware möglich ist, bezweifle ich. Obwohl, das ist heute nicht mehr so wie vor 10 Jahren.


    Gruß

    Jo

  • ProJo, du liegst hier leider völlig falsch, du hast die Nebenbedingungen gar nicht richtig gelesen.


    2) Einzelframes, d.h. framegenau zu schneiden (also kein MPEG, eher intermediate ...)

    Das schließt jeden hoch effizienten Codec von vorn herein aus. Ganz besonders x265 und auch x264 würden ihre wesentlichen Vorteile gegenüber MJPG verlieren, wenn man sie auf "I-frame only" konfigurieren würde. Und selbst die verlustlosen Codecs wie Ut verwenden nicht ausschließlich Keyframes, sondern überwiegend Delta-Frames.


    Selbstverständlich ist die Kompression von Codecs, die bildgenau schneidbar sind, hunderte Male schlechter als die von effizienten "Zielformat"-Codecs.


    Kleine Nebenbemerkung: x264 (AVC) und x265 (HEVC) sind beides auch MPEG-Codecs.

  • man kann doch bei den mpeg-codecs

    einen 'I/K-frame only' modus einstellen,

    der für frame genaues schneiden gedacht ist.


    bei mpeg2, meine ich, sowas gelesen zu haben.

    ob AVC oder HEVC das auch noch unterstützen müsste man die spezifikatonen studieren, oder einfach mal testen...

  • Theoretisch ist es möglich (max. GOP-Länge = 1), praktisch komprimieren sie dann aber nicht mehr viel besser als MJPG.


    Dazwischen könnte vielleicht auch Xvid (MPEG4 ASP) noch geeignet sein, wenn es der AVI-Container sein muss.


    Vom DV-Codec ist abzuraten, u.a. weil hier die Bitrate nach Spezifikation eingeschränkt wird.

  • Komprimierbar mit wählbarer Qualität und nur Keyframes ... als erstes fiele mir da MJPG ein (auch weil YUV 4:2:2 unterstützt wird). Empfehlenswert wäre da u.U. ffvfw, ein VfW-Anteil der ffdshow-Installation.

    An Motion JPG hatte ich auch schon gedacht. Derzeit unter Win 7 habe ich bei VDub da nur "ffdshow Video Codec" im Angebot. Aber ich schaue mir erst einmal die Möglichkeiten der neuen VDub-Version (dann schon unter Win 10) an.

    Und richtig, mit der Anforderung 2 hatte ich MPEG ausgeschlossen.

  • Hallo Pro Jo,


    vielen Dank für deine Unterstützung.

    Der Ausschluss von MPEG war eher aus dem Bauch heraus und ist die Anforderung mit der geringsten Priorität.

    Eigentlich ist ja x264 mein Ziel-Codec (nach Zwischen-Archivierung mittels Lagarith, also für die Qualitäts-Aufnahme ohne Timecode).


    Die Synchronisierung beider Aufnahmen (framegenau) sollte ja auch bei der MPEG-Variante möglich sein.


    Zum Timecode:

    Meine Bänder enthalten sicher einen Datacode (Datum + Uhrzeit). Den konnte ich bei meinem alten Camcorder jederzeit einblenden, und der wurd dann auch mit digitalisiert. Leider ist der alte Camcorder Schrott (Spur verstellt beim Reinigen ?), und der neue gibt den Datacode nicht aus.

    (Suche noch einen alten CCD-Recorder mit einblendbaren Datacode.)


    Ich habe aber noch ein Tool / Plugin im Hinterkopf, vielleicht schon vor Jahren einmal ausprobiert, das mittels OCR-Erkennung einen Ausschnitt analysiert und den Wert zusammen mit der Framenummer in eine Datei schreibt, als Grundlage für eine Subtitle-Datei (klingt nach Avisynth).

    Deshalb bevorzuge ich eigentlich avi-Dateien, die ich einfach in Avisynth einlesen kann, unabhängig davon, ob das tatsächlich so umsetzbar wäre.


    Vielleicht teste ich MJPEG und x264 parallel.

    Aber x264 müsste ich über VDub direkt schreiben können. Ich möchte hier einen einfachen Prozessschritt haben: Kassette einlegen, Datacode an, abspielen, mit VDub aufnehmen und fertig.


    Gruß

    Highwayman.

  • Hi LigH,


    das ist mir schon klar, da hast du recht. Ich gehe aber davon aus, dass Highwayman so wenig Datenrate als möglich haben möchte.

    Er schrieb ja selbst unter Punkt 5: „hohe Komprimierung, soll möglichst wenig Platz erfordern“.

    Und das bieten zurzeit im Amateurbereich nur x264- und x265 (MPEG-4). I-Frame only produziert ja immer größere Files.


    Im professionellen Bereich gibt es die AVC-Intra 50- und AVC-Intra 100-Codecs von Panasonic.

    AVC-Intra unterstützt die Datenraten 50 Mbit/s und 100 Mbit/s.

    Zur Entropiecodierung wird bei 50 Mbit/s das Verfahren CABAC eingesetzt, bei 100 MBit/s findet CAVLC Anwendung.


    Von Sony gibt es zurzeit die zwei effektivsten Codes XAVC Intra (XAVC-I):

    Intra-Frame-Kodierung, in der jedes Bild einzeln kodiert wird, ohne Verweis auf vorherige oder nachfolgende Bilder.


    Und den XAVC Long GOP (XAVC-L):

    Bildergruppen-Kodierung, die Daten aus anderen Bildern in die Kodierung jedes Einzelbildes aufnehmen kann.

    Diese Art der Kodierung ist wesentlich effizienter, erfordert aber auch deutlich mehr Rechenleistung und Speicherplatz während der Kodierung.


    Intra-Frame-Codierung bieten noch Apple ProRes, DNxHD, MiniDV, DVCAM und M-JPEG.

    Für SD-Video ist MiniDV, DVCAM (beide DV-Codec), DVCPRO50 und M-JPEG vorgesehen.

    Klar, man kann auch als AVI mit 165 MBit/s in 4:2:2 capturen.


    Das Grass Valley HQX Codec 8.5.0.1927-Pack enthält auch Codecs für SD-Material für reine Intra-Frames:

    Grass-Valley-HQX-Codec


    Für kleinere Dateien, steht der DV-Codec mit 4:2:0 zur Verfügung. Dieser hat eine feste Datenrate von 25 MBit/s, ist halt keine 4:2:2-Qualität.

    DVCPRO50 ist dann 4:2:2, das wäre dann deine Master-Qualität. Oder eben der von LigH vorgeschlagene M-JPEG.


    Ich hatte diesen auch vor längerer Zeit einmal ausprobiert, sehr gute Bildqualität.

    Ich weiß aber nicht mehr, ob der Codec nur in RGB oder auch in YUV arbeitet.


    Aber beim capturen muss man darauf achten, dass man YUV mit einem Filter zu RGB wandelt, will man Zeit sparen.

    Sollte M-JPEG nur RGB ausgeben. Dies kann man auch nachträglich machen.


    Alle genannten Codecs von GV, werden in VDub einwandfrei angezeigt.

    Bei meinem Encoder kann ich auswählen, was ich möchte. Entweder I und P-Frames oder nur I-Frames only bei MPEG-2.


    Mit dem Grass Valley Codec-Pack, müsste das zufriedenstellend machbar sein, Highwayman.

    Das ein Data-Code auf den Bändern ist, ist eine gute Nachricht.


    Leider fehlt bei der neuen VDub2-Version der Chroma Shift-Filter.

    Dass man den Farbversatz korrigieren kann, muss die ältere „JPSDR_AutoYUY2.vdf-Datei“ in den Ordner32 kopiert werden.

    Jetzt stehen auch mehr Filter zur Verfügung.


    Gruß

    Jo

  • Entweder man will an jedem Frame schneiden können; dann braucht man einen Codec, der nur Keyframes (I-Frames) speichern kann. Der kann aber nicht effizient codieren.


    Oder man will einen Codec, der effizient codieren kann; dann braucht man einen Codec, der Keyframes (I-Frames) nur sehr selten verwendet, ansonsten überwiegend abhängige Frames (lange GOPs). Dann kann man aber nicht frei an jedem beliebigen Frame schneiden, ohne dass die Recodierung einer angeschnittenen GOP unterstützt wird.


    Entscheidet euch.

  • lasst mich nicht lügen, aber:


    war denn nicht ein verkaufsargument von h264, dass es frame henau schneiden kann?


    der trick an der sache ist, das die vorherien frames bis zum nächsten I-frame noch mitgespeichert werden, aber nicht mehr angezeiht werden.


    ich kann mir aber gut vorstellen, dass es an der umsetzung hapert.

    so das die videoeditioren gern sich beim spulen um 1 frame verschieben, oder das die codecs den sonderfall nicht verstehen.

    so gas es zu glitshes kommt, oder die srungmake doch wieder bei einem I-frame ist, so das dass vodeo zu lang/kurz wird...

    oder das der videoplayer die sprungmake nicht versteht...


    das müsste mit allen verwendeten programmen erstmal getestet werden...

  • Ich habe aber noch ein Tool / Plugin im Hinterkopf, vielleicht schon vor Jahren einmal ausprobiert, das mittels OCR-Erkennung einen Ausschnitt analysiert und den Wert zusammen mit der Framenummer in eine Datei schreibt, als Grundlage für eine Subtitle-Datei (klingt nach Avisynth).

    Deshalb bevorzuge ich eigentlich avi-Dateien, die ich einfach in Avisynth einlesen kann, unabhängig davon, ob das tatsächlich so umsetzbar wäre.

    Ich glaube, es war SubRip. (Anspruchsvolles) Ziel ist es, den Datacode in eine srt-Datei zu scheiben, diese zu komprimieren (gleiche Werte zusammenfassen) und die Untertitel-Datei der Qualitätsaufnahmen zuzuordnen.

    Mal sehen, was SubRip 1.57 kann.

  • Ich habe probiert, den Code mittels SubRip auszulesen (musste erst einmal den Timecode nehmen).

    Im Prinzip funktioniert das, derzeit aber noch mit gelegentlichen Fehlern.

    SubRip muss wohl noch besser angelernt werden, Problem sind die wechselnden Hintergründe, teilweise in gleichen Farben wie der Text.

    Eigentlich müsste SubRip nur auf Ziffern, Punkt und Doppelpunkt getrimmt werden, aber ich komme mit dem Tool noch nicht ganz klar.

  • Ja gut, dann musst du dich entscheiden, welchen Container du nehmen willst.

    AVI uncompressed ist, glaube ich, RGB, und bei Lagarith in den Einstellungen auf YUY2 schalten.


    Vorteil bei AVI uncompressed, hat keine Delta Frames. Lagarith schon.

    Man muss aber AVI-RGB in ein anderes Farbmodell umwandeln, um 16-235 zubekommen. In UYVY oder YUY2.


    VDub2 bietet jetzt ja beim capturen, die direkte Wandlung von RGB zu YUVY oder YUY2 an.

    Ohne dass ein entsprechender Filter aus der Filterliste abgearbeitet werden muss.


    Die genannten Einstellungen bieten eine sehr gute 4:2:2 Bildqualität.

    Erst wenn das Videofile komplett fertig ist, kann man es zusammenquetschen, bis zum geht nicht mehr.

    Capture-Boxen, die das Bildsignal gleich in MP4 ausgeben, ist das Schlechteste, was man sich kaufen kann.


    Gruß

    Jo