Как правило, вы захотите поместить H.264 в видеоконтейнер, такой как MP4 или AVI.
Например, может использоваться переход от необработанного кадра к протоколу потоковой передачи для онлайн-видео:
- битовый массив необработанных пикселей
- кодированный необработанный пиксель (кодированный egh264)
- кодированный видеопоток, упакованный в контейнер с аудиопотоками, субтитрами и т. Д. c (например, контейнер mp4)
- контейнер разбит на «куски» или сегменты для потоковой передачи (на iOS с использованием формата потоковой передачи HLS).
Еще один распространенный подход - камера направляет контент на выделенный потоковый сервер и затем на сервер предоставлять потоки конечным устройствам, используя потоковый протокол, такой как HLS или MPEG DA SH. Пример (на момент написания, и он, кажется, постоянно обновляется), показывающий поток с камеры, использующей RTSP на сервер, а затем HLS или MPEG DA SH с сервера, приведен здесь:
Если ваш вариант использования прост, вы, возможно, не захотите использовать потоковый протокол сегментированной ABR, такой как HLS или MPEG-DA SH, поэтому вы можете просто потоковая передача файла mp4 с обычного HTTP-сервера.
Один из подходов к этому, который позволит вам опираться на примеры других, - это использовать openCV в Python - вы можете увидеть пример в этом вопросе и ответы на него. видеокадры в контейнер AVI или MP4: Запись видео в формате mp4 с использованием python opencv
После создания файла MP4 вы можете поместить его в папку и использовать обычный HTTP-сервер для сделайте его доступным для загрузки или потоковой передачи пользователями.
Обратите внимание, что если вы хотите передавать кадры в потоковом режиме, то есть когда вы создаете их один за другим, это сложнее, так как вы не У mply есть полный файл MP4 для потоковой передачи. Если вы действительно хотите это сделать, то лучше начать с использования существующей реализации - этот пример является примером прямого эфира на основе веб-сокета, и я использую открытый исходный код и Python на основе: