Recherche avancée

Médias (3)

Mot : - Tags -/Valkaama

Autres articles (71)

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

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

Sur d’autres sites (11427)

  • x264 : Map color parameters

    13 avril 2015, par Luca Barbato
    x264 : Map color parameters
    
    • [DBH] libavcodec/libx264.c
  • Encoding YUV420 frames with x264 in C++

    2 avril 2020, par Eoin McBennett

    Im trying to use libx264 to convert YUV 420 frames to H264, as per this question : (How does one encode a series of images into H264 using the x264 C API ?) I have got my encoder parameters set up and my encoder initialised, the part that I am confused about is how do I give the encoder the YUV420 data I have ? The question above shows how the data would be passed in and converted from RGB to YUV420.

    



    I am also confused about what the stride, planes and nalls are within the x264 library any explanation of these would be greatly appreciated. I am very new to C++ and video processing in general.

    



    The code I have currently is posted below.
The YUV420 data I have is an unsigned char* called data that is declared outside of the function.
Also the current resolution of the frames being captured is 640x480

    



    void encode(){
    x264_param_t param;
    x264_param_default_preset(&param,"veryfast","zerolatency");
    param.i_threads = 1;
    param.i_width = camera.getWidth();
    param.i_height = camera.getHeight();
    param.i_fps_num = 30;
    param.i_fps_den = 1;
// Intra refres:
    param.i_keyint_max = 30;
    param.b_intra_refresh = 1;
//Rate control:
    param.rc.i_rc_method = X264_RC_CRF;
    param.rc.f_rf_constant = 25;
    param.rc.f_rf_constant_max = 35;
//For streaming:
    param.b_repeat_headers = 1;
    param.b_annexb = 1;
    x264_param_apply_profile(&param, "baseline");

    x264_t *encoder = x264_encoder_open(&param); //H.264 encoder object
    x264_picture_t pic_in, pic_out;
    x264_picture_alloc(&pic_in, X264_CSP_I420,camera.getWidth(), camera.getHeight());

    x264_nal_t *nals; //What is the purpose of nals?
    int i_nals; 

    //Im constantly getting frames captured from the camera that I need to encod
    while(true){

        //Im assuming the data would have to be placed within the pic_in pointer some how?

        int frame_size = x264_encoder_encode(encoder, &nals, &i_nals, &pic_in, &pic_out);
        if (frame_size >= 0) {
            std::cout<<"Encoded frame to h264!" << std::endl;
        }
    }
}


    



    Also if anyone could comment on the viability of this set up for video streaming, the end result of this project is to stream the captured and converted h264 frames over UDP for anything on the network to read and display.

    



    Any help would be greatly appreciated !

    


  • speeding up x264 encoding (C++ code with libavcodec)

    20 décembre 2012, par Hrishikesh_Pardeshi

    I am trying to capture windows screen (continuous screen shots) and encode them into x264. For that I am using avcodec_encode_video2 function available with libavcodec. However, it takes a huge amount of time. The time fluctuates between 25 – 1800 milliseconds for encoding individual frames.

    I tried tried both 1080p and 720p with video recording on screen.

    These are the settings I am using. This was tested on Windows 7, win32 release build with 4 GB of RAM.

    bit_rate = 2000, width = 1920, height = 1080
    qmin = 0, qmax = 0, max_b_frames = 0, frame_rate = 25, pixel_format = YUV 4:4:4.
    The remaining settings are default which are fetched using avcodec_get_context_defaults3().

    Sample data(in milliseconds) for 20 frames (consecutive and chosen randomly) in a set of 250 frames.
    121, 106, 289, 126, 211, 30, 181, 58, 213, 34, 245, 50, 56, 364, 247, 171, 254, 83, 82, 229

    For the application it is a must that it captures at least at 15 fps. Can someone help out to tell whether any options can be used to improve the frame rate. I need to encode lossless, but I am open to some file size increase.

    Thanks in advance.