Привет, у меня есть живой потоковый код, и я передаю свою веб-камеру на локальном хосте.
Вот мой код файла потока
<?php function flush_buffers(){ ob_end_flush(); ob_flush(); flush(); ob_start(); } header('Content-Type: video/mpeg'); $stream = fopen( 'http://localhost:8080/stream.mp2v', "rb" ); #$save = fopen("save.mp4", "w"); while ( ! feof( $stream ) ) { $response = fread( $stream, 8192 ); echo $response; #fwrite($save,$stream); flush_buffers(); } fclose( $stream ); fclose($save); exit();
Что мне нужно сделать, так это записать эту прямую трансляцию одновременно в файл здесь, я указал save.mp4 в своем коде. Я пытался сделать это с помощью fwrite, но когда я запускаю программу с помощью этого кода, я мог видеть, что моя веб-камера работает, но она не может записывайте что-нибудь, чтобы save.mp4.I не думаю, что fwrite – подходящая функция для моей цели. Мне нужна помощь в этом вопросе. Что мне делать?
О, я понял свою ошибку. Я должен был написать fwrite ($ save, $ response); вместо fwrite ($ save, $ stream); и он работал таким образом.
Я думаю, вам нужно использовать другую технологию, чем PHP, чтобы делать то, что вы хотите. Но если вы хотите использовать PHP, я думаю, вы можете сохранить поток в файле и после преобразования его с помощью программного обеспечения для конвертирования. 🙂