
Recherche avancée
Autres articles (65)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (11895)
-
DASH package (mpd) I made freezes after raising the onratechange event
7 mars 2016, par Nick BirkeI am trying to created an adaptive stream from an mp4 file. I have a decent amount of experience at doing streaming, and have successfully implemented smooth streaming via Silverlight. We want a solution for everything that works in HTML5. I am pursuing DASH. So here are the steps I take...
- Resample the mp4 to different sizes using ffmpeg.
- Ensure the files are properly fragmented using Bento4s mp4Fragment utility.
- Create the DASH mpd file and associated segments using Bento4s mp4dash utility.
I have done a lot of work to learn each of these utilities and create a process that gets to output that I think will work. To create reliable DASH artifacts. But it seems I am doing something wrong. Here are examples of command lines I run.
For step one I create three different files... for three different rates and sizes... (these may not be the exact command lines, they are from old notes... but the parameter values are the ones I am using for sure)
ffmpeg -y -i C:\_SIMULATED_SHARE_C\ff\big_buck_bunny.mp4 -c:v libx264 -x264opts keyint=24:min-keyint=24:no-scenecut -b:v 1500k -maxrate 1500k -bufsize 1000k -vf "scale=-1:720" C:\_SIMULATED_SHARE_C\ff\output\outputfile720.mp4
ffmpeg -y -i C:\_SIMULATED_SHARE_C\ff\big_buck_bunny.mp4 -c:v libx264 -x264opts keyint=24:min-keyint=24:no-scenecut -b:v 800k -maxrate 800k -bufsize 500k -vf "scale=-1:540" C:\_SIMULATED_SHARE_C\ff\output\outputfile540.mp4
ffmpeg -y -i C:\_SIMULATED_SHARE_C\ff\big_buck_bunny.mp4 -c:v libx264 -x264opts keyint=24:min-keyint=24:no-scenecut -b:v 400k -maxrate 400k -bufsize 400k -vf "scale=-1:360" C:\_SIMULATED_SHARE_C\ff\output\outputfile360.mp4So that gives you the three files that need to be fragmented. So I fragment them using the mp4fragment utility from Bento4. That command line is simple so I will not offer an example.
The I use Bento4s mp4dash to create the dash. Something like this...
"E:\\_INSTALL\\Bento4\\Bento4-SDK-1-4-3-607.x86-microsoft-win32-vs2010\\Bento4-SDK-1-4-3-607.x86-microsoft-win32-vs2010\\bin\\mp4dash.exe --mpd-name=\"\\\\d9fqt52\\_SIMULATED_SHARE_C\\ff\\output\\dash\\something.mpd\" -f -o \"\\\\d9fqt52\\_SIMULATED_SHARE_C\\ff\\output\\dash\" \"\\\\d9fqt52\\_SIMULATED_SHARE_C\\ff\\output\\bunny360f.mp4\" \"\\\\d9fqt52\\_SIMULATED_SHARE_C\\ff\\output\\bunny540f.mp4\" \"\\\\d9fqt52\\_SIMULATED_SHARE_C\\ff\\output\\bunny720f.mp4\" "
This runs ok. And creates the mpd file, an audio folder with segment files, an a video folder with 3 folders each with the segment files.
I am able to configure IIS to play the mpd ok. As well as the segement files. The video plays fine... and then it stops. It freezes between 50 and 60 seconds. Right before it freezes I can confirm that the onratechange event of the HTML5 video tag is raised. This is an event that is raised with the rate of play is changed. I do nothing to change this it just happens.
The actual video in question is about 1hr long. Also I am using the dash.js library as a player.
If you can identify any components or specifics I should change please let me know !
UPDATE ON MAR 7, 2016
As requested here is the MPD content...
<?xml version="1.0" ?>
<mpd mediapresentationduration="PT51M51.909S" minbuffertime="PT0.80S" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" xmlns="urn:mpeg:dash:schema:mpd:2011">
<period>
<adaptationset lang="en" mimetype="audio/mp4" segmentalignment="true" startwithsap="1">
<segmenttemplate duration="801" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4f" startnumber="1" timescale="1000"></segmenttemplate>
<representation audiosamplingrate="48000" bandwidth="132491" codecs="mp4a.40.2">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
</representation>
</adaptationset>
<adaptationset maxheight="720" maxwidth="1280" mimetype="video/mp4" minheight="540" minwidth="640" segmentalignment="true" startwithsap="1">
<segmenttemplate duration="801" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4f" startnumber="1" timescale="1000"></segmenttemplate>
<representation bandwidth="785536" codecs="avc1.64001F" framerate="30000/1001" height="540" scantype="progressive" width="960"></representation>
<representation bandwidth="403537" codecs="avc1.64001E" framerate="30000/1001" height="360" scantype="progressive" width="640"></representation>
<representation bandwidth="1496514" codecs="avc1.64001F" framerate="30000/1001" height="720" scantype="progressive" width="1280"></representation>
</adaptationset>
</period>
</mpd>UPDATE ON MAR 7, 2016
Here is the console output for two different videos that just stop for some unknown reason between 50 and 60s
///ABS VIDEO
58393][rulesController] [RULES]: playbackTimeRule [Fragment:download,82,MediaSegment,0video] Default
dash.all.js:11 [58395][rulesController] [RULES]: sameTimeRequestRule [Fragment:download,82,MediaSegment,0,video] Default
dash.all.js:11 [58401][indexHandler][audio] Getting the request for time: 82.082
dash.all.js:11 [58403][indexHandler][audio] Index for time 82.082 is 81
dash.all.js:11 [58405][indexHandler][audio] SegmentTemplate: 81.08099999999999 / 1361.235
dash.all.js:11 [58406][indexHandler][audio] SegmentTemplate: 82.082 / 1361.235
dash.all.js:11 [58407][rulesController] [RULES]: playbackTimeRule [Fragment:download,82,MediaSegment,0audio] Default
dash.all.js:11 [58417][fragmentLoader] loaded video:MediaSegment:82.082 (200, 18ms, 2ms)
dash.all.js:11 [58419][rulesController] [RULES]: sameTimeRequestRule [Fragment:download,82,MediaSegment,0,audio] Default
dash.all.js:11 [58435][fragmentLoader] loaded audio:MediaSegment:82.082 (200, 14ms, 0ms)
dash.all.js:11 [59390][indexHandler][video] Getting the request for time: 83.083
dash.all.js:11 [59392][indexHandler][video] Index for time 83.083 is 82
dash.all.js:11 [59393][indexHandler][video] SegmentTemplate: 82.082 / 1361.235
dash.all.js:11 [59394][indexHandler][video] SegmentTemplate: 83.08299999999998 / 1361.235
dash.all.js:11 [59395][rulesController] [RULES]: playbackTimeRule [Fragment:download,83,MediaSegment,0video] Default
dash.all.js:11 [59396][rulesController] [RULES]: sameTimeRequestRule [Fragment:download,83,MediaSegment,0,video] Default
dash.all.js:11 [59401][indexHandler][audio] Getting the request for time: 83.083
dash.all.js:11 [59403][indexHandler][audio] Index for time 83.083 is 82
dash.all.js:11 [59404][indexHandler][audio] SegmentTemplate: 82.082 / 1361.235
dash.all.js:11 [59406][indexHandler][audio] SegmentTemplate: 83.08299999999998 / 1361.235
dash.all.js:11 [59408][rulesController] [RULES]: playbackTimeRule [Fragment:download,83,MediaSegment,0audio] Default
dash.all.js:11 [59416][fragmentLoader] loaded video:MediaSegment:83.08299999999998 (200, 17ms, 1ms)
dash.all.js:11 [59418][rulesController] [RULES]: sameTimeRequestRule [Fragment:download,83,MediaSegment,0,audio] Default
dash.all.js:11 [59437][fragmentLoader] loaded audio:MediaSegment:83.08299999999998 (200, 14ms, 1ms)
dash.all.js:11 [59902][scheduleController][video] Stalling Buffer
dash.all.js:11 [59903][bufferController][video] Waiting for more buffer before starting playback.
dash.all.js:11 [59906][scheduleController][audio] Stalling Buffer
dash.all.js:11 [59907][bufferController][audio] Waiting for more buffer before starting playback.
dash.all.js:11 [63684][playbackController] <video> ratechange: 0
///HOG VIDEO
[58250][rulesController] [RULES]: playbackTimeRule [Fragment:download,105,MediaSegment,0audio] Default
dash.all.js:11 [58266][fragmentLoader] loaded video:MediaSegment:84.105 (200, 28ms, 1ms)
dash.all.js:11 [58269][rulesController] [RULES]: sameTimeRequestRule [Fragment:download,105,MediaSegment,0,audio] Default
dash.all.js:11 [58287][fragmentLoader] loaded audio:MediaSegment:84.105 (200, 14ms, 1ms)
dash.all.js:11 [58982][indexHandler][video] Getting the request for time: 84.906
dash.all.js:11 [58983][indexHandler][video] Index for time 84.906 is 105
dash.all.js:11 [58984][indexHandler][video] SegmentTemplate: 84.105 / 3111.909
dash.all.js:11 [58984][indexHandler][video] SegmentTemplate: 84.906 / 3111.909
dash.all.js:11 [58985][rulesController] [RULES]: playbackTimeRule [Fragment:download,106,MediaSegment,0video] Default
dash.all.js:11 [58986][rulesController] [RULES]: sameTimeRequestRule [Fragment:download,106,MediaSegment,0,video] Default
dash.all.js:11 [58989][indexHandler][audio] Getting the request for time: 84.906
dash.all.js:11 [58990][indexHandler][audio] Index for time 84.906 is 105
dash.all.js:11 [58991][indexHandler][audio] SegmentTemplate: 84.105 / 3111.909
dash.all.js:11 [58992][indexHandler][audio] SegmentTemplate: 84.906 / 3111.909
dash.all.js:11 [58993][rulesController] [RULES]: playbackTimeRule [Fragment:download,106,MediaSegment,0audio] Default
dash.all.js:11 [59002][fragmentLoader] loaded video:MediaSegment:84.906 (200, 14ms, 1ms)
dash.all.js:11 [59003][rulesController] [RULES]: sameTimeRequestRule [Fragment:download,106,MediaSegment,0,audio] Default
dash.all.js:11 [59014][fragmentLoader] loaded audio:MediaSegment:84.906 (200, 8ms, 1ms)
dash.all.js:11 [59735][scheduleController][video] Stalling Buffer
dash.all.js:11 [59736][bufferController][video] Waiting for more buffer before starting playback.
dash.all.js:11 [59738][scheduleController][audio] Stalling Buffer
dash.all.js:11 [59739][bufferController][audio] Waiting for more buffer before starting playback.
dash.all.js:11 [61695][playbackController] <video> ratechange: 0
</video></video> -
Dash timestamp : 41390056 is out of range for mov/mp4 format
26 octobre 2017, par mikeI’m trying to convert a
aac
stream to dash. The issue is that I get a lot of errors as below(though it seems to segment it into multiple files but I get errors on the player too). The question is why do I get these errors and how can I fix it ? If I simply convert "copy" it into to a single mp4 file it works without error.ffmpeg -i "a.mkv" -y -map 0:1 -c:0 copy -min_seg_duration 1000000
-use_timeline 1 -use_template 1 -init_seg_name init.mp4s
-media_seg_name "\$Number\$.mp4s" -adaptation_sets "id=1,streams=0"
-remove_at_exit 0 -f dash -dash 1
"out/stream.mpd" -loglevel errorOutput
[mp4 @ 0x7fbb70819600] Application provided duration: -32 / timestamp: 40475608 is out of range for mov/mp4 format
[mp4 @ 0x7fbb70819600] Application provided duration: -32 / timestamp: 40764376 is out of range for mov/mp4 format
[mp4 @ 0x7fbb70819600] Application provided duration: -32 / timestamp: 40860664 is out of range for mov/mp4 format
[mp4 @ 0x7fbb70819600] Application provided duration: -32 / timestamp: 41149432 is out of range for mov/mp4 format
[mp4 @ 0x7fbb70819600] Application provided duration: -32 / timestamp: 41390056 is out of range for mov/mp4 format
[mp4 @ 0x7fbb70819600] Application provided duration: -32 / timestamp: 41823208 is out of range for mov/mp4 formatCopy to a single MP4 works just fine
ffmpeg -i "a.mkv" -y -map 0:1 -c:0 copy -f mp4 -dash 1 "out/out.mp4" -loglevel errorProbe
ffprobe a.mkv
ffprobe version 3.4 Copyright (c) 2007-2017 the FFmpeg developers
built with Apple LLVM version 9.0.0 (clang-900.0.37)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, matroska,webm, from 'a.mkv':
Metadata:
encoder : libebml v1.3.1 + libmatroska v1.4.2
creation_time : 2017-03-11T02:56:50.000000Z
Duration: 02:12:52.39, start: 0.000000, bitrate: 740 kb/s
Chapter #0:0: start 0.000000, end 520.270000
Metadata:
title : 00:00:00.000
Chapter #0:1: start 520.270000, end 1135.718000
Metadata:
title : 00:08:40.270
Chapter #0:2: start 1135.718000, end 1703.660000
Metadata:
title : 00:18:55.718
Chapter #0:3: start 1703.660000, end 2314.187000
Metadata:
title : 00:28:23.660
Chapter #0:4: start 2314.187000, end 2888.594000
Metadata:
title : 00:38:34.187
Chapter #0:5: start 2888.594000, end 3499.246000
Metadata:
title : 00:48:08.594
Chapter #0:6: start 3499.246000, end 4154.692000
Metadata:
title : 00:58:19.246
Chapter #0:7: start 4154.692000, end 4646.392000
Metadata:
title : 01:09:14.692
Chapter #0:8: start 4646.392000, end 5373.660000
Metadata:
title : 01:17:26.392
Chapter #0:9: start 5373.660000, end 5882.085000
Metadata:
title : 01:29:33.660
Chapter #0:10: start 5882.085000, end 6627.871000
Metadata:
title : 01:38:02.085
Chapter #0:11: start 6627.871000, end 7144.471000
Metadata:
title : 01:50:27.871
Chapter #0:12: start 7144.471000, end 7451.944000
Metadata:
title : 01:59:04.471
Chapter #0:13: start 7451.944000, end 7972.394000
Metadata:
title : 02:04:11.944
Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709/unknown/unknown, progressive), 720x300 [SAR 1:1 DAR 12:5], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Metadata:
title : X264
BPS : 623765
BPS-eng : 623765
DURATION : 02:12:52.311000000
DURATION-eng : 02:12:52.311000000
NUMBER_OF_FRAMES: 191144
NUMBER_OF_FRAMES-eng: 191144
NUMBER_OF_BYTES : 621606403
NUMBER_OF_BYTES-eng: 621606403
_STATISTICS_WRITING_APP: mkvmerge v8.3.0 ('Over the Horizon') 64bit
_STATISTICS_WRITING_APP-eng: mkvmerge v8.3.0 ('Over the Horizon') 64bit
_STATISTICS_WRITING_DATE_UTC: 2017-03-11 02:56:50
_STATISTICS_WRITING_DATE_UTC-eng: 2017-03-11 02:56:50
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
BPS : 114797
BPS-eng : 114797
DURATION : 02:12:52.394000000
DURATION-eng : 02:12:52.394000000
NUMBER_OF_FRAMES: 373706
NUMBER_OF_FRAMES-eng: 373706
NUMBER_OF_BYTES : 114401387
NUMBER_OF_BYTES-eng: 114401387
_STATISTICS_WRITING_APP: mkvmerge v8.3.0 ('Over the Horizon') 64bit
_STATISTICS_WRITING_APP-eng: mkvmerge v8.3.0 ('Over the Horizon') 64bit
_STATISTICS_WRITING_DATE_UTC: 2017-03-11 02:56:50
_STATISTICS_WRITING_DATE_UTC-eng: 2017-03-11 02:56:50
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTESShaka debug
Assertion failed: This should be an update of the last segment in a period
shaka.media.SegmentIndex.merge @ segment_index.js:153
shaka.dash.SegmentTemplate.createStream @ segment_template.js:82
shaka.dash.DashParser.parseRepresentation_ @ dash_parser.js:1080
shaka.dash.DashParser.parseAdaptationSet_ @ dash_parser.js:978
shaka.dash.DashParser.parsePeriod_ @ dash_parser.js:722
shaka.dash.DashParser.parsePeriods_ @ dash_parser.js:626
shaka.dash.DashParser.processManifest_ @ dash_parser.js:520
(anonymous) @ dash_parser.js:431
Promise resolved (async)
shaka.dash.DashParser.parseManifest_ @ dash_parser.js:430
(anonymous) @ dash_parser.js:397
Promise resolved (async)
shaka.dash.DashParser.requestManifest_ @ dash_parser.js:390
shaka.dash.DashParser.onUpdate_ @ dash_parser.js:1161
setTimeout (async)
shaka.dash.DashParser.setUpdateTimer_ @ dash_parser.js:1209
(anonymous) @ dash_parser.js:331
Promise resolved (async)
shaka.dash.DashParser.start @ dash_parser.js:329
(anonymous) @ player.js:555
Promise resolved (async)
shaka.util.CancelableChain.then @ cancelable_chain.js:72
shaka.Player.load @ player.js:499
initPlayer @ ?x=149&y=88&q=http%3A%2F%2Flocalhost%3A8080%2Fmeta%2F%3FbucketID%3D%2FVolumes%2FTV%2FFa%26channelID%3D%2FVolumes%2FTV%26containerID%3D%2FUsers%2F%2Fbrev%%2FL1ZvbHVtZXMvVFYvRmFudGFzdGljLkJlYXN0cy5hbmQuV2hlcmUudG8uRmluZC5UaGVtLjIwMTYuQkRSaXAueDI2NC1TUEFSS1MvYS5ta3Y%2F97M4TS6IqnQ.mpd:392
463segment_index.js:145 Refusing to rewrite original references on update!
shaka.media.SegmentIndex.merge @ segment_index.js:145
shaka.dash.SegmentTemplate.createStream @ segment_template.js:82
shaka.dash.DashParser.parseRepresentation_ @ dash_parser.js:1080
shaka.dash.DashParser.parseAdaptationSet_ @ dash_parser.js:978
shaka.dash.DashParser.parsePeriod_ @ dash_parser.js:722
shaka.dash.DashParser.parsePeriods_ @ dash_parser.js:626
shaka.dash.DashParser.processManifest_ @ dash_parser.js:520
(anonymous) @ dash_parser.js:431
Promise resolved (async)
shaka.dash.DashParser.parseManifest_ @ dash_parser.js:430
(anonymous) @ dash_parser.js:397
Promise resolved (async)
shaka.dash.DashParser.requestManifest_ @ dash_parser.js:390
shaka.dash.DashParser.onUpdate_ @ dash_parser.js:1161
setTimeout (async)
shaka.dash.DashParser.setUpdateTimer_ @ dash_parser.js:1209
(anonymous) @ dash_parser.js:331
Promise resolved (async)
shaka.dash.DashParser.start @ dash_parser.js:329
(anonymous) @ player.js:555
Promise resolved (async)
shaka.util.CancelableChain.then @ cancelable_chain.js:72
shaka.Player.load @ player.js:499
initPlayer @ ?x=149&y=88&q=http%3A%2F%2Flocalhost%3A8080%2Fmeta%2F%3FbucketID%3D%2FVolumes%2FTV%2FFa%26channelID%3D%2FVolumes%2FTV%26containerID%3D%2FUsers%2F%2Fbrev%%2FL1ZvbHVtZXMvVFYvRmFudGFzdGljLkJlYXN0cy5hbmQuV2hlcmUudG8uRmluZC5UaGVtLjIwMTYuQkRSaXAueDI2NC1TUEFSS1MvYS5ta3Y%2F97M4TS6IqnQ.mpd:392 -
FFMPEG ldash 1 low latency option but dash.js not low latency and buggy with lag and start always at 0 cannot control
7 avril 2021, par JintorI can't figure out how to fix this. playing a supposed low latency mpeg-dash manifest but it's with lots of lag, and play-stop-wait-play-stop-wait....


