
Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (66)
-
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 ;
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)
Sur d’autres sites (7734)
-
MPEG DASH (MPD) to MP4 in Node.js ?
28 janvier 2024, par Hello WorldI am trying to convert streams to .mp4 files. I have successfully converted an HLS to MP4 using
fluent-ffmpeg
package on version 2.1.2. I did so with with the following code :

var ffmpegCommand = ffmpeg();
 ffmpegCommand
 .input(HLS FILE HERE)
 .inputOptions('-protocol_whitelist file,http,https,tcp,tls,crypto,data')
 .on("error", (err, stdout, stderr) => {
 console.log(err)
 let error = new Error(err.message)
 error.code = err.code || 'FILE_CONVERSION_M3U8_TO_MP3/UNKNOWN_ERROR';
 error.status = err.status || 500;

 console.log('An error occurred: ' + err.message, err, stderr);
 reject(error)
 })
 .on("end", () => {
 console.log(temporaryFilePath2)
 resolve(temporaryFilePath2);
 })
 .on('progress', function(progress) {
 console.log('progress: ' + (progress.percent || 0).toFixed(2) + '%。');
 progressGathering.push((progress.percent || 0).toFixed(2))

 if(progressGathering.length == 10 && progressGathering[9] == 0.00){
 let error = new Error("File is a live stream.")
 error.code = 'FILE_CONVERSION_M3U8_TO_MP3/LIVESTREAM_SUPPORT'
 error.status = 501

 ffmpegCommand.kill()
 reject(error)
 }
 })
 .inputOptions('-allowed_extensions ALL')
 .outputOptions("-c copy")
 .output(temporaryFilePath2)
 .run();

 setTimeout(() => {
 ffmpegCommand.kill();
 let error = new Error("The file selected was too large or the network was hanging. Conversion timeout.")
 error.code = 'FILE_CONVERSION_M3U8_TO_MP3/TIMEOUT'
 error.status = 599;
 reject(error)
 }, 300000) // 5 minutes



However, when I attempt something similar with a mpd file url in the input, I get several errors that are all the same :


ffmpeg exited with code 1: https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd: Invalid data found when processing input


Is this something fluent-ffmpeg can't handle ? If so, I would like to know another package that can accomplish this.


