![ogg/vorbis 데이터를 동적으로 추가하는 방법은 무엇입니까?](https://linux55.com/image/79185/ogg%2Fvorbis%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC%20%EB%8F%99%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
아이스캐스트를 기반으로 온라인 방송을 진행하고 있습니다. 트랙 등을 유연하게 정리할 수 있도록 소스 코드 클라이언트를 직접 작성했습니다. 라디오에서 트랙을 재생하기 위해 Python 코드에서 2개의 하위 프로세스를 실행합니다. ffmpeg는 파일을 디스크에서 WAV로 디코딩한 다음 oggenc로 인코딩된 출력을 리디렉션합니다. 각 트랙에 대해 다음과 같습니다.
ffmpeg -i foo_bar.mp3 -acodec pcm_s16le -ac 2 -f wav pipe:1 | oggenc - -b 128 --managed -o -
재생할 새 트랙이 나올 때까지는 정상적으로 작동합니다. 때때로 플레이어가 이상하게 행동하기 시작합니다. 예를 들어 mplayer가 멈추고 종료되고, vlc가 속도를 변경하고 소름 끼치는 소리를 내기 시작할 수 있습니다.
가장 간단한 해결책은 oggenc를 영원히 실행하고 stdin에서 읽는 파형을 대체하는 것입니다. 그러나 덜 까다로운 방법으로 이를 수행하는 방법을 모르겠습니다. 소스 클라이언트의 안정성에 영향을 미치므로 여기서는 복잡한 문제를 피하고 싶습니다. 어떻게 생각하나요?
감사해요