Recherche avancée

Médias (0)

Mot : - Tags -/serveur

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

Autres articles (38)

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (3022)

  • YUV8_420P - AVFrame conversion hazard (only Y plan)

    4 mai 2017, par Flow

    I’m working on a FFMPEG application. The goal is to convert a picture (YUV input format) to an AVFrame to be able to process it (by applying a specific filter) and then realize the invert conversion to redirect it to the output.

    Although some filters as drawgrid or noise are perfectly working, filters which apply some "space transformation" (as a "crop" or a "hflip") seem to affect only over the Y component. The colors of the output pictures aren’t filtered which leads to an unsatisfying result.

    I’m asking myself why I have such a result but I didn’t reach to find the problem origin.

    Here is the part of cod which convert the YUV picture to an AVFrame :

    unsigned int i = 0;
    int number_common_channels = MIN(IMAGEFORMAT_COMPONENTS, AV_NUM_DATA_POINTERS);

    // Transfer the image informations (width, height, pitch and data)
    if ((av_im->width = yuv_im->width[0]) <= 0)
    {
       cu_printf(ERROR, "Width of destination picture null or negative");
       return -1;
    }
    if((av_im->height = yuv_im->height[0]) <= 0)
    {
       cu_printf(ERROR, "Height of destination picture null or negative");
       return -1;
    }
    for (i=0; i < number_common_channels; i++)
    {
       av_im->linesize[i] = yuv_im->pitch[i];
       av_im->data[i] = yuv_im->data[i];
    }

    If necessary, I can transmit you other parts of the cod where the problem could be. Thanks for your cooperation.

    Flow.

    EDIT 1 : After some researches, it would be possible the problem came from my function which initializes the filter graph. Actually, I used the FFMPEG example given on their website to make it and I deleted the options to the pixel format list because I thought it was useless. It’s possible this function and more precisely the av_opt_set_int_list could be the key, but I don’t reach to find a good example using it. Also, another function, av_opt_set_pixel_fmt was created in the last FFMPEG versions and this could be well to try using it, but I don’t know how to do. So please if someone has a good example with that, I’ll took it with hapiness.

    EDIT 2 : The problem came from the way I copied my data back after the filter was applied. Closed.

  • Programming Language Levels

    20 mai 2011, par Multimedia Mike — Programming

    I’ve been doing this programming thing for some 20 years now. Things sure do change. One change I ponder from time to time is the matter of programming language levels. Allow me to explain.

    The 1990s
    When I first took computer classes in the early 1990s, my texts would classify computer languages into 3 categories, or levels. The lower the level, the closer to the hardware ; the higher the level, the more abstract (and presumably, easier to use). I recall that the levels went something like this :

    • High level : Pascal, BASIC, Logo, Fortran
    • Medium level : C, Forth
    • Low level : Assembly language

    Keep in mind that these were the same texts which took the time to explain the history of computers from mainframes -> minicomputers -> a relatively recent phenomenon called microcomputers or "PCs".

    Somewhere in the mid-late 1990s, when I was at university, I was introduced to a new tier :

    • Very high level : Perl, shell scripting

    I think there was some debate among my peers about whether C++ and Java were properly classified as high or very high level. The distinction between high and very high, in my observation, seemed to be that very high level languages had more complex data structures (at the very least, a hash / dictionary / associative array / key-value map) built into the language, as well as implicit memory management.

    Modern Day
    These days, the old hierarchy is apparently forgotten (much like minicomputers). I observe that there is generally a much simpler 2-tier classification :

    • Low level : C, assembly language
    • High level : absolutely every other programming language in wide use today

    I find myself wondering where C++ and Objective-C fit in this classification scheme. Then I remember that it doesn’t matter and this is all academic.

    Relevancy
    I think about this because I have pretty much stuck to low-level programming all of my life, mostly due to my interest in game and multimedia-type programming. But the trends in computing have favored many higher level languages and programming paradigms. I woke up one day and realized that the kind of work I often do — lower level stuff — is not very common.

    I’m not here to argue that low or high level is superior. You know I’m all about using the appropriate tool for the job. But I sometimes find myself caught between worlds, having the defend and explain one to the other.

    • On one hand, it’s not unusual for the multitudes of programmers working at the high level to gasp and wonder why I or anyone else would ever use C or assembly language for anything when there are so many beautiful high level languages. I patiently explain that those languages have to be written in some other language (at first) and that they need to run on some operating system and that most assuredly won’t be written in a high level language. For further reading, I refer them to Joel Spolsky’s great essay called Back to Basics which describes why it can be useful to know at least a little bit about how the computer does what it does at the lowest levels.
    • On the other hand, believe it or not, I sometimes have to defend the merits of high level languages to my low level brethren. I’ll often hear variations of, "Any program can be written in C. Using a high level language to achieve the same will create a slow and bloated solution." I try to explain that the trade-off in time to complete the programming task weighed against the often-negligible performance hit of what is often an I/O-bound operation in the first place makes it worthwhile to use the high level language for a wide variety of tasks.

      Or I just ignore them. That’s actually the best strategy.

  • Something wrong with my m3u8 bandwidth value

    6 octobre 2012, par Jason

    I use ffmpeg to encode my sample videos following the recommanded bitrates in Technical Note TN2224, then use HLS tools to segment it and create playlists, finally create the variant plist file "all.m3u8"
    I used the validation tool to validate my HLS content, it ended up showing except for the 64k audio only bandwidth is low, others are stay in the same bandwidth, I opened "all.m3u8" using text editor and seeing that all other bitrate contents are using the same bandwidth. No matter how I change parameters in the ffmpeg command, I still can't correct them. The following command is the one I used to encode contents :
    ffmpeg -i input.m4v -acodec libfaac -vcodec libx264 -s 480x360 -b 350k -r 29.97 -vpre medium output.mp4

    The following command is for generating the segments and plists :
    mediafilesegmenter -b http://www.example.com/stream/ -I -f ~/Documents/sample/ output.mp4

    The following command is for generating the all.m3u8 :

    variantplaylistcreator -o all.m3u8 http://www.example.com/stream/110/prog_index.m3u8 ~/Documents/sample/110/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/110/iframe_index.m3u8 http://www.example.com/stream/200/prog_index.m3u8 ~/Documents/sample/200/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/200/iframe_index.m3u8 http://www.example.com/stream/350/prog_index.m3u8 ~/Documents/sample/350/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/350/iframe_index.m3u8 http://www.example.com/stream/550/prog_index.m3u8 ~/Documents/sample/550/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/550/iframe_index.m3u8 http://www.example.com/stream/64/prog_index.m3u8 ~/Documents/sample/64/prog_index.m3u8

    and in my "all.m3u8", the bandwidths are all 523894 :

    Please allow me to ask two more basic questions :
    In the tech note, recommanded bitrates are 64 Kbps, 110 Kbps, 200 Kbps, 350 Kbps, 550 Kbps, I wonder if this value includes the audio bitrate or exclude the audio.
    How do you insert keyframe to segment ? Because in the document it says :"You must include at least one keyframe per segment, preferably more. If you only include one, put it at the beginning of the segment." I don't quite get how you can do it.
    Thank you very much for your help and I do appreciate your time.