Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (20)

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

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

Sur d’autres sites (5500)

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

  • What is the GLFW screen format for ffmpeg encoding ?

    3 septembre 2022, par Turgut

    I have a program where I have a GLFW window and read that window using glReadPixels(0, 0,window_width, window_height, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*) Buffer); then use that Buffer to encode a frame via ffmpeg. It works fine however the resolution is a bit low.

    


    I tried changing bit-rates to no avail so I started experimenting with formats. Normally I'm using AV_PIX_FMT_YUV420P in my encoder as my format since the data that comes from the glfw window is RGBA but this format result in the said low resolution video. The result video is a lot more pixelated than whats seen on the GLFW window.

    


    What could be the optimal pixel format for reading GLFW window ? Some formats straight up not work resulting in Specified pixel format  yuyv422 is invalid or not supported error.

    


    And here is where I got that error from :

    


    ret = avcodec_open2(c, codec, &opt);


    


    This line causes me to get Specified pixel format  yuyv422 is invalid or not supported error when I use something other than YUV420.

    


    I also have this setting #define SCALE_FLAGS SWS_BICUBIC which im not sure what it does but may also cause my error. (Not likeliy since this comes after the line mentioned above, but I could just keep the format at YUV420 and change SWS_BICUBIC instead.)

    


    I'm using ubuntu, ffmpeg, glfw and glad (GLSL) to render the texture writeen in the frames. I got the encoder from ffmpegs muxing.c example.

    


    Edit : Using AV_PIX_FMT_RGBA also results in a similar error.

    


    Edit : Here is my sample code where I convert Buffer to ffmepg format :

    


    #define STREAM_PIX_FMT AV_PIX_FMT_YUV420P
...
void video_encoder::set_frame_yuv_from_rgb(AVFrame *frame, struct SwsContext *sws_context) {
    const int in_linesize[1] = { 4 * width };

    sws_context = sws_getContext(
            width, height, AV_PIX_FMT_RGBA,
            width, height, STREAM_PIX_FMT,
            SWS_BICUBIC, 0, 0, 0);

    sws_scale(sws_context, (const uint8_t * const *)&rgb_data, in_linesize, 0,
            height, frame->data, frame->linesize);
}


    


  • avcodec : Implement mpeg2 nvdec hwaccel

    16 novembre 2017, par Philip Langdale
    avcodec : Implement mpeg2 nvdec hwaccel
    

    This is mostly straight-forward. The weird part is that it should
    just work for mpeg1, but I see corruption in my test cases, so I'm
    going to try and fix that separately.

    • [DH] Changelog
    • [DH] configure
    • [DH] libavcodec/Makefile
    • [DH] libavcodec/allcodecs.c
    • [DH] libavcodec/mpeg12dec.c
    • [DH] libavcodec/nvdec.c
    • [DH] libavcodec/nvdec_mpeg12.c
    • [DH] libavcodec/version.h