두 개의 오디오 FIFO(그 중 하나는 데이터가 없을 수 있지만 우선순위를 가짐)를 단일 FIFO 출력으로 동시에 전송합니다.

두 개의 오디오 FIFO(그 중 하나는 데이터가 없을 수 있지만 우선순위를 가짐)를 단일 FIFO 출력으로 동시에 전송합니다.

나는스냅 사진3개의 오디오 스트림(fifo)으로 구성된 오디오 서버:음악,방송, 그리고산출. 내 스피커는 다음에서 재생됩니다.산출스트림을 사용하면 내 음악 플레이어가 입력을 다음으로 전송합니다.음악개울. 다음을 사용하여 스피커에서 들을 수 있도록 음악을 출력으로 성공적으로 스트리밍할 수 있습니다.cat /tmp/music > /tmp/output

이제 "재정의" 기능을 구현하고 싶습니다.방송흐름 원인산출도착하다대신에플레이(경고)방송, 일시적으로 스트림을 무시합니다.음악방송이 끝날 때까지. 그러나 대부분의 경우/tmp/방송비어 있고 입력이 없습니다. 단순히 콘텐츠를 보려고 해도 dd bs=1 count=1 if=/tmp/broadcast방송에서 데이터를 사용할 수 있을 때까지 터미널이 정지됩니다. 그래서 나는 다음과 같은 것을 시도합니다.스트림 병합실패했습니다.

나는 조사했다ffmpeg및 pulseaudio가 있지만 이 "선택적 재정의"가 가능한지 알 수 없습니다. FFmpeg는 더 보인다다중 FIFO 입력에 오류가 있습니다. 이상적인 솔루션은 또한 "소리가 좋아야" 합니다. 즉, 방송이 이어지면 스트림 간에 1/4초 페이드를 수행할 수도 있습니다.

편집하다달리기 Ubuntu Desktop 18.04. 이런!

관련 정보