
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (62)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...)
Sur d’autres sites (7445)
-
Simple Question About Subprocess popen + screen +ffmpeg + youtube-dl
2 juin 2021, par El_Barto_404ffmpeg -i "$(youtube-dl -x -g "https://youtu.be/xhXq9BNndhw")" -f s16le -ac 2 -ar 48000 -acodec pcm_s16le input.raw



can anyone put this inside a popen process after a screen -S Convert ?


I tried already with ' ', with commas.. but nothing


I built a bot on telegram which if you send :


.mandala youtubelink



it takes the link and converts the video from YouTube into a uncompressed file, I need it for a music bot which streams those uncompressed files.


if I run in console :


ffmpeg -i "$(youtube-dl -x -g "https://youtu.be/xhXq9BNndhw")" -f s16le -ac 2 -ar 48000 -acodec pcm_s16le input.raw 



it works but when I try with screen and popen it doesn't.. why ?


@helper.register(pattern=r'.mandala (.+)')
async def mu2342sicbfffffffot(e):
 cheater = e.pattern_match.group(1)
 cheat = cheater
 myorder2224 = ''' "$(youtube-dl -x -g "{}")" '''
 doit = (myorder2224.format(cheater))

 ### I already try to format the variable 
 ### and put doit after -i and 
 ### everything was in '' and commas 
 ### like 'ffmpeg', 'i*, doit, '-f'...
 ### and so on but nothing.. but nope doesn't work.

 p = subprocess.call(['screen','-S','onveter',' ffmpeg -i "$(youtube-dl -x -g "https://www.youtube.com/watch?v=Sw5HQbYGoCA")" -f s16le -ac 1 -acodec pcm_s16le -ar 96k input.pcm'],shell=True)
 await helper.control_panel.send_message(config.chat, "La sto a manna")
 time.sleep(14)
 



I REPEAT ONE MORE TIME :
HOW CAN I USE THAT FFMPEG COMMAND INSIDE A POPEN SUBPROCESS AFTER A Screen -S Convert ?


IF SOMEONE WANT TO KNOW WHY :
Because I want to convert youTube videos to file .raw / .pcm


-
Node JS partial video streaming to safari
12 juin 2021, par Thor BilsbyI'm trying to stream a video directly to a browser using node.js as the backend. I would like the video to be streamed from a specific time and would also like it to be partially streamed since it is a pretty large file. Right now I am doing this with fluent-ffmpeg, like this :


const ffmpeg = require('fluent-ffmpeg');

app.get('/clock/', (req, res) => {
 const videoPath = 'video.mp4'; 
 const now = new Date();

 ffmpeg(videoPath)
 .videoCodec('libx264')
 .withAudioCodec('aac')
 .setStartTime(`${(now.getHours() - 10) % 24}:${now.getMinutes() - 1}:${now.getSeconds()}`)
 .format('mp4')
 .outputOptions(['-frag_duration 100','-movflags frag_keyframe+faststart','-pix_fmt yuv420p'])
 .on('end', () => {
 console.log("File has been converted succesfully");
 })
 .on('error', (err) => {
 if (err.message.toLowerCase().includes('output stream closed')) return;
 console.log('An error occoured', err);
 })
 .pipe(res, { end: true });
});



This will work with Chrome, but Safari just doesn't want to stream it.
I know that the reason why it doesn't work on Safari is that Safari needs the range header. I've therefore tried to do that, but :


- 

- I can't get it to work with fluent-ffmpeg.
- When I try to do it the "normal" way, without fluent-ffmpeg, it needs to load the whole video file before it plays.






The video doesn't need to start at the specific timestamp. It would be nice tho, but I have a workaround for that if it's not possible :)


So my question is : How can I get the code above to work with Safari. And if that is impossible : How can I code something that doesn't need to be loaded fully, before it can be played in Safari browsers, aka. partial video streaming.


-
Put images on video with ffmpeg in Node.js
27 juin 2022, par CeryI am creating a server-side video renderer in node.js. I need to add images on an existing video file every frame. I need to set the specific position of each frame in the rendered video. I am holding all the frames of the images in
Readable
. This is my code that works, but does not take into account the position of the images. How can I modify it ? Of course I have a list with images coordinates - but I don't know how to make a filter out of this.

this.stream
is a list of images.

const filter = ["[1:v]format=argb,setpts=PTS+" + 0 + "/TB[out]",
 {
 filter: "overlay",
 options: {
 enable: "between(t," + 0 + "," + 9 + ")",
 x: "0",
 y: "0",
 },
 inputs: "[0:v][out]",
 outputs: "tmp",
 }

 ]
 const Options = [
 "-crf 16",
 "-f mp4",
 "-vcodec libx264",
 "-movflags frag_keyframe+empty_moov",
 "-pix_fmt yuv420p",
 ];

 var ffmpeg = require('fluent-ffmpeg');
 ffmpeg.setFfmpegPath(ffm.path);
 var command = ffmpeg();

 const outputStream = fs.createWriteStream(this.Path + "test.mp4");

 command.input(this.Path + "input.mp4");
 command.input(this.stream).inputFPS(23);
 command.outputOptions(Options);
 command.fps(23);

 command.complexFilter(filter, "tmp");

 command.output(outputStream);