Recherche avancée

Médias (1)

Mot : - Tags -/musée

Autres articles (40)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

  • Submit enhancements and plugins

    13 avril 2011

    If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
    You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.

Sur d’autres sites (9477)

  • 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;