Recherche avancée

Médias (1)

Mot : - Tags -/pirate bay

Autres articles (111)

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

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (7749)

  • VLC RTSP HTML5 transcoding

    30 mai 2022, par Pierogi

    I'm trying to get audio streaming on an HTML page from an RTSP server.

    


    The RTSP server is the rtsp-simple-server running a command line below.
    
./rtsp-simple-server rtsp-simple-server.yml.
    
The configure file is the default.

    


    The stream player is FFmpeg running a command line below.
    
ffmpeg -re -stream_loop -1 -i myaudio.mp3 -c copy -f rtsp -rtsp_transport tcp rtsp://localhost:8554/mystream

    


    The console log at the time the rtsp-simple-server and the ffmpeg are started is below.

    


    2022/05/29 19:06:38 INF rtsp-simple-server v0.18.4
2022/05/29 19:06:38 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2022/05/29 19:06:38 INF [RTMP] listener opened on :1935
2022/05/29 19:06:38 INF [HLS] listener opened on :8888
2022/05/29 19:09:16 INF [RTSP] [conn [::1]:62737] opened
2022/05/29 19:09:16 INF [RTSP] [session 271690815] created by [::1]:62737
2022/05/29 19:09:16 INF [RTSP] [session 271690815] is publishing to path 'mystream', 1 track with TCP


    


    And the time the rtsp path(rtsp ://localhost:8554/mystream) is opened by VLC, the contents can be played properly. The additional console log at the time is below.

    


    2022/05/29 19:13:19 INF [RTSP] [conn 127.0.0.1:62780] opened
2022/05/29 19:13:19 INF [RTSP] [session 734209460] created by 127.0.0.1:62780
2022/05/29 19:13:19 INF [RTSP] [session 734209460] is reading from path 'mystream', 1 track with UDP
2022/05/29 19:13:29 INF [RTSP] [session 734209460] destroyed (teared down by 127.0.0.1:62780)
2022/05/29 19:13:29 INF [RTSP] [conn 127.0.0.1:62780] closed (EOF)
2022/05/29 19:13:29 INF [RTSP] [conn 127.0.0.1:62781] opened
2022/05/29 19:13:29 INF [RTSP] [session 445756113] created by 127.0.0.1:62781
2022/05/29 19:13:29 INF [RTSP] [session 445756113] is reading from path 'mystream', 1 track with TCP


    


    However, I open the rtsp streaming from the VLC's "Network" tab like below,
enter image description here

    


    and configure the "Stream output" like below,
enter image description here

    


    and I tried to get this streaming from an HTML page like below,

    


    &#xA;&#xA;  &#xA;    &#xA;    &#xA;  &#xA;  &#xA;    <h1>transcode test</h1>&#xA;    <audio src="http://localhost:9999/mystream" autoplay="autoplay"></audio>&#xA;  &#xA;&#xA;

    &#xA;

    the browser console displays Failed to load resource: the server responded with a status of 404 (Not found). I've already tried other ports(etc. 8080).

    &#xA;

    So, how can I get the rtsp stream from the RTSP server on an HTML page.&#xA;Any idea ?

    &#xA;

    My environment.

    &#xA;

      &#xA;
    • Browser : Microsoft edge
    • &#xA;

    • OS : MacOS 11.6.5
    • &#xA;

    • rtsp-simple-server : 0.18.4
    • &#xA;

    • FFmpeg : 5.0.1
    • &#xA;

    • VLC : 3.0.17.3
    • &#xA;

    &#xA;

  • Merge commit ’458446acfa1441d283dacf9e6e545beb083b8bb0’

    15 novembre 2013, par Michael Niedermayer
    Merge commit ’458446acfa1441d283dacf9e6e545beb083b8bb0’
    

    * commit ’458446acfa1441d283dacf9e6e545beb083b8bb0’ :
    lavc : Edge emulation with dst/src linesize

    Conflicts :
    libavcodec/cavs.c
    libavcodec/h264.c
    libavcodec/hevc.c
    libavcodec/mpegvideo_enc.c
    libavcodec/mpegvideo_motion.c
    libavcodec/rv34.c
    libavcodec/svq3.c
    libavcodec/vc1dec.c
    libavcodec/videodsp.h
    libavcodec/videodsp_template.c
    libavcodec/vp3.c
    libavcodec/vp8.c
    libavcodec/wmv2.c
    libavcodec/x86/videodsp.asm
    libavcodec/x86/videodsp_init.c

    Changes to the asm are not merged, they are left for volunteers or
    in their absence for later.
    The changes this merge introduces are reordering of the function
    arguments

    See : face578d56c2d1375e40d5e2a28acc122132bc55
    Merged-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] libavcodec/cavs.c
    • [DH] libavcodec/diracdec.c
    • [DH] libavcodec/h264.c
    • [DH] libavcodec/hevc.c
    • [DH] libavcodec/mpegvideo.c
    • [DH] libavcodec/mpegvideo_enc.c
    • [DH] libavcodec/mpegvideo_motion.c
    • [DH] libavcodec/rv34.c
    • [DH] libavcodec/snow.c
    • [DH] libavcodec/svq3.c
    • [DH] libavcodec/vc1dec.c
    • [DH] libavcodec/videodsp.h
    • [DH] libavcodec/videodsp_template.c
    • [DH] libavcodec/vp3.c
    • [DH] libavcodec/vp56.c
    • [DH] libavcodec/vp8.c
    • [DH] libavcodec/vp9.c
    • [DH] libavcodec/wmv2.c
    • [DH] libavcodec/x86/dsputil_mmx.c
    • [DH] libavcodec/x86/videodsp_init.c
  • FFMPEG/DASH-LL creates audio and video chunks at different rates ; player is confused (404 errors)

    26 mai 2021, par Danny

    I'm trying to create a MPEG-DASH "live" stream from a static file to test various low latency modes. The DASH muxer in FFmpeg creates two AdaptationSets, one for video chunks and one for audio chunks.

    &#xA;

    However, the audio and video chunk files are not created at the same rate (should they be ?). ie, here stream0 are the video chunks and stream1 are the audio chunks. After a few seconds of running, the webroot directory contains :

    &#xA;

    chunk-stream0-00001.m4s  chunk-stream1-00001.m4s  &#xA;chunk-stream0-00002.m4s  chunk-stream1-00002.m4s  &#xA;chunk-stream0-00003.m4s  chunk-stream1-00003.m4s  &#xA;chunk-stream0-00004.m4s  chunk-stream1-00004.m4s  &#xA;                         chunk-stream1-00005.m4s  &#xA;                         chunk-stream1-00006.m4s  &#xA;                         chunk-stream1-00007.m4s  &#xA;                         chunk-stream1-00008.m4s  &#xA;                         chunk-stream1-00009.m4s  &#xA;master.mpd  &#xA;init-stream0.m4s  &#xA;init-stream1.m4s  &#xA;

    &#xA;

    The stream doesn't load (or play) on either dash.js or shaka-player and there are lots of 404 (Not Found) errors for the video chunks. The player is requesting chunks from both stream0 and stream1 in sequence, ie, stream0-001 + stream1-001, then stream0-002 + stream1-002 and so on.

    &#xA;

    But since stream0 only goes from 001 to 004, there are lots of 404 errors as it tries to load stream0-005 through 009.

    &#xA;

    The gap gets wider after letting FFmpeg run for a while. eg, stream0 is 62 to 75 but stream1 is 174 to 187. Reloading the player page at this point fails with dash.all.debug.js:15615 [2055][FragmentController] No video bytes to push or stream is inactive. and shows 404 errors stream0 chunk 188 (which doesn't exist yet !)

    &#xA;

    enter image description here

    &#xA;

    The FFmpeg command was adopted from DASH streaming from the top-down :

    &#xA;

    ffmpeg -re -i /mnt/swdevel/TestStreams/H264/ThreeHourMovie.mp4 \&#xA;-c:v libx264 -x264-params keyint=120:scenecut=0 -b:v 1M -c:a copy \&#xA;-f dash -dash_segment_type mp4 \&#xA; -seg_duration 2 \&#xA; -target_latency 3 \&#xA; -frag_type duration \&#xA; -frag_duration 0.2 \&#xA; -window_size 10 \&#xA; -extra_window_size 3 \&#xA; -streaming 1 \&#xA; -ldash 1 \&#xA; -use_template 1 \&#xA; -use_timeline 0 \&#xA; -write_prft 1 \&#xA; -fflags &#x2B;nobuffer&#x2B;flush_packets \&#xA; -format_options "movflags=&#x2B;cmaf" \&#xA; -utc_timing_url "/pelican/testPlayers/time.php" \&#xA; master.mpd&#xA;

    &#xA;

    And the dash.js player code is very simple :

    &#xA;

    const srcUrl = "../ottWebRoot/playerTest/master.mpd"; &#xA;&#xA;var player = dashjs.MediaPlayer().create();&#xA;&#xA;let autoPlay = false;&#xA;player.initialize(document.querySelector("#videoTagId"), srcUrl, autoPlay);&#xA;&#xA;player.updateSettings(&#xA;{&#xA;    streaming :&#xA;    {&#xA;        lowLatencyEnabled : true,&#xA;        liveDelay : 2,&#xA;        jumpGaps : true,&#xA;        jumpLargeGaps : true,&#xA;        smallGapLimit : 1.5,&#xA;    }&#xA;});&#xA;

    &#xA;

    To provide the UTCTiming element in the manifest, the small time.php URL returns a UTC time from the web server :

    &#xA;

    &lt;?php&#xA;    print gmdate("Y-m-d\TH:i:s\Z");&#xA;?>&#xA;

    &#xA;

    (It also shows 404 errors for the latest stream1/audio chunk, that's likely a different problem)

    &#xA;

    I'm not sure what to try next. Any and suggestions greatly appreciated.

    &#xA;

    EDIT I

    &#xA;

    The suggestion by @Anonymous Coward to change the key interval improved things a lot. The chunks for stream0 and stream1 are in lock-step and have identical sequence numbers.

    &#xA;

    However, there are still many 404 errors, both on initial page load (without pressing play) and during playback.

    &#xA;

    I ran watch -n 1 ls -lt code> and compared side-by-side to the errors in the browser console.  It&#x27;s hard to compare but it <em>looks</em> like the browser is trying to fetch files "on the play edge" which haven&#x27;t yet been created by FFmpeg.  See the pic below.

    &#xA;

    How do I instruct the browser to wait just a bit more before fetching the edge chunks ?

    &#xA;

    enter image description here

    &#xA;

    EDIT II

    &#xA;

    Using shaka-player instead of dash.js plays properly without 404 errors. Configured as :

    &#xA;

        player.configure(&#xA;    {&#xA;        streaming: &#xA;        {&#xA;            lowLatencyMode: true,&#xA;            inaccurateManifestTolerance: 0,&#xA;            rebufferingGoal: 0.1,&#xA;        }&#xA;        &#xA;    });&#xA;

    &#xA;

    Client

    &#xA;

      &#xA;
    • MacOS 10.12
    • &#xA;

    • dash.js latest 3.2.2
    • &#xA;

    • Chrome 79, Safari 12, FireFox v ?
    • &#xA;

    &#xA;

    Server

    &#xA;

      &#xA;
    • Apache 2.4.37
    • &#xA;

    • PHP 7.2.4 (for time function only)
    • &#xA;

    • Centos 8
    • &#xA;

    &#xA;

    (For reference, here is the mpd file generated by FFmpeg)

    &#xA;

    &lt;?xml version="1.0" encoding="utf-8"?>&#xA;<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumupdateperiod="PT500S" availabilitystarttime="2021-05-24T14:50:00.263Z" publishtime="2021-05-24T15:22:45.335Z" timeshiftbufferdepth="PT50.0S" maxsegmentduration="PT2.0S" minbuffertime="PT5.0S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;        <latency target="3000" referenceid="0"></latency>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="24/1" maxwidth="1280" maxheight="682" par="15:8" lang="und">&#xA;            <resync dt="200000" type="0"></resync>&#xA;            <representation mimetype="video/mp4" codecs="avc1.64081f" bandwidth="1000000" width="1280" height="682" sar="1023:1024">&#xA;                <producerreferencetime inband="true" type="captured" wallclocktime="2021-05-24T14:50:00.263Z" presentationtime="0">&#xA;                    <utctiming schemeiduri="urn:mpeg:dash:utc:http-xsdate:2014" value="/pelican/testPlayers/time.php"></utctiming>&#xA;                </producerreferencetime>&#xA;                <resync dt="5000000" type="1"></resync>&#xA;                <segmenttemplate timescale="1000000" duration="2000000" availabilitytimeoffset="1.800" availabilitytimecomplete="false" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="und">&#xA;            <resync dt="200000" type="0"></resync>&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="116317" audiosamplingrate="48000">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <producerreferencetime inband="true" type="captured" wallclocktime="2021-05-24T14:50:00.306Z" presentationtime="0">&#xA;                    <utctiming schemeiduri="urn:mpeg:dash:utc:http-xsdate:2014" value="/pelican/testPlayers/time.php"></utctiming>&#xA;                </producerreferencetime>&#xA;                <resync dt="21333" type="1"></resync>&#xA;                <segmenttemplate timescale="1000000" duration="2000000" availabilitytimeoffset="1.800" availabilitytimecomplete="false" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;    <utctiming schemeiduri="urn:mpeg:dash:utc:http-xsdate:2014" value="/pelican/testPlayers/time.php"></utctiming>&#xA;</mpd>&#xA;

    &#xA;