vdr zu mpeg4 (alles nur schrott?)

  • Hallo Gemeinde,


    ich beschäftige mich gerade ein wenig mit den neuen tollen mpeg4-Codecs. Die sind ja schließlich die nahe Zukunft und zum Archivieren sicher nicht schlecht. Ein schlechte Auswahl gibt es ja auch nicht: divx, xvid, h264 bzw. x264.


    Nun bevor man mich schlägt, ich glaube ich habe alle Threads in diesem Forum dazu durchgelesen, mich ausgiebig mit vdrconvert, vdrtransxvid, virtualdub, staxrip und dem vdrwandler beschäftigt. Die Threads suche ich jetzt net mehr raus.


    Also, mit welchem Tool ich das mache ist ja erst mal egal. Es kommt auf die Einstellungen an.


    Das vermutlich größte Problem (wie irgendwo schon beschrieben) ist wohl das interlaced Quellmaterial. Durch das Deinterlacing, das leider notwendig ist, handelt man sich nur Stress ein. Ich denke halt, wenn ich es jetzt nicht ordentlich mache, dann muß es mein LCD-TV machen, den ich in 2 Jahren kaufen werde und ob der es besser macht???


    Egal welchen Deinterlacer und Codec ich nehme, zufrieden bin ich nie. Auf meinem Monitor am XP-PC sieht es ja noch ganz gut aus, aber auf meinem 60er RöhrenTV, der am VDR hängt (via Nexus), ist es grausig. Man sieht bei jeder Bitrate kleine Klötzchen - auch bei sinnlosen 4500kBit/s für PAL.


    Wenn ich denn richtig liege, bekomme ich das Material nicht anständig von interlaced zu progressiv, daß der Encoder das ordentlich ohne Artefakte zusammendampfen kann, oder?


    Wenn ich mir DVD-RIPs aus progessivem Material angucke ist es suppi. (heimlicherweise hoffe ich ja, daß ich falsch liege)


    Nun, gibt es denn für das Problem die ultimativen Encoding-Einstellungen?


    Viele Grüße
    presskopf

    :bpl
    __________________________
    Produktiv-System: Asrock J4105M + 2x DVBSky S952 V3 + smart Mickey Mouse + LG OLED65C7D - yavdr ansible focal - softhddevice 1k + Kodi in 4k

    So nebenbei: Coreelec auf Odroid-N2 und im Aufbau eine HK1 RBOX (S905X4), auch mit Coreelec

  • Ich beschäftige mich zur Zeit damit, wie es mit mpeg4 am Besten wäre und schaue mir das erst mal an. Eine größer Kampagne habe ich noch nicht gemacht.


    Um mal zwo zu beschreiben:


    A)
    Virturaldub
    vom ge-vdrsync-ten mpg
    Filter:
    deinterlace, blend fields
    evtl. resize 720x576
    evtl sharpen
    xvid 2 pass 2000kbit


    oder ähnlich
    B)
    vdrwandler
    xvid 2000kbit
    evtl noch mit -vf pp=lb oder md einen Deinterlacer rein


    Wie erwähnt, höhere Bitrates ändern an der Qualität kaum was.


    Naja, und mit dem Ergebnis bin ich net zufrieden...


    Grüße
    presskopf

    :bpl
    __________________________
    Produktiv-System: Asrock J4105M + 2x DVBSky S952 V3 + smart Mickey Mouse + LG OLED65C7D - yavdr ansible focal - softhddevice 1k + Kodi in 4k

    So nebenbei: Coreelec auf Odroid-N2 und im Aufbau eine HK1 RBOX (S905X4), auch mit Coreelec

  • Zitat

    Original von presskopf
    Auf meinem Monitor am XP-PC sieht es ja noch ganz gut aus, aber auf meinem 60er RöhrenTV, der am VDR hängt (via Nexus), ist es grausig. Man sieht bei jeder Bitrate kleine Klötzchen - auch bei sinnlosen 4500kBit/s für PAL.

    ...aber dann hat es doch mit dem Deinterlacing nichts zu tun, wenn es auf deinem XP-Rechner noch gut aussieht. Problem ist wohl die Darstellung Progressive->Interlaced via FF-Karte auf deinen TV.


    Aber das hat dann mit dem Procedere nichts mehr zu tun.


    Gruß
    Wicky

  • die artefakte kommen mit sicherheit nicht vom mpeg4-video sondern vom lavc-encoder was man bei der wiedergabe über den monitor leicht feststellen kann
    wenn du ihn mit fester quantisierung von 4 oder ggf. von 3 nutzt gibts auch keine artefakte mehr auf der glotze.
    die automatische bitratenreglung von lavc,wie sie von der gängigen mplayer.sh genutzt wird, ist mangelhaft.
    das problem ist das die dvb-karte nur mpeg1+2 beherscht.
    mplayer decodiert das videomaterial und codiert es in echtzeit mit lavc wieder nach mpeg1 bevor es zur dvb-s übertragen wird.
    mpeg1 ermöglicht hervorragende bildqualität (besser als die nachfolger) aber benötigt hohe datenraten.
    leider beherscht der decoder der dvb-s nur streams bis ungefähr 12 mbit.
    dazu kommt noch ein bandbreitenengpass auf der ff-dvb selber welches mit dem pci-interface zu tun haben muß da es nachweislich vom pci-takt beeinflußt wird.
    dies kommt speziell dann zum tragen wenn die ff-karte eine aufnahme im hintergrund gleichzeitig zur wiedergabe über mplayer ausführt.
    das alles sorgt dafür das die datenrate von lavc ausreichend gedrosselt werden muß damit man keine stotterer/ruckler bekommt (zu hohe datenrate) und trotzdem noch eine gute bildqualität erhällt (keine zu kleine datenrate).


    interlaced material komprimiere ich direkt mit xvid welches eine spezielle option dafür mit angepasster motion estimation fürs zeilensprungverfahren besitzt.
    röhren-tvs benötigen kein deinterlacing so das das bild wesendlich detailreicher ist als wenn einer der schlechten deinterlacer beim konvertieren zum einsatz kommt.
    einzige bedingung dafür ist das die anzahl der zeilen exakt 576 betragen muß.
    falls bei der wiedergabe dennoch deinterlacing notwendig werden sollte,mplayer kann auf einige hervorragende deinterlacer zurückgreifen deren qualität jeden deinterlacer eines hdtv/beamers völlig in den schatten stellt.
    diese erfordern allerdings eine starke cpu im bereich von 2ghz takt denn von nichts kommt nunmal nichts.

  • Hut Ab SledgE,


    das ist ja mal eine Abhandlung, die uns auf den aktuellen Stand super erklärt. dass alles von der nexus nochmal in mpeg1 bzw. 2 umgewandelt wird, wusste ich zwar, aber das habe ich auch irgendwie verdrängt und auch für nicht so etnscheidend erachtet. beim betrachten der klötzchen ist aber irgendwie augen öffnend....


    also kommen die dollen klötzchen vom realtime-mpeg1 (oder2?) von der nexus, die es nicht so recht schafft. das verstehe ich. (irgendwie beruhigt mich das etwas....)


    das mit der quantisierung von 4 bzw. 3 ist mir nicht klar. bezieht sich das auf das gucken am pc-monitor oder für die wiedergabe nexus&tv ?


    beim weiteren grübeln, kommt mir noch folgendes:
    wenn ich meine umencodeten videos nun via xine an der grafikkarte mit tv-out auf die glotze zaubere, dürfte ich doch auch keine artefakte haben, oder? das wäre nochmal gut zu wissen!


    SledgE, so wie du kommprimierst, ist schon interessant, wenn man auf einer röhre ausgibt. da man aber irgendwann einen lcd oder plasma im wohnzimmer stehen hat, macht das deinterlacing doch bestimmt vor dem encoden sinn? - auch wenn der mplayer das gerne und sehr gut erledigt. denn, ich denke, wie du, daß die käuflich erhältichen teilchen dass net so dolle können.


    ergo:
    ich kann also ohne weiteres meine aufnahmen wie beschrieben mit moderaten bitraten nach dem deinterlacing encoden und archivieren. vieeel später dann auf meinem neuen 123 cm LCD ausgeben. :)


    irgenwie frage ich mich, warum das sonst noch niemand aufgefallen ist? oder habe ich beim suchen die ältesten threads nicht ausgebuddel...?


    viele grüße


    presskopf
    (der jetzt in die kiste geht)

    :bpl
    __________________________
    Produktiv-System: Asrock J4105M + 2x DVBSky S952 V3 + smart Mickey Mouse + LG OLED65C7D - yavdr ansible focal - softhddevice 1k + Kodi in 4k

    So nebenbei: Coreelec auf Odroid-N2 und im Aufbau eine HK1 RBOX (S905X4), auch mit Coreelec

  • den hut darfst du wieder aufsetzen denn das habe ich nicht verdient.
    die problematik ist uralt und entgegen meinen damaligen hoffnungen hat sich darann bis heute nichts grundlegendes verbessert.
    also habe ich es selber so gut es geht optimiert und bin damit eigendlich recht zufrieden.


    lavc ist der echtzeit-mpeg1 videoencoder welcher für die dvb und dx3 -karten gedacht ist.
    er besitzt zwei betriebsarten.
    entweder er arbeitet mit festen quantisierungsfaktor (1-30 einstellbar) oder er variiert automatisch den quantisierungsfaktor um eine einigermaßen konstannte datenrate (einstellbar) zu erzeugen.
    das zweite ist die methode welche bei dir läuft und in juris mplayer.sh -script verwendet wird.
    sie bringt meist gute ergebnisse aber zum einen arbeitet die regelung nicht sehr genau und zum anderen gibts deutliche artefakte wenn detailreiche bildinhalte mit harten kontrastsprüngen vorliegen.
    für ruckelfreie wiedergabe muß man gezwungenermaßen eine relativ niedrige datenrate von 5000-8000 kbit/s einstellen und das reicht nicht in allen bildszenen für ein artefaktfreies bild aus.
    als erstes kannst du versuchen diesen wert zu erhöhen.
    dazu existiert eine configdatei in welcher zahlreiche optionen,welche die arbeit des scripts steuern,vorhanden sind.
    je höher dieser wert desto artefaktärmer und detailreicher wird das bild.
    ist er zu hoch kommt es in anspruchsvollen szenen allerdings zu rucklern und teilweise tonversatz.


    ich selber verwende den ersten modus von lavc weil er insgesamt bessere ergebnisse liefert.
    dazu verwende ich mehrere,spezialisierte versionen der mplayer.sh.
    je nach film aktiviere ich die gewünschte version vor der wiedergabe über das vdr-menü "befehle".
    das hat mehrere vorteile.
    zum einen kann ich material mit beliebiger bildauflösung immer im richtigen bildformat abspielen und zum zweiten erlaubt mir das den einsatz von zusätzlichen filtern um zum beispiel unscharfe amiserien nochmal etwas aufzupeppen.
    die einzelnen versionen unterscheiden sich im wesendlichen durch die drei bildformate 4:3,16:9 und 20:9 sowie im einsatz eines schärfefilters.


    ausgabe über den tv-out einer grafikkarte ist keine gute idee da die bildqualität gegenüber dem der dvb-karte durchweg grottenschlecht ist.
    hier soll verhindert werden das digitales material in hoher qualität auf analoge geräte überspielt werden kann und sowas darf natürlich nicht sein.
    versuchen kannst du es natürlich trotzdem.


    ob es nun am flachbild-tv besser ist wenn man beim encoden deinterlact oder es den tv machen läßt kann ich nicht sagen.
    hier wären ein paar vergleichstests angesagt um sich selber ein bild davon zu machen.
    allerdings weiß ich das heutige geräte keine deinterlacer besitzen welche mit den höherwertigen von ffmpeg vergleichbar sind.
    das liegt ganz einfach darann das es noch keine billigen chips für den massenmarkt gibt die vernünftiges deinterlacing realisiert haben.
    hochwertige hardwaredeinterlacer sind extrem teuer und selbst die privaten tv-sender haben erst vor kürzerem ihre alten billigteile durch bessere ersetzt.
    die ör dagegen haben schon länger toptechnik aber denen fehlt es ja auch nicht am geld wie jeder weiß der rundfunkgebühren bezahlt.
    wenn du mpeg4 einsetzen möchtest und auf x264 noch verzichten kannst dann kann ich dir xvid mit entsprechender option empfehlen.
    das bringt auf meiner technik ganz klar die besten ergebnisse.
    x264 lohnt sich eigendlich nur für mittelmäßige bis schlechte qualität bei sehr niedrigen datenraten.
    ich archiviere 3-4 tv-filme auf einer dvd-r und bei den da anfallenden relativ hohen datenraten um 1500 kbit/s zeigt xvid die bessere bildqualität.
    x264 beherscht außerdem noch kein encodieren von interlactem material.
    davon abgesehen braucht x264 die doppelte zeit fürs encodieren und die cpu-last beim abspielen ist auch erheblich höher.
    bei voller pal-auflösung erreiche ich auf meinem system (xp 2,42 ghz und ddr-ram) eine cpu-last von 50-60% bei der wiedergabe wärend es bei xvid um die 35% sind.
    ohne schnelle cpu im vdr geht da deshalb sowieso nichts.
    um zu deinem problem zurückzukehren, optimieren einfach deine mplayer.sh bis du zufriedenstellende ergebnisse erreichst.
    dabei ist es wichtig verschiedenes filmmaterial zu testen denn was bei dem einen ruckelfrei geht und super aussieht kann bei dem nächsten schon wieder unschärfe+artefakte erzeugen.
    je mehr hochfrequente bildanteile enthalten sind desto kritischer wird es.
    alte s/w-schinken mit ihren extremen kontrasten sind da ein ganz guter test,ebenso wie szenen im wald mit detailscharfen bildern von laubwerk.
    wenn solche szenen noch ruckelfrei abgespielt werden laufen auch alle filme problemlos.

  • na da hab ich mich gleich mal drangeschmissen....


    ....und verdammte axt, das bringt es. (du siehst, ich bin immer noch irgenwie fasziniert.) ich habe einfach mal den wert auf 10000 verdoppelt - ist sicher schon viel - und die klötzchen verschwinden fast.


    nun werde ich mich mal an die encoding-einstellungen ran machen.


    nun erst mal recht herzlichen dank für deine fundierten ausführungen und unterstützung!


    viele grüße
    der Pesthund!

    :bpl
    __________________________
    Produktiv-System: Asrock J4105M + 2x DVBSky S952 V3 + smart Mickey Mouse + LG OLED65C7D - yavdr ansible focal - softhddevice 1k + Kodi in 4k

    So nebenbei: Coreelec auf Odroid-N2 und im Aufbau eine HK1 RBOX (S905X4), auch mit Coreelec

  • keine ursache.
    encodieren mache ich allerdings unter windows mit vidomi.
    vermutlich sollte es aber kein problem sein den entsprechenden paramter unter linux mit mencoder ebenfalls zu verwenden.
    du mußt nur darauf achten das die bildhöhe original bleibt und 576 pixel beträgt.
    für material im breitbildformat muß man entweder die schwarzen streifen drinn lassen oder aber wegschneiden und dann einen deinterlacer beim encoden setzen.
    das meiste tv-material in breitbild ist allerdings heutzutage bereits in vollbildern codiert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!