ffmpeg audioencoding Optionen?

  • Da sich hier eventuell der ein oder andere mit ffmpeg und Audioencoding auseinander gesetzt hat, hab ich mal ein paar Fragen. :D
    Die Dokumentation bei http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html hab ich gelesen, aber einiges ist mir noch unklar und die ffmpeg Parametererklärung die man über das Programm selber erhält hat mehr Optionen als in der Dokumentation stehen (oder ich hab sie übersehen). :D

    Sicher ich könnte viel herumtesten und die Sachen auch selber herausbekommen, da ich aber momentan nicht den Nerv habe so viel zu testen hoffe ich jemand der mehr weiß als ich kann hier was sagen.


    1. Was macht die Option '-absf'?
    In der Documentation steht:

    Zitat

    <samp>`-vbsf bitstream filter'</samp>
    Bitstream filters available are "dump_extra", "remove_extra", "noise"

    aber was will man mir damit sagen?

    2. Addiert '-newaudio' auch einen Stream hinzu wenn noch kein Audiostream im Output vorhanden ist?

    3. Ändert "-vol volume" die Lautstärke auch wenn man nicht reencoded (per preGain flag?) und wird auf Audioverzerrungen geachtet oder einfach alles brutal lauter gemacht?

    4. Wenn ich mit -ac channels die Anzahl der Audiochannel setze und sich diese von der Anzahl der Channels unterscheiden die der Input hat wird dann ein (brauchbarer) up-/downmix gemacht? (oder werden bei 5.1->2.0 einfach Channel weggelassen und bei 2.0->5.1 einfach nicht alle Channel belegt oder etwas ganz anderes gemacht?)

    5. Entspricht -async dem stretching wie es im mkv container gemacht werden kann und erzwingt es ein Encoding des Materials?

    Cu Selur

    Ps.: Nein, ich will kein anderes Tool nehmen, darum bitte Vorschläge wie 'Nimm doch lieber Tool xy.' bitte unterlassen. Danke. :)


  • 4. Wenn ich mit -ac channels die Anzahl der Audiochannel setze und sich diese von der Anzahl der Channels unterscheiden die der Input hat wird dann ein (brauchbarer) up-/downmix gemacht?


    naja irgendwie nicht:

    Quelle:

    Code
    AC-3 File type:       Non-Intel byte order (0x0b)Total frames:         309Frame size:           2.048 bytesSample rate:          48.000 HzData rate:            512 kbpsAudio coding mode:    3/2 (L, C, R, l, r) LFEBit stream mode:      Main audio service: Complete mainDialog normalization: -27 dBCenter mix:           -3 dBSurround mix:         NoneCopyright:            OnOriginal:             OnStart time:           00:00:0,00 *End time:             00:00:9,89

    commandline:

    Code
    ffmpeg -i DEMO.ac3 -ab 192 -ac 2 -acodec mp3 -y audio2.mp3Input #0, ac3, from 'DEMO.ac3':  Duration: 00:00:09.9, start: 0.000000, bitrate: 512 kb/s  Stream #0.0: Audio: ac3, 48000 Hz, 5 channels, 512 kb/sOutput #0, mp3, to 'audio2.mp3':  Stream #0.0: Audio: mp3, 48000 Hz, stereo, 192 kb/s

    Ergebnis:

    Code
    Type                : mpeg 1 layer IIIBitrate             : 192Mode                : joint stereoFrequency           : 48000 HzFrames              : 414ID3v2 Size          : 0First Frame Pos     : 0Length              : 00:00:09.9Max. Reservoir      : 511Av. Reservoir       : 433Emphasis            : noneScalefac            : 3.1%Bad Last Frame      : noEncoder             : Lame 3.97 (beta)Lame Header         : No

    Und das ChannelMapping ist dann:

    Code
    QUELLE        ZIEL ( Stereo )   Links         Links Center        Links und Rechts Rechts        RechtsSLinks          [COLOR='Red']? verschwunden[/COLOR]SRechts       [COLOR='#ff0000']? verschwunden[/COLOR]LFE             [COLOR='#ff0000']? verschwunden[/COLOR]

    ------------------------------------------------------------
    Test: 5.1 > 4

    Code
    ffmpeg -i DEMO.ac3 -ab 384 -ac 4 -acodec ac3 -y audio4.ac3Input #0, ac3, from 'DEMO.ac3':  Duration: 00:00:09.9, start: 0.000000, bitrate: 512 kb/s  Stream #0.0: Audio: ac3, 48000 Hz, 5 channels, 512 kb/sOutput #0, ac3, to 'audio4.ac3':  Stream #0.0: Audio: ac3, 48000 Hz, 4 channels, 384 kb/s

    Test: 5.1 > 3

    Code
    ffmpeg -i DEMO.ac3 -ab 384 -ac 3 -acodec ac3 -y audio3.ac3
    
    
    Input #0, ac3, from 'DEMO.ac3':
      Duration: 00:00:09.9, start: 0.000000, bitrate: 512 kb/s
      Stream #0.0: Audio: ac3, 48000 Hz, 5 channels, 512 kb/s
    Output #0, ac3, to 'audio3.ac3':
      Stream #0.0: Audio: ac3, 48000 Hz, 3 channels, 384 kb/s


    da kommt nur Müll raus :)

  • Hat zufällig einer eine Ahnung wie und ob ich ffmpeg die channel order ändern kann?

  • so wie ich doom9.org versteh, geht das auch in sox nicht. Sonst würden die ja das ChannelMapping direct in Sox machen und nicht im Wavewizard.

    Es gibt zwar die Coomandline avg [ -l | -r | -f | -b | n,n,...,n ] aber wie und ob das genau funktioniert? puhhhhhh

    aaaa doch was gefunden:

  • Okay, also müsste ich:
    1. Input Material X nach 6channel wav bekommen
    (mal schauen ob das mit ffmpeg geht und ob sox dann mit so einem file auch umgehen kann)
    2. im wav die channel order ändern
    3. das neue wav mit ffmpeg nach Y konvertieren

    0 checken ob die Linux Kommandline Optionen auch unter Windows existieren. ;)
    http://linux.about.com/od/commands/l/blcmdl1_sox.htm

    => Grumpf, sox unter Windows hat die -swap Option nicht.

    Neue Idee:
    eventuell geh es mit Mplayer soweit ich http://www.mplayerhq.hu/DOCS/HTML/en/advaudio.html gerade überflogen habe sollte es vielleicht gehen mit mplayer den Audiostream zu decodieren, dabei die ChannelOrder zu ändern und den Output in ffmpeg zu piepen um ihn dort zu encoden. -> vielleicht nicht ffmpeg nehmen, sondern ein Auge auf mencoder werfen?
    (keinen Nerv mehr heute,..)

    => doch noch mal aufgerafft:

    Code
    mencoder "Test AC3 v2.0.avi" -ovc copy -oac faac -faacopts br=128:object=2 -channels 6 -srate 48000 -of rawaudio -o audio.aac


    klappt wunderbar, mencoder macht das channel mapping automatisch,.....


    Cu Selur

Jetzt mitmachen!

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