Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (43)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (5099)

  • Extracting all frames of a video using ffmpeg

    4 décembre 2013, par Gonzalo Solera

    I'm trying to extract all the frames of a video using ffmpeg compiled statically for android. I want to extract all the frames with a lower quality (at jpg format) and then, select the specific frames I want with a higher resolution and extract them at png format.
    But the problem is that I need to know exactly at what time is placed the selected frame in order to be able to extract te same frame at higher resolution. When I calcule how much time are between frames (duration_of_the_video/total_frames_extracted) and I multiple it by the number of the frame I want to extract again, the result time isn't the exact time of the frame.

    How could I extract a specific number of frames of a video using ffmpeg ? I'm trying to extract all the frames but sometimes not all the frames are extracted. For example, I have a 1600 ms long video but when I use this command :

    ffmpeg -i file.mp4 -y %d.jpg

    it doesn't extract all the frames because it only extracts 45 frames but the frame rate is 30 fps (1600/45 = 35.5555 and 1000/30 = 33.33333).

    So, in order to be able to calculate at what time is placed the frame I want, I would need to extract ALL the frames of the video or extract a fixed number of frames (it doesn't matter if some frames are repeated if I can get the time of them).

    This is the output when I try to extract all the frames (there should be 48 but there are 45 instead so I can't calculate the exact time...)
    enter image description here

    I'm not sure If I have explained correctly but I will appreciate any help. Thanks !

  • FFmpeg convert time to frame

    3 décembre 2013, par William Seemann

    Does anyone know how to convert a timestamp into a frame ? For example, if I wanted the frame number at 2 seconds in a video with a framerate of 30/fps it would be the 60th frame. Here is the code I have so far. However, I don't think it's correct since seek_time has a value of 90 (for a 1 sec target) using a video with a framerate of 23.98 :

    int timeUs = 1000000; // 1 sec
    AVPacket packet;
    AVPacket *pkt = NULL;
    int64_t desired_frame_number = -1;

    State *state = *ps;

    Options opt = option;

    int stream_index = state->video_stream;
    int64_t seek_time = av_rescale_q(timeUs, AV_TIME_BASE_Q, state->pFormatCtx->streams[stream_index]->time_base);
    int64_t seek_stream_duration = state->pFormatCtx->streams[stream_index]->duration;

    int flags = 0;
    int ret = -1;

    // Convert time into frame number
    seek_time /= 1000;
    printf("seek time: %" PRId64 "\n", seek_time);
  • How to reduce latency when streaming x264

    10 janvier 2014, par tobsen

    I would like to produce a zerolatency live video stream and play it in VLC player with as little latency as possible.

    This are the settings I currently use :

    x264_param_default_preset( &m_Params, "veryfast", "zerolatency" );

    m_Params.i_threads              =   2;
    m_Params.b_sliced_threads       =   true;
    m_Params.i_width                =   m_SourceWidth;
    m_Params.i_height               =   m_SourceHeight;

    m_Params.b_intra_refresh        =   1;

    m_Params.b_vfr_input            =   true;
    m_Params.i_timebase_num         =   1;
    m_Params.i_timebase_den         =   1000;

    m_Params.i_fps_num              =   1;
    m_Params.i_fps_den              =   60;

    m_Params.rc.i_vbv_max_bitrate   =   512;
    m_Params.rc.i_vbv_buffer_size   =   256;
    m_Params.rc.f_vbv_buffer_init   =   1.1f;

    m_Params.rc.i_rc_method         =   X264_RC_CRF;
    m_Params.rc.f_rf_constant       =   24;
    m_Params.rc.f_rf_constant_max   =   35;

    m_Params.b_annexb               =   0;
    m_Params.b_repeat_headers       =   0;
    m_Params.b_aud                  =   0;

    x264_param_apply_profile( &m_Params, "high" );

    Using those settings, I have the following issues :

    • VLC shows lots of missing frames (see screenshot, "verloren"). I am not sure if this is an issue.
    • If I set a value <200ms for the network stream delay in VLC, VLC renders a few frames and than stops to decode/render frames.
    • If I set a value >= 200ms for the network stream delay in VLC, everything looks good so far but the latency is, obviously, 200ms, which is too high.

    Question :
    Which settings (x264lib and VLC) should I use in order to encode and stream with as little latency as possible ?

    enter image description here