현재 저는 다음과 같은 설정으로 실행 중입니다.
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를 설정할 수 없습니다(잘못된 인수).
잭: 입출력 오류
답변1
오디오를 함께 믹싱하려면 amix 필터를 사용할 수 있어야 합니다.
예:
ffmpeg \
-i http://pub1.di.fm:80/di_vocaltrance \ # internet radio
-f alsa -i hw:0 \ # microphone
-f x11grab -i :0.0 \ # computer desktop
-f v4l2 -i /dev/video0 \ # webcam or
# -f iec61883 -i auto \ # firewire camcorder
-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' \
<output>
또한 웹캠 오버레이를 추가하여 웹캠 줄, 세미콜론 및 세미콜론 뒤의 정의를 제거했습니다.
-map
불필요한 스트림을 제거하기 위해 여러 스트림이 포함된 입력을 추가하는 경우 s를 정의해야 할 수도 있습니다.
설명하다:
-filter_complex
- 여러 입력 또는 출력으로 필터 정의
[0:a:0]
- 오디오 스트림 번호 0/0을 입력하세요. (웹캐스트)
[1:a:0]
- 1에는 오디오 스트림 번호 0을 입력하세요. (마이크로폰)
amix=inputs=2
- 두 개의 오디오 스트림을 함께 믹싱합니다. 입력 스트림이 정의되어 있지 않으면 자동으로 둘 다 선택됩니다.이것예를 들어 위의 두 정의를 생략할 수 있어야 합니다.
;
- 새 필터 체인 시작
[3:v:0]
- 3에는 비디오 스트림 번호 0을 입력하세요. (웹캠)
scale=200:-1
- 비디오 크기를 200x???로 조정합니다. -1은 종횡비를 유지하므로 600x480 비디오는 200x160이 됩니다.
[webcam]
- 확장된 출력을 "웹캠"이라고 부릅니다.
,
- 이 체인의 다음 필터로 계속 진행하세요.
[2:v:0]
- 2에는 비디오 스트림 번호 0을 입력하세요. (데스크탑)
[webcam]
- 줌 웹캠 스트림.
overlay=main_w-overlay_w-10:main_h-overlay_h-10
- 두 번째 입력을 첫 번째 입력 위에 오버레이하여 두 번째 입력을 오른쪽에서 10픽셀, 아래쪽에서 10픽셀 떨어진 위치에 배치합니다.
또한 사운드 카드 캡처 소스를 믹스하여 컴퓨터 출력을 얻을 수 있도록 설정할 수 있으며 일반적으로 마이크 음소거를 해제하여 마이크 모니터 루프백을 얻을 수 있지만 이 기능이 작동하려면 잭이나 펄스를 사용해야 합니다. Jack이 왜 당신 밑에서 일하지 않는지 모르겠어서 도와드릴 수가 없어요. 미안해요.