Recherche avancée

Médias (91)

Autres articles (90)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (13997)

  • Segmenting only specific parts of a video file

    30 mai 2013, par Christian P.

    I have some video files that I wish to serve up "dynamically", given the following workflow :

    1. Convert video from MP4 container to segmented .ts files with accompanying .m3u8 playlist
    2. Delete .ts files
    3. On request, generate .ts files (but only those requested, not for the entire video)

    I can generate .ts files for the entire video using ffmpeg using this command

    ffmpeg -y -i video.mp4 -c:a copy -bsf:a aac_adtstoasc -c:v copy -bsf:v h264_mp4toannexb -flags -global_header -map 0 -f segment -segment_time 10 -segment_list playlist.m3u8 -segment_format mpegts chunk_%03d.ts

    This is what I do in step 1 and it works just fine, video is playing fine. Due to disk constraints, I do not want to have two copies of every video (the original MP4 and the segmented .ts fies), so what I am trying to achieve is to find a command that will allow me to produce only the segments I need, on a per-request basis.

    Given the command above we may produce a sample playlist like this :

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-ALLOW-CACHE:YES
    #EXT-X-TARGETDURATION:12
    #EXTINF:11.261267,
    chunk_000.ts
    #EXTINF:11.261256,
    chunk_001.ts
    #EXTINF:7.507511,
    chunk_002.ts
    #EXTINF:11.261256,
    chunk_003.ts
    #EXTINF:11.261267,
    chunk_004.ts
    #EXTINF:7.507511,
    chunk_005.ts

    I have tried, using the -ss and -t flags available in ffmpeg, to create only a specific segments. For instance I might skip the first to segments by adding -ss 22.522523 (the total length of the two first segments), but this produces chunks that are not byte-for-byte identical to the original chunks and as such unusable (the video playback just stops). Is there a way to have ffmpeg (or another program) reproduce the same exact chunks, without producing all of them ?

    Short version : If I produce a playlist with chunks of an entire video (and accompanying .ts files), can I later reproduce a specific interval of those chunks that are byte-for-byte identical to the original chunks ?

  • What do these two parts of libavcodec/h263data.h do exactly ?

    5 avril 2013, par Chris Lindgren

    Below are two segments of code from the FFMPEG library, specifically located here : libavcodec/h263data.h (http://ffmpeg.org/doxygen/0.6/h263data_8h-source.html).

    I would like to know more about how these two segments operate in the larger context of the codec library. Below, after these examples, I describe my understanding thus far and provide two clearer questions that I would like answers on.

    Thank you for any help !

    EXAMPLE 1

    00035 /* intra MCBPC, mb_type = (intra), then (intraq) */
    00036 const uint8_t ff_h263_intra_MCBPC_code[9] = { 1, 1, 2, 3, 1, 1, 2, 3, 1 };
    00037 const uint8_t ff_h263_intra_MCBPC_bits[9] = { 1, 3, 3, 3, 4, 6, 6, 6, 9 };

    AND EXAMPLE 2

    00039 /* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */
    00040 /* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */
    00041 const uint8_t ff_h263_inter_MCBPC_code[28] = {
    00042     1, 3, 2, 5,
    00043     3, 4, 3, 3,
    00044     3, 7, 6, 5,
    00045     4, 4, 3, 2,
    00046     2, 5, 4, 5,
    00047     1, 0, 0, 0, /* Stuffing */
    00048     2, 12, 14, 15,
    00049 };

    I understand that we're looking at a small part of the larger library of compression algorithms that affect orthogonal schemes, which predict the “correct,” or more aptly put, "original" inter- or intra-motion vectors, which are represented here in the names "ff_h263_inter_MCBPC_code," "ff_h263_intra_MCBPC_code," and "ff_h263_intra_MCBPC_bits."

    I know that the names in these two blocks of code demarcate the following :

    1. const refers to the declaration of a read only variable that can still be used outside of its scope like any other variable. The difference, stated in another way, is that the values in this array cannot be changed by any methods called outside of itself.

    2. uint8_t is an unsigned integer with a length of 8 bits that is part of a C99 standard, which is called "fixed width integer types." This particular type, an “exact width integer,” computes a range of signed or unsigned bits with a minimum value of 0 and a maximum value of 8, (i.e., the 8x8 macroblocks), which guarantees this number of bits across platforms, whether, let's say, 32-bit or 64-bit operating systems. (I researched this bit here : “Fixed width integer types” http://en.wikipedia.org/wiki/Stdint.h#stdint.h)

    3. MCBPC refers to Macroblock Type & Coded Block Pattern for Chrominance, but I don't fully understand the exact role of these particular arrays are in the scheme of the file and libavcodec. I understand more conceptually, than I do the details/number values defined in these examples.

    So, considering this, here's what I would like to know more about :

    1. Is my understanding, thus far, off in any way ?

    2. Can someone help breakdown what each code segment does ? more specifically, what do these number values signify/do in each case ?

    3. What does "Stuffing" mean ?

    Thank you, again, for any help in this matter !

  • lavc : document which parts of AVHWAccel are private.

    6 mars 2014, par Anton Khirnov
    lavc : document which parts of AVHWAccel are private.
    
    • [DBH] libavcodec/avcodec.h