
Recherche avancée
Médias (91)
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Paul Westerberg - Looking Up in Heaven
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Le Tigre - Fake French
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Thievery Corporation - DC 3000
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Dan the Automator - Relaxation Spa Treatment
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Gilberto Gil - Oslodum
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (53)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (5957)
-
Remove (defined _MSC_VER) from cpp workaround
9 décembre 2015, par Erik de Castro Lopo -
Evolution #4339 (Nouveau) : Relancer les inscriptions en attente
22 mai 2019, par b bSuite à #4073 et les révisions associées, les admins ont accès à la liste des auteurs dont l’inscription est en attente de validation, ce qui est très bien. Mais, on ne peut pas relancer le mail d’inscription à un auteur ou à tous ceux en attente, ce qui est moins bien.
En cherchant comment relancer une dizaine d’auteurs en attente (à cause d’un problème passager d’envoi d’email), je me suis rendu compte que c’est une situation dont il n’est pas facile de se tirer. En effet, les auteurs en questions ne peuvent pas tenter de se réinscrire avec le même email car cela génère une erreur dans le form d’inscription (normal ça ferait doublon). Je vais revenir sur ce point plus bas.
J’ai donc cherché une solution pour relancer tous ces auteurs en attente et je suis tombé sur r17837 qui introduit l’option
force_nouveau
à la fonctionaction_inscrire_auteur_dist()
. À noter que cette option n’est utilisée nul part dans le core, ni sur les plugins de la zone, c’est donc l’occasion de s’en servir :) J’en suis arrivé à ce code très simple qui permet de relancer tous les auteurs en attente de validation, statut = nouveau donc :- <span class="CodeRay">include_spip(<span class="string"><span class="delimiter">'</span><span class="content">action/inscrire_auteur</span><span class="delimiter">'</span></span>);
- <span class="local-variable">$nouveaux</span> = sql_allfetsel(<span class="string"><span class="delimiter">'</span><span class="content">prefs, email, nom</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">spip_auteurs</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">statut='nouveau'</span><span class="delimiter">"</span></span>);
- <span class="keyword">while</span> (<span class="local-variable">$row</span> = <span class="predefined">array_pop</span>(<span class="local-variable">$nouveaux</span>)) {
- action_inscrire_auteur_dist(<span class="local-variable">$row</span>[<span class="string"><span class="delimiter">'</span><span class="content">prefs</span><span class="delimiter">'</span></span>], <span class="local-variable">$row</span>[<span class="string"><span class="delimiter">'</span><span class="content">email</span><span class="delimiter">'</span></span>], <span class="local-variable">$row</span>[<span class="string"><span class="delimiter">'</span><span class="content">nom</span><span class="delimiter">'</span></span>], <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">force_nouveau</span><span class="delimiter">'</span></span> => <span class="predefined-constant">true</span>));
- }
- </span>
Je pense que ça serait pas mal d’en faire une action pour relancer un auteur précis, ou tous les auteurs en attente si pas d’id_auteur passé en argument, puis d’ajouter un bouton action dans la colonne de navigation des pages
?exec=auteurs
et?exec=auteur&id_auteur=
si l’auteur en cours a pour statutnouveau
.Pour en revenir au formulaire d’inscription, il serait malin (à vérifier) que celui-ci utilise l’option
force_nouveau
quand un auteur dont le statut estnouveau
tente de s’inscrire une nouvelle fois avec le même email, plutôt que de lui envoyer une erreur parce que son mail est déjà présent en base.Vos avis sur la question ?
-
Low latency video streaming on android
17 mai 2021, par Louis BlennerI'd like to be able to stream the video from my webcam to an Android app with a latency below 500ms, on my local network.


To capture and send the video over the network, I use ffmpeg.


ffmpeg -f v4l2 -i /dev/video0 -preset ultrafast -tune zerolatency -vcodec libx264 -an -vf format=yuv420p -f mpegts udp://192.168.1.155:5000



This command takes the webcam as an input, convert it and send it to a device using the mpegts protocol.


I am able to read the video on another PC with a latency below 500 ms, using commands like


gst-launch-1.0 -v udpsrc port=5000 ! video/mpegts ! tsdemux ! h264parse ! avdec_h264 ! fpsdisplaysink sync=false



or


mpv udp://0.0.0.0:5000 --no-cache --untimed --no-demuxer-thread --video-sync=audio --vd-lavc-threads=1 



So it is possible to have this range of latency.

I'd like to have the same thing on Android.

Here are my tries to do that.


Exoplayer


After looking at the different players available on Android studio, it seems like Exoplayer is the go-to choice.

I tried different options indicated in the live-streaming documentation, but I always end up with a stream taking seconds to start and with a latency of seconds.

I tried to add a Button to seek to the default position of the windows, but it results in a loading of several seconds.

DefaultExtractorsFactory extractorsFactory =
 new DefaultExtractorsFactory()
 .setTsExtractorFlags(DefaultTsPayloadReaderFactory.FLAG_IGNORE_AAC_STREAM);

 player = new SimpleExoPlayer.Builder(this)
 .setMediaSourceFactory(
 new DefaultMediaSourceFactory(this, extractorsFactory))
 .setLoadControl(new DefaultLoadControl.Builder()
 .setBufferDurationsMs(DefaultLoadControl.DEFAULT_MIN_BUFFER_MS, DefaultLoadControl.DEFAULT_MAX_BUFFER_MS, 200, 200)
 .build())
 .build();
 MyPlayerView playerView = findViewById(R.id.player_view);
 // Bind the player to the view.
 playerView.setPlayer(player);
 // Build the media item.
 MediaItem mediaItem = new MediaItem.Builder()
 .setUri(Uri.parse("udp://0.0.0.0:5000"))
 .setLiveMaxOffsetMs(500)
 .setLiveTargetOffsetMs(0)
 .setLiveMinOffsetMs(0)
 .build();
 // Set the media item to be played.
 player.setMediaItem(mediaItem);
 // Prepare the player.
 player.setPlayWhenReady(true);
 player.prepare();
 //player.seekToDefaultPosition();



This issue is about the same issue and the conclusion was that Exoplayer was not fit for this use case.




I'll be honest, ultra low-latency like this isn't ExoPlayer's main use-case




Vlc


Another try was to use the Vlc library.

But I was unable to have the same low latency stream as with the two previous example with Vlc.

I tried changing the preferences of Vlc to stream as fast as possible.

Input/Codecs -> x264 preset: ultrafast - zerolatency
Input/Codecs -> Access Module: UDP input
Input/Codecs -> Clock Jitter: 500
Audio: disable audio



I also tried reducing the different buffers.

However, I still have a latency of more than 1 seconds with that.

Gstreamer


Another try was to create a react-native project to use the different players available here.

One player that seemed promising was react-native-gstreamer because it uses gstreamer which is able to stream with low latency (gst-launch command).

But the library is now outdated.

Question


There were other tries, but none were successful.

Is there a problem with one of my approaches ?

And if not, Is there a player on Android (that I missed) which is able to achieve low latency stream like gstream or mpv on linux ?