FFMPEG: asynchrone Snippets

  • Hallo,

    ich habe folgendes Problem:

    ich möchte kurze snippets zu diversen Filmen erstellen. Zwar encodet FFMPEG die richtigen Stellen, Ton und Video sind dann jedoch asynchron. Wird kein Startzeitpunkt gewählt (also bspw. die ersten 2 Minuten), funktioniert es tadellos.
    Muss man bei beliebigen snippets das Audio neu synchronisieren? Gibt es dafür Standardwerte?

  • Was ist Deine Quelle? (das Problem kann durchaus am Material bzw. den Fähigkeiten des verwendeten Muxers in FFmpeg liegen)
    Wie sehen Deine Command Lines aus?

    Zitat

    Muss man bei beliebigen snippets das Audio neu synchronisieren? Gibt es dafür Standardwerte?


    Ne, in der Theorie sollte das keine Probleme machen, wenn das Tool es kann, aber wie schon angemerkt kann es einfach am Input liegen mit dem ffmpeg nicht so gut klarkommt.

  • Also wenn die Variante 0 bis 2 min klappt, würde ich die Dateien vorher einfach splitten bzw cutten (.mkv mit mkvmerge, .ts mit tsmuxer etc).
    Dann bekommst du die Teilstücke dann einzeln und kannst sie mir ffmpeg oä. weiterverwursten.

    zB mit mkvmerge:

    Code
    "mkvmerge" -o "sample-cut.mkv"  "--language" "1:eng" "--track-name" "1:" "--default-track" "1:no" "--forced-track" "1:no" "--display-dimensions" "1:40x17" "--language" "2:eng" "--default-track" "2:yes" "--forced-track" "2:no" "-a" "2" "-d" "1" "-S" "-T" "--no-global-tags" "--no-chapters" "sample.mkv" "--track-order" "0:1,0:2" "--split" "timecodes:600s,720s"

    tsmuxer:

    Code
    MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr  --cut-start=10min --cut-end=12min --vbv-len=500
    V_MPEG4/ISO/AVC, "sample.ts", fps=23.976, insertSEI, contSPS, track=4113, lang=eng
    A_DTS, "sample.ts", track=4352, lang=eng
  • Bei Mencoder benutze ich sowas schon länger als Vorschau, zum besseren abschätzen der Qualität.
    Zumindest beim Encodieren funktionierts recht ordentlich, das kann je nach material und Container beim kopieren sicherlich anders sein.

    Code
    Mencoder.exe ""E:\DeinVideoIn.mpg"" -oac copy -ovc copy -o "E:\DeinVideoOut.avi" -ss 0:1:50 -endpos 1:00
    Code
    Mencoder.exe "E:\DeinVideoIn.mpg" -oac mp3lame -lameopts mode=1:abr:br=128 -af volnorm -srate 48000 -ovc x264 -x264encopts crf=21:subq=5:8x8dct:frameref=2:bframes=3:weight_b:level=4.1:threads=6 -ffourcc h264 -vf softskip,harddup,scale=720:-10 -o "E:\DeinVideoOut.avi" -ss 150 -endpos 15

    Die werte für -ss und -endpos entsprechend ändern.
    Wenn es mit FFmpeg nicht funktioniert wird Mencoder vermutlich auch Probleme machen.

  • Zitat

    Zumindest beim Encodieren funktionierts recht ordentlich,...


    ... kommt aber sehr auf das Material an was Du als Input hast,...

    Zitat

    Wenn es mit FFmpeg nicht funktioniert wird Mencoder vermutlich auch Probleme machen.


    Ja, sind beide nicht so dolle. Man müsste irgendwie einen Index über die I-Frames erstellen und diese mencoder/ffmpeg an die Hand geben,.... (beides: k.A. wie :))

  • Persönlich benutze ich eigentlich nur MPEG-2 aus DVB Aufzeichnungen, bei älteren Versionen von Mencoder hatte ich gelegentlich Probleme mit MKV.
    Ich schneide meistens auch gleich am VDR bei MPEG-2 reicht mir eigentlich der schnitt an I-Frames.
    Wenn man sich mit Mplayer eine EDL mit Schnittpunkten erstellt und danach mit Mencoder konvertiert sollte es eigentlich recht genau werden.
    Nur besondere Lust sowas zu Programmieren habe ich nicht unbedingt :)

Jetzt mitmachen!

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