Configuration du stream de motion sur le plugin camera

Bonjour,

Sur le plugin motion je proposait une visualisation du flux de la camera.
La complexité d’afficher un flux est normalement gérer par le plugin Camera.
Je souhaiterai donc alléger mon plugin pour rendre cette tache a un plugin qui le gerer mieux

Motion permet donc de streamer un flux d’une camera USB au format MJPEG.
Si je configure se flux dans le plugin camera avec une adresse de cette forme, http://#Utilisateur#:#Pass#@192.168.0.100:8081/stream, je n’ai aucune image.
Si je l’utilise dans VLC j’ai bien mon flux ainsi que sur le player de Motion.

J’ai donc ajouté des log au plugin camera pour avoir un resultat de la conversion de avconv

ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --prefix=/usr --extra-version=‹ 1~deb9u1 › --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
http://user:pass@192.168.0.100:8081/stream: Invalid data found when processing input

Je ne sais pas trop ou chercher
Y a t’il quelqu’un pour m’aidé a comprendre le probleme

Bonjour,
Sur ton plugin motion comment fais tu actuellement pour que jeedom affiche le flux vidéo ?

C’est un flux MJPEG donc j’affiche directement dans une image
Comme elle est local, je passe par une page de stream

<?php
require_once dirname(__FILE__) . '/../../../../core/php/core.inc.php';
set_time_limit(120);
$url=urldecode($_REQUEST['url']);
$timeout = time();
$src=@fopen($url,"rb");
if(!$src){
	log::add('motion','debug','Impossible d\'ouvrir le flux video '.$url);
	$src=@fopen('plugins/motion/core/template/icones/no-image-blanc.png',"rb");
}
if($src){
	header('Max-Age: 0');
	header('Expires: 0');
	header('Cache-Control: no-cache, private');
	header('Pragma: no-cache');
	#header('Content-Type: video/mpeg'); 
	header('Content-Type: multipart/x-mixed-replace; boundary=BoundaryString');
	while ( !feof($src) ) {
		echo  fread($src, 2048);
		/*if ( (time() - $timeout) >= 120 ) {
			exit();
		}*/
	}
}
?>

Ok effectivement la le plugin caméra le fait pas plusieurs possibilités :

  • lors de la création de la caméra sur le plugin caméra dans url de capture tu lui donne le lien vers ton PHP (tu peux rajouter une sécurité avec une clef)
  • tu trouves comment faire avec avconv pour a partir d’une flux http convertir en une image

Dans le plugin camera je luis donne l’url local, c’elle que j’envoi a mon stream
http://user:pass@192.168.0.100:8081/stream
le plugin camera vas faire la meme chose que mon stream, c’est a dire copier une image sur une camera local

Le plugin camera ne prend pas en charge la conversion en HTTP?
Pourtant je l’utilise avec une autre camera

Là tu donne une URL de flux en http le plugin caméra ne sait pas me gérer c’est soit une URL avec image fixe soit une URL de flux rtsp.

J’ai pourtant une autre camera avec un URL en http qui fonctionne

Je vais essayer de chercher une conversion avconv qui fonctionne.