Beiträge von Nel-son

    Mir ist etwas komisches aufgefallen. Wenn ich Videos durch Hybrid schicke, zeigen manche Player unnötige schwarze Ränder an.


    Ein Bsp. ist eine Serie in SD (720x576) in 4:3. Das Original wird in Kodi, VLC und mpv normal angezeigt, d.h. oben wird kein schwarzer Rand angezeigt. Das per Hybrid kodierte File zeigt oben Ränder an. Die sind aber nicht Teil des Videos, die werden bei der Wiedergabe hinzugefügt.


    Das gleiche habe ich nun wieder bei einem HD-Video mit 1920x800. Da hier die Untertitel aufgrund des fehlenden schwarzen Randes quasi mittig angezeigt werden, wollte ich per Letterbox daraus wieder schönes 1920x1080 machen - das habe ich im Reiter "Resize" bei Letterbox eingetragen. Kommt auch raus, aber die Player zeigen nun rechts und links schwarze Ränder an.


    Log-Files habe ich erstmal keine, könnte ich nachliefern wenn nötig. Ich hab aber die Mediainfoangaben zu den beiden HD-Videos (leider hätte ich die bei dem SD-Bsp. nur noch für die Ausgabedateien):


    Original:



    Encoding


    Hi,


    ich nutze dieses einfache Skript um 2 Videos synchron zu halten und dann die deutsche Tonspur unter dem SD-Video unter das HD-Video zu legen.


    Code
    1. v1 = FFVideoSource("input1.mkv", threads=1)
    2. a1 = FFAudioSource("input1.mkv")
    3. hd1 = AudioDub(v1,a1)
    4. v2 = FFVideoSource("input1.mkv", threads=1).BicubicResize(1920,1080)
    5. a2 = FFAudioSource("input1.mkv")
    6. sd1 = AudioDub(v2,a2).changefps(23.976)
    7. StackHorizontal(hd1,sd1)
    8. #audiodub(hd1,sd1)


    StackHorizontal nutze ich um beide Videos auf synchronität zu püfen, das Encoding mache ich dann indem ich auduidub() auskommentiere. Normal habe ich 25fps-SD-Quellen und 23.976-fps-HD-Quellen und das geht mit AssumeFPS(). Der Filter hat eine Audio-Sync-Funktion und ich muss mich um nichts weiter kümmern. Beim aktuellen Video muss ich aber ChangeFPS() verwenden. Keine Ahnung wieso. Die Videos sind absolut sync, aber Audio nicht.


    Wie kann ich trotz Einsatz von ChangeFPS dafür sorgen, dass Audio synchron zum Video bleibt?

    Na ja, einen Screencast halt. Die Aufnahme des Inhaltes des Desktops. Wenn dort ein Video abgespielt wird, wird das Video aufgenommen. An Software verwende ich nur FFmpeg und halt die Wiedergabequelle. Das kann z. B. iTunes oder der Webbrowser sein bei Streams.


    Ich hab mal fix einen Test (unter Linux) mit einer lokal gespeicherten Datei gemacht mit dieser Kommandozeile


    Code
    1. ffmpeg -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0 -c:v libx264 -crf 0 -preset ultrafast output.mkv


    Hab es auch mit einer Framerate von 23.976 versucht wie es die Quelle hat, beide ruckelten zunächst einmal nicht. Ich will morgen nochmal einen Versuch mit einer Doku machen, ich hoffe ich finde noch die eine Szene, von der ich glaube sie eignet sich gut dafür. Dürfte gleich zu Beginn von Planet Erde, Folge Bergwelten sein. Da gibt es einen Landschaftsschwenk über besagte Bergwelt.


    Ich könnte mir vorstellen, dass Streams mitzuschneiden schon problematischer wird. Wird da VFR verwendet? Vorstellbar wäre es, wenn es Bandbreite spart. Einstellungen hat man da leider wenig. Der Monitor läuft hier mit 60Hz. Hat das irgendeinen Einfluss auf den Screencast? Passen sich die Player daran an? Keine Serie udn kein Film hat 30fps oder ein Vielfaches davon.

    Damit wir uns nicht falsch verstehen. Die Ruckler entstehen nicht durch die Wiedergabe, sondern treten erst auf wenn ich den aufgenommenen Screencast ansehe. Es geht mir auch nicht darum das im Encoding rauszubekommen, sondern schon beim Screencast zu verhindern.


    Was muss denn genau synchron laufen, damit das eben nicht passiert?


    Ich plane ohnehin einen neuen Monitor zu kaufen, auf was müsste man achten? Ich habe auch meinen Fernseher per HDMI angeschlossen. Machen die das besser? Wäre es praktikabler den Screencast durchzuführen wenn er am TV angeschlossen ist?


    Muss ich irgendwas in den FFmpeg-Einstellungen beachten, z. B. mit -r die Input-Framerate festlegen?

    Hallo,


    ich habe vor einigen Jahren mal Screencasts von lokal gespeicherten Inhalten hergestellt, die Ergebnissen waren brauchbar, aber nicht überragend. Welche genauen Settings ich da bei FFmpeg verwendet habe, weiß ich nicht mehr. Ich möchte nun versuchen von Webinhalten einen Screencast zu erstellen. Zunächst in SD, später auch in HD. Ich setze voraus, dass der Stream/Download ruckelfrei läuft. Es geht mir mehr darum wie ich mit ffmpeg einen ruckelfreien Screencast hinbekomme, denn bei o.g. Versuchen waren die Dateien lokal gespeichert und dennoch hatte ich manchmal ruckelnde Bilder, wenn sich die Kamera langsam durch das Bild bewegte.


    Ich vermute nicht, dass das Schwächen der Hardware waren, ich denke ich hätte müssen die Framerate des Screencasts anpassen müssen. Woran? An die Framerate des Monitors, der Graka oder des Streams? Wie bekommt man die Framerate des Streams heraus?


    Hat jemand eine schöne kleine Command Line für FFmpeg die schon erfolgreich getestet wurde? Oder gibt es bessere Möglichkeiten?

    Hallo,


    ich habe schon öfter deutschen Ton unter englische Videos gelegt. Ich hab immer beide Videos in AviSynth geladen, hab einen gemeinsamen Startpunkt gesucht und dann die deutsche Version mit


    Code
    1. assumefps(2400, 1001, sync_audio=true)


    angepasst. Dann mit stackhorizontal() geprüft ob etwas weggeschnitten werden muss und dann mit audiodub() englisches Video und (angepassten) deutschen Ton zusammengebracht. Jetzt hatte ich ein Video wo das nicht klappte, ich musste alle 2000 bis 3000 Frames beim englischen Video 2 bis 3 Frames löschen, keine Ahnung wieso. Nachdem ich das englische Video mit


    Code
    1. changefps(2400, 1001)


    angepasst habe, was alles perfekt synchron. Nun stimmt ja aber die englische Tonspur nicht mehr. changefps bietet aber keine Möglichkeit den Ton entsprechend der FPS-Änderung synchron zu halten. Wie müsste ich hier vorgehen?

    hallo,


    will hier ein Video mit einer anderer Tonspur syncen. Hab das eine Szene wo ich weder den ton schneiden kann weil dann ein Bruch drin ist und auch das Video nicht, weil es dann asynchron ist. Ich will eine der Szenen um 14 frames verlängern, also etwas langsamer abspielen. Bietet avisynth so eine Funktion? Ich sollte einstellen können um wieviel frames es länger sein soll.

    Hm, es lag nicht an der Version die ich aus dem Wine-Ordner verschoben habe, auch der DL hier startet unter Windows 10 nicht. Das Fenster geht kurz auf und ist dann wieder weg. Hat das jemand unter Windows 10 am laufen?

    Hi,


    irgendwann bin ich mal durch Zufall auf eine neuere Version von AvsPmod 2.5.1 von 2013 gestoßen die ich auch erfolgreich unter Ubuntu mit Wine verwende. Immer wenn ich ein neues Linux aufgesetzt habe, hab ich einfach den Ordner kopiert. Das läuft jetzt direkt unter Windows 10 nicht. Da passiert schlicht nichts. Ich finde aber den Link nicht mehr, kann auch sein,. dass es keine "richtige" neue Version ist sondern ein Fork mit Namenszusatz (glaub mich da auch dunkel zu errinnern). Wo gibt es das?

    Ich lasse den Shutdown unter Ubuntu "call external" und dann 'kshutdown -s 1' ausführen. Das ist dafür gedacht, dass wenn ich dort noch/wieder am Rechner sitze wenn er runterfahren will, ich eine Info dazu bekomme und abbrechen kann. Es passiert bei mir wenn ich dann Hybrid später wieder starte, dass schon abgeschlossene Jobs wieder in der Liste stehen, teilweise auch als "waiting". Liegt das an der Art wie ich den Shutdown ausführe?

    Hallo,


    ich habe hier einige 6.1-AAC-Files, die ich nach Flac konvertieren will. Sämtliche meiner Encoder schlagen fehlt, interessanterweise bei ALLEN 6.1-AACs, nicht aber bei 7.1-AACs. Mit dem VLC kann ich die Tonspur in der Matroska-Datei problemlos abspielen. Ich habe in einer virtuellen Maschine mit einem Windows-Gast die Dateien in MeGui versucht und auch über ein AviSynth-Script mit LSmash-Source. Das Ergebnis ist immer kürzer als der tatsächliche Film ist. FFmpeg bringt diesen Fehler: