Configuració del proxy HTTP d'OpenCV VideoCapture amb el backend FFmpeg
Passa l'opció de proxy HTTP de FFmpeg mitjançant OPENCV_FFMPEG_CAPTURE_OPTIONS quan VideoCapture faci servir explícitament aquest backend.
VideoCapture delega la xarxa al backend que ha seleccionat. Amb una compilació d'OpenCV que inclogui FFmpeg, una URL de vídeo HTTP pot rebre l'opció http_proxy de FFmpeg a través de l'entorn d'opcions de captura:
import os
os.environ['OPENCV_FFMPEG_CAPTURE_OPTIONS'] = (
'http_proxy;http://proxy.example:8080'
)
import cv2
capture = cv2.VideoCapture(
'http://media.example/video.mp4',
cv2.CAP_FFMPEG,
)
try:
if not capture.isOpened():
raise RuntimeError('Video input did not open')
ok, frame = capture.read()
finally:
capture.release()
El backend FFmpeg d'OpenCV analitza la cadena d'opcions com a parells clau;valor, amb una barra vertical entre diversos parells. L'exemple defineix l'entorn abans d'importar OpenCV i sol·licita explícitament CAP_FFMPEG.
FFmpeg documenta http_proxy com a URL de proxy del protocol HTTP; la llista de proxys HTTP ofereix candidats per a una ruta pública de mitjans HTTP. Això no configura un backend de captura no relacionat, una càmera local ni trànsit RTSP/UDP arbitrari.
Comprova el backend i les capacitats de FFmpeg de la compilació real d'OpenCV. Un valor de proxy no pot afegir un backend ni un descodificador que faltin.
Obrir l'entrada de mitjans i descodificar un fotograma també són resultats separats. Una fallada del còdec després d'una descàrrega correcta no s'ha de presentar com a prova que el proxy era inabastable.