IP-камера FFmpeg hls видео не воспроизводится в IOS - PullRequest
0 голосов
/ 13 июня 2019

Мы создали код узла, который создает видео 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 });
...