avconv를 사용하여 스크린캐스트를 만들려고 하는데 문제가 발생했습니다. 마침내 컴퓨터 출력과 마이크 입력을 녹음했는데 문제는 출력 파일에 병합되지 않는다는 것입니다. (나는 그것을 filter_complex amix=inputs 옵션으로 보았지만 이전 버전에만 있었습니다)
병합할 수 있는 다른 방법이 있나요? (후반 제작에서도 상관없습니다.)
이것은 내가 사용하는 명령줄입니다
avconv -f alsa -ac 2 -i pulse -f alsa -ac 2 -i hw:2,0 -filter_complex amix=inputs=2 -f x11grab -r 30 -s 1366x742 -i :0.0+1369,25 -map 0:0 -map 1:0 -map 2:0 -acodec flac -vcodec libx264 -preset:v superfast -crf 18 -threads 0 output.mkv
답변1
비슷한 필터가 있는 를 사용하여 이 작업을 많이 수행하므로 ffmpeg
이것이 도움이 될 것입니다. 이는 화면 캡처, 컴퓨터 오디오 입력 screen.avi
, 마이크 캡처 입력을 가정합니다 mic.wav
.
ffmpeg -i screen.avi -i mic.wav -filter_complex '[0:1][1:0]amix=inputs=2:duration=first[all_audio]' -map 0:0 -map '[all_audio]' -vcodec libx264 -crf 28 -preset slow -acodec mp3 out.avi
출력으로 들어가는 채널이 선택되었다고 생각합니다 -map
. 따라서 원래 명령줄을 디버깅하는 경우에는 손실 -map 1:0 -map 2:0
(즉, 병합되지 않은 입력을 출력에 매핑)하고 amix 플러그인의 출력 이름을 지정해야 한다고 생각합니다(예: 다음 all_audio
과 같이) . 내 예가 표시됨) 및 -map '[all_audio]'
(병합된 오디오를 출력에 매핑)이 있습니다. 하지만 나는 몰라 avconv
.