Nano Hash - криптовалюты, майнинг, программирование

Обратный прокси-сервер Apache — сначала запустите скрипт

Я экспериментирую с доставкой видеоконтента с помощью VLC и обратного прокси-сервера Apache. Поскольку VLC может поддерживать потоковую передачу по http, я уверен, что он будет работать с обратным прокси-сервером Apache (я еще не пробовал, но не понимаю, почему это не сработает).

Прежде чем позволить Apache проксировать поток http-видео, я хотел бы сначала запустить скрипт. Есть ли возможность сделать это в Apache?

Если нет, может ли кто-нибудь придумать, как PHP сначала творит магию, а затем каким-то образом перенаправляет на http-видеопоток, не заставляя клиент VLC или Windows Media Player плакать? Сделав это таким образом, обратный прокси-сервер Apache должен будет указывать только на PHP-скрипт.

В любом случае, идея сценария заключается в запуске потокового сервера VLC.

Спасибо


Ответы:


1

если вы действительно хотите сделать это в apache, вы всегда можете написать свой собственный модуль :)

в качестве альтернативы вы можете использовать mod_rewrite с опция prg (перезаписать карту). где у вас в основном есть правило перезаписи, обработанное внешней программой. вы можете делать там все, что хотите (логирование и т. д.). не забудьте установить файл rewritelock, иначе вы испытывают странное поведение.

вы также можете сделать «все» в php, а затем использовать модуль apache mod_xsendfile, где вы просто передаете заголовок в php содержащий расположение файла в файловой системе.

он не будет раскрыт клиенту, но перехвачен модулем apache и будет обслуживаться apache. ваш процесс php будет регулярно завершаться.

это лучшие варианты из коробки, которые я могу придумать.

если ничего из этого не работает, потому что вам нужно поймать некоторые вещи во время или в конце передачи, вы можете просто повторить содержимое файлов с помощью php. с правильной буферизацией вывода вы можете добиться приемлемой производительности.

или вы можете выполнить некоторую постобработку файла журнала, если это решит вашу проблему.

25.12.2010
  • Не могли бы вы объяснить мне, как mod_xsendfile будет работать в моем контексте? Я немного запутался в порядке выполнения. Спасибо 26.12.2010
  • Хм, хорошо, я думаю, я понял. Пожалуйста, поправьте меня, если я ошибаюсь: пользователь перейдет на страницу php напрямую (например, example.org/out.php?stream=123). Этот PHP-скрипт будет выполнять поиск в БД, вести журнал и использовать mod_xsendfile для возврата видеопотока с сервера VLC. Поскольку каждый путь видеопотока возвращается БД, мне нужен только один виртуальный хост Apache для каждого видеопотока. Это звучит правильно? 26.12.2010
  • Только что понял, что mod_xsendfile может не работать, так как для моего видеопотока мне нужно отправить клиента на другой http-путь, а не в файл :( 26.12.2010
  • ну тогда у вас есть редирект. к другому источнику. тогда вам придется иметь дело с сервером vlc или, по крайней мере, с безопасными ссылками, поэтому они должны генерироваться вашим веб-сервером, который может регистрировать его, или использовать метод блокировки перезаписи. затем можете просто передать ваш запрос через ваш веб-сервер. но у вас будет двойной трафик. 26.12.2010
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..