Recherche avancée

Médias (91)

Autres articles (81)

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

  • Monitoring de fermes de MediaSPIP (et de SPIP tant qu’à faire)

    31 mai 2013, par

    Lorsque l’on gère plusieurs (voir plusieurs dizaines) de MediaSPIP sur la même installation, il peut être très pratique d’obtenir d’un coup d’oeil certaines informations.
    Cet article a pour but de documenter les scripts de monitoring Munin développés avec l’aide d’Infini.
    Ces scripts sont installés automatiquement par le script d’installation automatique si une installation de munin est détectée.
    Description des scripts
    Trois scripts Munin ont été développés :
    1. mediaspip_medias
    Un script de (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

Sur d’autres sites (13615)

  • hls.js starting a beginning with ANDROID mobile (chrome, webview also) and not live *** but works very nice in deskto, ios .. hls.js 1.0.0 2021-04-01

    27 avril 2021, par Jintor

    I'm streaming a .m3u8 with the latest hls.js 1.0.0 (not rc) but version of 2021-04-01...

    


    example : the stream began at 5pm, and now it's 5:15 pm...

    


    the stream start at live point in almost all browsers

    


    The pattern I see here : ALL browsers in android (tested in Android 10) won't start at live point, only at 0...

    


    I did all the tests

    


    • Safari desktop => stream live at 5:15

    


    • Safari mobile => stream live at 5:15

    


    • WebView (Android) => ••• ISSUE : the player starts the stream at 0 (5pm)

    


    • WKWebView (apple IOS iphone,ipad) => stream live at 5:15

    


    • Chrome Desktop (mac/win) => stream live at 5:15

    


    • Chrome MOBILE (Android) => ••• ISSUE : the player starts the stream at 0 (5pm)

    


    • Chrome MOBILE (iPhone) => stream live at 5:15

    


    • Microsoft EDGE Desktop => stream live at 5:15

    


    • Microsoft EDGE mobile (android) => ••• ISSUE : the player starts the stream at 0 (5pm)

    


    • Firefox Desktop (mac/win) => stream live at 5:15

    


    • Opera Desktop (mac/win) => stream live at 5:15

    


    • Opera Mini (iPhone) => stream live at 5:15

    


    • Opera Mini (android) => ••• ISSUE : the player starts the stream at 0 (5pm)

    


    • Brave Desktop (mac/win) => stream live at 5:15

    


    • Brave Mobile (iPhone) => stream live at 5:15

    


    • Brave Mobile (android) => ••• ISSUE : the player starts the stream at 0 (5pm)

    


    This code

    


    <code class="echappe-js">&lt;script src=&quot;https://cdn.jsdelivr.net/npm/hls.js@latest&quot;&gt;&lt;/script&gt;&#xA;    

    &#xA; &lt;script&gt;&amp;#xA;      var video = document.getElementById(&quot;video&quot;);&amp;#xA;      var videoSrc = &quot;https://www.example1.com/streaming/index.m3u8&quot;;&amp;#xA;      if (video.canPlayType(&quot;application/vnd.apple.mpegurl&quot;)) {&amp;#xA;        video.src = videoSrc;&amp;#xA;      } else if (Hls.isSupported()) {&amp;#xA;         var config = {&amp;#xA;            autoStartLoad: true,&amp;#xA;            startPosition: -1,&amp;#xA;            debug: false,&amp;#xA;            capLevelOnFPSDrop: false,&amp;#xA;            capLevelToPlayerSize: false,&amp;#xA;            defaultAudioCodec: undefined,&amp;#xA;            initialLiveManifestSize: 1,&amp;#xA;            maxBufferLength: 30,&amp;#xA;            maxMaxBufferLength: 500,&amp;#xA;            backBufferLength: Infinity,&amp;#xA;            maxBufferSize: 60 * 1000 * 1000,&amp;#xA;            maxBufferHole: 0.5,&amp;#xA;            highBufferWatchdogPeriod: 2,&amp;#xA;            nudgeOffset: 0.1,&amp;#xA;            nudgeMaxRetry: 3,&amp;#xA;            maxFragLookUpTolerance: 0.25,&amp;#xA;            liveSyncDurationCount: 3,&amp;#xA;            liveMaxLatencyDurationCount: Infinity,&amp;#xA;            liveDurationInfinity: false,&amp;#xA;            enableWorker: true,&amp;#xA;            enableSoftwareAES: true,&amp;#xA;            manifestLoadingTimeOut: 10000,&amp;#xA;            manifestLoadingMaxRetry: 1,&amp;#xA;            manifestLoadingRetryDelay: 1000,&amp;#xA;            manifestLoadingMaxRetryTimeout: 64000,&amp;#xA;            startLevel: undefined,&amp;#xA;            levelLoadingTimeOut: 10000,&amp;#xA;            levelLoadingMaxRetry: 4,&amp;#xA;            levelLoadingRetryDelay: 1000,&amp;#xA;            levelLoadingMaxRetryTimeout: 64000,&amp;#xA;            fragLoadingTimeOut: 20000,&amp;#xA;            fragLoadingMaxRetry: 6,&amp;#xA;            fragLoadingRetryDelay: 1000,&amp;#xA;            fragLoadingMaxRetryTimeout: 64000,&amp;#xA;            startFragPrefetch: false,&amp;#xA;            testBandwidth: true,&amp;#xA;            progressive: false,&amp;#xA;            lowLatencyMode: true,&amp;#xA;            fpsDroppedMonitoringPeriod: 5000,&amp;#xA;            fpsDroppedMonitoringThreshold: 0.2,&amp;#xA;            appendErrorMaxRetry: 3,&amp;#xA;            enableWebVTT: true,&amp;#xA;            enableIMSC1: true,&amp;#xA;            enableCEA708Captions: true,&amp;#xA;            stretchShortVideoTrack: false,&amp;#xA;            maxAudioFramesDrift: 1,&amp;#xA;            forceKeyFrameOnDiscontinuity: true,&amp;#xA;            abrEwmaFastLive: 3.0,&amp;#xA;            abrEwmaSlowLive: 9.0,&amp;#xA;            abrEwmaFastVoD: 3.0,&amp;#xA;            abrEwmaSlowVoD: 9.0,&amp;#xA;            abrEwmaDefaultEstimate: 500000,&amp;#xA;            abrBandWidthFactor: 0.95,&amp;#xA;            abrBandWidthUpFactor: 0.7,&amp;#xA;            abrMaxWithRealBitrate: false,&amp;#xA;            maxStarvationDelay: 4,&amp;#xA;            maxLoadingDelay: 4,&amp;#xA;            minAutoBitrate: 0,&amp;#xA;            emeEnabled: false&amp;#xA;        };&amp;#xA;        var hls = new Hls(config);&amp;#xA;        hls.loadSource(videoSrc);&amp;#xA;        hls.attachMedia(video);&amp;#xA;      }   &amp;#xA;      video.addEventListener(&quot;loadedmetadata&quot;, function(){ video.muted = true; video.play(); }, false);&amp;#xA;    &lt;/script&gt;&#xA;

    &#xA;

    // here I added video.muted = true ; video.play() ; to auto start, if I try to autoplay unmuted, many browsers refuse this command...

    &#xA;

    // playsinline="true" is NEEDED for safari

    &#xA;

    ••••••• THE FFMPEG COMMAND (working : it allows me to have 3 to 4 seconds delay ••••••

    &#xA;

    ffmpeg -re -i input.x -c:a aac -c:v libx264 &#xA;-movflags &#x2B;dash -preset ultrafast &#xA;-crf 28 -refs 4 -qmin 4 -pix_fmt yuv420p &#xA;-tune zerolatency -c:a aac -ac 2 -profile:v main &#xA;-flags -global_header -bufsize 969k &#xA;-hls_time 1 -hls_list_size 0 -g 30 &#xA;-start_number 0 -streaming 1 -hls_playlist 1 &#xA;-lhls 1 -hls_playlist_type event -f hls path_to_index.m3u8&#xA;

    &#xA;

    •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

    &#xA;

    How can this be fixed ?

    &#xA;

    How can I make play at live point on load in android MOBILE ?

    &#xA;

  • Random access to video frame by its id

    22 août 2018, par Xmiler

    I have a 24 hour video and would like to organize storage of some meta information (particularly bounding boxes of objects) for arbitrary frame. It implies that I must have a reliable random access to frame by its id, practically even to the range of frames in a way (id_start, id_end).

    Once again, it is critically to get the same frame when I fill meta storage and when I will get meta later (in general in another environment - ffmpeg version, codecs etc). Otherwise I will put bounding box on the wrong frame.

    So there ways I found

    1. ffmpeg -i in.mp4 -vf select='between(n,x,y)' -vsync 0 frames%d.png
      The problem is it works too slow. Also I don’t know is it reliable in sense of reproducing.

    2. ffmpeg -ss pkt_pts_time -i in.mp4 -vframes n output_%03d.png
      where pkt_pts_time got from ffprobe -show_frames in.mp4 -select_streams v
      The problem is pkt_pts_time not clear at all. Does pkt_pts_time refer to -ss parameter ?

    Actually the question is - does internal meta information of frame (say h.264) contain frame id ? I didn’t find way to get it.

    Now I am thinkig to store png md5sum for each T’s frame (anchor). Later I will be able to check consistency using them.

    Can anyone suggest something better ?

  • avformat/mov : fix hang while seek on a kind of fragmented mp4

    3 février 2019, par Charles Liu
    avformat/mov : fix hang while seek on a kind of fragmented mp4
    

    Binary searching would hang if the fragment items do NOT have timestamp for the
    specified stream.

    For example, a fmp4 consists of separated 'moof' boxes for each track, and
    separated 'sidx' for each segment, but no 'mfra' box. Then every fragment item
    only have the timestamp for one of its tracks.

    Example :
    ffmpeg -f lavfi -i testsrc -f lavfi -i sine -movflags dash+frag_keyframe+skip_trailer+separate_moof -t 1 out.mp4
    ffmpeg -ss 0.5 -i out.mp4 -f null none

    Also fixes the hang in ticket #7572, but not the reason for having
    AV_NOPTS_VALUE timestamps there.

    Signed-off-by : Charles Liu <liuchh83@gmail.com>
    Signed-off-by : Marton Balint <cus@passwd.hu>

    • [DH] libavformat/mov.c