Wie soll ich mit ffmpeg Multichannel (Quad) aufnehmen?

360
Toby Eggitt

Ich habe vor kurzem ein Vierkanal-USB-Eingabegerät (Behringer UMC404HD) erhalten. Das Gerät funktioniert und Linux sieht es; Ich weiß das, weil ich mit Audacity vier unabhängige Kanäle aufnehmen kann. Ich kann jedoch nicht herausfinden, wie man ffmpeg auffordert, dasselbe zu tun.

Wenn ich ALSA konfiguriere und diesen Befehl ausstelle:

ffmpeg -f alsa -i pulse test.flac 

Ich bekomme eine Stereodatei, die Ton von dem Mehrkanalgerät enthält, bei dem alle vier Kanäle auf Stereo heruntergemischt werden (es handelt sich dabei um eine vordere und eine hintere Quadrophonie-Quelle).

ffprobe zu dieser Datei berichtet (unter der Masse anderer Informationen):

Stream #0:0: Audio: flac, 48000 Hz, stereo, s16 

Versuchen Sie es so zu versuchen, dass ich nicht zu bestimmen scheint, wie ich dieses Ding in den Quad-Modus und nicht in Stereo umwandeln soll. Diese Seite sah vielversprechend aus, aber für meinen (sicherlich wesentlich einfacheren!) Fall konnte ich nichts davon machen: https://trac.ffmpeg.org/wiki/AudioChannelManipulation

Weiß jemand, wie ich das machen soll? Es scheint, dass es eine triviale Sache sein sollte, und ich verwende wahrscheinlich nur die falschen Wörter in meinen Suchen.

0
Ich weiß es nicht genau, aber Quad Audio ist heutzutage so selten, dass Sie besser versuchen sollten, es als 5.1 mit 2 leeren Kanälen zu formatieren. Tetsujin vor 5 Jahren 0
Das Problem muss hier eingangsseitig angegangen werden. Wenn Sie die Eingabe auf 4 Kanäle ummatrixieren, erhalten Sie Ihre Eingabe nicht, wenn sie von ffmpeg noch nicht vollständig aufgenommen wurden. Weitere Informationen zu den Optionen finden Sie in den [docs] (http://ffmpeg.org/ffmpeg-devices.html#alsa). Gyan vor 5 Jahren 2
Tetsujin, es ist mir egal, welches Format es ist, solange es vier unabhängige Kanäle hat (sie sind nicht positionell, sie sind sowieso unabhängige Instrumente / Stimmen). Wenn Sie also sagen können, wie Sie eine Befehlszeile erstellen, die das tut, was Sie vorschlagen, wäre das absolut nützlich. Toby Eggitt vor 5 Jahren 0
Danke, Gyan, das hat mich letztendlich zu einer Lösung geführt. Es dauerte ein paar Versuche, um herauszufinden, wie man die Channels-Funktion verwendet und wo man sie platzieren kann, und dann herauszufinden, dass ein flac-Container nicht für vier Kanäle geeignet ist (oder zumindest sagt ffmpeg). Aber am Ende ist es das funktionierte: ffmpeg -f alsa -channels 4 -i pulse test.wav Es scheint wichtig zu sein, dass -channels vor -i pulse kommt, und ein wav-Container scheint Festplattenspeicher zu verschwenden, aber es enthält mindestens vier Kanäle ohne Problem. Danke vielmals. Toby Eggitt vor 5 Jahren 0

1 Antwort auf die Frage

1
Gyan

Sie sollten auf der Eingangsseite die richtige Anzahl von Kanälen signalisieren. Zum Speichern in FLAC müssen Sie ein unterstütztes Kanallayout einstellen. So,

ffmpeg -f alsa -channels 4 -i pulse -channel_layout quad test.flac 
Danke, eines der Dinge, die ich am schwersten über ffmpeg herausfinden kann, ist die Syntax der Befehle. Es scheint kritisch auf die Reihenfolge zu reagieren, und ich habe (in dem riesigen Stapel von Dokumenten!) Noch nicht den Teil gefunden, an dem das allgemein beschrieben wird. Wie auch immer, Ihre Eingabe hat sich gut geklärt. Toby Eggitt vor 5 Jahren 0
Siehe die letzten beiden Abschnitte dieses Abschnitts: http://ffmpeg.org/ffmpeg.html#Description Gyan vor 5 Jahren 0