Recherche avancée

Médias (3)

Mot : - Tags -/collection

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (7450)

  • Avconv : Select german stream not highest quality one

    15 novembre 2013, par mblaettermann

    I am converting some input stream from my DVB S2 Card to RTMP.

    Everything works fine after switching to recent avconv and x264 :)

    The only thing I couldn't find out is, how do I select the right audio stream ?

    The source sometimes has up to 6 audio tracks. Avconv automatically chooses the one with the highest bitrate. However I want to select the "ger" one :

    Here are the streams of ARTE german/french TV Channel for example :

    Input #0, mpegts, from 'http://192.168.1.50:9981/stream/channelid/1035':
     Duration: N/A, start: 19083.694722, bitrate: 15576 kb/s
     Program 1
       Stream #0.0[0xa8], 127, 1/90000: Video: mpeg2video (Main), yuv420p, 544x576 [PAR 32:17 DAR 16:9], 1/50, 15000 kb/s, 25 fps, 90k tb50 tbc
       Stream #0.1[0x70](fre), 204, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s
       Stream #0.2[0x71](ger), 207, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 128 kb/s
       Stream #0.3[0x72](eng), 207, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 128 kb/s
       Stream #0.4[0x73](qaa), 207, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 128 kb/s
     No Program
       Stream #0.5[0x3b], 126, 1/90000: Audio: mp1, 0 channels, s16p

    libav Docs are really not that helpful. Who does now the right syntax ?

    EDIT : I found the -map option : http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20use%20-map%20option But it is not possible to map by name ? Only by index ?

    Maybe I need to use avprobe then, to find the corrent stream index for "ger".

  • Avconv : Select german stream not highest quality one

    6 novembre 2017, par mblaettermann

    I am converting some input stream from my DVB S2 Card to RTMP.

    Everything works fine after switching to recent avconv and x264 :)

    The only thing I couldn’t find out is, how do I select the right audio stream ?

    The source sometimes has up to 6 audio tracks. Avconv automatically chooses the one with the highest bitrate. However I want to select the "ger" one :

    Here are the streams of ARTE german/french TV Channel for example :

    Input #0, mpegts, from 'http://192.168.1.50:9981/stream/channelid/1035':
     Duration: N/A, start: 19083.694722, bitrate: 15576 kb/s
     Program 1
       Stream #0.0[0xa8], 127, 1/90000: Video: mpeg2video (Main), yuv420p, 544x576 [PAR 32:17 DAR 16:9], 1/50, 15000 kb/s, 25 fps, 90k tb50 tbc
       Stream #0.1[0x70](fre), 204, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s
       Stream #0.2[0x71](ger), 207, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 128 kb/s
       Stream #0.3[0x72](eng), 207, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 128 kb/s
       Stream #0.4[0x73](qaa), 207, 1/90000: Audio: mp2, 48000 Hz, stereo, s16p, 128 kb/s
     No Program
       Stream #0.5[0x3b], 126, 1/90000: Audio: mp1, 0 channels, s16p

    libav Docs are really not that helpful. Who does now the right syntax ?

    EDIT : I found the -map option : http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20use%20-map%20option But it is not possible to map by name ? Only by index ?

    Maybe I need to use avprobe then, to find the corrent stream index for "ger".

  • select a screen section ffmpeg c++ on macos

    21 avril 2022, par C1ngh10

    I am trying to record the screen on macos, with ffmpeg. I would like to be able to select a section of the screen instead of the whole desktop. I tried to set several options such as vf, with values like "crop=150:150:0:0", or video_size with value "150x150". The result was that the output video had the correct dimensions (150x150) but whole screen has been recorded instead of the specified section. Does anybody know another way to do that ?

    


    int ScreenRecorder::openVideoDevice() {
    value = 0;
    videoOptions = nullptr;
    pAVFormatContext = nullptr;

    pAVFormatContext = avformat_alloc_context();


    string dimension = to_string(width) + "x" + to_string(height);
    av_dict_set(&videoOptions, "video_size", dimension.c_str(), 0);   //option to set the dimension of the screen section to record
    value = av_dict_set(&videoOptions, "framerate", "25", 0);
    if (value < 0) {
        cerr << "Error in setting dictionary value (setting framerate)" << endl;
        exit(-1);
    }

    value = av_dict_set(&videoOptions, "preset", "ultrafast", 0);
    if (value < 0) {
        cerr << "Error in setting dictionary value (setting preset value)" << endl;
        exit(-1);
    }

    //The distance from the left edge of the screen or desktop
    value = av_dict_set(&videoOptions, "vf", ("crop=" + to_string(width) + ":" + to_string(height) + ":" + to_string(x_offset) + ":" +
        to_string(y_offset)).c_str(), 0);

    if (value < 0) {
        cerr << "Error in setting crop" << endl;
        exit(-1);
    }

    value = av_dict_set(&videoOptions, "pixel_format", "yuv420p", 0);
    if (value < 0) {
        cerr << "Error in setting pixel format" << endl;
        exit(-1);
    }
    
    pAVInputFormat = av_find_input_format("avfoundation");

    if (avformat_open_input(&pAVFormatContext, "1:none", pAVInputFormat, &videoOptions) != 0) {
        cerr << "Error in opening input device" << endl;
        exit(-1);
    }
    //get video stream infos from context
    value = avformat_find_stream_info(pAVFormatContext, nullptr);
    if (value < 0) {
        cerr << "Error in retrieving the stream info" << endl;
        exit(-1);
    }

    VideoStreamIndx = -1;
    for (int i = 0; i < pAVFormatContext->nb_streams; i++) {
        if (pAVFormatContext->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
            VideoStreamIndx = i;
            break;
        }
    }
    if (VideoStreamIndx == -1) {
        cerr << "Error: unable to find video stream index" << endl;
        exit(-2);
    }

    pAVCodecContext = pAVFormatContext->streams[VideoStreamIndx]->codec;
    pAVCodec = avcodec_find_decoder(pAVCodecContext->codec_id/*params->codec_id*/);
    if (pAVCodec == nullptr) {
        cerr << "Error: unable to find decoder video" << endl;
        exit(-1);
    }

    return 0;
}