
Recherche avancée
Autres articles (45)
-
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP 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, parLe 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, parPar 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 RayyanAm 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 NikI 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
// ffmpeg to feed the relay. ffmpeg -> websocket-relay -> browser
// Example:
// node websocket-relay yoursecret 8081 8082
// ffmpeg -i <some input="input"> -f mpegts http://localhost:8081/yoursecret

var fs = require('fs'),
 http = require('http'),
 WebSocket = require('ws');

if (process.argv.length < 3) {
 console.log(
 'Usage: \n' +
 'node websocket-relay.js <secret> [ ]'
 );
 process.exit();
}

var STREAM_SECRET = process.argv[2],
 STREAM_PORT = process.argv[3] || 8081,
 WEBSOCKET_PORT = process.argv[4] || 8082,
 RECORD_STREAM = false;

// Websocket Server
var socketServer = new WebSocket.Server({port: WEBSOCKET_PORT, perMessageDeflate: false});
socketServer.connectionCount = 0;
socketServer.on('connection', function(socket, upgradeReq) {
 socketServer.connectionCount++;
 console.log(
 'New WebSocket Connection: ',
 (upgradeReq || socket.upgradeReq).socket.remoteAddress,
 (upgradeReq || socket.upgradeReq).headers['user-agent'],
 '('+socketServer.connectionCount+' total)'
 );
 socket.on('close', function(code, message){
 socketServer.connectionCount--;
 console.log(
 'Disconnected WebSocket ('+socketServer.connectionCount+' total)'
 );
 });
});
socketServer.broadcast = function(data) {
 socketServer.clients.forEach(function each(client) {
 if (client.readyState === WebSocket.OPEN) {
 client.send(data);
 }
 });
};

// HTTP Server to accept incoming MPEG-TS Stream from ffmpeg
var streamServer = http.createServer( function(request, response) {
 var params = request.url.substr(1).split('/');

 if (params[0] !== STREAM_SECRET) {
 console.log(
 'Failed Stream Connection: '+ request.socket.remoteAddress + ':' +
 request.socket.remotePort + ' - wrong secret.'
 );
 response.end();
 }

 response.connection.setTimeout(0);
 console.log(
 'Stream Connected: ' +
 request.socket.remoteAddress + ':' +
 request.socket.remotePort
 );
 request.on('data', function(data){
 socketServer.broadcast(data);
 if (request.socket.recording) {
 request.socket.recording.write(data);
 }
 });
 request.on('end',function(){
 console.log('close');
 if (request.socket.recording) {
 request.socket.recording.close();
 }
 });

 // Record the stream to a local file?
 if (RECORD_STREAM) {
 var path = 'recordings/' + Date.now() + '.ts';
 request.socket.recording = fs.createWriteStream(path);
 }
})
// Keep the socket open for streaming
streamServer.headersTimeout = 0;
streamServer.listen(STREAM_PORT);

console.log('Listening for incoming MPEG-TS Stream on http://127.0.0.1:'+STREAM_PORT+'/<secret>');
console.log('Awaiting WebSocket connections on ws://127.0.0.1:'+WEBSOCKET_PORT+'/');
</secret></secret></some>


The front end code




 
 
 
 
 <code class="echappe-js"><script src='http://stackoverflow.com/feeds/tag/jsmpeg.min.js'></script>

 
 
 
 
 
<script>&#xA; let url;&#xA; let player;&#xA; let canvas = document.getElementById("video-canvas");&#xA; let ipAddr = "127.0.0.1:8082";&#xA; window.onload = async() => {&#xA; url = `ws://${ipAddr}`;&#xA; player = new JSMpeg.Player(url, { canvas: canvas, });&#xA; };&#xA;&#xA; </script>





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


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


player.audioOut.context.onstatechange = async () => {
 console.log("Event triggered by audio");

 if (player.audioOut.context === "suspended") {
 await player.audioOut.context.resume();
 }
}



-
MPEG-DASH - Multiplexed Representations Issue
26 avril 2017, par MikeI’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 1I 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.mp4UPDATE
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.