Beiträge von djcj

    '-async 1 ' hinter pulse und Huffyuv + .avi haben auch nicht geholfen. Habe versucht JACK zu installieren und über jack_capture aufzunehmen, aber irgendwie wollte es nicht laufen.
    Ich denke ich versuch mal nachträglich den Ton zu resamplen bis er synchron ist und guck, wie das Ergebnis dann sein wird. Ich hatte mal ein AviSynth-Script mit dem das automatisch ging, aber das hab ich nicht mehr. Mal sehen ob ich das nochmal hin bekomm.

    Ich habe jetzt FFV1 als Videocodec benutzt und das Bild ist jetzt in Ordnung. Der Ton ist aber weiter asynchron.
    Hier ein eineinhalb-minütiger Beispielclip, diesmal die unveränderte Originalausgabe: http://www.sendspace.com/file/ogj7f1
    In diesem Fall hat der Ton eine Länge von 1:34 und das Video 1:32. Bei einer längeren Aufnahme wird die Differenz größer.


    Und falls es vielleicht hilfreich ist, noch die Ausgabe von arecord -l:

    Code
    **** Liste der Hardware-Geräte (CAPTURE) ****Karte 0: NVidia [HDA NVidia], Gerät 0: ALC662 rev1 Analog [ALC662 rev1 Analog]  Sub-Geräte: 1/1  Sub-Gerät #0: subdevice #0Karte 0: NVidia [HDA NVidia], Gerät 2: ALC662 rev1 Alt Analog [ALC662 rev1 Alt Analog]  Sub-Geräte: 1/1  Sub-Gerät #0: subdevice #0

    Und hier die Terminalausgabe bei einer Aufnahme:

    Okay, ist ein altes Topic, aber für manche sicher dennoch sehr interessant zu wissen, wie man das hinbekommt.
    Die 32-Bit NeroAac-Tools brauchen natürlich 32-Bit Libs und die müssen manuell installiert werden.
    Die Abhängigkeiten kommt man mit readelf -d neroAac* | egrep "NEEDED" heraus:


    Alle drei Binärdateien benötigen also libm.so.6, libgcc_s.so.1, libc.so.6 und libstdc++.so.6.
    Also müssen die 32-Bit-Pakete die diese Dateien liefern nachinstalliert werden.
    Bei Ubuntu kann man das zB auf http://packages.ubuntu.com/ nachsehen, und für 13.10 wären das libstdc++6:i386, libgcc1:i386 & libc6:i386.
    Hier hätte ich auch ein Skript, dass automatisch neroAac lädt und ein Debian-Paket erstellt.


    PS: Unter FreeBSD (32/64 Bit) kann man NeroAAC für Linux über Ports installieren:
    cd /usr/ports/audio/linux-neroaaccodec/ && make install clean
    Die Installation von emulators/linux_base-f10 wird vorrausgesetzt, sofern das Paket nicht automatisch mit installiert wird.


    edit:
    Hier habe ich ein Skript geschrieben, das mit Hilfe von debhelper ein ordentliches Debian-Paket erstellt:
    https://github.com/darealshinji/neroaac-debian

    Oder man installiert gleich das fdk-aac Frontend: sudo apt-get install aac-enc

    Ich versuche ein Spiel in einem Fenster aufzunehmen (kein OpenGL). Dazu verwende ich folgenden Befehl für ffmpeg:

    Code
    ffmpeg -f pulse -i default -f x11grab -s 862x512 -r 30 -i :0.0 -acodec copy -pix_fmt yuv420p -vcodec libx264 -crf 0 -preset ultrafast -threads 0 -y out.mkv

    Das Problem: Der Ton ist länger als das Video. Das Video wird in korrekter Geschwindigkeit aufgenommen, der Ton aber anscheinend langsamer, was man auch hören kann. Und mit -f alsa wird garkein Ton aufgenommen, und -f alsa -i pulse ist im Ergebnis noch schlimmer als -f pulse. Und ich merke gerade, dass das Video auch flackert.

    Vielleicht weiß ja jemand eine Lösung, wie ich Ton und Bild zusammen synchron aufnehmen kann. Ansonsten müsste ich mir überlegen wie ich den Ton im Nachhinein an die Videogeschwindigkeit anpasse.


    OS: Mint 16
    Kernel: x86_64 Linux 3.11.0-12-generic

    Lol, hab den Titel korrigiert.

    may24: Aktueller Snapshot von heute. Welches Release das genau ist weiß ich nicht, außer halt core:138. Sollte ich es vielleicht noch mal mit einer Stable-Version versuchen?

    Nachtrag: Sowohl last als auch last-stable sind r2245 (zumindest steht die Nummer im Dateinamen). Wo bekomme ich denn den Quellcode von rev2348?

    edit:
    Jetzt bin ich verwirrt, das aktuelle Linux-Binary auf videolan.org ist r2358.

    edit2:
    Wenn ich die letzte stable kompiliere dann geht ffms2. Allerdings kann ich die nur ohne lavf-Unterstützung kompilieren, sonst erscheint folgende Fehlermeldung:

    Code
    /usr/local/lib/libavcodec.a(libx264.o): In function `X264_init':
    /home/djcj/Downloads/ffmpeg-2.0.1/libavcodec/libx264.c:552: undefined reference to `x264_encoder_open_138'
    collect2: Fehler: ld gab 1 als Ende-Status zurück
    make: *** [x264] Fehler 1

    edit3:
    Schätze, ich hab das Problem entdeckt. Wenn ich die last-unstable ohne lavf-Unterstützung kompiliere funktioniert ffms. Keine Ahnung ob das ein Fehler im Quellcode ist, oder ob's an meinem System liegt.

    edit4:
    Hab noch etwas merkwürdiges entdeckt: Wenn ich von arte.tv ein Video lade, kann x264 die MP4-Datei nicht über ffms indizieren. Wenn ich das Video aber nach MKV muxe kann x264 es verarbeiten. Ich vermute einfach mal dass es Bugs sind an denen ich nicht viel ändern kann. Wichtig war mir nur dass ffms läuft.

    Irgendwie will ffms nicht so richtig.
    Hier ein Auszug:

    Code
    $ x264 --frames 25 -o test.mp4 dump.mp4 ffms [error]: could not find video track    ]                                                                                lavf [info]: 1280x720p 1:1 @ 0/0 fps (vfr)
    Code
    $ x264 --frames 25 -o test.mp4 dump.mkvffms [error]: could not create video source lavf [info]: 1280x720p 1:1 @ 50/1 fps (vfr)

    Interessant finde ich, dass wenn ich das Video nach Matroska muxe, die Fehlermeldung eine etwas andere ist.

    ffms-Support ist aber mit dabei:

    Was kann man da machen? Ich mein, lavf funzt, aber ffms wär auch nicht schlecht.
    Programm ist selbst kompiliert (Linux).

    Sorry für die dürftigen Infos.
    Also...

    Ich benutze Ubuntu 13.04.
    Ich habe Wine+AviSynth+avs2pipemod benutzt in Verbindung mit neroaacenc für Linux. Habe es jetzt auch mit -ignorelength versucht.

    Kommando: wine avs2pipemod -wav=16bit script.avs | neroaacenc -br 750000 -ignorelength -if - -of test.m4a

    Script:
    loadplugin("NicAudio.dll")
    NicDTSSource("Audio.dts")

    Meldung:
    vs2pipemod[info]: invoking ConvertAudioTo16bit() ...
    avs2pipemod[info]: writing 6058.539 seconds of 48000 Hz, 6 channel audio.
    ERROR: error while encoding frameseconds...94%]essed 89 seconds...
    avs2pipemod[info]: finished, wrote 668.539 seconds [11%].
    avs2pipemod[info]: total elapsed time is 91.822 sec.
    avs2pipemod[error]: only wrote 32089856 of 290809856 samples.


    Mit fdk-aac und libvo komm ich irgendwie nicht ganz zurecht. Ich muss ffmpeg oder avconv defür verwenden, und ich muss die selbst kompilieren mit Unterstützung für diese Bibliotheken, ist das richtig?
    Oder gibt es eine andere, einfacherer Methode die DTS-Tonspur nach AAC umzuwandeln?


    Nachtrag:
    Folgenes Kommando funkitoniert ebenfalls nicht richtig: wine avs2pipemod -wav=16bit script.avs | wine ./neroaacenc -br 750000 -ignorelength -if - -of test.m4a
    Produziert wird hier ebenfalls eine zu kurze Audiodatei.

    Hallo. Ich habe eine DTS-ES Tonspur (1500 kbps) und würde diese gerne nach AAC umwandeln (Surround) mit einer Zielbitrate von 750 kbps. FAAC scheint wohl bei 500 kbps limitiert zu sein (obwohl mir das Notfalls auch reicht) und Nero+AviSynth funzt irgendwie garnicht. Benutze Linux.

    Wenn ich ein Video encoden möchte mittels diesen Befehl

    Code
    $ wine avs2yuv.exe zzz-test.avs - | x264 --crf 23 --input-res 640x480 -o neu.mp4 -


    erscheint folgendes:

    Code
    raw [info]: 640x480p 0:0 @ 25/1 fps (cfr)
    x264 [info]: using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT
    x264 [info]: profile High, level 3.0
    failed to load avisynth.dll

    Auf http://akuvian.org/src/avisynth/avs2yuv/ steht nun folgender Hinweis:

    Zitat

    Requires avisynth.dll and devil.dll somewhere in Wine's $PATH. Existing Avisynth installations will probably work.


    Ich habe AviSynth 2.5.8 installiert und zusätzlich avisynth.dll und devil.dll in so ziemlich sämtliche wine-Unterverzeichnisse kopiert, auch in das Verzeichnis von avs2yuv.exe, aber er findet avisynth.dll immernoch nicht.

    Was mache ich falsch?

    Ich benutze Kubuntu 13.04

    simpletransition(clip clip1, clip clip2, int overlap, int "mode", string "direction")

    Benötigt den Transition-Filter von Shubin.

    Erzeugt verschiedene Übergänge zwischen zwei Clips.
    Der Ton wird wie bei Dissolve() gemischt.


    Beispiel:
    loadplugin("transition.dll")
    import("simpletransition.avs")
    clip1 = colorbars().trim(0,99)
    clip2 = clip1.greyscale().normalize(0.0)
    simpletransition(clip1,clip2,50)
    #simpletransition(clip1,clip2,50,2,"br2tl")
    #simpletransition(clip1,clip2,25,mode=4,direction="1")


    overlap:
    Anzahl der letzten Frames von Clip1 und der ersten Frames von Clip2 die sich überlappen.
    Wie bei Dissolve() ist der resultierende Clip kürzer als Clip1+Clip2.

    mode:
    0 - Clip2 drückt Clip1 weg.
    1 - Clip2 schiebt sich über Clip1.
    2 - Clip1 wird "ausradiert" und es bleibt Clip2 übrig.
    3 - Kreisblende.
    4 - Zoomblende.

    direction:
    Bei mode=0: "l2r", "r2l", "t2b" & "b2t".
    Bei mode=1 und mode=2: "l2r", "r2l", "t2b", "b2t", "tl2br", "br2tl", "tr2bl" & "bl2tr".
    Erklärung: "l2r" - left to right, "b2t" - bottom to top, "tr2bl" - top right to bottom left, etc.
    Bei mode=3 und mode=4: "0" - von Innen nach Außen, "1" - von Außen nach Innen.


    Möge es jemandem von Nutzen sein. ;D

    BluRay- und AVCHD-Discs können doch Streams in den Formaten H264 und AVC enthalten, oder? Würde es nicht auch funktionieren eine DVD quasi in dieses Format umzuwandeln mitsamt Menü? Sicher müsste man natürlich die Buttons und alles manuel erstellen, aber klappen müsste es doch. Und was würde zB gegen eine 700-1000 mb große 576p-Niedrigbitraten-BD sprechen? Hauptsache moderne Player am PC spielen es ab.

    Also ich persönlich halte das Problem auch noch für aktuell. Klar, für die meisten Filme sind Menüs unsinnig, aber zB für Bonus-Material wäre es ganz angenehm. Ich finds schade, dass sich in Sachen Menü und MKV anscheinend lange nichts getan hat (oder ich weiß nur nichts davon).