Recherche avancée

Médias (91)

Autres articles (1)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (2790)

  • Sample rate not set. Could not write header for output file #0 (incorrect codec parameters ?) : Invalid argument

    12 février 2021, par Pasindu Dilshan

    I am using this command to transmit RTP with FEC

    


    ffmpeg -re -i -c copy -map 0 -f rtp_mpegts -fec prompeg=l=5:d=20 rtp ://ip:5000

    


    The following error occurred.

    


    [rtp_mpegts @ 0x7757980] sample rate not set
Could not write header for output file #0 (incorrect codec parameters ?) : Invalid argument

    


    what is the reason for that ? please help me.

    


  • How to make ffmpeg fail when any of multiple circular input buffers overruns

    31 mars 2021, par Anonymous Coward

    I remultiplex two multicasts into one using something like the following :

    


    ffmpeg -i udp://239.1.1.1:5000 -i udp://239.1.1.2:5000 -map 0:v -map 0:a -map 1:a -codec copy -f mpegts udp://239.1.1.3:5000


    


    If one of the multicasts disappears, the other quite quickly overruns its circular buffer, causing that input thread to quit as expected.

    


    Unfortunately, the other circular buffer does not overrun since there is no input, and so ffmpeg hangs doing nothing.

    


    Is it possible to configure ffmpeg in such a way that if any of the input threads exits, ffmpeg will stop ?

    


    Thanks in advance !

    


  • I want help in making video collage, tried everything but unsuccessful

    16 mars 2016, par Haider Ali

    I want to make Video Collage in which 2 or more videos should be displayed in one frame and then they can be converted into one Video file.
    I tried examples but they just add videos at the end of each video to make a long one combine video.
    Any Help Please

    String FILE_PATH = "/storage/sdcard0/testing.mp4";
    String FILE_PATH2 = "/storage/sdcard0/testing1.mp4";
    String FILE_PATH3 = "/storage/sdcard0/testing2.mp4";
    File file1 = new File(FILE_PATH);
    File file2 = new File(FILE_PATH2);
    File file3 = new File(FILE_PATH3);

    private ProgressDialog pDialog;
    ImageView img,img2,img3;
    MediaMetadataRetriever retriever2 = new MediaMetadataRetriever();
    MediaMetadataRetriever retriever3 = new MediaMetadataRetriever();
    ArrayList<bitmap> bitmapArray1 = new ArrayList<bitmap>();
    ArrayList<bitmap> bitmapArray2 = new ArrayList<bitmap>();
    ArrayList<bitmap> bitmapArray3 = new ArrayList<bitmap>();
    File ScreenDIR = new File("/sdcard/Screens/");
    </bitmap></bitmap></bitmap></bitmap></bitmap></bitmap>

    // have the object build the directory structure, if needed.

    double id1=0,id2=0,id3=0;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       ScreenDIR.mkdirs();

        img = (ImageView)findViewById(R.id.imageView);
       img2 = (ImageView)findViewById(R.id.imageView2);
       img3 = (ImageView)findViewById(R.id.imageView3);

       new LoadAllProducts().execute();




    }

    class LoadAllProducts extends AsyncTask {

       /**
        * Before starting background thread Show Progress Dialog
        * */
       @Override
       protected void onPreExecute() {
           super.onPreExecute();
           pDialog = new ProgressDialog(MainActivity.this);
           pDialog.setMessage("Extracting Frames. Please wait...");
           pDialog.setIndeterminate(false);
           pDialog.setCancelable(false);
           pDialog.show();
       }

       /**
        * getting All products from url
        * */
       protected String doInBackground(String... args) {
           if(file1.exists()){


               for (long i = 0; i &lt; 5000; i += 1000/14) { // lenms - video length in milliseconds

                   MediaMetadataRetriever retriever = new MediaMetadataRetriever();
                   retriever.setDataSource(file1.toString());

                  // Bitmap bitmap = retriever.getFrameAtTime((i*1000/14), MediaMetadataRetriever.OPTION_CLOSEST_SYNC);

                   saveBitmapToCahche( getResizedBitmap((retriever.getFrameAtTime((i*1000/14), MediaMetadataRetriever.OPTION_CLOSEST_SYNC)), 500) ,String.valueOf(id1));
                   id1++;
                   //bitmapArray1.add(bitmap);

                  /* File file = new File(ScreenDIR, "sketchpad1" + id1 + ".png");
                   FileOutputStream fOut = null;
                   try {
                       fOut = new FileOutputStream(file);
                   } catch (FileNotFoundException e) {
                       e.printStackTrace();
                   }

                   //bitmap.compress(Bitmap.CompressFormat.PNG, 30, fOut);

                   try {
                       fOut.flush();
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
                   try {
                       fOut.close();


                   } catch (IOException e) {
                       e.printStackTrace();
                   }*/
               }

               }
          /* if(file2.exists()){
               retriever2.setDataSource(file2.toString());
               for (long i = 0; i &lt; 3000; i += 1000/24) { // lenms - video length in milliseconds
                   bitmap2 = retriever2.getFrameAtTime(i*1000/29, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
                   //bitmapArray2.add(bitmap2);

                   File file = new File(ScreenDIR, "sketchpad2" + id2 + ".png");
                   FileOutputStream fOut = null;
                   try {
                       fOut = new FileOutputStream(file);
                   } catch (FileNotFoundException e) {
                       e.printStackTrace();
                   }

                   bitmap2.compress(Bitmap.CompressFormat.PNG, 85, fOut);
                   try {
                       fOut.flush();
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
                   try {
                       fOut.close();
                       id2++;
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
               }



           }
           if(file3.exists()){
               retriever3.setDataSource(file3.toString());
               for (long i = 0; i &lt; 3000; i += 1000/24) { // lenms - video length in milliseconds
                   bitmap3 = retriever3.getFrameAtTime(i*1000/29, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
                  // bitmapArray3.add(bitmap3);

                   File file = new File(ScreenDIR, "sketchpad3" + id3 + ".png");
                   FileOutputStream fOut = null;
                   try {
                       fOut = new FileOutputStream(file);
                   } catch (FileNotFoundException e) {
                       e.printStackTrace();
                   }

                   bitmap3.compress(Bitmap.CompressFormat.PNG, 85, fOut);
                   try {
                       fOut.flush();
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
                   try {
                       fOut.close();
                       id3++;
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
               }

               }*/




           return null;
       }
       /**
        * After completing background task Dismiss the progress dialog
        * **/
       protected void onPostExecute(String file_url) {
           // dismiss the dialog after getting all products
           pDialog.dismiss();



           img.setImageBitmap(retrieveBitmapFromCache(String.valueOf(id2)));
           id2 = 50;

           img2.setImageBitmap(retrieveBitmapFromCache(String.valueOf(id2)));
           id2 = 69;

           img3.setImageBitmap(retrieveBitmapFromCache(String.valueOf(id2)));


          // img2.setImageBitmap(bitmapArray2.get(0));
          // img3.setImageBitmap(bitmapArray3.get(0));

           }




       }


    public void saveBitmapToCahche(Bitmap bb,String ID ){

       Cache.getInstance().getLru().put(ID, bb);


    }
    public Bitmap retrieveBitmapFromCache(String ID) {


       Bitmap bitmap = (Bitmap) Cache.getInstance().getLru().get(ID);

       return  bitmap;

    }
    public Bitmap getResizedBitmap(Bitmap image, int maxSize) {
       int width = image.getWidth();
       int height = image.getHeight();

       float bitmapRatio = (float)width / (float) height;
       if (bitmapRatio > 0) {
           width = maxSize;
           height = (int) (width / bitmapRatio);
       } else {
           height = maxSize;
           width = (int) (height * bitmapRatio);
       }
       return Bitmap.createScaledBitmap(image, width, height, true);
    }
    }

    `