-
dash.js : four channels audio streaming
19 juillet 2016, par Carlos ChaconDoes dash.js supports 4 channels in the audio stream ?
I’m using mp4 container : video : h254 and audio : AAC.
For the case that the AAC audio stream is 2 channels it works fine, both video and audio play correctly. But 4 channels does NOT work.
I’m using FFMPEG to create the files and WOWZA to setup the DASH streaming.
For the case that the AAC audio stream is 4 channels I get the following error :
Video can't be played because the file is corrupt.
Command line to generate the 2-channels file :
ffmpeg -i video_in.mp4 -i audio_in_4ch.wav -c:v copy -c:a aac -ac 2 output_2channels.mp4
Command line to generate the 4-channels file :
ffmpeg -i video_in.mp4 -i audio_in_4ch.wav -c:v copy -c:a aac -ac 4 output_4channels.mp4
This is the fmmpeg -i information printed for each file :
2 Channels output file details :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output_2channels.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.37.101
Duration: 00:00:17.59, start: 0.000000, bitrate: 901 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1024x512 [SAR 1:1 DAR 2:1], 894 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 129 kb/s (default)
Metadata:
handler_name : SoundHandler4 Channels output file details :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output_4channels.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.37.101
Duration: 00:00:17.59, start: 0.000000, bitrate: 1038 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1024x512 [SAR 1:1 DAR 2:1], 894 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 4.0, fltp, 265 kb/s (default)
Metadata:
handler_name : SoundHandler4 Channels output file mdp file :
<?xml version="1.0" encoding="UTF-8"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" publishtime="2016-07-19T05:56:28Z" mediapresentationduration="PT17.585S" minbuffertime="PT1.5S">
<programinformation>
</programinformation>
<location>http://192.168.0.103:1935/vod/_definst_/mp4:output_4channels.mp4/manifest_w882219731.mpd</location>
<period start="PT0.0S">
<baseurl>http://192.168.0.103:1935/vod/_definst_/mp4:output_4channels.mp4/</baseurl>
<adaptationset mimetype="video/mp4" width="1024" height="512" par="1024:512" framerate="30000/1001" segmentalignment="true" startwithsap="1" subsegmentalignment="true" subsegmentstartswithsap="1">
<segmenttemplate presentationtimeoffset="0" timescale="90000" media="chunk_ctvideo_rid$RepresentationID$_cs$Time$_w882219731_mpd.m4s" initialization="chunk_ctvideo_rid$RepresentationID$_cinit_w882219731_mpd.m4s">
<segmenttimeline>
<s t="0" d="1582650"></s>
</segmenttimeline>
</segmenttemplate>
<representation codecs="avc1.42c01e" sar="1:1" bandwidth="894760"></representation>
</adaptationset>
<adaptationset mimetype="audio/mp4" lang="eng" segmentalignment="true" startwithsap="1" subsegmentalignment="true" subsegmentstartswithsap="1">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
<segmenttemplate presentationtimeoffset="0" timescale="48000" media="chunk_ctaudio_rid$RepresentationID$_cs$Time$_w882219731_mpd.m4s" initialization="chunk_ctaudio_rid$RepresentationID$_cinit_w882219731_mpd.m4s">
<segmenttimeline>
<s t="0" d="844080"></s>
</segmenttimeline>
</segmenttemplate>
<representation codecs="mp4a.40.2" audiosamplingrate="48000" bandwidth="265851">
</representation>
</adaptationset>
</period>
</mpd>HTML Player Code :
<code class="echappe-js"><script src="http://cdn.dashjs.org/latest/dash.all.min.js"></script>
-
Avoiding ffmpeg audio drift for live dash output
22 mai 2021, par mdaleHave people experienced playback drift with ffmpeg based dash segment generation ? For example :


ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -i AVSyncTest.mp4 \
-af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" \
-c:v:0 libx264 \
-pix_fmt:0 yuv420p \
-preset:0 medium \
-a53cc:0 1 \
-nal-hrd:0 cbr \
-x264opts:0 scenecut=-1:rc_lookahead=0 -b:v:0 5000k -bufsize:0 500k \
-force_key_frames:0 "expr:gte(t,n_forced*2)" \
-bf:0 8 \
-r 30 \
-c:a:0 aac -ar 48000 \
-b:a:1 96k \
-f tee -map 0:v \
-map 0:a "[f=dash:media_seg_name='chunk-stream_\$RepresentationID\$-\$Number%05d\$.mp4':init_seg_name='init-stream_\$RepresentationID\$.mp4':seg_duration=2:utc_timing_url=https\\\://time.akamai.com\\?iso:remove_at_exit=0:use_timeline=0:http_user_agent=ffmpeg_encoder.0:streaming=1:index_correction=1:timeout=1:dash_segment_type=mp4:method=PUT:http_persistent=1:adaptation_sets='id=0,streams=v\:0 id=1,streams=a' ]http://localhost:5000/out.mpd "



After a bit of playback it starts audio starts to drift. Analysis of the moof (with tools like mp4box) shows 1024 sample size with 93 Moofs with Moof->traf->default_sample_duration=1024 at 48000 sample rate giving segment duration of 1.984 seconds with every 3rd segment or so with 92 Moofs with duration of 1.962 … While each segment starts aligned ( if you reset playback you get alignment) it drifts against continuous playback.


Other examples like Akamai’s public stream. show 94 Moofs or 2.005 duration with every 3rd segment or so at the 1.984 duration. (what one would want)


Akamai’s (presumably ffmepg based) stream is averaging out to the 2s target where the above ffmpeg command is not …