
Recherche avancée
Autres articles (10)
-
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 (...) -
D’autres logiciels intéressants
12 avril 2011, parOn ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
Videopress
Site Internet : (...) -
Sélection de projets utilisant MediaSPIP
29 avril 2011, parLes exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
Ferme MediaSPIP @ Infini
L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)
Sur d’autres sites (3912)
-
how to use ffmpeg in laravel 8.x project
1er décembre 2020, par user14698698so i just installed ffmpeg package in my laravel 8 project using


composer require pbmedia/laravel-ffmpeg



i also publish the file when added class in app.php file as documentation says, but i don't know how can i use this


i want to use this here


use FFMpeg;

public function videoUpload(Request $request){
 $files=$request->file('files');
 
 $newVideo = FFMpeg::fromDisk('videos')
 ->open($files)
 ->save('small_steve.mkv');

 return view('admin.Post.video',compact('newVideo'));
 }

// config/app.php

'providers' => [
 ...
 ProtoneMedia\LaravelFFMpeg\Support\ServiceProvider::class,
 ...
];

'aliases' => [
 ...
 'FFMpeg' => ProtoneMedia\LaravelFFMpeg\Support\FFMpeg::class
 ...
];



// composer.json


"pbmedia/laravel-ffmpeg": "^7.4"



//config/laravel-ffmpeg.php


<?php

return [
 'ffmpeg' => [
 'binaries' => env('FFMPEG_BINARIES', 'ffmpeg'),
 'threads' => 12,
 ],

 'ffprobe' => [
 'binaries' => env('FFPROBE_BINARIES', 'ffprobe'),
 ],

 'timeout' => 3600,

 'enable_logging' => true,

 'set_command_and_error_output_on_exception' => false,
];



when i try to use ffmpeg in my controller it shows


//error
//if i use FFMpeg/FFMpeg ;




Call to undefined method FFMpeg\FFMpeg::fromDisk()




//or if i used FFMpeg ;




unable to load FFMpeg ;




please help me out


-
electron fluent-ffmpeg mergeToFile() command promise not triggering
12 septembre 2020, par MartinI am trying to use fluent-ffmpeg with my electron app to concatenate multiple audio files together with an image in a video. So if i have three files :


song1.mp3 1:00
song2.mp3 0:30
song3.mp3 2:00
front.jpg


I could create
output.mp4
which would be 3:30 seconds long, and play each file one after the other in order. With front.jpg set as the background image.

I am trying to create the concatenated audio file first for this video, then I can just render a vid with two inputs ; image and the 3:30second long concatenated audio file. But I'm having difficulty getting my electron app to wait for the ffmpeg job to run and complete.


I know how to do all of these ffmpeg jobs on the command-line, but I've been following this guide for how to package ffmpeg into an electron app that can run on mac/win10/linux environments. I'm developing it on win10 right now.
gur.com/LtykP.png


I have a button :

<button>FULLALBUM</button>


that when I click runs the
fullAlbum()
function that callscombineMp3FilesOrig
to run the actual ffmpeg job :

async function fullAlbum(uploadName) {
 //document.getElementById("buttonId").disabled = true;

 //get table
 var table = $(`#upload_${uploadNumber}_table`).DataTable()
 //get all selected rows
 var selectedRows = table.rows( '.selected' ).data()
 //get outputFile location
 var path = require('path');
 var outputDir = path.dirname(selectedRows[0].audioFilepath)
 //create outputfile
 var timestamp = new Date().getUTCMilliseconds();
 let outputFilepath = `${outputDir}/output-${timestamp}.mp3` 

 
 console.log('fullAlbum() button pressed: ', timestamp)

 await combineMp3FilesOrig(selectedRows, outputFilepath, '320k', timestamp);
 //document.getElementById("buttonId").disabled = false;

 console.log(`fullAlbum() /output-${timestamp}.mp3 should be created now`)
}

