
Recherche avancée
Médias (1)
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (104)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)
Sur d’autres sites (16016)
-
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
-
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 ?


-
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>