Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP 0.2

Autres articles (14)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP 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 ; (...)

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

Sur d’autres sites (2101)

  • Gstreamer video increases latency with decresed FPS

    19 novembre 2024, par Ri Di

    I am using RPI 5 to stream the video :

    &#xA;

    rpicam-vid -t 0 --camera 0 --nopreview --mode 2304:1296:10:P --codec yuv420 --width 640 --height 360 --framerate 10 --rotation 0 --autofocus-mode manual --inline --listen -o - | ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 640x360 -r 10 -i /dev/stdin -c:v libx264 -preset ultrafast -tune zerolatency -maxrate 300k -bufsize 50k -g 30000 -f mpegts tcp://192.168.0.147:1234&#xA;

    &#xA;

    View it with :

    &#xA;

    gst-launch-1.0 -v tcpserversrc host=0.0.0.0 port=1234 ! queue ! tsdemux ! h264parse ! avdec_h264 ! videorate ! video/x-raw,framerate=10/1 ! videoconvert ! autovideosink sync=false&#xA;

    &#xA;

    Problem is that with 10 FPS I get around 2s of latency ! While 56 or 120 FPS results in below 300ms latency.

    &#xA;

    Is the problem in sender or reader side ? Or both ?

    &#xA;

    I am not planning to use the 10 FPS, its only for demonstration of problem. But I would like to get lower latency at 56 FPS - just like at 120 FPS (around 80-100 ms difference) or maybe even better, as it seems to get lower with higher FPS.

    &#xA;

    Maybe there is some kind of buffering parameter which holds frames ?

    &#xA;

    (of course, when testing with higher FPS I change both numbers in sender and the one in reader command. The camera is v3 RPI official)

    &#xA;

    Also I'd like to mention that same thing happens with ffplay :

    &#xA;

    ffplay -i -probesize 3000 tcp://0.0.0.0:1234/?listen&#xA;

    &#xA;

  • Gstreamer video increases latency with decreased FPS

    19 novembre 2024, par Ri Di

    I am using RPI 5 to stream the video :

    &#xA;

    rpicam-vid -t 0 --camera 0 --nopreview --mode 2304:1296:10:P --codec yuv420 &#xA;           --width 640 --height 360 --framerate 10 --rotation 0 &#xA;           --autofocus-mode manual --inline --listen -o - | &#xA;     ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 640x360 -r 10 -i /dev/stdin &#xA;            -c:v libx264 -preset ultrafast -tune zerolatency -maxrate 300k &#xA;            -bufsize 50k -g 30000 -f mpegts tcp://192.168.0.147:1234&#xA;

    &#xA;

    View it with :

    &#xA;

    gst-launch-1.0 -v tcpserversrc host=0.0.0.0 port=1234 ! queue ! &#xA;    tsdemux ! h264parse ! avdec_h264 ! videorate ! video/x-raw,framerate=10/1 !  &#xA;    videoconvert ! autovideosink sync=false&#xA;

    &#xA;

    Problem is that with 10 FPS I get around 2s of latency ! While 56 or 120 FPS results in below 300ms latency.

    &#xA;

    Is the problem in sender or reader side ? Or both ?

    &#xA;

    I am not planning to use the 10 FPS, its only for demonstration of problem. But I would like to get lower latency at 56 FPS - just like at 120 FPS (around 80-100 ms difference) or maybe even better, as it seems to get lower with higher FPS.

    &#xA;

    Maybe there is some kind of buffering parameter which holds frames ?

    &#xA;

    (of course, when testing with higher FPS I change both numbers in sender and the one in reader command. The camera is v3 RPI official)

    &#xA;

    Also I'd like to mention that same thing happens with ffplay :

    &#xA;

    ffplay -i -probesize 3000 tcp://0.0.0.0:1234/?listen&#xA;

    &#xA;

  • ffmpeg process 20564 successfully terminated with return code of 3436169992

    18 janvier, par Deeroy

    Trying to play a youtube video as audio through a discord bot. I ran into a 403 forbidden error and added the YDL_OPTIONS to bypass this. Now the code throws the error code 3436169992.The bot writes to the server "now playing : xxxx" but no audio is played. Any pointers ?

    &#xA;

    FFMPEG_OPTIONS = {&#xA;    "before_options": "-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5",&#xA;    "options": "-vn -filter:a \"volume=0.25\""&#xA;}&#xA;&#xA;# yt-dlp options&#xA;YDL_OPTIONS = {&#xA;    "format": "bestaudio[ext=webm][acodec=opus]/bestaudio",&#xA;    "noplaylist": True,&#xA;    "quiet": True,&#xA;    "extract_flat": False,&#xA;    "no_warnings": True,&#xA;    "source_address": "0.0.0.0"  # Prevents YouTube throttling&#xA;}&#xA;&#xA;voice_clients = {}&#xA;&#xA;@bot.event&#xA;async def on_message(message):&#xA;    if message.content.startswith("-play"):&#xA;        try:&#xA;            # Ensure the user is in a voice channel&#xA;            if not message.author.voice:&#xA;                await message.channel.send("You need to be in a voice channel to use this command.")&#xA;                return&#xA;&#xA;            # Connect to the user&#x27;s voice channel if not already connected&#xA;            if message.guild.id not in voice_clients or not voice_clients[message.guild.id].is_connected():&#xA;                voice_client = await message.author.voice.channel.connect()&#xA;                voice_clients[message.guild.id] = voice_client&#xA;            else:&#xA;                voice_client = voice_clients[message.guild.id]&#xA;&#xA;            # Extract the YouTube URL from the command&#xA;            url = message.content.split()[1]&#xA;&#xA;            # Download and extract audio using yt-dlp&#xA;            with YoutubeDL(YDL_OPTIONS) as ydl:&#xA;                info = ydl.extract_info(url, download=False)&#xA;                audio_url = info["url"]&#xA;                title = info.get("title", "Unknown Title")&#xA;&#xA;            # Debug: Print the extracted audio URL&#xA;            print(f"Audio URL: {audio_url}")&#xA;&#xA;            # Play the audio using FFmpeg&#xA;            source = FFmpegPCMAudio(audio_url, **FFMPEG_OPTIONS)&#xA;            voice_client.play(source, after=lambda e: print("Playback finished."))&#xA;&#xA;            # Notify the user&#xA;            await message.channel.send(f"Now playing: {title}")&#xA;&#xA;        except Exception as e:&#xA;            print(f"Error: {e}")&#xA;            await message.channel.send("An error occurred while trying to play the audio.")&#xA;

    &#xA;