
Recherche avancée
Médias (91)
-
DJ Z-trip - Victory Lap : The Obama Mix Pt. 2
15 septembre 2011
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (33)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
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 (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (5461)
-
Live streaming dash content using mp4box
15 mai 2017, par galbarmI’m trying to live stream H.264 content to HTML5 using the media source extensions API.
The following method works pretty well :
ffmpeg -i rtsp://10.50.1.29/media/video1 -vcodec copy -f mp4 -reset_timestamps 1 -movflags frag_keyframe+empty_moov -loglevel quiet out.mp4
and then :
mp4box -dash 1000 -frag 1000 -frag-rap out.mp4
I can take the MP4Box output (
out_dashinit.mp4
) and send it through Web Sockets, chunk by chunk, to a JavaScript client that feeds it to the media source API.However, this is not a good method for live content.
What I’m trying to do now, is to create a single pipeline in order to do it in realtime and with the minimum possible latency.
With FFmpeg it’s possible to redirect the output tostdout
instead ofout.mp4
and grab the content.
I couldn’t figure out if it’s possible to combine MP4Box into the pipeline.- Can MP4Box take the input data from a source which is not a file ?
- Can MP4Box grab such a content progressively (either from a file or other source) while it is arriving in realtime ? i.e. wait a little if stream stops for 1 sec and resume automatically.
- Same question but for the output : can it output to something which is not a file (such as
stdout
) and can it do so progressively so that whenever output data is ready, I will be able to take it and transfer it to the web client, essentially generating a never-ending dashed MP4.
-
Where to store the .mpd file on django to play on a dash player ?
3 janvier 2019, par enigmaVadaI am trying to build a video player on django. I am using MPEG-DASH for adaptive streaming of the video file. I have chosen a sample video in the beginning. Then, using ffmpeg commands, I have encoded the video into 240p, 360p, 480p and 720p videos. Also have encoded audio separately.
Then, using mp4box, I have generated the .mpd file. I have read that mpd files cannot be run from the local file system and need to be hosted on a server. I have a dash player setup as follows :
<code class="echappe-js"><script src="https://cdn.dashjs.org/latest/dash.all.min.js"></script>The url in the src field is a random manifest file that i used to test the player out. It works fine.
Then, on my django project, I have created a media folder which stores the media files uploaded via a form(root included in
settings.py
).
My question is where do i store the video, audio and .mpd file so that i can play them using the html code which resides in the templates folder. I have tried using the media url of .mpd file in the source but I am unable to play the video.Here is the generated mpd file for reference :
<?xml version="1.0"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" minbuffertime="PT1.500S" type="static" mediapresentationduration="PT0H1M9.869S" maxsegmentduration="PT0H0M9.985S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011,http://dashif.org/guidelines/dash264">
<programinformation moreinformationurl="http://gpac.io">
</programinformation>
<period duration="PT0H1M9.869S">
<adaptationset segmentalignment="true" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="audio/mp4" codecs="mp4a.40.2" audiosamplingrate="44100" startwithsap="1" bandwidth="130920">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
<baseurl>sample_audio_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="902-1017">
<initialization range="0-901"></initialization>
</segmentbase>
</representation>
</adaptationset>
<adaptationset segmentalignment="true" group="1" maxwidth="426" maxheight="240" maxframerate="30" par="426:240" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="video/mp4" codecs="avc1.640015" width="426" height="240" framerate="30" sar="1:1" startwithsap="1" bandwidth="590708">
<baseurl>sample_video_240_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="914-1053">
<initialization range="0-913"></initialization>
</segmentbase>
</representation>
</adaptationset>
<adaptationset segmentalignment="true" group="1" maxwidth="640" maxheight="480" maxframerate="30" par="4:3" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="video/mp4" codecs="avc1.64001E" width="480" height="360" framerate="30" sar="1:1" startwithsap="1" bandwidth="883873">
<baseurl>sample_video_360_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="914-1053">
<initialization range="0-913"></initialization>
</segmentbase>
</representation>
<representation mimetype="video/mp4" codecs="avc1.64001E" width="640" height="480" framerate="30" sar="1:1" startwithsap="1" bandwidth="1188712">
<baseurl>sample_video_480_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="913-1052">
<initialization range="0-912"></initialization>
</segmentbase>
</representation>
</adaptationset>
<adaptationset segmentalignment="true" group="1" maxwidth="1280" maxheight="720" maxframerate="30" par="16:9" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="video/mp4" codecs="avc1.64001F" width="1280" height="720" framerate="30" sar="1:1" startwithsap="1" bandwidth="2365717">
<baseurl>sample_video_720_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="914-1053">
<initialization range="0-913"></initialization>
</segmentbase>
</representation>
</adaptationset>
</period>
</mpd> -
FFmpeg/DASH : duration or timestamp out of range for mov/mp4 format [closed]
7 juin, 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 error 




Output



[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 format




Copy 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 error



Probe



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_BYTES




Shaka 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