Recherche avancée

Médias (2)

Mot : - Tags -/documentation

Autres articles (73)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (10118)

  • VideoJS for HLS streaming not working on iOS

    13 février 2024, par Aames

    I have a website where I stream audio using HLS (m3u8 playlist + ts files).
I use VideoJS 8.3.0 to handle the stream in the frontend side.
The streaming works in all devices (PC, Android, Mac) except in iOS where it works intermittently and often it blocks.

    


    Here is my videojs initialization :

    


    player = videojs('stream-id', {
            controls: false, autoplay: true, preload: 'auto',
            html5: {
               vhs: {overrideNative: false},
               nativeAudioTracks: true
           }
        });

...

player.src({ type: 'application/x-mpegURL', src: 'https://.../master.m3u8' });



    


    And these are the headers of the m3u8 file :

    


    #EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-PROGRAM-DATE-TIME:2024-02-13T09:00:00Z
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-DISCONTINUITY
#EXTINF:10.007800,
master0.ts
#EXTINF:7.214989,
master1.ts
....


    


    I use ffmpeg to create the playlist from mp3 files :

    


    ffmpeg -i inputFileName -c:a aac -b:a 128k -ac 2 -f hls -hls_time 10 -preset ultrafast -map 0:a -flags -global_header -hls_list_size 0 -hls_flags append_list outputFileName



    


    Am I doing something wrong ? Any help would be appreciated
Thanks

    


    I tried this solution : Videojs HLS m3u8 files are not playing in iOS devices and safari browser but it does not work for me

    


  • How to copy video duration to the output file with ffmpeg ? [closed]

    5 novembre 2024, par user28147375

    I want to copy the input's duration to the output. Is there even a way in ffmpeg to achieve this ?
There is nothing about this in the docs.

    


    I'm currently using these flags :

    


    const ffmpegProcess = cp.spawn(ffmpegPath, [
       '-i', `pipe:3`,
       '-i', `pipe:4`,
       '-map', '0:v:0',
       '-map', '1:a:0',
       '-c:v', 'copy',
       '-c:a', 'aac',
       '-crf', '27',
       '-pix_fmt', 'yuv420p',
       '-preset', 'veryfast',
       '-movflags', 'frag_keyframe+empty_moov',
       '-f', 'mp4',
       '-shortest',
        '-'
    ], {
        windowsHide: true,
        stdio: [
            'pipe', 'pipe', 'inherit', 'pipe', 'pipe'
        ],
    });


    


    The problem :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:3':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2024-10-05T10:39:09.000000Z
  Duration: 00:02:18.14, start: 0.000000, bitrate: N/A
Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)


    


    Output #0, mp4, to 'pipe:':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    encoder         : Lavf60.3.100
  ---> (DURATION MISSING) <---
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)


    


  • avformat/rtsp : Send mode=record instead of mode=receive in Transport header

    15 janvier 2024, par Paul Orlyk
    avformat/rtsp : Send mode=record instead of mode=receive in Transport header
    

    Fixes server compatibility issues with rtspclientsink GStreamer plugin.

    >From specification :
    RFC 7826 "Real-Time Streaming Protocol Version 2.0" (https://datatracker.ietf.org/doc/html/rfc7826), section 18.54 :
    mode : The mode parameter indicates the methods to be supported for
    this session. The currently defined valid value is "PLAY". If
    not provided, the default is "PLAY". The "RECORD" value was
    defined in RFC 2326 ; in this specification, it is unspecified
    but reserved. RECORD and other values may be specified in the
    future.
    RFC 2326 "Real Time Streaming Protocol (RTSP)" (https://datatracker.ietf.org/doc/html/rfc2326), section 12.39 :
    mode :
    The mode parameter indicates the methods to be supported for
    this session. Valid values are PLAY and RECORD. If not
    provided, the default is PLAY.

    mode=receive was always like this, from the initial commit 'a8ad6ffa rtsp : Add listen mode'.

    For comparison, Wowza was used to push RTSP stream to. Both GStreamer and FFmpeg had no issues.
    Here is the capture of Wowza responding to SETUP request :
    200 OK
    CSeq : 3
    Server : Wowza Streaming Engine 4.8.26+4 build20231212155517
    Cache-Control : no-cache
    Expires : Mon, 15 Jan 2024 19:40:31 GMT
    Transport : RTP/AVP/UDP ;unicast ;client_port=11640-11641 ;mode=record ;source=172.17.0.2 ;server_port=6976-6977
    Date : Mon, 15 Jan 2024 19:40:31 GMT
    Session : 1401457689 ;timeout=60

    Test setup :
    Server : ffmpeg -loglevel trace -y -rtsp_flags listen -i rtsp ://0.0.0.0:30800/live.stream t.mp4
    FFmpeg client : ffmpeg -re -i "Big Buck Bunny - FULL HD 30FPS.mp4" -c:v libx264 -f rtsp rtsp ://127.0.0.1:30800/live.stream
    GStreamer client : gst-launch-1.0 videotestsrc is-live=true pattern=smpte ! queue ! videorate ! videoscale ! video/x-raw,width=640,height=360,framerate=60/1 ! timeoverlay font-desc="Sans, 84" halignment=center valignment=center ! queue ! videoconvert ! tee name=t t. ! x264enc bitrate=9000 pass=cbr speed-preset=ultrafast byte-stream=false key-int-max=15 threads=1 ! video/x-h264,profile=baseline ! queue ! rsink. audiotestsrc ! voaacenc ! queue ! rsink. t. ! queue ! autovideosink rtspclientsink name=rsink location=rtsp ://localhost:30800/live.stream

    Test results :
    modified FFmpeg client -> stock server : ok
    stock FFmpeg client -> modified server : ok
    modified FFmpeg client -> modified server : ok
    GStreamer client -> modified server : ok

    Signed-off-by : Paul Orlyk <paul.orlyk@gmail.com>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/rtspdec.c