Beiträge von faup

    -b ist ? kbps oder kbit / sekunde

    von : https://trac.handbrake.fr/wiki/CLIGuide
    -b or --vb: allows you to set an average output video bitrate in kilobits per second


    mir macht die umrechnnungs routine echt kopfzerbrechen da mit verschiedenen zahlen arten ( kbps kbit , byte , etc ) gearbeitet wird.


    z.b. warum muss man dne -b wert neu berechen wenn ich a einen default von 1000 Kb /s von handbrake habe und b:
    einen 2ten wert via config vorgebe. ?


    aus README :
    Die resultierenden Videos werden vor der Komprimierung in der Video Datenrate etwas feinjustiert, um runde Filegrößen zu bekommen.


    z.B. aus vdrtranscode_server.log :
    -> $probe_memory_ammount_Mbyte 532
    -> $round_memory_ammount_Mbyte 525
    -> $round_memory_ammount_video_kbit_sec 1208


    Um schön runde Filegrößen zu bekommen wird also nachjustiert. Hier war z.B. HQ = 1200 aus der config vorgegeben.
    Um die Sache genau zu machen, wird nachgerechnet, wie groß das/die Audio(spuren) nun wird/werden und die Videogröße angepasst.


    Natürlich kann man auch fest 1000 kbit eingeben, dann aber eher -q 21 nach : https://trac.handbrake.fr/wiki/ConstantQuality


    soweit , so kurz


    Grüße vom Alex

    Auf die Schnelle, wo kann man sich deine Sachen runterladen und anschauen ?


    Grüße vom Alex


    PS : Ich bin dir nicht böse, super wenn jemand so intensiv herangeht und weiterscriptet, so soll Open Source ja sein.
    Ich scripte ja nicht für Ruhm und Ehre, sondern für alle, die es ( auch ) brauchen können


    Jeder kann im Wiki editieren, meinen Webspace für die Pakete hab ich da bei funpic kostenlos.
    Lad doch mal dein Paket auf einen Hoster und schick den Link rum, veröffentlichen kannst du's ja als fork auf der Wiki Site .-)


    Grüße vom Alex

    Tach Team,


    Eigentlich ists gar nicht schwierig, folgende Ziele hatte ich mir bei VDRtranscode gesetzt :


    - So einfach wie möglich zu installieren und zu bedienen
    - So wenig wie möglich, binäre Abhängigkeiten , also nur Handbrake ( kein Projectx mit java )
    - Nur eine Funktion, das Komprimieren in mp4 oder mkv
    - So robust, wie möglich


    Einiges Know How kam dazu ( anamorph speichern , mehrere Audiospuren, deinterlace ), für das Programm würde ich es vom Funktionsumfang dabei belassen.
    Ich speichere z.B. nix mehr auf DVD, habe mir gerade eine externe 1TB USB 3.0 HD für 100 € gekauft, die Zeit der DVD Archivierung ist wohl vorbei.


    Wer möchte kann das Script ändern, in andere Plugins integrieren, nochmmal neu in Shell schreiben, wie auch immer.


    Baustellen sind bei mir die Symlink Problematik und Integration der Progressanzeige.


    mark05 : Einer Weiterentwicklung spricht nichts entgegen, ist ja Open Source, da veröffentliche ruhig deine Änderungen, von Integration bis zu einem Fork ist ja alles möglich.


    Ich habe jetzt keine persönlichen Befindlichkeiten, wenn das Team den Code auseinander nimmt und ändert, ist ja ausdrücklich gewünscht.
    Nur fange ich nicht an, ettliche neue Zusatzfunktionen einzubauen, das Proggi soll ja eben keine eierlegende Wollmilchsau sein.


    Grüße vom Alex

    @ mahlman


    Es wird die eingebaute Routine von Handbrake_CLI genommen, ohne Specials, x264 Optionen und Audio ist extra kalkuliert und übergeben , Aspect Ratio und Darstellungsformat wird separat übergeben.


    Zeigt denn mkvinfo Unterschiede ?


    Grüße vom Alex

    Hallo Team,


    Ich war beruflich unterwegs, kam also nicht eher dazu, zu antworten.


    Ich hab auf eure Hinweise hin ein paar Sachen korrigiert :


    Code
    Argument "no" isn't numeric in numeric eq (==) at ./vdrtranscode_server.pl line 335.


    da war die Abfrage nach dem Classic Modus falsch.


    Zum Problem der Symlinks. Im Script wird ab Zeile 47 für InDir und Outdir ein eventueller Symlink per "readlink" aufgelöst. Das sollte funktionieren.
    Ein Bug hatte sich eingeschlichen, wenn es darunter noch mehrere Unterverzeichnisse gibt. Zeile 386
    Bisher wurde nur der erste Trenner ( "/") durch einen Bindestrich im resultierenden Filenamen ersetzt, was später bei "move" in eine Sackgasse geht .


    Etwas bildlicher gesprochen :
    Wenn :
    - InDir = /video0
    - /video0 zeigt auf /home/alex/VideoVerzeichniss
    - Videos liegen dann z.B. in /home/alex/VideoVerzeichniss/Unterverzeichnis/Simpsons/Folge_1/2011-03-01.05.35.49-0.rec


    Dann wird das Ziel hier zu :
    Unterverzeichnis-Simpsons-Folge_1.mkv


    Es wird also vorn das angegebene Eingangsverzeichniss ( Symlink aufgelöst ) "/home/alex/VideoVerzeichniss/" im Namen abgeschnitten, Zeile 385 ( $copy_workfile =~s/$Indir// ; )
    , alle Verzeichnisstrenner ( "/" ) werden durch Bindestriche ersetzt, Zeile 386 ( $copy_workfile =~s/\//-/g ; ) .


    Ich habe das hier auf einer Partition mit 2 Unterverzeichnissebenen getestet.
    Nicht getestet sind Symlinks über verschiedene Festplatten ( sollte aber auch gehen ) und über Netzlaufwerke ( ? ) .


    Da kommen wir mit gemeinsamen Testen weiter.


    Code
    find { wanted => \&funcfind_index , follow_fast => 1 },


    wird wohl gebraucht, wenn im InDir mehrere weitere Symlinks auf andere Verzeichnisse stehen.
    - /video0 --> /mnt/irgendwo
    - /mnt/irgendwo/symlink1 -> /mnt/farfaraway/isle1
    - /mnt/irgendwo/symlink2 -> /mnt/otherfarfaraway/isle2


    Wenn jemand solche Strukturen fährt, brauchts das Script wohl ?!


    Nun denn , einen neuen Snapshot mit Änderungen gibts hier :


    http://vdr-wiki.de/wiki/index.php/VdrTranscode#News


    Danke fürs Testen und Bugfinden, kommt man alleine nicht drauf.


    Grüße vom Alex


    PS : henfri
    Dein Problem liegt wahrscheinlich hier :

    Code
    ° sh: /mnt/data/film/progress.log: Keine Berechtigung

    hallo mahlman,
    vielen Dank fürs ausführliche Testen, ich habe daraufhin ein paar Sachen korrigiert und eben einen neuen Snapshot fertig gemacht.

    Zitat

    Original von mahlman


    Das File, was rauskommt, ist vom Typ m4v, nicht mkv. Ich hab in
    /etc/vdr/command-hooks/reccmds.vdrtranscode.conf geschaut, da steht wohl der kleine Fehler, müsste an der entsprechenden Stelle 'mkv' statt 'm4v' stehen:

    korrigiert ...


    Zitat

    Wenn es egal ist, welche HD-Auflösung reinkommt, und nur das Ergebnis zählt, dann wäre es vielleicht besser, statt 'downsize Pictureformat' die Zielauflösung anzugeben.

    Im Menü gibts nun Angaben zur maximalen Höhe in Pixeln


    Zitat

    Hier ist 'keep Picturesize' verwirrend, weil im Filenamen 1080p50 steht. Der Stream im File hat aber die Auflösung 720p wie das Ausgangsmaterial.

    Kann ich mir gerade nicht erklären, die Angabe 720px oder 1080px wird aus der Handbrake Analyse des Files gewonnen, na nix ist 100 prozentig.


    Zitat

    Ist das bereits der Unterschied von 'nur' VHQ zu UVHQ ?

    Ja , genauer der Unterschied von Bitrate 3700 kbps zu 7000 kbps, wenn die originalen Werte aus der Config Datei genommen werden.


    Zitat

    Rechenzeit 5h.

    Ich habe nun einen schnelleren Komprimiermodus mit eingebaut ( bei mir 5 x schneller ), genannt Classic, der sich nach dem Classic Preset von Handbrake aufbaut, nur eben zu Lasten der Qualität. Wird in der Config Datei global für alle Komprimierungen ausgewählt.
    Ich lasse die Auswahl mal aus den Menüs heraus. Ich denke, es wird sonst zu unübersichtlich.


    Zitat

    Alles in Allem: Respekt, kann sich sehen lassen, läuft auf Anhieb und so wie es ausschaut auch stabil.

    schön :)


    Zitat

    liegt das Videoformat so richtig vor ? Meines Wissens müsste 1280x720x50p als AVC H.264 im mkv Container ja der BD Spezifikation entsprechen.

    Sollte funktionieren, habe auch keinen Blue Ray , kanns daher also nicht bestätigen.


    Zitat

    Wenn das TS-File, wie im Beispiel, 720p ist, und das Ziel-mkv File auch, mit dem gleichen Codec etc., wodurch sind die Rechenzeiten erforderlich ?

    Es wird immr neu komprimiert, auch wenn das Bildformat gleich bleibt. So weit ich weiß, gibts im Handbrake leider keinen Kopiermodus für die Videospur. :(


    neuer Snapshot hier :
    http://vdr-wiki.de/wiki/index.php/VdrTranscode#News


    Grüße vom Alex

    Zitat

    Original von aunone


    PES -> TS mache ich mit ProjectX :
    java -Djava.awt.headless=true -jar /usr/share/java/ProjectX.jar -tots 0*.vdr
    Cheers, aunone


    probier mal was in der Art : dieses_script.pl /mein/VideoDir/



    Grüße vom Alex

    Probier mal bitte die angehangene vdrtranscode_server.pl.


    Darin geändert :


    - Überprüfung, ob Indir o. Outdir Symlinks sind und Auflösung
    - Abschließendes "/" in In und Outdir , wenn keines vorhanden
    - Suche nun nach 00001.ts statt index im Aufnahmeverzeichnis ( bei vdr ts gibts normalerweise ja eine index datei, eine 00001.ts sollte es noch sicherer geben )


    Wenns das war, mach ich einen neuen Snapshot.


    Grüße vom Alex

    aunone,


    Hallo.


    Schreib mal bitte, was du als "Indir und Outdir" in der conf angegeben hast.
    Die Scripte sind noch nicht robust, meint daß sie nicht mit jeglichen Angaben in der Config klarkommen.


    Ich meine, da geht noch was in der Erkennung schief.
    vdrtrancode_tmp.mkv ist die Zwischdatei in die erstmal geschrieben wird, zum Schluß sollte sie dann umbannt werden.


    Grüße vom Alex


    PS . PES -> TS hast du mit Projectx gemacht ? Ich möchte da das Script simpel halten und nicht allzuviele Abhängkeiten einbauen, sonst wirds mal für den Anwender uninstallierbar, gabs ja alles schon...

    Hallo beachboy,


    Schau mal ob die 2 Sekunden Versatz im mpg File schon auftauchen, vielleicht kommt der Fehler bereits von Projectx.
    Zum Trost kann ich sagen , daß Handbrake bei ts Files vdr >=1.7.4 eine recht pasable Synchronität liefert.
    Laut deiner Signatur ( 1..6 ) nützt dir das aber naürlich recht wenig.


    Leider kann man HandbrakeCLI keinen festen A/V Versatz mitgeben :)



    Grüße vom Alex

    Tach Team,


    Vielen dank für die Inspiriation von dad401, Handbrake mal anzuschauen.
    Ich habe hier ein Script um HandbrakeCLI herum in Perl erstellt , basierend auf diesem Howto : http://trac.handbrake.fr/wiki/CLIGuide
    und den Scripts von dad401.


    Kurz zusammengefasst, was im Script passiert :


    - Umwandlung von ts in h264 ( mp4, m4v, mkv ) von 1080 bis Webformat max 480px breit
    - Lautstärkenormalisierung
    - selektive Audiospurenwahl
    - anamorph Komprimierung
    - ganzer File oder anhand von Start- und Stopmarke in marks
    - decomp Deinterlacer


    - Ein Server, der Kodierungen übernimmt, läuft im Hintergrund
    - im Aufnahme Befehle Verzeichnis kann man ( per reccmds.custom.conf ) ein Profil auswählen
    - Das Aufnahmeverzeichnis wird mit einem Flag im Namen erweitert, das der Server periodisch abfragt und dann beginnt zu konvertieren.


    Deutlich umfangreicher habs ich im Wiki eingetragen -> http://vdr-wiki.de/wiki/index.php/VdrTranscode


    Das Package gibts hier, alles ist noch blutjung und bestimmt buggy, probiert es aus und schaut in die Scripte rein.


    PS : schön, das das Board wieder up ist.


    Grüße vom Alex

    Hallo berndl,


    Ich verfahre so :


    Server fährt hoch, wird vom Clienten per nfs gemountet. Beim Sytemstart Server wird folgendes Script ausgeführt, welches überwacht ob ein nfs mount besteht. Wenn nicht ( mehr ) --> shutdown



    Überpüft ob auf 192.168.6.22 ( Server ) ein nfs mount besteht , schläft 60 sekunden, wenn ja oder fährt runter , wenn nicht.


    Läuft hier schon ewig ( mit genau einem Clienten und einem Mount ) ,


    Grüße vom Alex

    Zitat

    Original von fnu
    Also, warum nicht 1080p25? Das hätte alles um alle glücklich zu machen. Außer den mutierten HiFi Freaks die dann mit ihren übermenschlichen Superaugen ein fürchterlichen Ruckeln sehen ;)
    cu


    Und genauso wirds werden : ARD intern wird an der Umstellung auf 1080p25 gearbeitet, 1080i50 wird gemeinhin in 1080p25 umbenannt, Im Produktionsweg kann von der Kamera über die Regie ( was ja alles ganz neu ist ) relativ problemlos von 720p umgestellt werden.


    Schriftlich hab ich dazu noch keine Papers gesehen, sobald was rauskommt, informiere ich.


    Grüße vom Faup