le vieux démon du stream m'a re-contaminé .
http://www.maartenbaert.be/simplescreen … r-avserver
http://nginx.org/en/download.html
https://github.com/arut/nginx-rtmp-module
quand j'aurais un moment compilerai en /local
Hors ligne
Hors ligne
pffff ...
j'utilisais ffmpeg +ffserver . J'ai retrouvé mes anciens fichiers de conf . Soit en asf (windows-media) soit en flv (h263+mp3) . Pas retrouvé celui qui donnait les meilleurs résultats et le plus léger : mpeg ts ( mpeg2 + mpga ) . Grrrr..
Mais refais divers essais de stream avec VLC et c'est bien le plus léger et de bonne qualité (le mpeg-ts ).
Tout de même , ayant plein d'autres choses à faire , j'ai fait quelques essais avec ce que j'ai trouvé ici :
http://wiki.labomedia.org/index.php/Flux_TaBec (merci Olivier & co)
soit pour moi (un peu dans le désordre et à affiner):
ffmpeg -f jack -i ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video11 -acodec aac -ab 128000 -ar 44100 -ac 2 -strict -2 -vcodec libx264 -crf 25 -s 640x480 -pix_fmt yuv420p -g 25 -vb 1k -profile:v baseline -level 3.0 -r 25 -f flv test.flv
pour adapter à mon patch Pd et vers un fichier vu que je n'ai aucune utilité vers un serveur de stream (et pas encore trouvé comment remplir la conf de ffserver pour ce genre de manip ).
même pas pris la peine de remettre ma carte son et jack à 44.1 (sont à 48) juste fait un ti v4l2loopback-ctl set-fps 25 (il était à 30) .
Ben résultat qualité : image quasi aussi bonne que mplayer ou vlc en direct sur le /dev/videoX
son idem
sortie std de ffmpeg indiquant un audioXrun par minute en moyenne ET à la relecture du flv effectivement un tremblement image aux mêmes temps que les Xrun (aucun dans jack) comme si elle voulait se recaler .
Pas parfait donc mais acceptable pour du stream .
Par contre, pas léger l'histoire : 180 % de cpu . Soit 45 % d'un 4 cœurs .
faut dire que je lui ai collé un film avec plein de particules en tous sens et un max de bruit
Dernière modification par sakramh (2015-01-06 10:17:59)
Hors ligne
Salut Sakramh,
Je suis tenu par mon serveur de stream de fournir du flv en conteneur...
citation :
Pas parfait donc mais acceptable pour du stream
Ben non, pas pour nous... Mais j'ai plus ou moins trouvé la solution tout de même.Il faut à présent que j'affine avec une carte son digne de ce nom et un vrai ordi, pas un truc de bidouille. Je vais entrer en phase de test de diffusion en parallele... On va voir si c'est acceptable. Dans tous les cas cela suffit tout à fait pour faire un backup de streaming si une autre machine plante...
J'ai bien entendu utilisé les sources d'Olivier / Labomedia au début de ma recherche. Mais pour tout dire je me suis fadé une bonne partie de la documentation de ffmpeg. Voici quelques lien utilie :
La doc complete de ffmpeg : https://www.ffmpeg.org/ffmpeg-all.html
Le streaming Guide ffmpeg : https://trac.ffmpeg.org/wiki/StreamingGuide
Encoding Streaming Guide de ffmpeg : https://trac.ffmpeg.org/wiki/EncodingForStreamingSites
Les reglages particuliers pour le streaming sur YouTube : https://gist.github.com/olasd/9841772
Le blog de Fabio Sonnati, instructif sur le h264 : http://sonnati.wordpress.com/
Voila entre autre, mes sources...
Enfin, je creuse actuellement vers gstreamer afin de voir si c'est plus fiable/efficace... Mais je n'en suis qu'au stade de la découverte...
Hors ligne
citation :
Je suis tenu par mon serveur de stream de fournir du flv en conteneur...
ben c'est ce que je proposais ci-dessus .
quand aux liens je vois que l'on a visité les mêmes ...
je suis monté à "crf 24" plus de tremblements image sur les audioXrun mais craquements sur l'audio . va comprendre
-tune zerolatency met le dawa .
Je pense aussi qu'un ordi avec deux cpu modernes le ferait mieux . Les noyaux Debian supportent 16 cœurs en standard (ubuntu probablement aussi) . Je bosse sur un Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz (un peu juste)
Dernière modification par sakramh (2015-01-06 12:07:45)
Hors ligne
sakramh a écrit:
tepaze a écrit:
Je suis tenu par mon serveur de stream de fournir du flv en conteneur...
ben c'est ce que je proposais ci-dessus
Ah oui, pardon...
Mais pour le coup, j'utilise -tune zerolatency dans mes réglages, et cela va bien mieux... Sinon, c'est inaudible / inregardable en -preset medium...
Le CPU :
Core i5 M 480 @ 2.67GHz
Pas de carte graphique dédié.
Dernière modification par Tepaze (2015-01-06 16:33:35)
Hors ligne
http://ytlive.blogspot.fr/2013/03/youtu … tings.html
citation :
Mais j'ai plus ou moins trouvé la solution tout de même
ha ! on peut savoir ?
Dernière modification par sakramh (2015-01-07 14:01:38)
Hors ligne
Mon dernier code de test :
./ffmpeg/ffmpeg \ -f v4l2 -i /dev/video23 \ -f jack -i ffmpeg \ -filter_complex "[0:v] scale=640:360, boxblur=luma_radius=0.9:luma_power=1:chroma_radius=0.9:chroma_power=1, yadif=0:0:0" \ -pix_fmt yuv420p \ -vcodec libx264 -threads 2 -profile:v baseline -level 3.1 \ -r 25 -g 125 \ -crf 21 -crf_max 33 -preset medium -tune zerolatency \ -maxrate $1k -bufsize $((5*$1))k \ -acodec libfdk_aac -ac 2 -b:a 40k -ar 22050 -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 \ -f flv rtmp://
Donc ce ne doit pas être loin de ce que je vais utiliser... Mais ce n'est pas encore définitif... Me souviens plus de l'effficacité de la ligne de ré-encodage du son... A retirer si nécessaire...
Hors ligne
Merci .
Je vois que le désentrelacement a disparu : je pigeais pas trop pourquoi ( mais c'est vrai que si c'est du xDV à l'origine ...)
Sauf que les vloopback sortent en standard du RAW YUYV à 30 ips . Réglable avec v4l2loopbak-ctl . V4l2-ctl (un autre outil, voir les man des deux) donne les specifs des /dev/videox . Autant les caler pour soulager ffmpeg . Idem la carte son et jack .
baseline -level 3.1 : ben oui tout le monde a pas un truc à la pomme dernier cri . Fonctionne sur un androïd de base . Mais comme d'hab. c'est une jungle (en standard mon phone ne lit que du h263) .
Bon courage .
Ha ! me sert intensément de ajsnapshot depuis peu . Le ladish du pauvre . M'énervait surtout de repatcher ffmpeg à chaque fois .
note: dans le dernier code sur git/v4l2loopback y'a deux choix de "interlace" .
Dernière modification par sakramh (2015-01-07 22:31:46)
Hors ligne
Il y a toujours le désentrelacement (yadif=0:0:0), sauf que je l'ai intégré dans -filter-complex. Notre source est un ATEM en 1080i25
Mais je le redis, ce n'est qu'un code de base qui va être adapté lors de nos test en grandeur nature :-)
Hors ligne
Pages: 1 2