Recherche avancée

Médias (91)

Autres articles (96)

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

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (8892)

  • what FFMPEG performance settings to use for processing videos for the web

    21 mai 2020, par eAbi

    I have a few questions regarding usage of ffmpeg for processing videos for the web. I'm a beginner so please bear with me (although I read some docs on the internet)

    



    Performance

    



      

    • First of all, given the fact that FFMPEG utilizes all cores at 100%, what is the actual parallelism efficiency ?
    • 


    



    Let's assume the following scenario. I have a video (fullHD, doesn't matter what encoders / compression format was used to obtain the video) and I want to resize (downscale) to various sizes (e.g. 240px, 480px and 720px height) using mp4 format (thus using libx264 with aac codecs).

    



    Using ffmpeg, I see that all of my laptop's cores (8) are used at 100% and I was wondering what scenarios can improve the overall performance of the whole processing task. So this leads us to basically 2 scenarios : Assuming the video mentioned above as input, for obtaining the 3 output videos (@ 240px, 480px and 720px height sizes), we :

    



      

    1. Process input video and obtain 1 output video at a time, and let all the cores work at the same time at 100% ;
    2. 


    3. Process the video to obtain all output videos in parallel, by bounding each output video to a single processor core which'll work at 100% ;
    4. 


    



    So the question is actually reduced to the parallelism efficiency of the ffmpeg program.

    



    This means that letting ffmpeg process the task procVideo - which takes 1 input video to produce 1 single output video (transcoding/downscaling and so on) - on N processor cores doesn't mean it finish the task N times faster than letting it run the same task bound to a single core. So if the efficiency is smaller than 100%, it's better to have N procVideo tasks in parallel, each bound to a single core, rather than doing the task sequentially for each output video.

    




    



    Codecs

    



    Other than the above performance problem, the usage of codecs bugs me. I am trying to obtain mp4 videos because of the wide implementation of the format in html5 browsers.

    



    So having a video as input in any format, I want to convert it to mp4. So I'm using libx264 codec with aac.

    



      

    • Use libx264, x264 or h264 for video encoding/decoding ?
    • 


    • Use libfdk_aac, libaacplus or aac for audio encoding/decoding to aac ?
    • 


    



    Also, I would like to know what are the licesing fees for each of the above codec, as the online resources on these are quite limited / hard to understand.

    



    If anyone could shed some light on those questions, I would really be grateful ! Thanks for your time !

    


  • Invalid data found when processing input with compiled version of ffmpeg

    29 mai 2020, par Diego Gomez

    I am trying to use ffmpeg in an small POC. I based my code on Skia (https://github.com/google/skia/blob/master/experimental/ffmpeg/SkVideoDecoder.h)

    



    The problem is that if I open the video (mp4) with ffmpeg that comes in the operating system (macos) it works perfect, I am able to retrieve the information, framerate, length, etc

    



    On the other hand, when I try to compile and use ffmpeg in my own code, when I read the stream of the file it is returning error -1094995529 "Invalid data found when processing input"

    



    The error is happening here : https://github.com/google/skia/blob/master/experimental/ffmpeg/SkVideoDecoder.cpp#L372 (I based my code in this method)

    



    I checked ffmpeg documentation and it seems to be correct.

    



    This are my compilation flags for ffmpeg :
—disable-programs —disable-static —disable-yasm —disable-doc —enable-pic —enable-runtime-cpudetect —enable-shared —enable-small

    



    All codecs, demuxers and protocols are there :

    



    https://gist.github.com/diegoalejandrogomez/7f1446efbdd78c9654db6d6410a2c152

    



    Any ideas of what is going on ?

    



    Edit : Adding some code to make it easier to visualize :

    



    bool test::loadStream(std::unique_ptr<skstream> stream) {&#xA;    this->reset();&#xA;    if (!stream) {&#xA;        return false;&#xA;    }&#xA;    this->reset();&#xA;    int bufferSize = 4 * 1024;&#xA;    uint8_t* buffer = (uint8_t*)av_malloc(bufferSize);&#xA;    if (!buffer) {&#xA;        return false;&#xA;    }&#xA;&#xA;    fStream = std::move(stream);&#xA;    fStreamCtx = avio_alloc_context(buffer, bufferSize, 0, fStream.get(),&#xA;                                    skstream_read_packet, nullptr, skstream_seek_packet);&#xA;    if (!fStreamCtx) {&#xA;        av_freep(buffer);&#xA;        this->reset();&#xA;        return false;&#xA;    }&#xA;&#xA;    fFormatCtx = avformat_alloc_context();&#xA;    if (!fFormatCtx) {&#xA;        this->reset();&#xA;        return false;&#xA;    }&#xA;    fFormatCtx->pb = fStreamCtx;&#xA;&#xA;    int err = avformat_open_input(&amp;fFormatCtx, nullptr, nullptr, nullptr);&#xA;    if (err &lt; 0) {&#xA;        //Here is where it fails!&#xA;        SkDebugf("avformat_open_input failed %d\n", err);&#xA;        return false;&#xA;    }&#xA;</skstream>

    &#xA;&#xA;

    Reset :

    &#xA;&#xA;

    if (fFrame) {&#xA;    av_frame_free(&amp;fFrame);&#xA;    fFrame = nullptr;&#xA;}&#xA;if (fDecoderCtx) {&#xA;    avcodec_free_context(&amp;fDecoderCtx);&#xA;    fDecoderCtx = nullptr;&#xA;}&#xA;if (fFormatCtx) {&#xA;    avformat_close_input(&amp;fFormatCtx);&#xA;    fFormatCtx = nullptr;&#xA;}&#xA;if (fStreamCtx) {&#xA;    av_freep(&amp;fStreamCtx->buffer);&#xA;    avio_context_free(&amp;fStreamCtx);&#xA;    fStreamCtx = nullptr;&#xA;}&#xA;&#xA;fStream.reset(nullptr);&#xA;fStreamIndex = -1;&#xA;fMode = kDone_Mode;&#xA;

    &#xA;&#xA;

    I have also tried with my custom read and seek method but I am getting the same error.

    &#xA;

  • Best practices for video storage / processing [closed]

    9 juin 2020, par Jared Tangir

    I am building an app that allows users to upload video submissions for specific events. The video file is handled with django-videokit which uses ffmpeg and mediainfo to get the dimensions, length, mimetype, and create a thumbnail. It then sends the video to a celery task to create an mp4. I am using a digitalocean droplet, nginx, and gunicorn to serve the website. Originally, I was storing, serving and processing all the videos from the droplet. I recently moved my static and media files to a Spaces bucket and use django-storages. It seems like a sacrificed a lot of speed on the uploads for what I think is the "greater good".

    &#xA;&#xA;

    After moving to the CDN, when the file upload reaches 100% the page sits idle with the loading wheel while I assume it sends the file to the CDN ? What is the best way to manage storage and processing of large video files ?

    &#xA;