Recherche avancée

Médias (21)

Mot : - Tags -/Nine Inch Nails

Autres articles (89)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

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

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

Sur d’autres sites (12264)

  • How to use FFmpeg in android to edit video ? [closed]

    24 juillet 2023, par Rakesh Saini

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

    


  • How to combine multiple Audio Files into single using ffmpeg_kit_flutter

    17 septembre 2023, par sunil kalwani

    I want to play multiple Audio files in a sequence to form a question for the users.
    
For that, I tried the AudioPlay 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 used ffmpeg_kit_flutter package, but this returns 1 which means error in merging the files.

    


    List<string> assetAudioFiles = [&#xA;  &#x27;audio/S1B_1.mp3&#x27;, // Replace with the URLs or local paths of your audio files&#xA;  &#x27;audio/L2_31.mp3&#x27;,&#xA;  &#x27;audio/S1B_2.mp3&#x27;,&#xA;  &#x27;audio/L1s20.mp3&#x27;,&#xA;];&#xA;&#xA;Future> copyAssetFilesToStorage() async {&#xA;  List<string> localFilePaths = [];&#xA;&#xA;  for (String assetFile in assetAudioFiles) {&#xA;    String localFilePath = await copyAssetToFile(assetFile);&#xA;    localFilePaths.add(localFilePath);&#xA;  }&#xA;&#xA;  return localFilePaths;&#xA;}&#xA; &#xA;Future<string> copyAssetToFile(String assetFilePath) async {&#xA;  final ByteData data = await rootBundle.load(assetFilePath);&#xA;  final Directory tempDir = await getTemporaryDirectory();&#xA;  final File tempFile =&#xA;    File(&#x27;${tempDir.path}/${assetFilePath.split(&#x27;/&#x27;).last}&#x27;);&#xA;  await tempFile.writeAsBytes(data.buffer.asUint8List(), flush: true);&#xA;  return tempFile.path;&#xA;}&#xA; &#xA;Future<void> combineAudio(List<string> audioFiles) async {&#xA;  Directory tempDir = await getTemporaryDirectory();&#xA;  String tempPath = tempDir.path;&#xA;&#xA;  // Create a temporary output file path&#xA;  String combinedAudioPath = &#x27;$tempPath/output.mp3&#x27;;&#xA;&#xA;  // Prepare the FFmpeg command to concatenate audio files&#xA;  String inputFiles = audioFiles.join(&#x27;|&#x27;);&#xA;&#xA;  String command =&#xA;    &#x27;ffmpeg -i "concat:$inputFiles" -acodec copy $combinedAudioPath&#x27;;&#xA;&#xA;  var cmd2 =&#xA;    "-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";&#xA;     &#xA;  FFmpegKit.execute(cmd2).then((session) async {&#xA;    print(&#x27;session $session&#x27;);&#xA;    final returnCode = await session.getReturnCode();&#xA;    print(&#x27;returnCode $returnCode&#x27;);&#xA;&#xA;    if (ReturnCode.isSuccess(returnCode)) {&#xA;     print(&#x27;Audio files merged successfully $returnCode&#x27;);&#xA;     // SUCCESS&#xA;    } else if (ReturnCode.isCancel(returnCode)) {&#xA;     print(&#x27;isCancel $returnCode&#x27;);&#xA;     // CANCEL&#xA;    } else {`enter code here`&#xA;     print(&#x27;Error merging audio files: $returnCode&#x27;);&#xA;     // audioPlayer.play(DeviceFileSource(outputFilePath));&#xA;    }&#xA;  });&#xA;}&#xA;  &#xA;void combineAndPlayAudio() async {&#xA;  List<string> localFilePaths = await copyAssetFilesToStorage();&#xA;  await combineAudio(localFilePaths); //localFilePaths&#xA;&#xA;  // Now you can play the combined audio using an audio player or other methods.&#xA;}&#xA;</string></string></void></string></string></string>

    &#xA;

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

    &#xA;

  • Anomalie #4087 : Division par 0 dans couleurèsaturation avec couleur FFFFFF en majuscule

    3 février 2018, par jluc -

    Mais il y a aussi le cas où la couleur commence par #

    _couleur_hex_to_dec enlève le # avant de faire son boulot
    et donc pour ce test il faudrait AUSSI enlever le # s’il est là

    Au final, il serait plus simple de tester APRES la conversion et le calcul de max :
    if (max==0) max=1 ;