nginx 스트리밍 미디어 서버 배포에 대한 글이 많았는데요, 오늘은 스트림을 MP4 파일로 트랜스코딩하여 저장하면서 서버로 푸시하는 방법에 대해 이야기하겠습니다.
1. 먼저 주의할 점은 exec 명령을 사용할 수 없다는 점입니다. 클라이언트 푸시 스트림이 끝나면 호출된 외부 프로그램이 자동으로 종료됩니다. 그 결과 ffmpeg는 결국 완전한 인코딩을 수행할 수 없습니다. 이 명령은 수신된 트래픽을 다른 주소로 푸시하는 데에만 적합합니다.application hls { live on; hls on; record all; record_path /home/zhanghui/test; #record_interval 10s; #record_append on; hls_path /tmp/app; hls_fragment 5s; # convert recorded file to mp4 format exec_record_done '/usr/local/bin/ffmpeg' -y -i /home/zhanghui/test/livestream.flv -vcodec libx264 -f mp4 /home/zhanghui/test/test_record.mp4 2>>/home/zhanghui/test/test_record.log; }
위 내용은 관련 측면을 포함하여 nginx 서버에서 멀티미디어 스트림의 녹음 및 트랜스코딩을 구현하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.