스트리밍을 위한 ffmpeg/avconv의 입력으로 명명된 파이프 사용

스트리밍을 위한 ffmpeg/avconv의 입력으로 명명된 파이프 사용

그래서 저는 .wav(또는 다른 종류의 사운드) 파일을 명명된 파이프/FIFO에 공급하고 파이프를 ffmpeg의 입력 소스(ffserver 피드를 출력으로 사용)로 사용하려는 상황에 있습니다.

이것은 내가 얻은 것입니다(ffserver가 이미 실행 중이고 내 문제와 관련이 없다고 생각합니다).

$ mkfifo 오디오.wav

$ mplayer -ao pcm:file=audio.wav soundfile.wav &
[2] 30864
`ff_codec_bmp_tags' 기호는 공유 객체의 크기가 다릅니다. 다시 연결하는 것을 고려하십시오.
MPlayer 1.0rc4-4.5.2 (C) 2000-2010 MPlayer 팀

[2]+ mplayer 중지됨 -ao pcm:file=audio.wav soundfile.wav

$ avconv -f wav -i audio.wav http://127.0.0.1:8090/feed1.ffm
avconv 버전 0.8, Copyright (c) 2000-2011 Libav 개발자
  2012년 3월 16일 15:30:40에 gcc 4.5.2로 구축됨

(여기서 멈추면 다른 어떤 것도 출력되지 않습니다)

그러나 ffmpeg는 프로세스가 중단된 것처럼 보이며 바로 거기에 멈춰 있고 ffmpeg가 아무 작업도 수행하지 않는 것처럼 보이며 최종 피드가 비활성화된 것 같습니다. ff_codec_bmp_tags와 관련된 경고도 관련이 없는 것 같습니다.

나는 사람들이 이것에 매우 가까운 일로 성공한 것처럼 보이는 몇 가지 포럼 스레드를 읽었지만 내가 뭔가 잘못하고 있는 것 같습니다. 왜 이런 일이 발생하는지 알려줄 수 있는 사람이 있다면 정말 감사하겠습니다. 소스를 사용하고 있는 것이 FIFO임을 나타내기 위해 사용해야 하는 플래그가 있습니까?

미리 감사드립니다.

답변1

mplayer는 터미널을 사용하려고 합니다. 이것이 백그라운드( )에서 중지되고 모든 것이 차단되는 이유입니다 [2]+ Stopped. 프로그램마다 별도의 터미널을 사용하는 것이 좋습니다. 일반 터미널 창이나 screen또는 tmux. 또 다른 옵션은 nohup mplayer.

답변2

mplayer -noconsolecontrols -ao pcm:file=audio.wav soundfile.wav &

관련 정보