Member 14631177 Ответов: 0

Как установить нормальную скорость воспроизведения после захвата и перекодирования потокового видео с помощью ' ffmpeg_streaming` в проекте Python?


С помощью ffmpeg_streaming модуль в веб-проекте Python с Flask, я пытаюсь настроить потоковое видео с онлайн - камеры в локальный файл. Моя цель-сохранить входной поток, который поставляется в виде HLS-совместимых данных. Чтобы реализовать это свойство, я вставил некоторый код, доступный с помощью этого ссылка


import ffmpeg_streaming
    from ffmpeg_streaming import Formats, Bitrate, Representation, Size
    
    from flask import render_template, Flask, send_from_directory, abort, json, Response  
    
    import sys
    
    app = Flask(__name__)
    
    video = ffmpeg_streaming.input('http://wmccpinetop.axiscam.net/mjpg/video.mjpg')
    
    _480p = Representation(Size(854, 480), Bitrate(750 * 1024, 192 * 1024))
    hls_stream = video.hls(Formats.h264(), hls_list_size = 10, hls_time = 5)
    hls_stream.representations(_480p)
    hls_stream.output('/var/media/hls_outputs.m3u8')

Он работает так, как и ожидалось, то есть видеопоток записывается в локальный файл, после чего я могу видеть, что камера сняла где-то далеко оттуда...Но здесь возникает единственная проблема, с которой я не могу справиться: как только начинается воспроизведение, видео отображается очень быстро. Почти 2-минутный период, охватываемый камерой (я вижу, как долго закончилось реальное время из-за встроенной в камеру опции таймера), имеет продолжительность 5 секунд при воспроизведении. Итак, как я хочу включить скорость видео так же, как она вписывается в Реальное время? Моя ОС-Ubuntu 18.04 LTS, и я открываю файл с предустановленным приложением "видео" для просмотра контента.

Что я уже пробовал:

Я протестировал эту программу с различными hls_list_size и hls_time парамы тоже, но проблема, похоже, не имеет к ним никакого отношения. В интернете нет никакой информации, как справиться с этим немедленно и в коде Python.

0 Ответов