Recherche avancée

Médias (2)

Mot : - Tags -/documentation

Autres articles (111)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

  • Que fait exactement ce script ?

    18 janvier 2011, par

    Ce script est écrit en bash. Il est donc facilement utilisable sur n’importe quel serveur.
    Il n’est compatible qu’avec une liste de distributions précises (voir Liste des distributions compatibles).
    Installation de dépendances de MediaSPIP
    Son rôle principal est d’installer l’ensemble des dépendances logicielles nécessaires coté serveur à savoir :
    Les outils de base pour pouvoir installer le reste des dépendances Les outils de développements : build-essential (via APT depuis les dépôts officiels) ; (...)

Sur d’autres sites (9688)

  • How do I create a MPEG-DASH video stream file with a MP4 file

    17 août 2021, par Illep

    I have FFMPEG installed, and I need to create a MPD file from a MP4 file. Can someone please help me out here ?

    


  • Do I need multiple video files in different resolutions to use MPEG DASH ?

    2 février 2023, par Gentil Alyson

    I'm trying to use Django REST Framework to serve .mpd files. When the user uploads a video, the server creates the MPD and the chunk files. However, I can't seem to able to make it work. I've tried using python-ffmpeg-video-streaming, but the client which is using dash.js to play the video will get only one bitrate (480p). I've also tried running this command 'ffmpeg -i {self.file.path} -map 0 -map 0 -c:a aac -c:v libx264 -b:v:0 800k -b:v:1 300k -var_stream_map "v:0,name:800k v:1,name:300k" -f dash -dash_segment_type mp4 -single_file 1 {file_dir}/dash.mpd' using os.system from Python, but then the player gets stuck at buffering.

    


    File structure generated by the command

    


    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT2M30.5S" maxsegmentduration="PT5.0S" minbuffertime="PT16.6S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30000/1001" maxwidth="1280" maxheight="720" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="800000" width="1280" height="720" sar="1:1">&#xA;                <baseurl>dash-stream0.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-854"></initialization>&#xA;                    <segmenturl mediarange="855-190364" indexrange="855-906"></segmenturl>&#xA;                    <segmenturl mediarange="190365-448322" indexrange="190365-190416"></segmenturl>&#xA;                    <segmenturl mediarange="448323-628609" indexrange="448323-448374"></segmenturl>&#xA;                    <segmenturl mediarange="628610-741660" indexrange="628610-628661"></segmenturl>&#xA;                    <segmenturl mediarange="741661-1149015" indexrange="741661-741712"></segmenturl>&#xA;                    <segmenturl mediarange="1149016-1761260" indexrange="1149016-1149067"></segmenturl>&#xA;                    <segmenturl mediarange="1761261-1829636" indexrange="1761261-1761312"></segmenturl>&#xA;                    <segmenturl mediarange="1829637-2343368" indexrange="1829637-1829688"></segmenturl>&#xA;                    <segmenturl mediarange="2343369-2759155" indexrange="2343369-2343420"></segmenturl>&#xA;                    <segmenturl mediarange="2759156-3120911" indexrange="2759156-2759207"></segmenturl>&#xA;                    <segmenturl mediarange="3120912-3255416" indexrange="3120912-3120963"></segmenturl>&#xA;                    <segmenturl mediarange="3255417-3617692" indexrange="3255417-3255468"></segmenturl>&#xA;                    <segmenturl mediarange="3617693-3910773" indexrange="3617693-3617744"></segmenturl>&#xA;                    <segmenturl mediarange="3910774-4097693" indexrange="3910774-3910825"></segmenturl>&#xA;                    <segmenturl mediarange="4097694-4266685" indexrange="4097694-4097745"></segmenturl>&#xA;                    <segmenturl mediarange="4266686-4609479" indexrange="4266686-4266737"></segmenturl>&#xA;                    <segmenturl mediarange="4609480-4719699" indexrange="4609480-4609531"></segmenturl>&#xA;                    <segmenturl mediarange="4719700-4833193" indexrange="4719700-4719751"></segmenturl>&#xA;                    <segmenturl mediarange="4833194-4905000" indexrange="4833194-4833245"></segmenturl>&#xA;                    <segmenturl mediarange="4905001-5046627" indexrange="4905001-4905052"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="eng">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <baseurl>dash-stream1.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-764"></initialization>&#xA;                    <segmenturl mediarange="765-82409" indexrange="765-816"></segmenturl>&#xA;                    <segmenturl mediarange="82410-163592" indexrange="82410-82461"></segmenturl>&#xA;                    <segmenturl mediarange="163593-244493" indexrange="163593-163644"></segmenturl>&#xA;                    <segmenturl mediarange="244494-325181" indexrange="244494-244545"></segmenturl>&#xA;                    <segmenturl mediarange="325182-406218" indexrange="325182-325233"></segmenturl>&#xA;                    <segmenturl mediarange="406219-487174" indexrange="406219-406270"></segmenturl>&#xA;                    <segmenturl mediarange="487175-568100" indexrange="487175-487226"></segmenturl>&#xA;                    <segmenturl mediarange="568101-649853" indexrange="568101-568152"></segmenturl>&#xA;                    <segmenturl mediarange="649854-732519" indexrange="649854-649905"></segmenturl>&#xA;                    <segmenturl mediarange="732520-813751" indexrange="732520-732571"></segmenturl>&#xA;                    <segmenturl mediarange="813752-895429" indexrange="813752-813803"></segmenturl>&#xA;                    <segmenturl mediarange="895430-976537" indexrange="895430-895481"></segmenturl>&#xA;                    <segmenturl mediarange="976538-1058579" indexrange="976538-976589"></segmenturl>&#xA;                    <segmenturl mediarange="1058580-1139556" indexrange="1058580-1058631"></segmenturl>&#xA;                    <segmenturl mediarange="1139557-1220802" indexrange="1139557-1139608"></segmenturl>&#xA;                    <segmenturl mediarange="1220803-1301723" indexrange="1220803-1220854"></segmenturl>&#xA;                    <segmenturl mediarange="1301724-1382546" indexrange="1301724-1301775"></segmenturl>&#xA;                    <segmenturl mediarange="1382547-1464086" indexrange="1382547-1382598"></segmenturl>&#xA;                    <segmenturl mediarange="1464087-1546573" indexrange="1464087-1464138"></segmenturl>&#xA;                    <segmenturl mediarange="1546574-1627881" indexrange="1546574-1546625"></segmenturl>&#xA;                    <segmenturl mediarange="1627882-1710185" indexrange="1627882-1627933"></segmenturl>&#xA;                    <segmenturl mediarange="1710186-1791593" indexrange="1710186-1710237"></segmenturl>&#xA;                    <segmenturl mediarange="1791594-1872889" indexrange="1791594-1791645"></segmenturl>&#xA;                    <segmenturl mediarange="1872890-1954238" indexrange="1872890-1872941"></segmenturl>&#xA;                    <segmenturl mediarange="1954239-2036069" indexrange="1954239-1954290"></segmenturl>&#xA;                    <segmenturl mediarange="2036070-2117365" indexrange="2036070-2036121"></segmenturl>&#xA;                    <segmenturl mediarange="2117366-2198435" indexrange="2117366-2117417"></segmenturl>&#xA;                    <segmenturl mediarange="2198436-2279764" indexrange="2198436-2198487"></segmenturl>&#xA;                    <segmenturl mediarange="2279765-2362061" indexrange="2279765-2279816"></segmenturl>&#xA;                    <segmenturl mediarange="2362062-2443751" indexrange="2362062-2362113"></segmenturl>&#xA;                    <segmenturl mediarange="2443752-2446358" indexrange="2443752-2443803"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30000/1001" maxwidth="1280" maxheight="720" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="300000" width="1280" height="720" sar="1:1">&#xA;                <baseurl>dash-stream2.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-854"></initialization>&#xA;                    <segmenturl mediarange="855-117134" indexrange="855-906"></segmenturl>&#xA;                    <segmenturl mediarange="117135-288087" indexrange="117135-117186"></segmenturl>&#xA;                    <segmenturl mediarange="288088-435178" indexrange="288088-288139"></segmenturl>&#xA;                    <segmenturl mediarange="435179-520309" indexrange="435179-435230"></segmenturl>&#xA;                    <segmenturl mediarange="520310-903223" indexrange="520310-520361"></segmenturl>&#xA;                    <segmenturl mediarange="903224-1458808" indexrange="903224-903275"></segmenturl>&#xA;                    <segmenturl mediarange="1458809-1524956" indexrange="1458809-1458860"></segmenturl>&#xA;                    <segmenturl mediarange="1524957-2026894" indexrange="1524957-1525008"></segmenturl>&#xA;                    <segmenturl mediarange="2026895-2406246" indexrange="2026895-2026946"></segmenturl>&#xA;                    <segmenturl mediarange="2406247-2726266" indexrange="2406247-2406298"></segmenturl>&#xA;                    <segmenturl mediarange="2726267-2852806" indexrange="2726267-2726318"></segmenturl>&#xA;                    <segmenturl mediarange="2852807-3183174" indexrange="2852807-2852858"></segmenturl>&#xA;                    <segmenturl mediarange="3183175-3467272" indexrange="3183175-3183226"></segmenturl>&#xA;                    <segmenturl mediarange="3467273-3653219" indexrange="3467273-3467324"></segmenturl>&#xA;                    <segmenturl mediarange="3653220-3821184" indexrange="3653220-3653271"></segmenturl>&#xA;                    <segmenturl mediarange="3821185-4162978" indexrange="3821185-3821236"></segmenturl>&#xA;                    <segmenturl mediarange="4162979-4273050" indexrange="4162979-4163030"></segmenturl>&#xA;                    <segmenturl mediarange="4273051-4386223" indexrange="4273051-4273102"></segmenturl>&#xA;                    <segmenturl mediarange="4386224-4458425" indexrange="4386224-4386275"></segmenturl>&#xA;                    <segmenturl mediarange="4458426-4597502" indexrange="4458426-4458477"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="eng">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <baseurl>dash-stream3.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-764"></initialization>&#xA;                    <segmenturl mediarange="765-82409" indexrange="765-816"></segmenturl>&#xA;                    <segmenturl mediarange="82410-163592" indexrange="82410-82461"></segmenturl>&#xA;                    <segmenturl mediarange="163593-244493" indexrange="163593-163644"></segmenturl>&#xA;                    <segmenturl mediarange="244494-325181" indexrange="244494-244545"></segmenturl>&#xA;                    <segmenturl mediarange="325182-406218" indexrange="325182-325233"></segmenturl>&#xA;                    <segmenturl mediarange="406219-487174" indexrange="406219-406270"></segmenturl>&#xA;                    <segmenturl mediarange="487175-568100" indexrange="487175-487226"></segmenturl>&#xA;                    <segmenturl mediarange="568101-649853" indexrange="568101-568152"></segmenturl>&#xA;                    <segmenturl mediarange="649854-732519" indexrange="649854-649905"></segmenturl>&#xA;                    <segmenturl mediarange="732520-813751" indexrange="732520-732571"></segmenturl>&#xA;                    <segmenturl mediarange="813752-895429" indexrange="813752-813803"></segmenturl>&#xA;                    <segmenturl mediarange="895430-976537" indexrange="895430-895481"></segmenturl>&#xA;                    <segmenturl mediarange="976538-1058579" indexrange="976538-976589"></segmenturl>&#xA;                    <segmenturl mediarange="1058580-1139556" indexrange="1058580-1058631"></segmenturl>&#xA;                    <segmenturl mediarange="1139557-1220802" indexrange="1139557-1139608"></segmenturl>&#xA;                    <segmenturl mediarange="1220803-1301723" indexrange="1220803-1220854"></segmenturl>&#xA;                    <segmenturl mediarange="1301724-1382546" indexrange="1301724-1301775"></segmenturl>&#xA;                    <segmenturl mediarange="1382547-1464086" indexrange="1382547-1382598"></segmenturl>&#xA;                    <segmenturl mediarange="1464087-1546573" indexrange="1464087-1464138"></segmenturl>&#xA;                    <segmenturl mediarange="1546574-1627881" indexrange="1546574-1546625"></segmenturl>&#xA;                    <segmenturl mediarange="1627882-1710185" indexrange="1627882-1627933"></segmenturl>&#xA;                    <segmenturl mediarange="1710186-1791593" indexrange="1710186-1710237"></segmenturl>&#xA;                    <segmenturl mediarange="1791594-1872889" indexrange="1791594-1791645"></segmenturl>&#xA;                    <segmenturl mediarange="1872890-1954238" indexrange="1872890-1872941"></segmenturl>&#xA;                    <segmenturl mediarange="1954239-2036069" indexrange="1954239-1954290"></segmenturl>&#xA;                    <segmenturl mediarange="2036070-2117365" indexrange="2036070-2036121"></segmenturl>&#xA;                    <segmenturl mediarange="2117366-2198435" indexrange="2117366-2117417"></segmenturl>&#xA;                    <segmenturl mediarange="2198436-2279764" indexrange="2198436-2198487"></segmenturl>&#xA;                    <segmenturl mediarange="2279765-2362061" indexrange="2279765-2279816"></segmenturl>&#xA;                    <segmenturl mediarange="2362062-2443751" indexrange="2362062-2362113"></segmenturl>&#xA;                    <segmenturl mediarange="2443752-2446358" indexrange="2443752-2443803"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;

    File structure created by the lib

    &#xA;

    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT5M24.4S" maxsegmentduration="PT5.0S" minbuffertime="PT10.8S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30/1" maxwidth="854" maxheight="480" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="750000" width="854" height="480" sar="1280:1281">&#xA;                <segmenttemplate timescale="15360" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="95744"></s>&#xA;                        <s d="93696"></s>&#xA;                        <s d="117760"></s>&#xA;                        <s d="126976"></s>&#xA;                        <s d="152064"></s>&#xA;                        <s d="109056"></s>&#xA;                        <s d="128000" r="1"></s>&#xA;                        <s d="110080"></s>&#xA;                        <s d="105984" r="1"></s>&#xA;                        <s d="96256"></s>&#xA;                        <s d="114688"></s>&#xA;                        <s d="122880"></s>&#xA;                        <s d="106496"></s>&#xA;                        <s d="113152"></s>&#xA;                        <s d="126464"></s>&#xA;                        <s d="91136"></s>&#xA;                        <s d="77824"></s>&#xA;                        <s d="115712"></s>&#xA;                        <s d="93184"></s>&#xA;                        <s d="154624"></s>&#xA;                        <s d="129024"></s>&#xA;                        <s d="141824"></s>&#xA;                        <s d="116736"></s>&#xA;                        <s d="92672"></s>&#xA;                        <s d="106496"></s>&#xA;                        <s d="153088"></s>&#xA;                        <s d="121344"></s>&#xA;                        <s d="130560"></s>&#xA;                        <s d="87040"></s>&#xA;                        <s d="81920"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="99328"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="159232"></s>&#xA;                        <s d="158208"></s>&#xA;                        <s d="78848"></s>&#xA;                        <s d="112640"></s>&#xA;                        <s d="95232"></s>&#xA;                        <s d="168448"></s>&#xA;                        <s d="167424"></s>&#xA;                        <s d="40960"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="eng">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="192000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="44100" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="220160"></s>&#xA;                        <s d="221184" r="62"></s>&#xA;                        <s d="151552"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30/1" maxwidth="1280" maxheight="720" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="2048000" width="1280" height="720" sar="1:1">&#xA;                <segmenttemplate timescale="15360" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="96256"></s>&#xA;                        <s d="93184"></s>&#xA;                        <s d="117760"></s>&#xA;                        <s d="78336"></s>&#xA;                        <s d="106496"></s>&#xA;                        <s d="123392"></s>&#xA;                        <s d="80384"></s>&#xA;                        <s d="128000" r="1"></s>&#xA;                        <s d="109568"></s>&#xA;                        <s d="164864"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="181760"></s>&#xA;                        <s d="91136"></s>&#xA;                        <s d="84992"></s>&#xA;                        <s d="127488"></s>&#xA;                        <s d="103936"></s>&#xA;                        <s d="101376"></s>&#xA;                        <s d="77312"></s>&#xA;                        <s d="115712"></s>&#xA;                        <s d="93184"></s>&#xA;                        <s d="154624"></s>&#xA;                        <s d="129024"></s>&#xA;                        <s d="132096"></s>&#xA;                        <s d="126464"></s>&#xA;                        <s d="92672"></s>&#xA;                        <s d="107008"></s>&#xA;                        <s d="152064"></s>&#xA;                        <s d="122368"></s>&#xA;                        <s d="130560"></s>&#xA;                        <s d="85504"></s>&#xA;                        <s d="82944"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="99328"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="161792"></s>&#xA;                        <s d="155648"></s>&#xA;                        <s d="78848"></s>&#xA;                        <s d="113152"></s>&#xA;                        <s d="119808"></s>&#xA;                        <s d="144896"></s>&#xA;                        <s d="116224"></s>&#xA;                        <s d="83456"></s>&#xA;                        <s d="7168"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="eng">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="320000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="44100" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="220160"></s>&#xA;                        <s d="221184" r="62"></s>&#xA;                        <s d="151552"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30/1" maxwidth="1920" maxheight="1080" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.640028" bandwidth="4096000" width="1920" height="1080" sar="1:1">&#xA;                <segmenttemplate timescale="15360" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="86016"></s>&#xA;                        <s d="103424"></s>&#xA;                        <s d="95232"></s>&#xA;                        <s d="95744"></s>&#xA;                        <s d="111616"></s>&#xA;                        <s d="123392"></s>&#xA;                        <s d="80384"></s>&#xA;                        <s d="128000" r="1"></s>&#xA;                        <s d="109568"></s>&#xA;                        <s d="157184"></s>&#xA;                        <s d="92160"></s>&#xA;                        <s d="145408"></s>&#xA;                        <s d="79872"></s>&#xA;                        <s d="85504"></s>&#xA;                        <s d="92160"></s>&#xA;                        <s d="82944"></s>&#xA;                        <s d="81408"></s>&#xA;                        <s d="168960"></s>&#xA;                        <s d="138240"></s>&#xA;                        <s d="83456"></s>&#xA;                        <s d="99328"></s>&#xA;                        <s d="120320"></s>&#xA;                        <s d="126464"></s>&#xA;                        <s d="132608"></s>&#xA;                        <s d="121856"></s>&#xA;                        <s d="96768"></s>&#xA;                        <s d="90112"></s>&#xA;                        <s d="169472"></s>&#xA;                        <s d="121856"></s>&#xA;                        <s d="137216"></s>&#xA;                        <s d="119808"></s>&#xA;                        <s d="177152"></s>&#xA;                        <s d="92160"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="161792"></s>&#xA;                        <s d="156160"></s>&#xA;                        <s d="78336"></s>&#xA;                        <s d="77824"></s>&#xA;                        <s d="84480"></s>&#xA;                        <s d="104960"></s>&#xA;                        <s d="110592"></s>&#xA;                        <s d="98304"></s>&#xA;                        <s d="108544"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="eng">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="320000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="44100" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="220160"></s>&#xA;                        <s d="221184" r="62"></s>&#xA;                        <s d="151552"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;

    Do I really need multiple video files in different resolutions ? If not, then how would I go about making the necessary files ? Thanks in advance !

    &#xA;

  • WebM live streaming via DASH

    4 juin 2018, par ewack

    I am following the instructions here to try to make WebM live streaming via DASH. My input is from an Axis camera and it is streaming as h264 encoding. I am using node to spin up the ffmpeg processes. I am able to create the .hdr file and the .chk files. The .mpd file is even created but it’s empty and I get an error saying :

    Could not write header for output file #0 (incorrect codec parameters ?): Operation not permittedStream mapping: Stream #0:0 -> #0:0 (copy)

    Here’s all of my code :

    var express = require('express');
    spawn = require('child_process').spawn;

    var app = express();

    app.use(express.static(__dirname + '/public'));

    app.listen(8080);
    console.log("Running on Port 8080");

    var ffmpeg1 = spawn('ffmpeg', [
       '-y',
       //video
       '-i', 'rtsp://admin:password@192.168.1.54:554/axis-media/media.amp?videocodec=h264&amp;resolution=1280x720',

       '-map', '0:0',
       '-pix_fmt', 'yuv420p',
       '-color_range', '2',
       '-c:v', 'libvpx-vp9',

       '-s', '1280x720',
       '-keyint_min', '25',
       '-g', '25',

       // //VP9_LIVE_PARAMS
       '-speed', '6',
       '-tile-columns', '4',
       '-frame-parallel', '1',
       '-threads', '8',
       '-static-thresh', '0',
       '-max-intra-rate', '300',
       '-deadline', 'realtime',
       '-lag-in-frames', '0',
       '-error-resilient', '1',

       '-f', 'webm_chunk',
       '-header', 'public/glass_360.hdr',
       '-chunk_start_index', '1',
       'public/glass_360_%d.chk',
    ]);


    setTimeout(()=> {
     var ffmpeg2 = spawn('ffmpeg', [
       '-y',
       '-f', 'webm_dash_manifest',
       '-live', '1',
       '-i', 'public/glass_360.hdr',
       '-c', 'copy',
       '-map', '0',
       '-r', '25',
       '-framerate', '25',

       '-f', 'webm_dash_manifest',
       '-live', '1',

       '-adaptation_sets', '"id=0,streams=0"',
       '-chunk_start_index', '1',
       '-chunk_duration_ms', '2000',
       '-time_shift_buffer_depth', '7200',
       '-minimum_update_period', '7200',

       'public/glass_live_manifest.mpd'
     ]);
     ffmpeg2.stdout.on('data',
         function (data) {
             console.log('ff2std: ' + data);
         }
     );

     ffmpeg2.stderr.on('data',
         function (data) {
             console.log('ff2err: ' + data);
         }
     );
    }, 5000);

    ffmpeg1.stdout.on('data',
       function (data) {
           console.log('ff1std: ' + data);
       }
    );

    ffmpeg1.stderr.on('data',
       function (data) {
           console.log('ff1err: ' + data);
       }
    );

    Here is all of my output :

    Running on Port 8080
    ff1err: ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-frei0r --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.1.2/include/openjpeg-2.1 --enable-nonfree --enable-vda

    ff1err:   libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100

    ff1err: Input #0, rtsp, from 'rtsp://admin:password@192.168.1.54:554/axis-media/media.amp?videocodec=h264&amp;resolution=1280x720':
     Metadata:
       title           : Session streamed with GStreamer
       comment         : rtsp-server
     Duration: N/A, start: 0.033344
    ff1err: , bitrate: N/A
       Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn, 180k tbc

    ff1err: [swscaler @ 0x7f8df281bc00] deprecated pixel format used, make sure you did set range correctly

    ff1err: [libvpx-vp9 @ 0x7f8df2800600] v1.6.1

    ff1err: Output #0, webm_chunk, to 'public/glass_360_%d.chk':
     Metadata:
       title           : Session streamed with GStreamer
       comment         : rtsp-server
       encoder         : Lavf57.56.101

    ff1err:     Stream #0:0: Video: vp9 (libvpx-vp9), yuv420p(pc), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 200 kb/s, 25 fps, 1k tbn, 25 tbc
       Metadata:
         encoder         : Lavc57.64.101 libvpx-vp9
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> vp9 (libvpx-vp9))
    Press [q] to stop, [?] for help

    ff1err: frame=   10 fps=0.0 q=0.0 size=N/A time=00:00:00.36 bitrate=N/A speed=0.71x    
    ff1err: frame=   25 fps= 25 q=0.0 size=N/A time=00:00:00.96 bitrate=N/A speed=0.946x    
    ff1err: frame=   40 fps= 26 q=0.0 size=N/A time=00:00:01.56 bitrate=N/A speed=1.03x    
    ff1err: frame=   55 fps= 27 q=0.0 size=N/A time=00:00:02.16 bitrate=N/A speed=1.07x    
    ff1err: frame=   70 fps= 28 q=0.0 size=N/A time=00:00:02.76 bitrate=N/A speed=1.09x    
    ff1err: frame=   85 fps= 28 q=0.0 size=N/A time=00:00:03.36 bitrate=N/A speed=1.11x    
    ff2err: ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-frei0r --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.1.2/include/openjpeg-2.1 --enable-nonfree --enable-vda

    ff2err:   libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100

    ff2err: [webm_dash_manifest @ 0x7fbc5b80b400] Could not find codec parameters for stream 0 (Video: vp9, none, 1280x720): unspecified pixel format
    Consider increasing the value for the 'analyzeduration' and 'probesize' options

    ff2err: Input #0, webm_dash_manifest, from 'public/glass_360.hdr':
     Metadata:
       title           : Session streamed with GStreamer
       encoder         : Lavf57.56.101
     Duration: N/A, bitrate: N/A
       Stream #0:0: Video: vp9, none, 1280x720
    ff2err: , SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
       Metadata:
         webm_dash_manifest_file_name: glass_360.hdr
         webm_dash_manifest_track_number: 1

    ff2err: Could not write header for output file #0 (incorrect codec parameters ?): Operation not permittedStream mapping:
     Stream #0:0 -> #0:0 (copy)

    ff2err:     Last message repeated 1 times

    ff1err: frame=  101 fps= 29 q=0.0 size=N/A time=00:00:04.00 bitrate=N/A speed=1.13x    
    ff1err: frame=  116 fps= 29 q=0.0 size=N/A time=00:00:04.60 bitrate=N/A speed=1.14x    
    ff1err: frame=  131 fps= 29 q=0.0 size=N/A time=00:00:05.20 bitrate=N/A speed=1.15x    
    ff1err: frame=  146 fps= 29 q=0.0 size=N/A time=00:00:05.80 bitrate=N/A speed=1.15x    
    ff1err: frame=  161 fps= 29 q=0.0 size=N/A time=00:00:06.40 bitrate=N/A speed=1.15x    
    ff1err: frame=  177 fps= 29 q=0.0 size=N/A time=00:00:07.04 bitrate=N/A speed=1.16x    
    ff1err: frame=  192 fps= 29 q=0.0 size=N/A time=00:00:07.64 bitrate=N/A speed=1.16x    
    ff1err: frame=  207 fps= 29 q=0.0 size=N/A time=00:00:08.24 bitrate=N/A speed=1.16x    
    ff1err: frame=  222 fps= 29 q=0.0 size=N/A time=00:00:08.84 bitrate=N/A speed=1.17x    
    ff1err: frame=  237 fps= 29 q=0.0 size=N/A time=00:00:09.44 bitrate=N/A speed=1.17x    
    ff1err: frame=  252 fps= 29 q=0.0 size=N/A time=00:00:10.04 bitrate=N/A speed=1.17x  

    Why is ffmpeg creating an empty .mpd file ?