Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (95)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

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

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (5989)

  • avformat/rtpdec_jpeg : fix low contrast image on low quality setting

    24 mars 2016, par Ico Doornekamp
    avformat/rtpdec_jpeg : fix low contrast image on low quality setting
    

    Original mail and my own followup on ffmpeg-user earlier today :

    I have a device sending out a MJPEG/RTP stream on a low quality setting.
    Decoding and displaying the video with libavformat results in a washed
    out, low contrast, greyish image. Playing the same stream with VLC results
    in proper color representation.

    Screenshots for comparison :

    http://zevv.nl/div/libav/shot-ffplay.jpg
    http://zevv.nl/div/libav/shot-vlc.jpg

    A pcap capture of a few seconds of video and SDP file for playing the
    stream are available at

    http://zevv.nl/div/libav/mjpeg.pcap
    http://zevv.nl/div/libav/mjpeg.sdp

    I believe the problem might be in the calculation of the quantization
    tables in the function create_default_qtables(), the attached patch
    solves the issue for me.

    The problem is that the argument ’q’ is of the type uint8_t. According to the
    JPEG standard, if 1 <= q <= 50, the scale factor ’S’ should be 5000 / Q.
    Because the create_default_qtables() reuses the variable ’q’ to store the
    result of this calculation, for small values of q < 19, q wil subsequently
    overflow and give wrong results in the calculated quantization tables. The
    patch below uses a new variable ’S’ (same name as in RFC2435) with the proper
    range to store the result of the division.

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/rtpdec_jpeg.c
  • Anomalie #4725 : SyntaxError : JSon.parse : unexpected character at line 1 column 1 of the JSON data

    12 avril 2021, par Franck D

    https://www.spip.net/fr_article4453.html

    define(’_NO_CACHE’, -1) ;
    define(’_INTERDIRE_COMPACTE_HEAD_ECRIRE’, true) ;
    error_reporting(E_ALL^E_NOTICE) ;
    ini_set ("display_errors", "On") ;
    define(’SPIP_ERREUR_REPORT’,E_ALL) ;
    $GLOBALS[’taille_des_logs’] = 500 ;
    define(’_MAX_LOG’, 500000) ;
    define(’_LOG_FILELINE’,true) ;
    define(’_LOG_FILTRE_GRAVITE’,8) ;
    define(’_DEBUG_SLOW_QUERIES’, true) ;
    define(’_BOUCLE_PROFILER’, 5000) ;

    Je vais essayer de refaire, mais c’est pas simple, marcimat à eu le cas une fois et n’a pas réussi à reproduire

  • 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);
    }
    }

    `