
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (106)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)
Sur d’autres sites (9977)
-
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 …


-
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>
-
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.