두 개의 오디오 FIFO를 동시에 파이핑(하나에 데이터가 없을 수 있지만 우선순위가 높음)하여 단일 FIFO 출력으로

두 개의 오디오 FIFO를 동시에 파이핑(하나에 데이터가 없을 수 있지만 우선순위가 높음)하여 단일 FIFO 출력으로

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

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

나는 조사했다ffmpeg및 pulseaudio가 있지만 이러한 "선택적 재정의"가 가능한지 알 수 없습니다. Ffmpeg는 다음과 같이 나타납니다.다중 FIFO 입력에 버그가 있습니다.. 이상적인 솔루션은 또한 "좋은 소리"를 낼 것입니다. 즉, 방송이 이어지면서 스트림 사이에 1/4초 페이드를 수행할 수도 있습니다.

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

관련 정보