Recherche avancée

Médias (1)

Mot : - Tags -/publishing

Autres articles (111)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • Que fait exactement ce script ?

    18 janvier 2011, par

    Ce script est écrit en bash. Il est donc facilement utilisable sur n’importe quel serveur.
    Il n’est compatible qu’avec une liste de distributions précises (voir Liste des distributions compatibles).
    Installation de dépendances de MediaSPIP
    Son rôle principal est d’installer l’ensemble des dépendances logicielles nécessaires coté serveur à savoir :
    Les outils de base pour pouvoir installer le reste des dépendances Les outils de développements : build-essential (via APT depuis les dépôts officiels) ; (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

Sur d’autres sites (9325)

  • Media player get stuck in the middle of a buffered range on Chrome

    29 septembre 2019, par Feng Yu

    WHAT IS MY PROBLEM ?

    My website’s live streaming player use hls.js. From my server’s stat, there is many case where player get stuck in the middle of a buffered range.

    Here is my server raw stat log(removed some useless params) :

    tm=2019-09-27 12:04:41`bufferLevel=8.447303999999974`currentTime=158.4`buffered=[6.024,166.832]`readyState=4`ua=Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 QBCore/3.53.1153.400 QQBrowser/9.0.2524.400 Tencent AppMarket/4.8 GameCenter

    currentTime is got by HTMLMediaElement.currentTime and buffered is got by HTMLMediaElement.buffered :

    currentTime=158.4
    buffered=[6.024,166.832]
    readyState=4

    From W3c :

    If HTMLMediaElement.buffered contains a TimeRange that includes the current playback position and enough data to ensure uninterrupted playback :

    1. Set the HTMLMediaElement.readyState attribute to HAVE_ENOUGH_DATA.
    2. Playback may resume at this point if it was previously suspended by a transition to HAVE_CURRENT_DATA.

    In this case, 613.3 is in the middle of [469.277,677.612], video should be progressing, but it is not.

    Hls.js will periodly check currentTime has progressed every 100ms. if currentTime has not progressed for 1000ms, then hls.js will trigger STALL event and I will send a stall stat to server.

    I cannot reproduce this problem on my side, it only appears on my server stat.

    WHAT I’VE TRIED

    shaka player has a module detect this case(https://www.ellealcatrase.eu/player2/docs/api/lib_media_stall_detector.js.html), Its comment shows that :

    Some platforms/browsers can get stuck in the middle of a
    buffered range (e.g. when seeking in a background tab). Detect when
    we get stuck so that the player can respond.

    but I cannot reproduce when my browser is in a background tab.

  • Choose good solution for streaming video in android [closed]

    28 novembre 2013, par Alex Tran

    I always find solution for fixing this bug

    "Invalid streaming" or "Can not play video"

    on many devices.

    I researched and found many people get this bug.

    There are two solutions :

    1. At Server side : Convert to appropriate "h264 avc baseline + web optimized *.mp4" format for Android device can stream & play video.

    2. At Android side : Use third-party library to fix :

      • VitamioBundle : I tested on many devices,
        some devices (Android version 4.0.3 or above, and have StageFright
        framework) stream & play video very good, but the others (before
        Android version 4.0) is not . I think the framework on the device causes it. (related to OpenCore/StageFright framework)

      • Ffmpeg : I researched about Android NDK. And know how to build to file *.so.

    Actually, I can not edit at server side.

    Can I use ffmpeg in second solution ?

    But I don't really know it is the good way or not ?

    p/s : Actually, I want to stream and play video from the server on all devices have version from Froyo 2.2.

    Please tell me,

    Regards,

  • Faster way to append to PyList in c++

    19 décembre 2022, par Timothy Halim

    I'm new to c++ and looking for a faster way to append pixel value to python list, since currrently on loop it takes around 0.1 second to process one frame of image with resolution of 854x480, do anyone have any idea ?

    


    I tried to avoid using third party module if possible.

    


    Here is what I've got so far :

    


    PyObject* byte_list = PyList_New(static_cast(0));

AVFrame *pFrameRGB = av_frame_alloc();
av_frame_copy_props(pFrameRGB, this->pFrame);
pFrameRGB->width = this->pFrame->width;
pFrameRGB->height = this->pFrame->height;
pFrameRGB->format = AV_PIX_FMT_RGB24;
av_frame_get_buffer(pFrameRGB, 0);

sws_scale(this->swsCtx, this->pFrame->data, this->pFrame->linesize, 0, 
        this->pCodecContext->height, pFrameRGB->data, pFrameRGB->linesize);

if (this->_debug) {
    std::cout << "Frame linesize " << pFrameRGB->linesize[0] << "\n";
    std::cout << "Frame width " << pFrameRGB->width << "\n";
    std::cout << "Frame height " << pFrameRGB->height << "\n";
}

// This looping method seems slow
for(int y = 0; y < pFrameRGB->height; ++y) {
    for(int x = 0; x < pFrameRGB->width; ++x) {
        int p = x * 3 + y * pFrameRGB->linesize[0];
        int r = pFrameRGB->data[0][p];
        int g = pFrameRGB->data[0][p+1];
        int b = pFrameRGB->data[0][p+2];
        PyList_Append(byte_list, PyLong_FromLong(r));
        PyList_Append(byte_list, PyLong_FromLong(g));
        PyList_Append(byte_list, PyLong_FromLong(b));
    }
}

av_frame_free(&pFrameRGB);


    


    Thanks !