mplayer를 사용하여 명명 된 파이프를 통해 파일 스트림을 재생하고 싶습니다.Mplayer 및 파이프 스트리밍
here 나는 을 읽었습니다. MPlayer는 stdin (명명 된 파이프가 아님)에서 읽을 수 있습니다.
명명 된 파이프는 여전히 bash는 스크립트에서이 방법을 사용할 수 있습니다 :
mkfifo pipe
cat pipe | mplayer -cache 1024 -cache-min 10 -really-quiet - &
cat test.wav > pipe
이의 문제는 MPlayer와는 EOF를 수신 한 후, 그것을 종료와 나 '동안 둘 이상의 파일을 전달할 수 없다는 것입니다 파이프를 통해 파일을 계속 재생하려면 mplayer를 좋아하십시오. 문제는 파이프를 유지하는 것을 의미 다음 스크립트는, 영감을 연되는 this에 어떻게 든 비슷하다
mkfifo pipe
cat pipe | mplayer -cache 1024 -cache-min 10 -really-quiet - &
exec 3>pipe
cat test1.wav >&3
cat test2.wav >&3
..
exec 3>&- # close the pipe
파이프가 참으로 열려; 그러나 이제 mplayer의 캐시가 채워지더라도 파이프를 닫지 않으면 재생이되지 않습니다.이 경우 첫 번째 파일 만 재생됩니다. 파일 다음에 EOF 신호를 보내려고했습니다.
mkfifo pipe
cat pipe | mplayer -cache 1024 -cache-min 10 -really-quiet - &
exec 3>pipe
cat test1.wav >&3
echo >&3
..
exec 3>&- # close the pipe
그래도 운이 없습니다.
mplayer를 명명 된 파이프에서 스트림 플레이어로 사용하는 방법에 대한 제안 사항이 있으십니까?
안녕 @RiccardoPetraglia 메모리 사용량, 그리고 감사 ... 코멘트 너무 길다 데이터를 입력 할 때 데이터를 재생하는 것이 바람직한 동작을 생성하지 않습니다. 하지만 어쩌면 이것은 단지 mplayer가하기위한 것이 아닙니다. :) –