Recherche avancée

Médias (1)

Mot : - Tags -/publishing

Autres articles (71)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • 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

  • 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 (10236)

  • How to reduce the latency of CMAF ?

    13 juin 2023, par dannyomni

    I implemented CMAF through a self-built nginx server with ffmpeg, but I encountered some technical bottlenecks. My latency always remains at 3 seconds and cannot be further reduced. Additionally, I'm unable to successfully implement chunked transfer.

    


    Briefly describe my environment, I use OBS to push the live stream to the server, then transcode it on the server, and finally push the content to users through CDN.

    


    Here is some of my code

    


    ffmpeg :

    


    sudo ffmpeg -i rtmp://127.0.0.1:1935/live/stream -loglevel 40 -c copy -sc_threshold 0 -g 60 -bf 0 -map 0 -f dash -strict experimental -use_timeline 1 -use_template 1 -seg_duration 1 -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" -streaming 1 -dash_segment_type mp4 -utc_timing_url "http://time.akamai.com/?iso" -movflags frag_keyframe+empty_moov+default_base_moof -ldash 1 -hls_playlist 1 -master_m3u8_publish_rate 1 -remove_at_exit 1 /var/www/html/live/manifest.mpd


    


    nignx config :

    


    server_name myserver.com;
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
    add_header Access-Control-Expose-Headers 'Content-Length,Content-Range';
    root /var/www/html;
    index index.html index.nginx-debian.html;
        location / {
            chunked_transfer_encoding on;
        }


    


    html player

    


    &#xA;&#xA;&#xA;    &#xA;    &#xA;    &#xA;    <code class="echappe-js">&lt;script src=&quot;https://cdn.jsdelivr.net/npm/hls.js@latest&quot;&gt;&lt;/script&gt;&#xA;    &lt;script src=&quot;https://cdn.dashjs.org/latest/dash.all.min.js&quot;&gt;&lt;/script&gt;&#xA;    &#xA;&#xA;&#xA;    &#xA;&#xA;    &lt;script&gt;&amp;#xA;        const video = document.getElementById(&amp;#x27;video&amp;#x27;);&amp;#xA;        const hlsSrc = &amp;#x27;/live/master.m3u8&amp;#x27;; // Replace with your HLS stream URL&amp;#xA;        const dashSrc = &amp;#x27;/live/stream.mpd&amp;#x27;; // Replace with your DASH stream URL&amp;#xA;&amp;#xA;        function isHlsSupported() {&amp;#xA;            return Hls.isSupported() || video.canPlayType(&amp;#x27;application/vnd.apple.mpegurl&amp;#x27;);&amp;#xA;        }&amp;#xA;&amp;#xA;        function isDashSupported() {&amp;#xA;            return !!window.MediaSource &amp;amp;&amp;amp; !!MediaSource.isTypeSupported(&amp;#x27;video/mp4; codecs=&quot;avc1.4d401e,mp4a.40.2&quot;&amp;#x27;);&amp;#xA;        }&amp;#xA;&amp;#xA;        if (isHlsSupported()) {&amp;#xA;            // Use HLS for playback&amp;#xA;            const hls = new Hls({&amp;#xA;                lowLatencyMode: true,// Enable low-latency mode&amp;#xA;                liveSyncDurationCount: 1, // Number of segments used to sync live stream&amp;#xA;                liveMaxLatencyDurationCount: 2,// Number of segments used to calculate the latency&amp;#xA;                maxBufferLength: 2,// Max buffer length in seconds&amp;#xA;                maxBufferSize: 1000 * 1000 * 100,// Max buffer size in bytes&amp;#xA;                liveBackBufferLength: 0// Max back buffer length in seconds (0 means back buffer disabled)&amp;#xA;            });&amp;#xA;            hls.loadSource(hlsSrc);&amp;#xA;            hls.attachMedia(video);&amp;#xA;            hls.on(Hls.Events.MANIFEST_PARSED, () =&gt; {&amp;#xA;                video.play();&amp;#xA;            });&amp;#xA;        } else if (isDashSupported()) {&amp;#xA;            // Use DASH for playback&amp;#xA;            const player = dashjs.MediaPlayer().create();&amp;#xA;            player.initialize(video, dashSrc, true);&amp;#xA;            player.updateSettings({&amp;#xA;                streaming: {&amp;#xA;                    lowLatencyEnabled: true, // Enable low-latency mode&amp;#xA;                    liveDelay: 1, // Set live delay in seconds, equal to 3 times the segment duration&amp;#xA;                    liveCatchUpPlaybackRate: 1.2, // Playback rate for catching up when behind the live edge&amp;#xA;                    liveCatchUpMinDrift: 0.5, // Minimum drift from live edge before initiating catch-up (in seconds)&amp;#xA;                    bufferTimeAtTopQuality: 3, // Maximum buffer length in seconds&amp;#xA;                    bufferToKeep: 0, // Duration of the back buffer in seconds (disable back buffer)&amp;#xA;                }&amp;#xA;            });&amp;#xA;        } else {&amp;#xA;            console.error(&amp;#x27;Neither HLS nor DASH playback is supported in this browser.&amp;#x27;);&amp;#xA;        }&amp;#xA;    &lt;/script&gt;&#xA;&#xA;&#xA;

    &#xA;

    I hope to reduce the latency to 1 second.

    &#xA;

  • avcodec/jpeg2000dwt : merge rescaling with interleave in 9/7 int IDWT

    2 juin 2013, par Michael Niedermayer
    avcodec/jpeg2000dwt : merge rescaling with interleave in 9/7 int IDWT
    

    Tha fate tests change because the edge mirroring was wrong before this commit

    Reviewed-by : Nicolas BERTRAND <nicoinattendu@gmail.com>
    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] libavcodec/jpeg2000dwt.c
    • [DH] tests/ref/vsynth/vsynth1-jpeg2000-97
    • [DH] tests/ref/vsynth/vsynth2-jpeg2000-97
  • Anomalie #4274 (Fermé) : fonctions non définies dans porte_plume_pipelines.php

    23 janvier 2019, par François Palangié

    Environnement :

    Problème :
    Le site fonctionne, mais quand on tente d’accéder à la partie privée on a ce message d’erreur, qui persiste même après une réinstallation de SPIP :
    Fatal error : Uncaught Error : Call to undefined function barre_outils_css_icones() in /var/www/vhosts/voyart.org/httpdocs/plugins-dist/porte_plume/porte_plume_pipelines.php:152 
    Stack trace : 
    #0 /var/www/vhosts/voyart.org/httpdocs/plugins-dist/porte_plume/porte_plume_pipelines.php(129) : porte_plume_insert_head_css(’
    &lt;script type=&quot;t...', true) <br />
    #1 /var/www/vhosts/voyart.org/httpdocs/ecrire/inc/utils.php(199): porte_plume_insert_head_prive_css('&lt;script type=&quot;t...') <br />
    #2 /var/www/vhosts/voyart.org/httpdocs/tmp/cache/charger_pipelines.php(596): minipipe('porte_plume_ins...', '&lt;script type=&quot;t...') <br />
    #3 /var/www/vhosts/voyart.org/httpdocs/ecrire/inc/utils.php(265): execute_pipeline_header_prive_css('&lt;script type=&quot;t...') <br />
    #4 /var/www/vhosts/voyart.org/httpdocs/tmp/cache/skel/html_c44cf6e196e37af7575f04c7aba04247.php(72): pipeline('header_prive_cs...', '&lt;script type=&quot;t...') <br />
    #5 /var/www/vhosts/voyart.org/httpdocs/ecrire/public/parametrer.php(128): html_c44cf6e196e37af7575f04c7aba04247(Array, Array) <br />
    #6 /var/www/vhosts/voyart.org/httpdocs/ecr in /var/www/vhosts/voyart.org/httpdocs/plugins-dist/porte_plume/porte_plume_pipelines.php on line 152<br />
    &lt;/pre&gt;&lt;br /&gt;Le problème est contourné en renommant le répertoire &lt;em&gt;plugin-dist/porteplume&lt;/em&gt;&lt;br /&gt;Le problème ne dépend pas du navigateur firefox, edge, chrome&lt;br /&gt;Aucun problème sur le SPIP de développement installé  avec EasyPHP-devserver sur mon ordinateur perso&lt;/h2&gt;