Member 14631177 Ответов: 0

Как отобразить в браузере и изменить локальное видео хоста без включенных в opencv функций?


I've Python code that enables capture and size modification of a video content stored in a local file (there is source written by Flask):
   

import cv2
import time
    
    
from flask import render_template, Flask, send_from_directory, abort, json, \
       Response  
    
app = Flask(__name__)
   
@app.route("/")
def index():
   """Video streaming home page."""
   return render_template('index.html')
    
def gen():
   """Video streaming generator function."""
   while True:
      cap = cv2.VideoCapture('/var/media/something.ts')
    
      # Read until video is completed
      while (cap.isOpened()):
         # Capture frame-by-frame
         ret, img = cap.read()
         if ret == True:
            img = cv2.resize(img, (0,0), fx=1.5, fy=1.5)
            frame = cv2.imencode('.jpg', img)[1].tobytes()
            yield (b'--frame\r\n'b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
            time.sleep(0.1)
         else:
            break
    
@app.route('/video_feed')
def video_feed():
  """Video streaming route. Put this in the src attribute of an img tag."""
  return Response(gen(),
                  mimetype='multipart/x-mixed-replace; boundary=frame')
    
if __name__ == '__main__':
  app.run(host = "0.0.0.0", port = '5000')


Во время работы программы видео воспроизводится в браузере на порту 5000, хорошо. Интересно, есть ли какой-нибудь альтернативный вариант отображения контента таким же образом, но без каких-либо функций OpenCV, таких как " VideoCapture` или `resize`. Это можно добраться, что делать? Какие модули и функции Python могут заменить инструкции, подобные тем, что используются в OpenCV?

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

Я искал любые OpenCV-независимые решения всякий раз, когда в интернете, но кодовый материал, который я нашел, включает в себя только эту библиотеку, которую нужно удалить.

0 Ответов