Wie kann ich ein Audiofile mit ffmpeg mono→stereo konvertieren?

Ich möchte aus einem Input-Audio (.ogg) mit einem Ton­kanal einen Output in Stereo er­zeu­gen und dazu das Laut­stär­ken-Ver­häl­tis zwischen links und rechts ma­nu­ell fest­legen (z.B. 1:1.2). Der Hintergrund ist, daß ich ein Drama lese und die unter­schied­li­chen Personen im Output unter­scheid­bar halten möchte, also jeder Person eine spe­zi­fi­sche Laut­stär­ke-​Ba­lan­ce für rech­tes und lin­kes Ohr zu­ord­nen möchte. Ich habe dazu einzelne Takes (mono), in denen nur eine Person spricht. Der Plan ist, jedes einzelne davon in ein Stereo-File mit fixem links/rechts-Lautstärkenverhältnis zu convertieren, und dann alle zusammenzuhängen.

In der Dokumentation habe ich gelesen, daß man mono→stereo mit der Option -ac oder dem amerge-​Fil­ter machen kann, aber nir­gend­wo habe ich eine Mög­lich­keit ge­fun­den, die Laut­stär­ken der bei­den Ka­nä­le unter­schied­lich zu setzen.

Beim Herumsuchen habe ich bemerkt, daß der haas-Filter of­­fen­­bar so etwas ähn­li­ches machen kann (er erlaubt phase, gain, balance, delay für rechts und links). Auch wenn ich nicht weiß, was die Para­me­ter be­deu­ten, ist es mir doch ge­lun­gen, damit Files zu erzeugen, die un­ge­fähr so wie ge­wünscht klingen. Aber beim Zu­sam­men­fügen mit ffmpeg -f concat … treten wilde Artefakte auf, die das File ganz un­brauch­bar machen.

Hat jemand eine Idee, wie es besser geht?

Audio, ffmpeg, Sound, Stereomix
FFMPEG - Tee Muxer | gleiches Input/ Output an 2 Server (rtmp) schicken?

Moinsen ✌🏼

Würde gerne wissen, wie ich den Output von FFMPEG an 2 Server schicke. In dem Fall YouTube und Twitch.

Also einzeln bzw. beide gleichzeitig bekomme ich grundsätzlich hin. Aber ich muss dafür 2 Mal FFMPEG ausführen. Nun habe ich gelesen und viel gesucht und habe einiges mit dem tee Muxer getestet. Jedoch habe ich entweder nur Ton oder Fehlermeldungen und nur an einer Destination.

Ich habe zum Testen den Befehl im nginx rtmp conf einfach Mal auf der CLI laufen lassen und komme nicht wirklich weiter.

Also folgende Befehle nutze ich.

ffmpeg -i /VIDEO.mp4 -crf 18 -preset ultrafast -acodec aac -ar 48000 -ac 2 -b:a 320k -s 1920x1080 -vcodec libx264 -r 48 -b:v 6000k -minrate 3500K -maxrate 8000k -bufsize 14000k -g 96 -f flv rtmp://ber.contribute.live-video.net/app/live-KEY;

Dieser funktioniert sowohl für YouTube als auch für Twitch.

Wobei auch noch die Frage wäre, was an dem Befehl noch bei FFMPEG zu verbessern wäre bezüglich der Video/Audio Qualität usw.

Jetzt ist halt meine Hauptfrage, wie ich es mit Tee hin bekomme FFMPEG nur EIN Mal laufen zu lassen und lediglich das Ergebnis an 2 Server zu schicken.

Wenn ich Tee verwende wie es im Internet steht. Geht mittlerweile der Befehl ohne Fehler aber ich bekomme nur Audio an einer Destination.

ffmpeg -i /VIDEO.mp4 -crf 18 -preset ultrafast -acodec aac -ar 48000 -ac 2 -b:a 320k -s 1920x1080 -vcodec libx264 -r 48 -b:v 6000k -minrate 3500K -maxrate 8000k -bufsize 14000k -g 96 -f tee -map 0:v -map 0:a "[f=flv]rtmp://ber.contribute.live-video.net/app/live_KEY|[f=flv]rtmp://a.rtmp.youtube.com/live2/KEY";

Es soll einfach an beide Server der selbe Input/Output gesendet werden der halt nur 1 Mal berechnet wird.

Anstatt wie bisher in meiner Config 2 Mal FFMPEG laufen zu lassen.

Ich brauche aktuell tatsächlich auch keine weiteren Codecs usw. wie man im Internet auch liest um halt mehrere Größen und Qualitäten zu bekommen.

Wäre zwar auch grundsätzlich nochmal hilfreich das richtig umzusetzen aber aktuell würde mir die "halbe" Rechenleistung sozusagen reichen um halt an YouTube und Twitch zu streamen.

Mit freundlichem Gruß

✌🏼😃

YouTube, Livestream, Streaming, ffmpeg, nginx, Twitch
Wie kann ich eine Batch-Datei unter Windows im Zeitintervall (alle 5 min) ausführen lassen?

Ich habe 2 Webcams von denen ich via FFMPEG alle 5 Minuten ein Standbild aus dem Stream abfangen will weil die Kamera-Software das nicht gebacken kriegt. Da ich vom Programmieren keinen Plan habe, hat mir ein Kumpel ne kleine Batch gebaut welche die Bilder abgreift und sie auf den Webserver lädt.

Eingestellt ist zudem dass nach Ablauf einer Zeit der Vorgang erneut durchgeführt wird. Die Sache funktioniert auch soweit aber nach unterschiedlich langer Zeit hängt sich dieser "Loop" auf und ich muss die Datei wieder manuell starten bis wieder irgendwann diese Endlosschleife einfach stoppt was sie nicht soll.

Wie bekomme ich es hin, entweder mit Windows selber oder mit Programmen, dass diese Batch-Datei einfach alle 5 Minuten einmal durchläuft und es somit egal wäre, wenn ein Intervall mal ausfallen würde? Also dass es wenigstens einige Tage oder Wochen am Stück ohne Fehler läuft?

Mit dem Aufgabenplaner hab ichs schon versucht aber führt zu keinem Ergebnis :/

:DO
ffmpeg -y -i "rtsp://admin:123@192.168.178.23:554/live0.264" -vframes 1 -vf scale=400:255 -update 1 -r 0.5 -vframes 1 osten.jpg
ffmpeg -y -i "rtsp://admin:123@192.168.178.22:554/live0.264" -vframes 1 -vf scale=400:255 -update 1 -r 0.5 -vframes 1 nordwesten.jpg

echo nutzer> ftpcmd.dat
echo passwort>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo cd /home/www/siegen-wetter.de/webcambilder>> ftpcmd.dat
echo put osten.jpg>> ftpcmd.dat
echo put nordwesten.jpg>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat s59.goserver.host
del ftpcmd.dat

timeout /T 300 /nobreak
goto DO
Windows, programmieren, Webcam, ffmpeg

Meistgelesene Fragen zum Thema Ffmpeg