Recherche avancée

Médias (91)

Autres articles (75)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (9321)

  • Revision 3442 : grosse évolution inspirée du sublime player (pas finie)

    17 mai 2010, par kent1 — Log

    grosse évolution inspirée du sublime player (pas finie)

  • avplay : Rename cur_stream to player

    2 janvier 2016, par Luca Barbato
    avplay : Rename cur_stream to player
    

    The name was misleading.

    Signed-off-by : Luca Barbato <lu_zero@gentoo.org>

    • [DBH] avplay.c
  • Low latency video player on android

    20 mai 2021, par Louis Blenner

    I'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.

    &#xA;

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

    &#xA;

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

    &#xA;

    This command takes the webcam as an input, convert it and send it to a device using the mpegts protocol.
    &#xA;This is not a requirement, if another technique could work, I could change the way I send the video.

    &#xA;

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

    &#xA;

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

    &#xA;

    or

    &#xA;

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

    &#xA;

    So it is possible to have this range of latency.
    &#xA;I'd like to have the same thing on Android.

    &#xA;

    Here are my tries to do that.

    &#xA;

    Exoplayer

    &#xA;

    After looking at the different players available on Android studio, it seems like Exoplayer is the go-to choice.
    &#xA;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.
    &#xA;I tried to add a Button to seek to the default position of the windows, but it results in a loading of several seconds.

    &#xA;

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

    &#xA;

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

    &#xA;

    &#xA;

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

    &#xA;

    &#xA;

    Vlc

    &#xA;

    Another try was to use the Vlc library.
    &#xA;But I was unable to have the same low latency stream as with the two previous players with Vlc.
    &#xA;I tried changing the preferences of Vlc to stream as fast as possible as described here

    &#xA;

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

    &#xA;

    I also tried reducing the different buffers.
    &#xA;However, I still have a latency of more than 1 seconds with that.

    &#xA;

    Gstreamer

    &#xA;

    Another try was to create a react-native project to use the different players available here.
    &#xA;One player that seemed promising was react-native-gstreamer because it uses gstreamer which is able to stream with low latency (gst-launch command).
    &#xA;But the library is now outdated.

    &#xA;

    Question

    &#xA;

    There were other tries, but none were successful.
    &#xA;Is there a problem with one of my approaches ?
    &#xA;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 ?

    &#xA;