I guess is related to the implementation of the MediaFundation VLC part
As a second and automated workaround ( I did it for a project ) is to use a python script that can take arguments as input and spout as output, and you run it using ShellExecute
I was a code for a 3rd party project I can ask permision to upload it, but it
You can try this MWE of something similar using CEF and another python script that I ask chatGPT to build for me
import cv2
from flask import Flask, Response
app = Flask(__name__)
camera = cv2.VideoCapture(1)
def gen_frames():
while True:
success, frame = camera.read()
if not success:
break
else:
ret, buffer = cv2.imencode('.jpg', frame)
frame = buffer.tobytes()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
@app.route('/')
def video_feed():
return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)
Just google how to pass arguments to the python script, insted of calling the device number 0/1/2 you can pass a URL and it works