AstroFlux
De Centre de Ressources Numériques - Association Labomedia
Astroflux - Streaming live de concert en mode multi camera
Schéma de principe
Principes de fonctionnement
- 4 caméras filment le concert en direct
- Ces 4 flux rentrent dans un ordinateur-régie vidéo numérique et sont encodés pour être envoyés sur le serveur de Streaming
- Un opérateur dans la salle de concert réalise un mixage d'images et envoie un 5ème flux déjà réalisé sur le serveur
- Le serveur transcode ces 5 flux en différents formats pour les rendre accessibles à de nombreux terminaux (ordi, tablettes, téléphones, téléviseurs connectés)
- Les internautes voient les 4 flux bruts sur leur écran sous la forme de petites vignettes, ils ont la possibilité de faire leur propre réalisation en choisissant le flux à afficher sur le grand écran
- Les internautes peuvent à tour de rôle prendre le contrôle d'une caméra asservie constitutive de l'un des 4 flux
Dossier de présentation du projet
Cahier des charges Astroflux
Captation
Caméras
- Canon XF300 http://www.canon.fr/For_Home/Product_Finder/Camcorders/professional/XF300/
- Caméras asservies Axis http://www.axis.com/fr/products/video/selector/ Caméra IP Axis Network Camera 214 PTZ ? ou http://www.axis.com/fr/products/cam_p5534/index.htm
- Caméras asservies Panasonic http://www.panasonic.fr/html/fr_FR/5577381/module/general/compare/productsCategory.html
- http://fr.gopro.com/cameras/hd-hero2-outdoor-edition/#specs
Transfert des signaux
Sans fils
- http://www.visualsfrance.com/vente-cw_5hd_emetteur_recepteur_hf_video_hd-2938.html
- Minicaster, boitier qui peut transmettre en wifi / lan http://www.minicaster.com/shop/
- Une solution qui a l'air sympathique http://www.bhphotovideo.com/c/product/870452-REG/Cerevo_USA_CDP_LS01_LiveShell_USTREAM_Compatible_Device.html
Avec fils
- http://www.matrox.com/graphics/en/products/video_distribution_over_ip/maevex/
- hdmi <> rj45 http://www.ldlc.com/fiche/PB00095572.html
Acquisition et numérisation des signaux
- Comparatif cartes d'acquisition http://www.videohelp.com/capturecards
- Blackmagic http://www.blackmagic-design.com/
- Blackmagic Decklink http://www.blackmagic-design.com/products/decklink/
- Blackmagic Quad http://www.blackmagic-design.com/products/decklinkquad/models/
- Config Blackmagic pour Linux http://www.blackmagic-design.com/media/3914024/Blackmagic_Desktop_Video_Linux_9.5.txt
- http://www.streamakaci.com//fr/offres/streamakaci_shop_cartes_acquisistions_video.html
- CP Linux http://www.pchdtv.com/
Type de signaux/connectiques
Encodage et envoie vers le serveur
Régie vidéo analogique
- http://www.broadcast-news.fr/sony-mcs8m/ (6000 €)
- http://www.vixid.com/index.php?m=4&rub=3&lang=fr (2500 € HT)
Encodeur software
- http://www.softron.tv/products/moviestreamerhls.html
- http://www.toolsonair.com/2011/products_acquire.html
- http://code.google.com/p/open-broadcast-encoder/
- http://www.adobe.com/fr/products/flash-media-encoder.html
- http://www.telestream.net/wirecast/overview.htm
- http://www.casparcg.com/ serveur de medias pour modifications à la volée
Régie vidéo numérique, Encodeur hardware
- Tricaster, de la gâterie : http://www.newtek-europe.com/uk/products/tricaster/tricaster.html
- http://www.digital-rapids.com/Products/IndividualProducts/StreamZ%20Live.aspx
- http://www.lenvol.net/fiches-techniques-de-materiel-video/sony-anycast.html (19500 $) et http://www.repaire.net/news_tests_tutos/news/sony_anycast_station_%3a_version_hd_20070318566/
- http://store.livestream.com/products/livestream-studio-hd500
Liasons symétriques haut débit
Serveurs de streaming - solutions
Comparatifs
- Comparatif des solutions : http://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems
- Comparaison Wowza vs FMS vs Red5 : http://askmeflash.com/article/10/comparison-wowza-vs-fms-vs-red5
- http://blog.eltrovemo.com/364/diy-broadcast-how-to-build-your-own-tv-channel-with-open-source-other-goodies/
Solution 1 Prêt à l'emploi service commercial grand public
- http://justin.tv
- uStream.tv + article à ce sujet
- Youtube : pas de possibilité de diffuser en live pour les particuliers. Pour le moment réservé aux grands diffuseurs et personnalités de youtube.
- Dailymotion : a priori c'est possible, il faut d'abord un compte Official User. La doc pour les live c'est par là et par là. On peut encoder gratuitement (ou en payant une licence pas chère) avec FlashMediaEncoder ou xSplit. MAIS, a priori on ne peut faire qu'un seul live par compte official user, ou alors faut demander pour projet spécifique là : liveshow@dailymotion.com
Solution 2 Prêt à l'emploi service commercial professionnel
- Comparatif de services de video encoding/streaming/provider : http://www.vidcompare.com/find-online-video.php?searchType=list&fid=95&sd=5&view=grid&sp=liv
- http://livetranscoding.com/pricing.html
- http://new.livestream.com/broadcast-live/pricing-plans?utm_source=internal&utm_medium=button&utm_campaign=missingfeatures
- http://entropywave.com/products/1000-series-hardware/
- http://www.bitgravity.com Tata from India !
- http://www.influxis.com/index.php/pricing/wowza/
- http://www.streamingvideoprovider.co.uk/
- http://www.streamzillacdn.com/true-streaming/
- http://www.unified-streaming.com/pricing/
- Vidiator : http://www.vidiator.com/products-services/products/xenon-streaming-server-xss/
- Abdeus : http://www.abdeus.com/fast-channel-switching.htm
- http://nanocosmos.de/v4/en/products/overview.html
Solution 3 Prêt à développer Serveur de stream propriétaire
- Wowza : http://www.wowza.com/ serveur de stream bien documenté
- Demo Wowza http://www.wowza.com/demo
- Wowza Transcoder AddOn Performance Benchmark : http://www.wowza.com/forums/content.php?332-Wowza-Transcoder-AddOn-Performance-Benchmark
- How to setup and run Wowza Transcoder http://www.wowza.com/forums/content.php?304
- Wowza vs Android http://www.wowza.com/forums/showthread.php?18584-Streaming-on-Android
- How to lock multi-bitrate stream on Liverepeater edge http://www.wowza.com/forums/content.php?401-How-to-lock-multi-bitrate-stream-on-Liverepeater-edge
- "If you want to jump randomly on the timeline without caring how much video has been downloaded" http://flowplayer.org/docs/#server-side
- A voir :
Solution 4 A développer Serveur de stream libre
- Entropywave http://code.entropywave.com/entropy-wave-streaming-server/ http://code.entropywave.com/git?p=ew-stream-server.git;a=summary
- Flumotion : http://flumotion.net
- http://fad.ensg.eu/eENSG/Le-serveur-de-streaming-Flumotion.html
- Gstreamer H264 HTTP Test Stream Generator http://www.async.fi/2011/03/h264-http-test-stream-generator/
- Test Flumotion 0.8 http://blog.nicolargo.com/2010/11/installation-et-test-de-flumotion-0-8.html
- Kaltura http://www.kaltura.org
- VLC http://wiki.videolan.org/Documentation:Streaming_HowTo_New
- Tableau des formats de transcodage possibles avec VLC http://www.videolan.org/streaming-features.html
- Dash.js Dynamic Adaptive Streaming over HTTP http://www-itec.uni-klu.ac.at/dash/
Data Center
Serveurs de stream hardware
- Dedibox http://www.online.net/serveur-dedie/offre-dedibox-entreprise-hp.xhtml
- OVH Pro http://www.ovh.com/fr/serveurs_dedies/hg_2012.xml
- OVH Sandy bridge http://www.ovh.com/fr/serveurs_dedies/hg_2012_details.xml
Players de Stream
- Générer un player custom http://www.osmf.org/configurator/fmp/ <==== ça peut tjs servir
- des exemples player HTML5 http://developer.longtailvideo.com/player/trunk/fl5/js/test/examples/
Partenaires potentiels
Nationaux
- http://www.lafonderie-idf.fr/ (où est la région centre ?)
- http://www.lehub-agence.com/
- Kawenga (Montpellier) stream et téléprésence
- Lieu multiple (Poitiers) stream et téléprésence
- Selfworld http://www.selfworld.net/ wiki : http://selfworld.name/?n=SelfWorld.HomePage
Locaux
- http://www.trictrac.tv/ (stream tech)
- http://www.nekoe.fr (ergonomie interface)
Exemples de sites proposant de la VOD ou du streaming
- CAMJI
- Grand Mix
- http://www.moshcam.com/
Références complémentaires
Les formats vidéo du stream
- Des éléments génériques sur les formats vidéo supportés par les différents fureteurs / OS http://diveintohtml5.info/video.html
- Les formats du HTML5 : http://en.wikipedia.org/wiki/HTML5_video http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5_Media%29 http://en.wikipedia.org/wiki/Comparison_of_HTML5_and_Flash
- Flash vs iOS : http://www.overdigital.com/2011/12/27/hls-vs-hds-what-is-the-difference-and-why-you-should-care/
- Vidéo "Case study - Broadcast and Web Streaming with Gstreamer" : http://gstconf.ubicast.tv/videos/case-study-broadcast-and-web-streaming-with-gstreamer/
- Synchro with Gstreamer http://gstconf.ubicast.tv/videos/displaying-sychronized-video-2/
- HTML5 video and H.264 – what history tells us and why we’re standing with the web http://www.0xdeadbeef.com/weblog/2010/01/html5-video-and-h-264-what-history-tells-us-and-why-were-standing-with-the-web/
- H.264 Royalties: what you need to know http://www.streaminglearningcenter.com/articles/h264-royalties-what-you-need-to-know.html
- Google WebM pour concurrencer le H.264 http://www.presence-pc.com/actualite/WebM-Google-39382/
- http://www.appleinsider.com/articles/12/03/14/mozilla_considers_h264_video_support_after_googles_vp8_fails_to_gain_traction.html7
- Synchro audio video, les différentes couches du stream détaillées : http://users.ece.cmu.edu/~peha/streaming_video.pdf
- Un PDF générique sur les techniques de streaming http://oa.upm.es/1055/1/PFC_PABLO_RIESGO_FERREIRO.pdf
- La différence entre streaming et progressive download http://www.iis.net/learn/media/windows-media-services/windows-media-server-or-web-server
- Un ensemble de ressources autour de l'Open Video Forum http://wiki.creativecommons.org/Open_Video_Forum
Wowza ressources
- Le retour du SMIL ! http://www.wowza.com/forums/content.php?299-How-to-create-and-play-SMIL-files-with-streams-created-by-Wowza-Transcoder
- La page du w3c concernant le SMIL
- synchr A/V http://www.wowza.com/forums/content.php?79
Gstreamer ressources
- Tuto OLPC sur Gstreamer pour les bases gst-launch-0.10 v4l2src ! ffmpegcolorspace ! ximagesink http://wiki.laptop.org/go/GStreamer
- http://docs.gstreamer.com/display/GstSDK/gst-launch
- Tuto français http://g.eckenschwiller.free.fr/Tutoriels/Utilisation/gstreamer.php
- Un autre générique http://paiiou.free.fr/Tutoriels/Utilisation/gst1.php
- Un ensemble de ressources sur Gstreamer :
- Streaming vidéo SD avec Gstreamer http://blog.nicolargo.com/2010/02/streaming-video-hd-avec-gstreamer.html
- http://blog.nicolargo.com/2011/03/un-serveur-rtsp-base-sur-gstreamer.html
- http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines#H.264_RTP_Streaming
- Install Composantes http://blog.nicolargo.com/2010/05/installation-de-tout-les-composants-gstreamer-sous-ubuntu.html
- Streamer avec gstreamer > wowza http://www.wowza.com/forums/showthread.php?1599-Using-gstreamer-0-10-with-Wowza
gst-launch-0.10 -vvv videotestsrc ! queue ! x264enc byte-stream=true bitrate=300 ! rtph264pay ! udpsink port=5000 host=127.0.0.1 sync=false
ok ci-dessous
gst-launch-0.10 -vvv videotestsrc is-live=true ! x264enc byte-stream=true bitrate=300 ! queue ! ffmux_mpegts ! udpsink port=10000 host=10.0.0.10 -v
- Latence : http://www.wowza.com/forums/showthread.php?16675-advice-on-lowering-latency-with-gstreamer
- Synchro clock streaming http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+12%3A+Streaming
- Icecast2 http://www.vinux.info/index.php/2009/12/14/streaming-audiovideo-avec-gstreamer-et-icecast/
Mire
# gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,width=320,height=240 ! clockoverlay ! cairotextoverlay text="stream currently unavailable" shaded-background=true ! theoraenc quality=5 ! queue ! oggmux name=mux audiotestsrc ! audioconvert ! vorbisenc quality=0.1 ! queue ! mux. mux. ! queue ! shout2send ip=127.0.0.1 port=8000 password=monpass mount=mire.ogv
Périphérique v4l2
# gst-launch v4l2src ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! theoraenc quality=16 ! oggmux ! shout2send ip=labomedia.org port=8000 password=**** mount=live.ogv
# gst-launch-0.10 multifilesrc location=logo_2.png ! "image/png,framerate=1/1" ! pngdec ! alphacolor ! alpha method=0 alpha=0.5 ! videomixer name=mixer ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=320,height=240 ! theoraenc quality=16 ! oggmux ! shout2send ip=live.monsite.com port=8000 password=monpass mount=live.ogv v4l2src ! ffmpegcolorspace ! cairotextoverlay text="Plus d'infos - www.monsite.com" shaded-background=true ! clockoverlay halign=right valign=top text="En direct" shaded-background=true ! timeoverlay ! videoscale ! alpha method=0 alpha=1.0 ! mixer.
- ressources génériques gstreamer http://www.noah.org/wiki/video_4_linux_2_notes
- préréglages caméras
uvcdynctrl -s "Focus, Auto" 0
You can then adjust the focus with:
uvcdynctrl -s "Focus (absolute)" $amt
Where $amt is a number from 0 - 40
Ressources VLC
vlc v4l2:///dev/video0 --v4l2-fps=25 --sout '#transcode{venc=x264{keyint=60,profile=main},vcodec=x264,vb=512,scale=1,acodec=mp4a,ab=96,channels=2,samplerate=44100}:rtp{dst=10.0.0.10,port=10000,mux=ts}'
Ressources / Créations
- Mémo HTML5 : webapp vs application native http://www.fabernovel.com/fr/works/349-memo-html5
- Du streaming de concert http://www.evergig.com
- Monétiser du stream : https://www.pheed.com/
- L'appli Foot+ de canal qui pêrmet de choisir sa caméra pendant un match de foot http://www.canalplus.fr/c-sport/c-football/pid4567-c-canal-football-app.html
- Concert en rediff multicam http://www.dailymotion.com/sas/BlackXS
- Concert Multicam 360° de Beck http://loadbalancer.beck360-production.com/main/beck360.html
Télé connecté
- La Tv perso de Free http://www.free.fr/adsl/pages/television/tv-perso.html