I have latest ubuntu with latest ffmpeg


here the command


ffmpeg -re -i file.webm -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -ac 2 -strict -2 -crf 18 -profile:v baseline -maxrate 1000k -pix_fmt yuv420p -bufsize 969k -ldash 1 -streaming 1 -use_template 0 -use_timeline 1 -seg_duration 1 -remove_at_exit 0 -f dash index.mpd



and player side


<code class="echappe-js"><script src='http://stackoverflow.com/templates/account_js/dashjs/dash.3.1.0.min.js'></script>



<script>&#xA; (function(){&#xA; var url = "index.mpd";&#xA; var player = dashjs.MediaPlayer().create();&#xA; player.initialize(document.querySelector("#videoPlayer"), url, true);&#xA; player.updateSettings({&#xA; streaming: {&#xA; lowLatencyEnabled: true, &#xA; liveDelay: 3,&#xA; liveCatchup: {&#xA; enabled: true,&#xA; minDrift: 0.05,&#xA; maxDrift: 0,&#xA; playbackRate: 0.5,&#xA; latencyThreshold: 30 &#xA; }&#xA; }&#xA; });&#xA; })(); &#xA; video = document.getElementById("videoPlayer");&#xA; video.addEventListener("loadedmetadata", function(){ video.muted = true; video.play(); }, false);&#xA; </script>



but it's NOT low latency, It forces to start at 0 and cannot control the video


is there a better config setup and what need to be fixed : ffmpeg options or dash.js config