
Recherche avancée
Médias (91)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
-
Les Miserables
4 juin 2012, par
Mis à jour : Février 2013
Langue : English
Type : Texte
-
Ne pas afficher certaines informations : page d’accueil
23 novembre 2011, par
Mis à jour : Novembre 2011
Langue : français
Type : Image
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Richard Stallman et la révolution du logiciel libre - Une biographie autorisée (version epub)
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (47)
-
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. -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)
Sur d’autres sites (7780)
-
How to combine multiple Audio Files into single using ffmpeg_kit_flutter
17 septembre 2023, par sunil kalwaniI want to play multiple Audio files in a sequence to form a question for the users.

For that, I tried theAudioPlay
package in the loop but they took some pause to play it in between which did not look good.

So as the alternative I want to combine audio files into a single file to play.

For that I have usedffmpeg_kit_flutter
package, but this returns 1 which means error in merging the files.

List<string> assetAudioFiles = [
 'audio/S1B_1.mp3', // Replace with the URLs or local paths of your audio files
 'audio/L2_31.mp3',
 'audio/S1B_2.mp3',
 'audio/L1s20.mp3',
];

Future> copyAssetFilesToStorage() async {
 List<string> localFilePaths = [];

 for (String assetFile in assetAudioFiles) {
 String localFilePath = await copyAssetToFile(assetFile);
 localFilePaths.add(localFilePath);
 }

 return localFilePaths;
}
 
Future<string> copyAssetToFile(String assetFilePath) async {
 final ByteData data = await rootBundle.load(assetFilePath);
 final Directory tempDir = await getTemporaryDirectory();
 final File tempFile =
 File('${tempDir.path}/${assetFilePath.split('/').last}');
 await tempFile.writeAsBytes(data.buffer.asUint8List(), flush: true);
 return tempFile.path;
}
 
Future<void> combineAudio(List<string> audioFiles) async {
 Directory tempDir = await getTemporaryDirectory();
 String tempPath = tempDir.path;

 // Create a temporary output file path
 String combinedAudioPath = '$tempPath/output.mp3';

 // Prepare the FFmpeg command to concatenate audio files
 String inputFiles = audioFiles.join('|');

 String command =
 'ffmpeg -i "concat:$inputFiles" -acodec copy $combinedAudioPath';

 var cmd2 =
 "-i ${audioFiles[0]} -i ${audioFiles[1]} -i ${audioFiles[2]} -filter_complex [0:0][1:0][2:0]concat=n=3:v=0:a=1[out] -map [out] $combinedAudioPath";
 
 FFmpegKit.execute(cmd2).then((session) async {
 print('session $session');
 final returnCode = await session.getReturnCode();
 print('returnCode $returnCode');

 if (ReturnCode.isSuccess(returnCode)) {
 print('Audio files merged successfully $returnCode');
 // SUCCESS
 } else if (ReturnCode.isCancel(returnCode)) {
 print('isCancel $returnCode');
 // CANCEL
 } else {`enter code here`
 print('Error merging audio files: $returnCode');
 // audioPlayer.play(DeviceFileSource(outputFilePath));
 }
 });
}
 
void combineAndPlayAudio() async {
 List<string> localFilePaths = await copyAssetFilesToStorage();
 await combineAudio(localFilePaths); //localFilePaths

 // Now you can play the combined audio using an audio player or other methods.
}
</string></string></void></string></string></string>


So can you please let me know how to combine multiple audio files into single or a way to play multiple audio in sequence ?


-
How to use FFmpeg in android to edit video ? [closed]
24 juillet 2023, par Rakesh Sainii am learning android. I tried the ffmpeg lib to merge the video and audio, but getting ffmpeg permission denied error. I search lot of but unable to find the solution.


Please anyone help if have the solution.


package com.example.mytestapp.Activity;
 
 import android.content.Context;
 import android.os.AsyncTask;
 import android.os.Environment;
 import android.util.Log;
 import com.github.hiteshsondhi88.libffmpeg.ExecuteBinaryResponseHandler;
 import com.github.hiteshsondhi88.libffmpeg.FFmpeg;
 import com.github.hiteshsondhi88.libffmpeg.exceptions.FFmpegCommandAlreadyRunningException;
 
 public class MergeAudioVideoTask extends AsyncTask {
 private static final String TAG = MergeAudioVideoTask.class.getSimpleName();
 
 private Context context;
 private String videoFilePath;
 private final String audioFilePath;
 private final String outputFilePath;
 
 public MergeAudioVideoTask(String videoFilePath, String audioFilePath, String outputFilePath) {
 this.videoFilePath = videoFilePath;
 this.audioFilePath = audioFilePath;
 this.outputFilePath = outputFilePath;
 }
 
 // String inputAudioPath = "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3";
 String outputVideoPath = Environment.getExternalStorageDirectory() + "/trimVideos" + "sangtest.mp4";
 
 // String[] command = {"-i", vpath, "-i", inputAudioPath, "-c:v", "copy", "-c:a", "aac", "-map", "0:v:0", "-map", "1:a:0", "-shortest", outputVideoPath};
 
 
 @Override
 protected Boolean doInBackground(Void... params) {
 String[] cmd = {"-i", videoFilePath, "-i", audioFilePath, "-shortest", outputVideoPath};
 try {
 FFmpeg.getInstance(context).execute(cmd, new ExecuteBinaryResponseHandler() {
 @Override
 public void onStart() {
 Log.e("Started", "yes");
 }
 
 @Override
 public void onProgress(String message) {
 // do nothing
 }
 
 @Override
 public void onFailure(String message) {
 Log.e("Failed ", "yes");
 }
 
 @Override
 public void onSuccess(String message) {
 Log.e("Success ", "yes");
 }
 
 @Override
 public void onFinish() {
 // do nothing
 }
 });
 } catch (FFmpegCommandAlreadyRunningException e) {
 e.printStackTrace();
 }
 
 return null;
 }
 
 @Override
 protected void onPostExecute(Boolean success) {
 if (success) {
 } else {
 }
 }
 
 }



I am using this but getting 'permission denied error for ffmpeg' i have already added storage permission in manifiest.


-
libavfilter/vf_dnn_detect : Add yolo support
21 novembre 2023, par Wenbin Chenlibavfilter/vf_dnn_detect : Add yolo support
Add yolo support. Yolo model doesn't output final result. It outputs
candidate boxes, so we need post-process to remove overlap boxes to
get final results. Also, the box's coordinators relate to cell and
anchors, so we need these information to calculate boxes as well.Model detail please refer to : https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/yolo-v2-tf
Signed-off-by : Wenbin Chen <wenbin.chen@intel.com>
Reviewed-by : Guo Yejun <yejun.guo@intel.com>