Recherche avancée

Médias (0)

Mot : - Tags -/content

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (45)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

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

Sur d’autres sites (2423)

  • trying to read .smp stream using ffmpeg over windows cmd

    15 décembre 2022, par Moayad Rayyan

    Am trying to read the stream over windows CMD using ffmpeg.
I am able to stream the same link to VLC Player but Cmd showing bellow error.

    


    The camera used here is : **Hanwha **

    


    So when i run this command, there is error "Invalid data found when processing input"

    


    How to tell ffmjpeg to identify this type of stream.

    


    Command :

    


    ffmpeg -i rtsp://admin:******@10.82.0.165:80/profile1/media.smp -loglevel 99


    


    Command Result :

    


    ffmpeg version 2022-12-11-git-c3e20f78b0-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      57. 43.100 / 57. 43.100
  libavcodec     59. 55.100 / 59. 55.100
  libavformat    59. 34.102 / 59. 34.102
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 52.100 /  8. 52.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
  libpostproc    56.  7.100 / 56.  7.100
Splitting the commandline.
Reading option '-codec' ... matched as option 'codec' (codec name) with argument 'hevc'.
Reading option '-i' ... matched as input url with argument 'rtsp://admin:*******@10.82.0.165:80/profile1/media.smp'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument 99.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://admin:******@10.82.0.165:80/profile1/media.smp.
Applying option codec (codec name) with argument hevc.
Successfully parsed a group of options.
Opening an input file: rtsp://admin:******@10.82.0.165:80/profile1/media.smp.
Probing rtsp score:100 size:0
[tcp @ 000001ce22e0f0c0] No default whitelist set
[tcp @ 000001ce22e0f0c0] Original list of addresses:
[tcp @ 000001ce22e0f0c0] Address 10.82.0.165 port 80
[tcp @ 000001ce22e0f0c0] Interleaved list of addresses:
[tcp @ 000001ce22e0f0c0] Address 10.82.0.165 port 80
[tcp @ 000001ce22e0f0c0] Starting connection attempt to 10.82.0.165 port 80
[tcp @ 000001ce22e0f0c0] Successfully connected to 10.82.0.165 port 80
[rtsp @ 000001ce22e0e800] Sending:
OPTIONS rtsp://10.82.0.165:80/profile1/media.smp RTSP/1.0
CSeq: 1
User-Agent: Lavf59.34.102

--
[rtsp @ 000001ce22e0e800] ret=1 c=48 [H]
[rtsp @ 000001ce22e0e800] ret=1 c=54 [T]
    Last message repeated 1 times
