Мы создали код узла, который создает видео HLS IP-камеры из ffmpeg.
Теперь он работает в настольных браузерах и устройствах Android с использованием проигрывателя React-hls на основе videojs
Itне работает на IOS, я приложил пример кода для потока.
Также я проверил с помощью flowplayer, который работает на IOS с образцом потока hls видео, но не воспроизводит поток с нашей камеры.
Вот Пример видео hls видео, которое работает IOS
Также я прикрепил скриншот или оба видео с информацией о кодеке.
Видео 1: Наша камера Stream (неРабота на IOS) Видео 2: пример видео Flowplayer (не работает на IOS)
Вот Пример примера видеокодека
Вот пример nodejsкоторый используется для создания потока HLS с RTSP IP-камеры в реальном времени с использованием FFMPEG.
this.ffmpeg = child_process.spawn(`${process.cwd()}/ffmpeg/bin/ffmpeg.exe`,
[
"-fflags", "nobuffer",
"-i", url, "-y",
//"-vcodec", "libx264",
"-c:v", "h264",
"-preset:v", "ultrafast",
"-acodec", "aac",
"-ac", "1",
"-strict", "-2",
"-crf", "30",
"-profile:v", "baseline",
"-maxrate", "400k",
"-bufsize", "535k",
"-pix_fmt", "yuv420p",
"-r", "30",
"-flags", "-global_header",
"-hls_time", "10",
"-hls_list_size", "4",
//"-hls_wrap", "4",
"-hls_flags", "delete_segments+append_list+omit_endlist",
"-hls_base_url", "segment/",
"-start_number", "1",
"-s", (size || '568x320'),
`public/${this.camId}/out_${util.storeId}_${this.camId}_.m3u8`,
//"-vcodec", "libx264",
"-c:v", "h264",
"-preset:v", "ultrafast",
"-acodec", "aac",
"-ac", "1",
"-strict", "-2",
"-crf", "30",
"-profile:v", "baseline",
"-maxrate", "2996k",
"-bufsize", "4200k",
"-pix_fmt", "yuv420p",
"-r", "30",
"-flags", "-global_header",
"-hls_time", "10",
"-hls_list_size", "4",
//"-hls_wrap", "4",
"-hls_flags", "delete_segments+append_list+omit_endlist",
"-hls_base_url", "segment/",
"-start_number", "1",
"-s", (size || '1280x720'),
`public/${this.camId}/out_${util.storeId}_${this.camId}_720.m3u8`
], { detached: true });