Recherche avancée

Médias (91)

Autres articles (59)

  • Qu’est ce qu’un éditorial

    21 juin 2013, par

    Ecrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
    Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
    Vous pouvez personnaliser le formulaire de création d’un éditorial.
    Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

Sur d’autres sites (8724)

  • FFmpeg wrong codecstring for DASH manifest [closed]

    21 novembre 2024, par Suxsem

    I'm trying to create a DASH stream with ffmpeg with the following command :

    


    ffmpeg -i rtsp://admin:***@camera-retro.lan/ch0_0 ^
       -map 0 ^
       -codec:v copy ^
       -codec:a copy ^
       -f dash ^
       -use_template 1 ^
       -use_timeline 1 ^
       -window_size 50 ^
       -extra_window_size 5 ^
       -seg_duration 5 ^
       tmp/output.mpd


    


    The problem is the generated manifest doesn't contain a valid codecstring for the video part (note the codecs="hev1" part) and thus is not playable by the browser :

    


    &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="PT6S" suggestedpresentationdelay="PT6S" availabilitystarttime="2024-11-21T12:05:52.604Z" publishtime="2024-11-21T12:05:57.559Z" timeshiftbufferdepth="PT5M1.9S" maxsegmentduration="PT5.0S" minbuffertime="PT12.0S">&#xA;    <programinformation>&#xA;        &#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" maxwidth="2304" maxheight="1296" par="16:9">&#xA;            <representation mimetype="video/mp4" codecs="hev1" bandwidth="822093" width="2304" height="1296" scantype="unknown" sar="1:1">&#xA;                <segmenttemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="542990"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="34143" audiosamplingrate="16000">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="16000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="81001"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;

    This is the output of ffprobe :

    &#xA;

    SDP:&#xA;v=0&#xA;o=- 1732188474342789 1 IN IP4 192.168.12.162&#xA;s=Session streamed by "rRTSPServer"&#xA;i=ch0_0.h264&#xA;t=0 0&#xA;a=tool:LIVE555 Streaming Media v2023.01.19&#xA;a=type:broadcast&#xA;a=control:*&#xA;a=range:npt=now-&#xA;a=x-qt-text-nam:Session streamed by "rRTSPServer"&#xA;a=x-qt-text-inf:ch0_0.h264&#xA;m=video 0 RTP/AVP 96&#xA;c=IN IP4 0.0.0.0&#xA;b=AS:700&#xA;a=rtpmap:96 H265/90000&#xA;a=fmtp:96 profile-space=0;profile-id=1;tier-flag=0;level-id=186;interop-constraints=000000000000;sprop-vps=QAEMAf//AWAAAAMAAAMAAAMAAAMAuqwJ;sprop-sps=QgEBAWAAAAMAAAMAAAMAAAMAuqABICAFEf5a7kSIi/Lc1AQEBAI=;sprop-pps=RAHA8oSJAzJA&#xA;a=control:track1&#xA;m=audio 0 RTP/AVP 97&#xA;c=IN IP4 0.0.0.0&#xA;b=AS:32&#xA;a=rtpmap:97 MPEG4-GENERIC/16000&#xA;a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1408&#xA;a=control:track2&#xA;

    &#xA;

    it seems to me that all codec informations are present :

    &#xA;

    a=fmtp:96 profile-space=0;profile-id=1;tier-flag=0;level-id=186;interop-constraints=000000000000;&#xA;

    &#xA;

    why ffmpeg is putting only codecs="hev1" instead of the full codecstring (containing the profile, the level and the constraints) ?

    &#xA;

    Thank you

    &#xA;

  • avformat/Makefile : Remove false dependency of WebM DASH manifest muxer

    7 avril 2020, par Andreas Rheinhardt
    avformat/Makefile : Remove false dependency of WebM DASH manifest muxer
    

    It does not use anything from libavformat/matroska.c.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>

    • [DH] libavformat/Makefile
  • MPEG DASH (MPD) to MP4 in Node.js ?

    28 janvier 2024, par Hello World

    I am trying to convert streams to .mp4 files. I have successfully converted an HLS to MP4 using fluent-ffmpeg package on version 2.1.2. I did so with with the following code :

    &#xA;

    var ffmpegCommand = ffmpeg();&#xA;            ffmpegCommand&#xA;            .input(HLS FILE HERE)&#xA;            .inputOptions(&#x27;-protocol_whitelist file,http,https,tcp,tls,crypto,data&#x27;)&#xA;            .on("error", (err, stdout, stderr) => {&#xA;                console.log(err)&#xA;                let error = new Error(err.message)&#xA;                error.code = err.code || &#x27;FILE_CONVERSION_M3U8_TO_MP3/UNKNOWN_ERROR&#x27;;&#xA;                error.status = err.status || 500;&#xA;&#xA;                console.log(&#x27;An error occurred: &#x27; &#x2B; err.message, err, stderr);&#xA;                reject(error)&#xA;            })&#xA;            .on("end", () => {&#xA;                console.log(temporaryFilePath2)&#xA;                resolve(temporaryFilePath2);&#xA;            })&#xA;            .on(&#x27;progress&#x27;, function(progress) {&#xA;                console.log(&#x27;progress: &#x27; &#x2B; (progress.percent || 0).toFixed(2) &#x2B; &#x27;%。&#x27;);&#xA;                progressGathering.push((progress.percent || 0).toFixed(2))&#xA;&#xA;                if(progressGathering.length == 10 &amp;&amp; progressGathering[9] == 0.00){&#xA;                    let error = new Error("File is a live stream.")&#xA;                    error.code = &#x27;FILE_CONVERSION_M3U8_TO_MP3/LIVESTREAM_SUPPORT&#x27;&#xA;                    error.status = 501&#xA;&#xA;                    ffmpegCommand.kill()&#xA;                    reject(error)&#xA;                }&#xA;            })&#xA;            .inputOptions(&#x27;-allowed_extensions ALL&#x27;)&#xA;            .outputOptions("-c copy")&#xA;            .output(temporaryFilePath2)&#xA;            .run();&#xA;&#xA;            setTimeout(() => {&#xA;                ffmpegCommand.kill();&#xA;                let error = new Error("The file selected was too large or the network was hanging. Conversion timeout.")&#xA;                error.code = &#x27;FILE_CONVERSION_M3U8_TO_MP3/TIMEOUT&#x27;&#xA;                error.status = 599;&#xA;                reject(error)&#xA;            }, 300000) // 5 minutes&#xA;

    &#xA;

    However, when I attempt something similar with a mpd file url in the input, I get several errors that are all the same :

    &#xA;

    ffmpeg exited with code 1: https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd: Invalid data found when processing input

    &#xA;

    Is this something fluent-ffmpeg can't handle ? If so, I would like to know another package that can accomplish this.

    &#xA;