
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (81)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...)
Sur d’autres sites (10604)
-
nodejs ffmpeg child-process stdio stream stops
10 mars 2023, par BleedFeedI've been trying to make an internet radio stream using ffmpeg to encode the audio data in mp3


function getAudioStream(url){

 return new Promise(async(resolve,reject)=>{

 const ytdlStream = await ytdl(url,{filter:'audioonly',quality:'highestaudio'});

 const ffmpegProcess = spawn('ffmpeg',[
 '-i','pipe:3',
 '-f','mp3',
 '-ar','44100',
 '-ac','2',
 '-b:a','128k',
 '-codec:a','libmp3lame',
 '-flush_packets', '1',
 'pipe:4'],{stdio:['ignore','ignore','pipe','pipe','pipe']});
 ytdlStream.pipe(ffmpegProcess.stdio[3]);
 ffmpegProcess.stderr.on('data',(chunk)=>{
 console.log('FFMPEG ERROR: ' + chunk.toString());
 })
 resolve(ffmpegProcess.stdio[4].pipe(new PassThrough({highWaterMark:4096})));
 });
}

async function setUpStream(fromQueue,client,shout){

 let readable;
 let videoDetails;

 if(fromQueue){
 readable = await getAudioStream(queue[0]);
 videoDetails = (await ytdl.getBasicInfo(queue[0])).videoDetails;
 queue.shift();
 }
 else{
 let song = songs[Math.floor(Math.random() * songs.length)];
 readable = await getAudioStream(song);
 videoDetails = (await ytdl.getBasicInfo(song)).videoDetails;
 }


 readable.on('data',async (chunk)=>{
 readable.pause();
 shout.send(chunk,chunk.length);
 await new Promise((resolve)=>{setTimeout(resolve,shout.delay())});
 readable.resume();
 });

 readable.on('end',()=>{
 readable.destroy();
 setUpStream(queue.length !==0,client,shout);
 });


 readable.on('error',(err)=>{
 console.log(err);
 });

}



shout.send is from npm nodeshout library and it delivers the audio data to icecast server.
I get another ffmpeg audio stream once the current one ends. After 20 or 30 minutes ffmpeg logs stop and no further data comes from ffmpegStream


FFMPEG ERROR: size= 2952kB time=00:03:08.89 bitrate= 128.0kbits/s speed=1.07x
FFMPEG ERROR: size= 3016kB time=00:03:13.00 bitrate= 128.0kbits/s speed=1.07x
FFMPEG ERROR: size= 3080kB time=00:03:17.10 bitrate= 128.0kbits/s speed=1.07x
FFMPEG ERROR: size= 3144kB time=00:03:21.17 bitrate= 128.0kbits/s speed=1.07x
FFMPEG ERROR: size= 3208kB time=00:03:25.27 bitrate= 128.0kbits/s speed=1.07x 



these are the last lines printed at console. Maybe some sort of memory management problem with child process ? How can i find what causes this problem ?


-
lavf : make overlay_qsv work based on framesync
3 avril 2018, par Ruiling Songlavf : make overlay_qsv work based on framesync
The existing version which was cherry-picked from Libav does not work
with FFmpeg framework, because ff_request_frame() was totally
different between Libav (recursive) and FFmpeg (non-recursive).
The existing overlay_qsv implementation depends on the recursive version
of ff_request_frame to trigger immediate call to request_frame() on input pad.
But this has been removed in FFmpeg since "lavfi : make request_frame() non-recursive."
Now that we have handy framesync support in FFmpeg, so I make it work
based on framesync. Some other fixing which is also needed to make
overlay_qsv work are put in a separate patch.Signed-off-by : Ruiling Song <ruiling.song@intel.com>
-
Calling audio_loop in moviepy errors unless duration is shorter than video duration
9 juin 2020, par NosterI am using the following code to have music play in the background of a video that has its own audio, and loop until the end of the video. However
audio_loop
is causing an error after the video is done writing. The song is 67 seconds long, and if I setduration = 66
or below I get no error but any time over causes an error.


final_clip = concatenate_videoclips([*vidclip], method='compose')

count=0
for file in os.listdir(TO):
 if file.endswith('.mp4'):
 count+=1

finalClipName = "{}Final.mp4".format(count)
music = AudioFileClip('song.mp3')
audio_background = afx.audio_loop(music, duration = final_clip.duration)#ERROR
final_audio = CompositeAudioClip([final_clip.audio, audio_background])
final_clip = final_clip.set_audio(final_audio)
final_clip.write_videofile(finalClipName, fps=10)




The error in question :



Exception ignored in: <function at="at" 0x0000026346d3baf8="0x0000026346d3baf8">
Traceback (most recent call last):
 File "C:\Users\Eric\Projects\Videdit\venv\lib\site-packages\moviepy\audio\io\readers.py", line 254, in __del__
 self.close_proc()
 File "C:\Users\Eric\Projects\Videdit\venv\lib\site-packages\moviepy\audio\io\readers.py", line 150, in close_proc
 self.proc.terminate()
 File "C:\Users\Eric\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1314, in terminate
 _winapi.TerminateProcess(self._handle, 1)
OSError: [WinError 6] The handle is invalid
</function>