
Recherche avancée
Médias (91)
-
Les Miserables
9 décembre 2019, par
Mis à jour : Décembre 2019
Langue : français
Type : Textuel
-
VideoHandle
8 novembre 2019, par
Mis à jour : Novembre 2019
Langue : français
Type : Video
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
-
Un test - mauritanie
3 avril 2014, par
Mis à jour : Avril 2014
Langue : français
Type : Textuel
-
Pourquoi Obama lit il mes mails ?
4 février 2014, par
Mis à jour : Février 2014
Langue : français
-
IMG 0222
6 octobre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Image
Autres articles (97)
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
Possibilité de déploiement en ferme
12 avril 2011, parMediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...) -
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)
Sur d’autres sites (7748)
-
nutenc/write_index : warn if 2 consecutive keyframes have the same PTS and discard...
22 décembre 2013, par Michael Niedermayernutenc/write_index : warn if 2 consecutive keyframes have the same PTS and discard the 2nd
This fixes an assertion failure and regression and restores previous behaviour
Fixes Ticket3197An alternative would be to fail hard in this case and refuse to mux such data.
Signed-off-by : Michael Niedermayer <michaelni@gmx.at>
-
How to implement live video streaming with ffmpeg without using WebRTC ?
8 août 2024, par ArtemFollowing up on my previous question, I'd like to inquire about alternative methods for live video streaming using ffmpeg (WebRTC is not an option due to certain constraints I prefer not to discuss here).


Context :


I have a Go application where a goroutine launches ffmpeg to process a video stream, which is then delivered to the main goroutine via a
chan []byte
. I tried using WebSocket, but encountered issues as described in the previous question. HLS also didn't work well due to significant latency and artifacts like green squares on the video.

Based on a comment in the previous question, I attempted to stream the video via a simple GET request. Here's the Go handler I implemented :


func stream(helperApp agent.Helper) func(rw http.ResponseWriter, rr *http.Request) {
 a := atomic.Bool{}
 return func(rw http.ResponseWriter, rr *http.Request) {
 if !a.CAS(false, true) {
 http.Error(rw, "already running", http.StatusInternalServerError)
 return
 }

 rw.Header().Set("Access-Control-Allow-Origin", "*")
 rw.Header().Set("Content-Type", "video/mp2t")

 out := make(chan []byte)

 // create StreamParam
 go ScreenCaptureForLiveStream(StreamParam, out) // ffmpeg process starts inside

 r, w := io.Pipe()
 go func() {
 for data := range out {
 w.Write(data)
 fmt.Println(len(data))
 }
 }()
 io.Copy(rw, r)
 }
}




On the client side (HTML) :


<video muted="muted" src="http://localhost:8080/stream" controls="controls"></video>



In the browser console, I can see data being received, but the video doesn't play.


FFmpeg is executed with these parameters :


-loglevel error -f avfoundation -framerate 5 -capture_cursor 1 -capture_mouse_clicks 1 -i 1 -c:v libx264 -pix_fmt yuv420p -vf pad='ceil(iw/2)*2:ceil(ih/2)*2' -threads 0 -preset veryfast -bf 2 -f mpegts pipe:1




For validation, I ran :


ffmpeg -i http://localhost:8080/stream -c copy out.mp4




The video was successfully saved and plays.


Question :
What alternative methods exist to implement live video streaming with ffmpeg, aside from WebRTC ? Why does the current approach of streaming video via HTTP GET request not function correctly in the browser, and how can this be resolved ?


-
libdash mpd parser integration with custom player
19 novembre 2016, par RajI have written a multimedia player using ffmpeg and qt-framework. And currently I support local file playback and progressive download playback in my player. Now I want to add support for mpeg-dash vod stream playback. I thought of using libdash opensource dash library. But after so much of googling I couldn’t find any API or developer documentation regarding the same.
Also another issue is libdash has integrated network module. But I want only mpd parser to be integrated and I have my own network module for downloading. I couln’t find any doxygen and usage documentation for libdash.
I need help in these :
- Can you anyone point me to any developer documentation available for
libdash ? - Is there any alternative library for libdash ?
- Can you anyone point me to any developer documentation available for