Autor Thema: Konfiguration des Encoder Plugins (ffmpeg)  (Gelesen 10514 mal)

ingo

  • Newbie
  • *
  • Beiträge: 23
    • Profil anzeigen
Konfiguration des Encoder Plugins (ffmpeg)
« am: Dezember 18, 2012, 10:08:45 Nachmittag »
Ich nutze hier schon länger erfolreich das FFmpeg-Plugin für analoge TV-Aufnahmen mit TV-Viewer - klappt eigentlich prima.

Nur haben wir seit kurzem ein neues LED-TV-Gerät, welches beim streamen von MPEG-PS (A+V) das Bild nicht optimal scalieren kann. bei den heute üblichen Breitbild-Filmen bleibt so an allen Seiten ein dicker schwarzer Rand. Der oben und unten kommt von der Aufzeichnung mit dem Encoder Plugin, welches auch Breitbild fix in 720x576 aufzeichnet. Der rechts und links kommt daher, daß das TV das 4:3-Video in voller Höhe auf den 16:9 Schirm bringt.

Meine aktuelle Lösung ist ein Umcodieren und Croppen mit AviDemux. Unterm Strich führt das durch 2-maliges kodieren zu Qualitätsverlust. Ich würde nun gerne 2 Dinge probieren:

a) die Kodierqualität des Ffmpeg-Plugins auf Optimum setzen (CPU-Power gibt's mehr als genug)

b) falls möglich schon beim ersten Digitalisieren mit Ffmpeg auf z.B. 720x432 croppen

Gibt es irgendeine Möglichkeit, diese Ffmpeg-Optionen für das Plugin zu setzen/ändern?

Beste Grüße,
Ingo

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8604
    • Profil anzeigen
Re:Konfiguration des Encoder Plugins (ffmpeg)
« Antwort #1 am: Dezember 18, 2012, 11:05:46 Nachmittag »
Das ist soweit auf jeden Fall etwas für kommendes Jahr, aktuell wird bei uns an den neuen AnalogTV/DVB Geräten gearbeitet. Sobald die neue Revision verfügbar ist kann auch dieses Feature weiter ausgebaut werden.

16:9 bzw 4:3 kann vom Treiber bereits erkannt werden, dieser müsste lediglich den Enkodierer soweit rekonfigurieren.
« Letzte Änderung: Dezember 18, 2012, 11:10:24 Nachmittag von Sundtek »
Failure is a good thing! I'll fix it

ingo

  • Newbie
  • *
  • Beiträge: 23
    • Profil anzeigen
Re:Konfiguration des Encoder Plugins (ffmpeg)
« Antwort #2 am: Dezember 18, 2012, 11:44:58 Nachmittag »
Danke für die schelle Info.

Gibt es denn eine Möglichkeit, das "zu Fuß" in einer Konfigurationsdatei einzustellen?
Mache das ja im Moment mit AviDemux auch:

//** Video Codec conf **
app.video.codecPlugin("DBAECD8B-CF29-4846-AF57-B596427FE7D3", "mpeg2video", "CQ=2", "<?xml version='1.0'?><Mpeg2Config><Mpeg2Options><minBitrate>0</minBitrate><maxBitrate>6000</maxBitrate><xvidRateControl>true</xvidRateControl><bufferSize>112</bufferSize><widescreen>true</widescreen><interlaced>none</interlaced><gopSize>12</gopSize></Mpeg2Options></Mpeg2Config>");
und dann noch gleich den Audio-Versatz von 480ms korrigieren:
app.audio.delay=-480;

Beste Grüße,
Ingo

P.S.: System hier ist Linux (Wheezy-amd64)
« Letzte Änderung: Dezember 18, 2012, 11:48:51 Nachmittag von ingo »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8604
    • Profil anzeigen
Re:Konfiguration des Encoder Plugins (ffmpeg)
« Antwort #3 am: Dezember 19, 2012, 12:09:23 Vormittag »
Ist der original Datenstrom nicht synchron?

Es gibt aktuell keine Option für das Plugin, so einfach ist es auch nicht da sich 4:3/16:9 Sprunghaft ändert (z.B bei Werbeblöcken). Wenn wir soetwas machen dann gleich richtig.
Failure is a good thing! I'll fix it

ingo

  • Newbie
  • *
  • Beiträge: 23
    • Profil anzeigen
Re:Konfiguration des Encoder Plugins (ffmpeg)
« Antwort #4 am: Dezember 19, 2012, 06:47:46 Nachmittag »
Ist der original Datenstrom nicht synchron?
Der Ton hinkt 480ms hinter dem Bild nach, das sind exakt 12 Frames bei 25Hz. Das ist auch nicht tragisch. ordentliche Player wie TV-Viewer, VLC, .. erkennen den Versatz und kompensieren ihn. Das Problem ist wohl spezifisch für AviDemux, wenn man damit umcodieren will. Auch AviDemux erkennt den Versatz (Menu: Audio -> Hauptspur) und gibt ihn exakt an. Nur die Ausgabe von AviDemux wird unsynchron, wenn man das nicht beim Kodieren berücksichtigt.

Es gibt aktuell keine Option für das Plugin, so einfach ist es auch nicht da sich 4:3/16:9 Sprunghaft ändert (z.B bei Werbeblöcken). Wenn wir soetwas machen dann gleich richtig.
Tja, wer will schon Werbeblöcke aufzeichnen? ;-) Eventuell ist aber das nötige Cropping vom Kabelnetzbetreiber abhängig? Wir haben hier in Hessen Unitymedia. Die beziehen ja die Programme alle digital, wandeln sie in analog um und speisen die ein. Und wenn ich bei allen Analog-Aufnahmen von den 576 Pixeln oben 70 und unten 74 Pixel abschneide, sind alle Aufnahmen im Format korrekt. Ich nehme an, das sich dabei die Größe 720x432 Pixel als Kompromiß für beides, 4:3 und 16:9 ergeben hat.

Kann man da nicht unter den Presets in /opt/bin/plugins/share/ffmpeg etwas tunen?

Viele Grüße,
Ingo
« Letzte Änderung: Dezember 19, 2012, 07:17:11 Nachmittag von ingo »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8604
    • Profil anzeigen
Re:Konfiguration des Encoder Plugins (ffmpeg)
« Antwort #5 am: Dezember 19, 2012, 08:17:38 Nachmittag »
Zitat
Der Ton hinkt 480ms hinter dem Bild nach, das sind exakt 12 Frames bei 25Hz.

scheint ein Bug im Player zu sein, mplayer/vlc koennen da eigentlich nichts erkennen.

Die Kodieroptionen sind im Plugin festgelegt, die Qualitaet kann mittels v4l control gesetzt werden (mbit bitrate).

Aber wie erwaehnt der Wunsch wurde soweit bei uns aufgenommen und wird dann kommendes Jahr bearbeitet.
Failure is a good thing! I'll fix it