Obecnie korzystam z następującej konfiguracji.
ffmpeg \
-i http://pub1.di.fm:80/di_vocaltrance \
-f x11grab -s 1920x1080 -r 25 -i :0.0 \
-c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 \
-c:a libmp3lame -ab 96k -ar 22050 \
-threads 0 \
-f flv "rtmp://...."
Co chcę upiec:
-f alsa -ac 2 -i hw:0 -acodec pcm_s32le -aq 1 -ab 128k\
czy to możliwe? A może nawet dodać „to, co słyszę” (aka odtwarzanie), że tak powiem?
Próbowałem czegoś podobnego do (ale nie do końca zrozumiałego -mapa)
-i http://pub1.di.fm:80/di_vocaltrance -map 0:1 \
-f x11grab -s 1920x1080 -r 25 -i :0.0 -map 0:0 \
Ale to nie poszło tak dobrze.
Jestem teraz tak blisko, to daje mi kanały dźwiękowe, ale wszystko brzmi jakbym był w małej puszce.
#!/bin/bash
KEY=`cat key.db`
ffmpeg \
-i http://pub1.di.fm:80/di_vocaltrance \
-f alsa -ac 2 -i hw:0 -acodec mp3 -aq 1 -ab 128k \
-f x11grab -s 1920x1080 -r 25 -i :0.0 \
-c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 \
-c:a mp3 -ab 96k -ar 22050 \
-threads 0 \
-map 0:0 -map 1:0 -map 2:0 \
-f flv "rtmp://live.twitch.tv/app/$KEY"
Pojawia się tylko wtedy, gdy zmiksuję oba dźwięki razem. Próbuję tu także dostać JACK, ale bez żadnych faktycznych rezultatów (myślałem, że przekażę wszystko przez płytę miksera, aby zwolnić ffmpeg z miksowania).
Działa z:
-f alsa -ac 2 -i jack \
....
Daje to jednak:
[alsa @ 0x1399280] nie może ustawić formatu próbki 0x10000 2 (nieprawidłowy argument)
jack: Błąd wejścia / wyjścia