Recherche avancée

Médias (91)

Autres articles (79)

  • 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 (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

  • 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

Sur d’autres sites (7707)

  • FFmpeg doesn't work on android 10, goes strait to onFailure(String message) with empty message

    18 janvier 2020, par nolanic

    I’m using FFmpeg in one of my projects for video compression. On Android 10 (Google Pixel 3a), it goes straight to onFailure(String message) with empty message for any command sent for execution.

    so I have (api ’com.writingminds:FFmpegAndroid:0.3.2’) specified in my app gradle file,

    permission (android.permission.WRITE_EXTERNAL_STORAGE) in the manifest is specified

    So I do :

    InitializationCallback initializationCallback = new InitializationCallback();
       try {
           FFmpeg.getInstance(context).loadBinary(initializationCallback);
       } catch (FFmpegNotSupportedException e) {
           initializationCallback.onFailure();
           initializationCallback.onFinish();
       }

    Initializes just fine, no problems here.

    Later :

    void getData(File inputFile) {
    //inputFile points to: /storage/emulated/0/Android/data/{package_name}/files/temp_files/temp_1.mp4
           String[] cmd = ("-i " + inputFile.getAbsolutePath()).split(" ");
           try {
               FFmpeg.getInstance(App.instance).execute(cmd, this);
           } catch (FFmpegCommandAlreadyRunningException e) {
               throw new Error(e);
           }
       }

       @Override
       public void onStart() {
            //This method is called
       }

       @Override
       public void onSuccess(String message) {
            //This method is NOT called
            extractAvailableData(message);
       }

       @Override
       public void onProgress(String message) {
           //This method is NOT called
           extractAvailableData(message);
       }

       @Override
       public void onFailure(String message) {
           //This method is called and the message is empty
           extractAvailableData(message);
       }

       @Override
       public void onFinish() {
           //This method is called
       }

    If I do something like :

    String command = "-i ***/file1.mp4 -map 0:v -map 0:a -preset ultrafast -s:v 750:350 ***/file2.mp4";
    //file2.mp4 is a non existent file at this point
    // (***) --> is just a replacement for the full path of the file, just to keep things shorter here.

    String[] cmd = command.split(" ");
           try {
               FFmpeg.getInstance(App.instance).execute(cmd, this);
           } catch (FFmpegCommandAlreadyRunningException e) {
               throw new Error(e);
           }

    gives the same result, no video conversion, just a call to onFailure("Nothing")

    Even if I do :

    String[] cmd = {"-version"};
           try {
               FFmpeg.getInstance(App.instance).execute(cmd, this);
           } catch (FFmpegCommandAlreadyRunningException e) {
               throw new Error(e);
           }

    I get nothing, no output at all.

    I encountered this issue only on Android 10 so far, it works fine on other devices.

  • FFMPEG generates an empty master playlist

    23 octobre 2019, par Сергей Барахтенко

    I use the following FFMPEG command to generate playlists and a master-playlist for later insertion into a player with HLS support :

    ffmpeg/ffmpeg.exe -i input/test.mp4
    -preset fast  
    -g 150
    -sc_threshold 0
    -threads 4
    -map 0:v:0 -map 0:a:0 -map 0:v:0 -map 0:a:0 -map 0:v:0 -map 0:a:0 -map 0:v:0 -map 0:a:0
    -filter:v:0 scale=h=240:w=-2  -minrate:v:0 75k  -maxrate:v:0 218k  -bufsize:v:0 300k -b:v:0 150k  
    -filter:v:1 scale=h=360:w=-2  -minrate:v:1 138k -maxrate:v:1 400k -bufsize:v:1 552k -b:v:1 276k
    -filter:v:2 scale=h=480:w=-2 -minrate:v:2 375k -maxrate:v:2 1088k -bufsize:v:2 1500k -b:v:2 750k
    -filter:v:3 scale=h=720:w=-2  -minrate:v:3 512k -maxrate:v:3 1485k -bufsize:v:3 2048k -b:v:3 1024k
    -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2 v:3,a:3"
    -master_pl_name master.m3u8
    -f hls -hls_time 6 -segment_time 6 -hls_list_size 0 -segment_format mpegts
    -hls_playlist_type vod -hls_segment_filename "output/conversion/K8eYn1X1/res-%v/segment-%d.ts"  output/conversion/K8eYn1X1/res-%v/playlist.m3u8

    Based on information from various sources, this command line should do the following :

    1. take a video stream from the input file,

    2. apply filters with different settings four times,

    3. combine it into one stream,

    4. cut into TS-fragments for 6 seconds,

    5. write information about each resolution to the playlist.m3u8,

    6. create a master-playlist and write information about upcoming playlists in it

    Everything works correctly, BUT : fragments are created, playlists are created, but the master file is empty

    If you play with the command line, more precisely, leave only one filter, then everything works fine : and fragments are cut and playlists are created and a master-playlist is also created

    Also, I noticed that if I watched the folder in which all the files are stored, I noticed one thing : when using the command given above, a 7kb file is created, and then in the same second, it seems to be cleared . Why is this happening, I do not understand

    Upon completion of processing in the log, the last line :

    [hls @ 000001ff73b87200] Opening 'output/conversion/K8eYn1X1/master.m3u8' for writing

    Maybe I’m doing something wrong ? Maybe the commands are in the wrong order ? Tell me, who knows ?

    Thanks

  • avutil/avstring : support input path as a null pointer or empty string

    24 septembre 2019, par Limin Wang
    avutil/avstring : support input path as a null pointer or empty string
    

    Linux and OSX systems support basename and dirname via <libgen.h>, I plan to
    make the wrapper interface conform to the standard interface first.
    If it is feasible, I will continue to modify it to call the system interface
    if there is already a system call interface.

    You can get more description about the system interface by below command :
    "man 3 basename"

    Reviewed-by : Marton Balint <cus@passwd.hu>
    Reviewed-by : Tomas Härdin <tjoppen@acc.umu.se>
    Reviewed-by : Steven Liu <lq@chinaffmpeg.org>
    Signed-off-by : Limin Wang <lance.lmwang@gmail.com>

    • [DH] libavutil/avstring.c
    • [DH] libavutil/avstring.h