Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie die Aufzeichnung und Transkodierung von Multimedia-Streams auf dem Nginx-Server
Es gab viele Artikel über die Bereitstellung des Nginx-Streaming-Medienservers. Heute werde ich darüber sprechen, wie man den Stream auf den Server überträgt, während er in eine MP4-Datei transkodiert und gespeichert wird. Die Hauptverwendung ist hier ffmpeg.
1. Als Erstes ist zu beachten, dass der Befehl exec nicht verwendet werden kann. Das aufgerufene externe Programm wird automatisch beendet, wenn der Client-Push-Stream endet. Das Ergebnis ist, dass ffmpeg am Ende keine vollständige Codierung durchführen kann. Dieser Befehl eignet sich nur zum Pushen des empfangenen Datenverkehrs an andere Adressen.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; }
Das Obige stellt vor, wie man die Aufzeichnung und Transkodierung von Multimedia-Streams auf dem Nginx-Server realisiert, einschließlich der relevanten Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.