Recherche avancée

Médias (0)

Mot : - Tags -/performance

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

Autres articles (60)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (5784)

  • Anomalie #4849 (Nouveau) : Lisibilité du tableau des statistiques

    12 juillet 2021, par JLuc -

    #2693 a été fermé suite à la correction du code, mais la présentation du tableau de résultat n’a pas évolué et pour le comprendre, il a fallu que j’étudie le code. Du coup j’ai compris qu’il y a un petit problème de conception que je signale ici, ainsi que le manque de clarté dans un énoncé.

    La colonne de gauche présente 2 listes à la suite.
    Ces 2 listes sont séparées par un intertitre centré "..." qui indique qu’il y a une forme d’interruption dans la continuité d’une même liste.
    Or ce n’est pas le cas puisque l’analyse du code révèle que :
    - la première liste présente les 30 articles les plus populaires
    - la 2eme liste présente la popularité des 10 articles les plus récents (classés du plus récent au plus ancien)
    L’ordonnancement étant totalement différent, il s’agit bien de 2 listes qui devraient être perçues comme totalement différentes...
    MAIS
    - il y a quand même une interférence entre ces 2 listes puisque les articles présents dans la première (les articles populaires) sont exclus de la seconde.
    - il n’y a qu’un seul titre pour ces 2 listes, qui reflète l’ambigüité du mélange (malheureusement sans l’éclairer) : « Afficher les visites pour les articles les plus populaires et pour les derniers articles publiés : « Afficher les visites pour les articles les plus populaires et pour les derniers articles publiés : »
    Mais ce n’est pas possible, de même qu’il n’est pas possible de lister dans une même liste des voitures triées par vitesse maximale et des pommes triées par teneur en sucre.

    Donc il faudrait
    - avoir un titre différent pour chacune de ces listes
    - à mon avis aussi retirer le doublon qui rend difficile la lecture de la 2eme liste car autant il est simple de dire "c’est la popularité des articles les plus récents" (et intéressant d’avoir une telle liste), autant il est complexe d’expliquer et de comprendre "C’est la popularité des articles les plus récents sauf s’ils font partie des 30 plus populaires du site" (et difficile à utiliser une telle information circonluée).
    - ne pas avoir de séparateur "[...]" entre ces 2 listes. Ce ne sera pas utile avec le 2eme intertitre.

    Par ailleurs le texte explicatif "Comment lire ce tableau" en bas de la colonne de droite contient une explication de ce qu’est la "popularité de l’article : (une estimation du nombre de visites quotidiennes qu’il recevra si le rythme actuel de consultation se maintient)". L’emploi du futur + l’hypothèse "si le rythme actuel de consultation se maintient" donnent des pistes incomplètes et ne permettent pas de comprendre ce que c’est.
    - Spontanément j’avais retenu le futur et compris que c’était le nombre total final de visite de cet article, à supposer que sa fréquentation s’épuise mais sur quelle durée ? ça ne voulait rien dire.
    - Maintenant je comprend que c’est une estimation du nombre de visite quotidienne à partir d’une "moyenne instantannée" de fréquentation. Mais sur quelle durée se fait cette moyenne instantanée ? La fréquentation estimée se fait elle aussi sur la base d’une moyenne instantanée pour les articles ayant plus d’une journée d’âge ou bien c’est la fréquentation de la veille qui est prise dans ce cas ? Ça ne veut pas dire grand chose encore...
    En bref : ça en dit trop ou pas assez. On peut en dire moins avec simplement "une estimation du nombre de visites quotidiennes". Mais pour en dire plus et être plus précis... faudrait donner les infos manquantes.

  • Use ffmpeg in android for playing video

    14 février 2017, par devxcon

    I am trying use ffmpeg in android. Here is the code so far. I took reference from this project. It just lets me convert video file. But I want to play a video file using ffmpeg. Is it possible ? If yes then how we can do that ?

       package com.ffmpeg;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.ImageView;

    import com.github.hiteshsondhi88.libffmpeg.ExecuteBinaryResponseHandler;
    import com.github.hiteshsondhi88.libffmpeg.FFmpeg;
    import com.github.hiteshsondhi88.libffmpeg.LoadBinaryResponseHandler;
    import com.github.hiteshsondhi88.libffmpeg.exceptions.FFmpegCommandAlreadyRunningException;
    import com.github.hiteshsondhi88.libffmpeg.exceptions.FFmpegNotSupportedException;

    import org.apache.commons.io.FileUtils;

    import java.io.File;
    import java.io.IOException;

    public class MainActivity extends AppCompatActivity {


       Boolean loadedFlag = false;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
           if (!loadedFlag) {
               FFmpegInitLoader();
           }
           decodeVideo();
       }

       public void FFmpegInitLoader() {
           FFmpeg ffmpeg = FFmpeg.getInstance(this);
           try {
               ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
                   @Override
                   public void onStart() {
                   }

                   @Override
                   public void onFailure() {
                   }

                   @Override
                   public void onSuccess() {
                       System.out.println("Successfully loaded FFmpeg!!!");
                       loadedFlag = true;
                   }

                   @Override
                   public void onFinish() {
                   }
               });
           } catch (FFmpegNotSupportedException e) {
               System.out.println("Whatever....this thing is not supported :::::::::::::::::::: ");
           }
       }

       public void decodeVideo() {
           FFmpeg ffmpeg = FFmpeg.getInstance(this);
           try {
               ffmpeg.execute(new String[]{"-y", "-i", "/storage/sdcard0/AVSEQ02.mp4", "-c:v", "libx264", "/storage/sdcard0/conv.mp4"}, new ExecuteBinaryResponseHandler() {
                   @Override
                   public void onStart() {
                       System.out.println("FFmpeg started for decoding");
                   }

                   @Override
                   public void onProgress(String message) {
                       System.out.println("progress message:::: " + message);
                   }

                   @Override
                   public void onFailure(String message) {
                       System.out.println("failure message:::: " + message);
                   }

                   @Override
                   public void onSuccess(String message) {
                       System.out.println("success message:::: " + message);
                   }

                   @Override
                   public void onFinish() {
                   }
               });
           } catch (FFmpegCommandAlreadyRunningException e) {
               System.out.println("already running::::::");
           }
       }
    }
  • ffmpegmediaMetadataRetriever cannot be used for m3u8 format ?

    19 juillet 2017, par Nandz

    I want to get the frames from the video URL which is of m3u8 format. I couldn’t retrieve the frame at the specified time. When i tried with mp4 format, it worked. ( Am using android videoview)

    Here is my code.

    public class VideoViewAdapterClass extends RecyclerView.Adapter {

           private List<videomodelactivity> videoListModel;
           private Context context;
           public Bitmap bitmap;
          String videoPath = "https://xxxxxx.xxxxxx.xxxxx/HLS/xxxxxxxx/fruit_milkshake-master-playlist.m3u8";

           public VideoViewAdapterClass(List<videomodelactivity> videoList, Context context) {
               this.context = context;

               videoListModel = videoList;

           }

           @Override
           public VideoViewAdapterClass.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

               View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
                       R.layout.customized_layout, null);

               ViewHolder viewHolder = new ViewHolder(itemLayoutView);
               return viewHolder;

           }

           @Override
           public void onBindViewHolder(final VideoViewAdapterClass.ViewHolder holder, int position) {


              final VideoModelActivity videoModel = videoListModel.get(position);
               holder.movieName.setText(videoModel.getMovieName());

               MediaMetadataRetriever mediaMetadataRetriever = null;

               try {
                   mediaMetadataRetriever = new MediaMetadataRetriever();
                   if (Build.VERSION.SDK_INT >= 14)

                       mediaMetadataRetriever.setDataSource(videoPath, new HashMap());
                   bitmap = mediaMetadataRetriever.getFrameAtTime(2000000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);


               } catch (Exception e) {
                   e.printStackTrace();

               } finally {
                   if (mediaMetadataRetriever != null)
                       mediaMetadataRetriever.release();
               }

               holder.vidImg.setImageBitmap(bitmap);

                       holder.vidImg.setOnClickListener(new View.OnClickListener() {
                   @Override
                   public void onClick(View view) {

                       Intent intent = new Intent (context, VideoViewActivity.class);
                       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                       context.startActivity(intent);

                   }
               });


           }

           @Override
           public int getItemCount() {
               return videoListModel.size();
           }

           public class ViewHolder extends RecyclerView.ViewHolder {

               ImageView vidImg;
               TextView movieName;
               public ViewHolder(View itemView) {
                   super(itemView);

                   vidImg = (ImageView) itemView.findViewById(R.id.imageVid);
                   movieName = (TextView) itemView.findViewById(R.id.movieName);
               }
           }
       }
    </videomodelactivity></videomodelactivity>