В настоящее время я работаю со следующей настройкой.
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://...."
Что я хочу испечь в:
-f alsa -ac 2 -i hw:0 -acodec pcm_s32le -aq 1 -ab 128k\
Это возможно? И, может быть, даже смешать в «то, что я слышу» (так называемое воспроизведение), так сказать?
Я пробовал что-то вроде (но не полностью понимая -map)
-i http://pub1.di.fm:80/di_vocaltrance -map 0:1 \
-f x11grab -s 1920x1080 -r 25 -i :0.0 -map 0:0 \
Но это не очень хорошо.
Я так близко сейчас, это дает мне звуковые каналы, но все звучит так, будто я нахожусь в небольшой консервной банке.
#!/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"
Появляется только когда я смешиваю два звука вместе. Попытка включить JACK и здесь, но без каких-либо реальных результатов (я думал, что я пропущу все через микшерную плату, чтобы выгрузить ffmpeg из микширования).
Работает с:
-f alsa -ac 2 -i jack \
....
Дает это однако:
[alsa @ 0x1399280] не может установить формат образца 0x10000 2 (неверный аргумент)
разъем: ошибка ввода / вывода
Ответы:
Вы должны быть в состоянии использовать фильтр amix для микширования звука.
Пример:
Я также добавил наложение веб-камеры, чтобы удалить его, снимите строку веб-камеры, точку с запятой и определения после точки с запятой.
Имейте в виду, что вам может потребоваться определить
-map
s, если вы добавляете какие-либо входные данные, имеющие несколько потоков, для удаления посторонних.Объяснение:
-filter_complex
[0:a:0]
[1:a:0]
amix=inputs=2
;
[3:v:0]
scale=200:-1
[webcam]
,
[2:v:0]
[webcam]
overlay=main_w-overlay_w-10:main_h-overlay_h-10
Кроме того, вы можете настроить микширование источника захвата звуковой карты, чтобы получить то, что выводит компьютер, и вы часто можете включить микрофон, чтобы получить петлю монитора микрофона, но для того, чтобы он работал должным образом, вы должны использовать разъем или импульс. Я не знаю, почему Джек не работает для вас, поэтому я не могу помочь вам с этим, извините.
источник