function combineMp3FilesOrig(selectedRows, outputFilepath, bitrate, timestamp) {
 console.log(`combineMp3FilesOrig(): ${outputFilepath}`)
 
 //begin get ffmpeg info
 const ffmpeg = require('fluent-ffmpeg');
 //Get the paths to the packaged versions of the binaries we want to use
 const ffmpegPath = require('ffmpeg-static').replace('app.asar','app.asar.unpacked');
 const ffprobePath = require('ffprobe-static').path.replace('app.asar','app.asar.unpacked');
 //tell the ffmpeg package where it can find the needed binaries.
 ffmpeg.setFfmpegPath(ffmpegPath);
 ffmpeg.setFfprobePath(ffprobePath);
 //end set ffmpeg info

 //create ffmpeg command
 console.log(`combineMp3FilesOrig(): create command`)
 const command = ffmpeg();
 //set command inputs
 command.input('C:\\Users\\marti\\Documents\\martinradio\\uploads\\CharlyBoyUTurn\\5. Akula (Club Mix).flac')
 command.input('C:\\Users\\marti\\Documents\\martinradio\\uploads\\CharlyBoyUTurn\\4. Civilian Barracks.flac')

 return new Promise((resolve, reject) => {
 console.log(`combineMp3FilesOrig(): command status logging`)
 command.on('progress', function(progress) {
 console.info(`Processing : ${progress.percent} % done`);
 })
 .on('codecData', function(data) {
 console.log('codecData=',data);
 })
 .on('end', function() {
 console.log('file has been converted succesfully; resolve() promise');
 resolve();
 })
 .on('error', function(err) {
 console.log('an error happened: ' + err.message, ', reject()');
 reject(err);
 })
 console.log(`combineMp3FilesOrig(): add audio bitrate to command`)
 command.audioBitrate(bitrate)
 console.log(`combineMp3FilesOrig(): tell command to merge inputs to single file`)
 command.mergeToFile(outputFilepath);
 console.log(`combineMp3FilesOrig(): end of promise`)
 });
 console.log(`combineMp3FilesOrig(): end of function`)
}



When I click my button once, my console.logs show the promise is entered, the command is created, but the function just ends without waiting for a resolve() ;
Waiting a couple minutes doesnt change anything.




If I press the button again :




A new command gets created, reaches the end of the promise, but this time actually starts, and triggers the previous command to start. Both jobs then run and their files are rendered at the correct length (12:08) and the correct quality (320k)


Is there something with my promise I need to fix involving async functions and promises in an electron app ? I tried editing my ffmpeg command to include


command.run()


At the end of my promise to ensure it gets triggered ; but that leads to an err in console saying
Uncaught (in promise) Error: No output specified
because apparently in fluent-ffmpegcommand.mergeToFile(outputFilepath);
isnt good enough and I need to include.output(outputFilepath)
as well. If I changecommand.run()
tocommand.output(outputFilepath).run()
, when i click my button, the ffmpeg job gets triggered and rendered perfectly fine. EXCEPT THAT THE FILE IS ALWAYS 128kbps

So I'm trying to figure out why my included code block, my ffmpeg command doesn't run the first time when its created.


-
Batch Copy Cover Art from One Song to Another (Identical File Names)
19 juillet 2020, par LeLwrenceI'm looking for a way to copy the album art from one set of songs to another set of the same songs that don't have the album art. FFMPEG copies the text tags (artist, album, title...) perfectly, but will not copy the embedded album artwork.



I've been trying to batch convert my folder of MP3s into 128k AAC (using FFMPEG and the
libfdk-aac
codec) files to save space on my phone, but it hasn't copied my album art over to the new songs.
I used the following batch command :


FOR /F "tokens=*" %%G IN ('dir /b *.mp3') DO ffmpeg -i "%%G" -c:a libfdk_aac -b:a 128k "%%~nG.m4a"




EDIT : I tried using the following command to test it out, because stream 0:0 is the audio, and stream 0:1 is the JPEG, however it did not work :



ffmpeg -i Estranged.mp3 -map 0:0 -map 0:1 -c:a libfdk_aac -b:a 128k -c:v copy Estranged.m4a




Here's a paste of the log : http://pastebin.com/dZFsvR7F (I know, it's not the latest version. I had trouble compiling it myself but I'm currently working on it.)



Is there a way to copy the album art (or entire tag, if need be) from songs with an identical name in one folder to the songs in the new folder ?



I.E.
C:\Folder1\song.mp3
→C:\Folder2\song.m4a



Thanks.