Recherche avancée

Médias (91)

Autres articles (71)

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

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (8498)

  • X264 encoding using Opencv

    29 novembre 2011, par user573193

    I am working with a high resolution camera : 4008x2672. I a writing a simple program which grabs frame from the camera and sends the frame to a avi file. For working with such a high resolution, I found only x264 codec that could do the trick (Suggestions welcome). I am using opencv for most of the image handling stuff. As mentioned in this post http://doom10.org/index.php?topic=1019.0 , I modified the AVCodecContext members as per ffmpeg presets for libx264 (Had to do this to avoid broken ffmpeg defaults settings error). This is output I am getting when I try to run the program

    libx264 @ 0x992d040]non-strictly-monotonic PTS
    1294846981.526675 1 0 //Timestamp camera_no frame_no
    1294846981.621101 1 1
    1294846981.715521 1 2
    1294846981.809939 1 3
    1294846981.904360 1 4
    1294846981.998782 1 5
    1294846982.093203 1 6
       Last message repeated 7 times
    [avi @ 0x992beb0]st:0 error, non monotone timestamps
    -614891469123651720 >= -614891469123651720

    OpenCV Error: Unspecified error (Error while writing video frame) in
    icv_av_write_frame_FFMPEG, file
    /home/ajoshi/ext/OpenCV-2.2.0/modules/highgui/src/cap_ffmpeg.cpp, line 1034
    terminate called after throwing an instance of 'cv::Exception'
    what():  /home/ajoshi/ext/OpenCV-2.2.0/modules/highgui/src/cap_ffmpeg.cpp:1034:
    error: (-2) Error while writing video frame in function icv_av_write_frame_FFMPEG

    Aborted

    Modifications to the AVCodecContext are :

    if(codec_id == CODEC_ID_H264)
    {
       //fprintf(stderr, "Trying to parse a preset file for libx264\n");
       //Setting Values manually from medium preset
       c->me_method = 7;
       c->qcompress=0.6;
       c->qmin = 10;
       c->qmax = 51;
       c->max_qdiff = 4;
       c->i_quant_factor=0.71;
       c->max_b_frames=3;
       c->b_frame_strategy = 1;
       c->me_range = 16;<br />
       c->me_subpel_quality=7;
       c->coder_type = 1;
       c->scenechange_threshold=40;
       c->partitions = X264_PART_I8X8 | X264_PART_I4X4 | X264_PART_P8X8 | X264_PART_B8X8;
       c->flags = CODEC_FLAG_LOOP_FILTER;
       c->flags2 = CODEC_FLAG2_BPYRAMID | CODEC_FLAG2_MIXED_REFS | CODEC_FLAG2_WPRED | CODEC_FLAG2_8X8DCT | CODEC_FLAG2_FASTPSKIP;
       c->keyint_min = 25;
       c->refs = 3;
       c->trellis=1;
       c->directpred = 1;
       c->weighted_p_pred=2;
    }

    I am probably not setting the dts and pts values which I believed ffmpeg should be setting it for me.

    Any sugggestions welcome.
    Thanks in advance

  • How would I assign multiple MMAP's from single file descriptor ?

    9 juin 2011, par Alex Stevens

    So, for my final year project, I'm using Video4Linux2 to pull YUV420 images from a camera, parse them through to x264 (which uses these images natively), and then send the encoded stream via Live555 to an RTP/RTCP compliant video player on a client over a wireless network. All of this I'm trying to do in real-time, so there'll be a control algorithm, but that's not the scope of this question. All of this - except Live555 - is being written in C. Currently, I'm near the end of encoding the video, but want to improve performance.

    To say the least, I've hit a snag... I'm trying to avoid User Space Pointers for V4L2 and use mmap(). I'm encoding video, but since it's YUV420, I've been malloc'ing new memory to hold the Y', U and V planes in three different variables for x264 to read upon. I would like to keep these variables as pointers to an mmap'ed piece of memory.

    However, the V4L2 device has one single file descriptor for the buffered stream, and I need to split the stream into three mmap'ed variables adhering to the YUV420 standard, like so...

    buffers[n_buffers].y_plane = mmap(NULL, (2 * width * height) / 3,
                                       PROT_READ | PROT_WRITE, MAP_SHARED,
                                       fd, buf.m.offset);
    buffers[n_buffers].u_plane = mmap(NULL, width * height / 6,
                                       PROT_READ | PROT_WRITE, MAP_SHARED,
                                       fd, buf.m.offset +
                                       ((2 * width * height) / 3 + 1) /
                                       sysconf(_SC_PAGE_SIZE));
    buffers[n_buffers].v_plane = mmap(NULL, width * height / 6,
                                       PROT_READ | PROT_WRITE, MAP_SHARED,
                                       fd, buf.m.offset +
                                       ((2 * width * height) / 3 +
                                       width * height / 6 + 1) /
                                       sysconf(_SC_PAGE_SIZE));

    Where "width" and "height" is the resolution of the video (eg. 640x480).

    From what I understand... MMAP seeks through a file, kind of like this (pseudoish-code) :

    fd = v4l2_open(...);
    lseek(fd, buf.m.offset + (2 * width * height) / 3);
    read(fd, buffers[n_buffers].u_plane, width * height / 6);

    My code is located in a Launchpad Repo here (for more background) :
    http://bazaar.launchpad.net/ alex-stevens/+junk/spyPanda/files (Revision 11)

    And the YUV420 format can be seen clearly from this Wiki illustration : http://en.wikipedia.org/wiki/File:Yuv420.svg (I essentially want to split up the Y, U, and V bytes into each mmap'ed memory)

    Anyone care to explain a way to mmap three variables to memory from the one file descriptor, or why I went wrong ? Or even hint at a better idea to parse the YUV420 buffer to x264 ? :P

    Cheers ! ^^

  • ffmpeg : playing udp stream

    14 novembre 2013, par deimus

    I'm playing udp stream on iDevice using ffmpeg.
    It does play the video and audio successfully.

    The only issue I've got here that the following function call does take a long time

    avformat_find_stream_info

    It takes about 10 secs to complete the execution of this function.
    The media that I'm playing has following properties :

    MPEG-4 VIDEO v3 (DIV3)
    RESOLUTION : 640x480
    Frame rate : 25

    Any ideas how to workaround this delay ?