Recherche avancée

Médias (0)

Mot : - Tags -/protocoles

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (104)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • 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

Sur d’autres sites (11542)

  • FFmpeg conform DASH to YouTube Live Stream requirements

    4 septembre 2023, par Aniol Pagès

    I'm trying to stream to YouTube using FFmpeg and DASH. I've generated the stream key and I'm successfully sending the generated files to YouTube. However, YouTube refuses the MPD manifest because it has two AdaptationSet (one for video and one for audio), and the documentation specifies that I should use only one for both video and audio

    


    I've tried to use the -adaptation_sets flag unsuccessfully, and also the -map flag.

    


    Here is one of the commands I've tried :
ffmpeg -re -i "/Users/user/Desktop/file.mp4" \        -map 0:v -map 0:a \        -use_template 1 -use_timeline 1 -window_size 5 -min_seg_duration 5000000 \        -f dash dash.mpd

    


    And with the -adaptation_sets flag :
ffmpeg -re -i "/Users/aniolpages/Desktop/2023-09-03 Taller colar filtrar assubtilar.mp4" -map 0 -map 0 -c:a aac -c:v libx264 \ -use_timeline 1 -use_template 1 \ -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" \ -f dash dash.mpd

    


    Has someone been successful to conform the manifest to YouTube requirements ?

    


    Thank you very much !

    


  • ffmpeg.exe not found inside project directory

    8 février 2019, par BayLife

    I´m currently working on my first electron / react app, which makes use of ffmpeg. I do have a problem to link the .exe file correctly.

    The prolem I´m facing is that I ffmpeg.exe is not found when trying to link it with a relative path inside my project directory. When using an absolute path it does work.

    The exe files are in the sub-folder of the current directroy.

    It does work when I´m using such path :

    'C:\\Users\\xxx\\Documents\\development\\ytDownloader\\app\\utils\\ffmpeg\\ffprobe.exe'

    But when trying it like this
    .setFfmpegPath('.\\ffmpeg\\ffmpeg.exe')

    or

    './ffmpeg/ffmpeg.exe'

    it does not working.

    Additionally I would really like to avoid using \\ in my project.

    Does someone have an Idea what I´m doing wrong here ?

    I get this error message :

    Error: spawn .\ffmpeg\ffmpeg.exe ENOENT
       at Process.ChildProcess._handle.onexit (internal/child_process.js:229)
       at onErrorNT (internal/child_process.js:406)
       at process._tickCallback (internal/process/next_tick.js:63)
  • AsyncTask publishProgress() does not update progress ffmpeg android

    7 février 2014, par jay

    I am using ffmpeg commands for processing media files.In doInBackground() method i have started the process and every time i get the duration , time values and grabbing progress using time and duration and send progress to publishProgress(progress).When i tested on google nexus(android 4.4 kitkat) it is updating progress dialog correctly but this won't happen in below android 4.4 devices.It is updating with an eye blink of time after completion of the process.
    Here is my code :

    protected String doInBackground(String... params)  {
               // TODO Auto-generated method stub  
               try {
                   proc = mProcess.start();
               } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
               }
               processDuration(proc.getErrorStream());

               // Wait for process to exit
               int exitCode = 1; // Assume error
               try {
                   exitCode = proc.waitFor();
               } catch (InterruptedException e) {
                   Log.e(TAG, "Process interrupted!", e);
               }
               onExit(exitCode);          
               return null;            
           }

           private void onExit(int exitCode) {
               // TODO Auto-generated method stub
               Log.i("exit code >>>>>>>>..", ""+exitCode);
           }

           private void processDuration(InputStream errorStream) {
               // TODO Auto-generated method stub
               Scanner sc = new Scanner(errorStream);          
               // Find duration
               Pattern durPattern = Pattern.compile("(?<=Duration: )[^,]*");
               String dur = sc.findWithinHorizon(durPattern, 0);
               if (dur==null) throw new RuntimeException("Could not parse    duration.");          
               String[] hms = dur.split(":");
               try{
                   totalSecs= Integer.parseInt(hms[0]) * 3600 + Integer.parseInt(hms[1]) *  60 + Double.parseDouble(hms[2]);
                   Log.i(" progress>>>>>>>>>>>>>",""+totalSecs);
               }catch(NumberFormatException e){

               }
               Pattern timePattern = Pattern.compile("(?<=time=)[\\d:.]*");
               String match= sc.findWithinHorizon(timePattern, 0);            
               while (null != (match = sc.findWithinHorizon(timePattern, 0))) {
                   hms = match.split(":");
                   try{
                       processedSecs= Integer.parseInt(hms[0]) * 3600 + Integer.parseInt(hms[1]) *  60 + Double.parseDouble(hms[2]);
                   }catch(NumberFormatException e){

                   }
                   progress = processedSecs / totalSecs;  
                   final int finalProgress=(int)(progress*100);
                   try {

                       publishProgress(""+finalProgress);

                       Thread.sleep(1000);
                   } catch (InterruptedException e) {
                       // TODO Auto-generated catch block
                       e.printStackTrace();
                   }

               }
               publishProgress(""+100);
           }

           protected void onPostExecute(String  result) {
               super.onPostExecute(result);                
               mProgressDialog.dismiss();

           }

           protected void onPreExecute() {
               super.onPreExecute();
               showDialog(DIALOG_DOWNLOAD_PROGRESS);              
           }

           protected void onProgressUpdate(String... progress) {
               mProgressDialog.setProgress(Integer.parseInt(progress[0]));
               super.onProgressUpdate(progress);
           }

           public Dialog showDialog(int id) {
           // TODO Auto-generated method stub
           switch (id) {
           case DIALOG_DOWNLOAD_PROGRESS:
               mProgressDialog = new ProgressDialog(context);
               mProgressDialog.setMessage(loading process..");
               mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
               mProgressDialog.setCancelable(false);
               mProgressDialog.setMax(100);
               mProgressDialog.setCanceledOnTouchOutside(false);
               mProgressDialog.show();
               return mProgressDialog;
           default:
               return null;
           }
       }
       }

    Thanks for Your Help..
    Please help me out this problem..........