
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (92)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (7483)
-
Do I need multiple video files in different resolutions to use MPEG DASH ?
2 février 2023, par Gentil AlysonI'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'
usingos.system
from Python, but then the player gets stuck at buffering.



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





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



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 !


-
WebM live streaming via DASH
4 juin 2018, par ewackI 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&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&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.17xWhy is ffmpeg creating an empty .mpd file ?
-
WebM live streaming via DASH
23 février 2017, par ewackI 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&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&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.17xWhy is ffmpeg creating an empty .mpd file ?