Как правильно транслировать видеофайл в сеть с помощью php или perl
Итак, я новичок в Perl и веб-разработке, но я надеялся получить некоторые рекомендации по следующей проблеме.
Сервер 1 транскодирует видео для меня и имеет конечную точку API для меня. Это даст мне поток файлов, который я хочу отправить в Интернет. Итак, ради проблемы скажем, что к ней обращаются по адресу:
server1:123\video_stream
Server2 - это мой веб-сервер, и я хочу иметь страницу, позволяющую нам получить доступ к этому файлу видеопотока
server2:80\web_stream
Я видел в PHP вы можете сделать readfile("server1:123\video_stream)
но весь video_stream будет считан в память перед выводом на страницу... или мне так сказали.
Я также видел в Perl, что вывод ffmpeg может проходить через open(DATA, $ffmpegProcess)
затем печать буфера, прочитанного из этого потока, на страницу web_stream...
Все это предполагает, что информация заголовка об атрибутах видео верна.
Будет ли это так же просто, как сделать запрос curl серверу 1 и вернуть этот поток вывода, как я уже могу с выводом ffmpeg?
Я не ищу полное решение, просто какое-то направление на лучший и самый правильный способ сделать это. Может быть, php и Perl не подходят для этого вообще?
2 ответа
ffserver кажется лучшим инструментом для использования. Это часть семьи ffmpeg.
PHP readfile() - хороший способ сделать это. Если вы прочитаете страницу руководства по PHP, вы узнаете, как справляться с различными возможностями чтения файла порциями и решения проблем с памятью.