[rtsp @ 000001ce22e0e800] ret=1 c=50 [P]
[rtsp @ 000001ce22e0e800] ret=1 c=2f [/]
[rtsp @ 000001ce22e0e800] ret=1 c=31 [1]
[rtsp @ 000001ce22e0e800] ret=1 c=2e [.]
[rtsp @ 000001ce22e0e800] ret=1 c=30 [0]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=34 [4]
[rtsp @ 000001ce22e0e800] ret=1 c=30 [0]
    Last message repeated 1 times
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=42 [B]
[rtsp @ 000001ce22e0e800] ret=1 c=61 [a]
[rtsp @ 000001ce22e0e800] ret=1 c=64 [d]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=52 [R]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=71 [q]
[rtsp @ 000001ce22e0e800] ret=1 c=75 [u]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=73 [s]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
]rtsp @ 000001ce22e0e800] ret=1 c=0d [
[rtsp @ 000001ce22e0e800] ret=1 c=0a [
]
[rtsp @ 000001ce22e0e800] line='HTTP/1.0 400 Bad Request'
[rtsp @ 000001ce22e0e800] ret=1 c=43 [C]
[rtsp @ 000001ce22e0e800] ret=1 c=6f [o]
[rtsp @ 000001ce22e0e800] ret=1 c=6e [n]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=6e [n]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=2d [-]
[rtsp @ 000001ce22e0e800] ret=1 c=54 [T]
[rtsp @ 000001ce22e0e800] ret=1 c=79 [y]
[rtsp @ 000001ce22e0e800] ret=1 c=70 [p]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=3a [:]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=78 [x]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=2f [/]
[rtsp @ 000001ce22e0e800] ret=1 c=68 [h]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=6d [m]
[rtsp @ 000001ce22e0e800] ret=1 c=6c [l]
]rtsp @ 000001ce22e0e800] ret=1 c=0d [
[rtsp @ 000001ce22e0e800] ret=1 c=0a [
]
[rtsp @ 000001ce22e0e800] line='Content-Type: text/html'
[rtsp @ 000001ce22e0e800] ret=1 c=43 [C]
[rtsp @ 000001ce22e0e800] ret=1 c=6f [o]
[rtsp @ 000001ce22e0e800] ret=1 c=6e [n]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=6e [n]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=2d [-]
[rtsp @ 000001ce22e0e800] ret=1 c=4c [L]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=6e [n]
[rtsp @ 000001ce22e0e800] ret=1 c=67 [g]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=68 [h]
[rtsp @ 000001ce22e0e800] ret=1 c=3a [:]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=33 [3]
[rtsp @ 000001ce22e0e800] ret=1 c=34 [4]
[rtsp @ 000001ce22e0e800] ret=1 c=39 [9]
]rtsp @ 000001ce22e0e800] ret=1 c=0d [
[rtsp @ 000001ce22e0e800] ret=1 c=0a [
]
[rtsp @ 000001ce22e0e800] line='Content-Length: 349'
[rtsp @ 000001ce22e0e800] ret=1 c=43 [C]
[rtsp @ 000001ce22e0e800] ret=1 c=6f [o]
[rtsp @ 000001ce22e0e800] ret=1 c=6e [n]
    Last message repeated 1 times
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=63 [c]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=69 [i]
[rtsp @ 000001ce22e0e800] ret=1 c=6f [o]
[rtsp @ 000001ce22e0e800] ret=1 c=6e [n]
[rtsp @ 000001ce22e0e800] ret=1 c=3a [:]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=63 [c]
[rtsp @ 000001ce22e0e800] ret=1 c=6c [l]
[rtsp @ 000001ce22e0e800] ret=1 c=6f [o]
[rtsp @ 000001ce22e0e800] ret=1 c=73 [s]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
]rtsp @ 000001ce22e0e800] ret=1 c=0d [
[rtsp @ 000001ce22e0e800] ret=1 c=0a [
]
[rtsp @ 000001ce22e0e800] line='Connection: close'
[rtsp @ 000001ce22e0e800] ret=1 c=44 [D]
[rtsp @ 000001ce22e0e800] ret=1 c=61 [a]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=3a [:]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=54 [T]
[rtsp @ 000001ce22e0e800] ret=1 c=68 [h]
[rtsp @ 000001ce22e0e800] ret=1 c=75 [u]
[rtsp @ 000001ce22e0e800] ret=1 c=2c [,]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=31 [1]
[rtsp @ 000001ce22e0e800] ret=1 c=35 [5]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=44 [D]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=63 [c]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=32 [2]
[rtsp @ 000001ce22e0e800] ret=1 c=30 [0]
[rtsp @ 000001ce22e0e800] ret=1 c=32 [2]
    Last message repeated 1 times
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=30 [0]
[rtsp @ 000001ce22e0e800] ret=1 c=38 [8]
[rtsp @ 000001ce22e0e800] ret=1 c=3a [:]
[rtsp @ 000001ce22e0e800] ret=1 c=31 [1]
[rtsp @ 000001ce22e0e800] ret=1 c=32 [2]
[rtsp @ 000001ce22e0e800] ret=1 c=3a [:]
[rtsp @ 000001ce22e0e800] ret=1 c=35 [5]
[rtsp @ 000001ce22e0e800] ret=1 c=32 [2]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=47 [G]
[rtsp @ 000001ce22e0e800] ret=1 c=4d [M]
[rtsp @ 000001ce22e0e800] ret=1 c=54 [T]
]rtsp @ 000001ce22e0e800] ret=1 c=0d [
[rtsp @ 000001ce22e0e800] ret=1 c=0a [
]
[rtsp @ 000001ce22e0e800] line='Date: Thu, 15 Dec 2022 08:12:52 GMT'
[rtsp @ 000001ce22e0e800] ret=1 c=53 [S]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=72 [r]
[rtsp @ 000001ce22e0e800] ret=1 c=76 [v]
[rtsp @ 000001ce22e0e800] ret=1 c=65 [e]
[rtsp @ 000001ce22e0e800] ret=1 c=72 [r]
[rtsp @ 000001ce22e0e800] ret=1 c=3a [:]
[rtsp @ 000001ce22e0e800] ret=1 c=20 [ ]
[rtsp @ 000001ce22e0e800] ret=1 c=6c [l]
[rtsp @ 000001ce22e0e800] ret=1 c=69 [i]
[rtsp @ 000001ce22e0e800] ret=1 c=67 [g]
[rtsp @ 000001ce22e0e800] ret=1 c=68 [h]
[rtsp @ 000001ce22e0e800] ret=1 c=74 [t]
    Last message repeated 1 times
[rtsp @ 000001ce22e0e800] ret=1 c=70 [p]
[rtsp @ 000001ce22e0e800] ret=1 c=64 [d]
]rtsp @ 000001ce22e0e800] ret=1 c=0d [
[rtsp @ 000001ce22e0e800] ret=1 c=0a [
]
[rtsp @ 000001ce22e0e800] line='Server: lighttpd'
]rtsp @ 000001ce22e0e800] ret=1 c=0d [
[rtsp @ 000001ce22e0e800] ret=1 c=0a [
]
[rtsp @ 000001ce22e0e800] line=''
[rtsp @ 000001ce22e0e800] ret=-541478725 c=0a [
]
rtsp://admin:********@10.82.0.165:80/profile1/media.smp: Invalid data found when processing input


    


  • JSmpeg is not playing audio from websocket stream

    5 juin 2023, par Nik

    I am trying to stream RTSP to web browser using ffmpeg through web socket relay written in node js taken from https://github.com/phoboslab/jsmpeg , and on the browser i am using JSMpeg to display the RTSP stream, the video is playing fine, but audio is not playing,

    


    The ffmpeg command :

    


    ffmpeg -rtsp_transport tcp -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4 
       -f mpegts -c:v mpeg1video -c:a mp2 http://127.0.0.1:8081/stream_from_ffmpeg/


    


    The node js web socket relay :

    


    // Use the websocket-relay to serve a raw MPEG-TS over WebSockets. You can use&#xA;// ffmpeg to feed the relay. ffmpeg -> websocket-relay -> browser&#xA;// Example:&#xA;// node websocket-relay yoursecret 8081 8082&#xA;// ffmpeg -i <some input="input"> -f mpegts http://localhost:8081/yoursecret&#xA;&#xA;var fs = require(&#x27;fs&#x27;),&#xA;    http = require(&#x27;http&#x27;),&#xA;    WebSocket = require(&#x27;ws&#x27;);&#xA;&#xA;if (process.argv.length &lt; 3) {&#xA;    console.log(&#xA;        &#x27;Usage: \n&#x27; &#x2B;&#xA;        &#x27;node websocket-relay.js <secret> [ ]&#x27;&#xA;    );&#xA;    process.exit();&#xA;}&#xA;&#xA;var STREAM_SECRET = process.argv[2],&#xA;    STREAM_PORT = process.argv[3] || 8081,&#xA;    WEBSOCKET_PORT = process.argv[4] || 8082,&#xA;    RECORD_STREAM = false;&#xA;&#xA;// Websocket Server&#xA;var socketServer = new WebSocket.Server({port: WEBSOCKET_PORT, perMessageDeflate: false});&#xA;socketServer.connectionCount = 0;&#xA;socketServer.on(&#x27;connection&#x27;, function(socket, upgradeReq) {&#xA;    socketServer.connectionCount&#x2B;&#x2B;;&#xA;    console.log(&#xA;        &#x27;New WebSocket Connection: &#x27;,&#xA;        (upgradeReq || socket.upgradeReq).socket.remoteAddress,&#xA;        (upgradeReq || socket.upgradeReq).headers[&#x27;user-agent&#x27;],&#xA;        &#x27;(&#x27;&#x2B;socketServer.connectionCount&#x2B;&#x27; total)&#x27;&#xA;    );&#xA;    socket.on(&#x27;close&#x27;, function(code, message){&#xA;        socketServer.connectionCount--;&#xA;        console.log(&#xA;            &#x27;Disconnected WebSocket (&#x27;&#x2B;socketServer.connectionCount&#x2B;&#x27; total)&#x27;&#xA;        );&#xA;    });&#xA;});&#xA;socketServer.broadcast = function(data) {&#xA;    socketServer.clients.forEach(function each(client) {&#xA;        if (client.readyState === WebSocket.OPEN) {&#xA;            client.send(data);&#xA;        }&#xA;    });&#xA;};&#xA;&#xA;// HTTP Server to accept incoming MPEG-TS Stream from ffmpeg&#xA;var streamServer = http.createServer( function(request, response) {&#xA;    var params = request.url.substr(1).split(&#x27;/&#x27;);&#xA;&#xA;    if (params[0] !== STREAM_SECRET) {&#xA;        console.log(&#xA;            &#x27;Failed Stream Connection: &#x27;&#x2B; request.socket.remoteAddress &#x2B; &#x27;:&#x27; &#x2B;&#xA;            request.socket.remotePort &#x2B; &#x27; - wrong secret.&#x27;&#xA;        );&#xA;        response.end();&#xA;    }&#xA;&#xA;    response.connection.setTimeout(0);&#xA;    console.log(&#xA;        &#x27;Stream Connected: &#x27; &#x2B;&#xA;        request.socket.remoteAddress &#x2B; &#x27;:&#x27; &#x2B;&#xA;        request.socket.remotePort&#xA;    );&#xA;    request.on(&#x27;data&#x27;, function(data){&#xA;        socketServer.broadcast(data);&#xA;        if (request.socket.recording) {&#xA;            request.socket.recording.write(data);&#xA;        }&#xA;    });&#xA;    request.on(&#x27;end&#x27;,function(){&#xA;        console.log(&#x27;close&#x27;);&#xA;        if (request.socket.recording) {&#xA;            request.socket.recording.close();&#xA;        }&#xA;    });&#xA;&#xA;    // Record the stream to a local file?&#xA;    if (RECORD_STREAM) {&#xA;        var path = &#x27;recordings/&#x27; &#x2B; Date.now() &#x2B; &#x27;.ts&#x27;;&#xA;        request.socket.recording = fs.createWriteStream(path);&#xA;    }&#xA;})&#xA;// Keep the socket open for streaming&#xA;streamServer.headersTimeout = 0;&#xA;streamServer.listen(STREAM_PORT);&#xA;&#xA;console.log(&#x27;Listening for incoming MPEG-TS Stream on http://127.0.0.1:&#x27;&#x2B;STREAM_PORT&#x2B;&#x27;/<secret>&#x27;);&#xA;console.log(&#x27;Awaiting WebSocket connections on ws://127.0.0.1:&#x27;&#x2B;WEBSOCKET_PORT&#x2B;&#x27;/&#x27;);&#xA;</secret></secret></some>

    &#xA;

    The front end code

    &#xA;

    &#xA;&#xA;  &#xA;    &#xA;    &#xA;    &#xA;    <code class="echappe-js">&lt;script src='http://stackoverflow.com/feeds/tag/jsmpeg.min.js'&gt;&lt;/script&gt;&#xA;    &#xA;  &#xA;  &#xA;    &#xA;  &#xA;  &lt;script&gt;&amp;#xA;    let url;&amp;#xA;    let player;&amp;#xA;    let canvas = document.getElementById(&quot;video-canvas&quot;);&amp;#xA;    let ipAddr = &quot;127.0.0.1:8082&quot;;&amp;#xA;    window.onload = async() =&gt; {&amp;#xA;      url = `ws://${ipAddr}`;&amp;#xA;      player = new JSMpeg.Player(url, { canvas: canvas, });&amp;#xA;    };&amp;#xA;&amp;#xA;  &lt;/script&gt;&#xA;&#xA;&#xA;

    &#xA;

    The above code works fine and plays the video, but no audio is playing&#xA;Things I tried :

    &#xA;

    Changed the audio context state inside the player object from suspended to running

    &#xA;

    player.audioOut.context.onstatechange = async () => {&#xA;    console.log("Event triggered by audio");&#xA;&#xA;    if (player.audioOut.context === "suspended") {&#xA;        await player.audioOut.context.resume();&#xA;    }&#xA;}&#xA;

    &#xA;

  • MPEG-DASH - Multiplexed Representations Issue

    26 avril 2017, par Mike

    I’m trying to learn ffmpeg, MP4Box, and MPEG-DASH, but I’m running into an issue with the .mp4 I’m using. I’m using ffmpeg to demux the mp4 with this command :

    ffmpeg -i test.mp4 -c:v copy -g 72 -an video.mp4 -c:a copy audio.mp4

    Once the two files are created, I use MP4Box to segment the files for the dash player using this command :

    MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ output.mp4

    Which does create all the files I think I need. Then I point the player to the output_dash.mpd and nothing happens except a ton of messages in the console :

    [8] EME detected on this user agent! (ProtectionModel_21Jan2015)
    [11] Playback Initialized
    [21] [dash.js 2.3.0] MediaPlayer has been initialized
    [64] Parsing complete: ( xml2json: 3.42ms, objectiron: 2.61ms, total: 0.00603s)
    [65] Manifest has been refreshed at Wed Apr 12 2017 12:16:52 GMT-0600 (MDT)[1492021012.196]  
    [72] MediaSource attached to element.  Waiting on open...
    [77] MediaSource is open!
    [77] Duration successfully set to: 148.34
    [78] Added 0 inline events
    [78] No video data.
    [79] No audio data.
    [79] No text data.
    [79] No fragmentedText data.
    [79] No embeddedText data.
    [80] Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines
    [81] No streams to play.

    Here is the MP4Box -info on the video I’m using :

    * Movie Info *
       Timescale 1000 - Duration 00:02:28.336
       Fragmented File no - 2 track(s)
       File suitable for progressive download (moov before mdat)
       File Brand mp42 - version 512
       Created: GMT Wed Feb  6 06:28:16 2036

    File has root IOD (9 bytes)
    Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
    Visual PL: Not part of MPEG-4 Visual profiles (0xfe)
    Audio PL: Not part of MPEG-4 audio profiles (0xfe)
    No streams included in root OD

    iTunes Info:
       Name: Rogue One - A Star Wars Story
       Artist: Lucasfilm
       Genre: Trailer
       Created: 2016
       Encoder Software: HandBrake 0.10.2 2015060900
       Cover Art: JPEG File

    Track # 1 Info - TrackID 1 - TimeScale 90000 - Duration 00:02:28.335
    Media Info: Language "Undetermined" - Type "vide:avc1" - 3552 samples
    Visual Track layout: x=0 y=0 width=1920 height=816
    MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
    AVC/H264 Video - Visual Size 1920 x 816
       AVC Info: 1 SPS - 1 PPS - Profile High @ Level 4.1
       NAL Unit length bits: 32
       Pixel Aspect Ratio 1:1 - Indicated track size 1920 x 816
    Self-synchronized

    Track # 2 Info - TrackID 2 - TimeScale 44100 - Duration 00:02:28.305
    Media Info: Language "English" - Type "soun:mp4a" - 6387 samples
    MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
    MPEG-4 Audio MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
    Synchronized on stream 1
    Alternate Group ID 1

    I know I need to separate the video and audio and I think that’s where my issue is. The command I’m using probably isn’t doing the right thing.

    Is there a better command to demux my mp4 ?
    Is the MP4Box command I’m using best for segmenting the files ?
    If I use different files, will they always need to be demuxed ?

    One thing to mention, if I use the following commands everything works fine, but there is no audio because of the -an which means it’s only video :

    ffmpeg -i test.mp4 -c:v copy -g 72 -an output.mp4

    MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ output.mp4

    UPDATE

    I noticed that the video had no audio stream, but the audio had the video stream which is why I got the mux error. I thought that might be an issue so I ran this command to keep the unwanted streams out of the outputs :

    ffmpeg -i test.mp4 -c:v copy -g 72 -an video.mp4 -c:a copy -vn audio.mp4

    then I run :

    MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ video.mp4 audio.mp4

    now I no longer get the Multiplexed representations are intentionally not supported... message, but now I get :

    [122] Video Element Error: MEDIA_ERR_SRC_NOT_SUPPORTED
    [123] [object MediaError]
    [125] Schedule controller stopping for audio
    [126] Caught pending play exception - continuing (NotSupportedError: Failed to load because no supported source was found.)

    I tried playing the video and audio independently through Chrome and they both work, just not through the dash player. Ugh, this is painful to learn, but I feel like I’m making progress.