Recherche avancée

Médias (91)

Autres articles (102)

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

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (8016)

  • ffmpeg : two videos side-by-side with audio1 lang=ger & audio2 lang=eng

    19 janvier 2023, par miridigital

    I have two videos from two GoPro cameras. Both videos are rendered via ffmpeg side-by-side into a single video (left and right) and the audio is currently combined/mixed into two channels (stereo). I can hear both camera audio channels at the same time.

    


    Two channels stereo :

    


    ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v][1:v]hstack=inputs=2[v]; [0:a][1:a]amerge[a]" -map "[v]" -map "[a]" -ac 2 side-by-side.mp4


    


    audio from both videos mixed into a single file with 2 channels - mediainfo

    


    Now I want to switch between the two audio channels (cam1 or cam2) while I'm playing the side-by-side video.

    


    My first try : With four channels (without -ac 2 parameter) :

    


    ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v][1:v]hstack=inputs=2[v]; [0:a][1:a]amerge[a]" -map "[v]" -map "[a]" side-by-side.mp4


    


    audio from both videos mixed into a single file with 4 channels - mediainfo

    


    But the most video players can't easily select the channels 1+2 or 3+4 while playing.

    


    So I tried two languages :

    


    ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v][1:v]hstack=inputs=2[v]; [0:a][1:a]amerge[a]" -map "[v]" -map "[a]" -metadata:s:a:0 language=ger -metadata:s:a:1 language=eng side-by-side.mp4


    


    audio from both videos mixed into a single file with 4 channels with languages - mediainfo

    


    But that's wrong. I can only see german with 4 channels. How can I put channels 1+2 into german and channels 3+4 into english ? Afterwards I should be able to use the multi language feature from most video players to switch the audio between cameras.

    


    Thank you,
    
Miriam

    


  • FFMPEG API : How to clear real-time buffer ?

    29 novembre 2018, par user67

    Here’s the c++ code that I’m using to access my webcam.

    int Camera::Init(char* file_name,
                   char* device_name,
                   char* format,
                   char* resolution,
                   char* frame_rate,
                   char* pixel_format)
    {
       av_log(NULL, AV_LOG_INFO, "---INIT STARTED\n");
       avdevice_register_all();
       av_register_all();

       AVDictionary* properties_collection = NULL;
       av_dict_set(&properties_collection, "f", format, NULL);
       av_dict_set(&properties_collection, "video_size", resolution, NULL);
       av_dict_set(&properties_collection, "framerate", frame_rate, NULL);
       av_dict_set(&properties_collection, "pix_fmt", pixel_format, NULL);
       AVInputFormat *input_format = av_find_input_format("dshow");
       char command_line[256];
       sprintf(command_line, "video=%s", device_name);
       AVFormatContext *input_context = avformat_alloc_context();
       //input_context->flags |= AVFMT_FLAG_NOBUFFER;      //DOESN'T HELP
       //input_context->max_picture_buffer = 0;            //ERR

       int err_code = 0;
       err_code = avformat_open_input(&input_context,
                                       command_line,
                                       input_format,
                                       &properties_collection);
       int i = 0;
       while (i++ < 30)
       {
           Sleep(1000);
           //avformat_flush(input_context); //DOESN'T HELP
           //av_free(input_context); //ERR
       }
       system("pause");
       return 0;
    }

    Right after "avformat_open_input()" it starts reading frames to some internal buffer without me even calling "av_read_frame()".
    After about 10 seconds it start’s giving me error messages :

    [dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
    too full or near too full (62% of size: 3041280 [rtbufsize parameter])!
    frame dropped!
    ...
    ...
    ...
    [dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
    too full or near too full (100% of size: 3041280 [rtbufsize parameter])!
    frame dropped!

    How to clear this buffer or avoid using it ?

    Thanks in advance.

    P.S.Please pardon my english.

    P.P.S.Have a good day.

  • libav : How to clear real-time buffer ?

    29 novembre 2018, par user67

    Here’s the c++ code that I’m using to access my webcam.

    int Camera::Init(char* file_name,
                   char* device_name,
                   char* format,
                   char* resolution,
                   char* frame_rate,
                   char* pixel_format)
    {
       av_log(NULL, AV_LOG_INFO, "---INIT STARTED\n");
       avdevice_register_all();
       av_register_all();

       AVDictionary* properties_collection = NULL;
       av_dict_set(&properties_collection, "f", format, NULL);
       av_dict_set(&properties_collection, "video_size", resolution, NULL);
       av_dict_set(&properties_collection, "framerate", frame_rate, NULL);
       av_dict_set(&properties_collection, "pix_fmt", pixel_format, NULL);
       AVInputFormat *input_format = av_find_input_format("dshow");
       char command_line[256];
       sprintf(command_line, "video=%s", device_name);
       AVFormatContext *input_context = avformat_alloc_context();
       //input_context->flags |= AVFMT_FLAG_NOBUFFER;      //DOESN'T HELP
       //input_context->max_picture_buffer = 0;            //ERR

       int err_code = 0;
       err_code = avformat_open_input(&input_context,
                                       command_line,
                                       input_format,
                                       &properties_collection);
       int i = 0;
       while (i++ < 30)
       {
           Sleep(1000);
           //avformat_flush(input_context); //DOESN'T HELP
           //av_free(input_context); //ERR
       }
       system("pause");
       return 0;
    }

    Right after "avformat_open_input()" it starts reading frames to some internal buffer without me even calling "av_read_frame()".
    After about 10 seconds it start’s giving me error messages :

    [dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
    too full or near too full (62% of size: 3041280 [rtbufsize parameter])!
    frame dropped!
    ...
    ...
    ...
    [dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
    too full or near too full (100% of size: 3041280 [rtbufsize parameter])!
    frame dropped!

    How to clear this buffer or avoid using it ?

    Thanks in advance.

    P.S.Please pardon my english.

    P.P.S.Have a good day.