Recherche avancée

Médias (0)

Mot : - Tags -/navigation

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (63)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

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

  • av_guess_format h264 returns NULL on Android

    21 mai 2013, par Miguel Angel

    executing this code :

    av_log_set_callback(_log_callback);
    av_register_all();
    avcodec_register_all();
    LOG(avcodec_configuration());
    AVOutputFormat * fmt = av_guess_format( "h264", NULL, NULL );

    And showing in my log file the next configuration :

    --target-os=linux --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avfilter --disable-everything --enable-libx264 --enable-encoder=libx264 --enable-decoder=h264 --enable-gpl ....

    av_guess_format is returning NULL.

    Any suggestion ?
    many thanks

  • avio_open() function returns -138

    8 avril 2024, par checkright

    When I use ffmpeg4.4.1 to push rtmp to the desktop, the program returns -138 when running avio_open().I use dshow's screen-capture-recorder on the input side. My purpose is to capture the desktop in real time and use rtmp to push the stream.

    


        avdevice_register_all();
    avformat_network_init();

    AVFormatContext* pFmtCtx_In = nullptr;
    AVFormatContext* pFmtCtx_Out = nullptr;
    AVInputFormat*   pInFmt  = nullptr;
    AVDictionary* options = nullptr;
    int nVideoIndex          = -1;
    int              ret     = 0;

    AVCodecParameters* pCodecParam = nullptr;
    AVCodecContext   * pCodecCtx   = nullptr;
    AVCodec          * pCodec      = nullptr;

    AVFrame* pFrame    = av_frame_alloc();
    AVFrame* pFrameRGB = av_frame_alloc();
    AVPacket* pkt      = nullptr;

    pFrame    = av_frame_alloc();
    pFrameRGB = av_frame_alloc();
    pkt       = nullptr;
    img_convert_ctx = nullptr;

    pFmtCtx_In = avformat_alloc_context();
    if(!pFmtCtx_In)
    {
        qDebug() << "create AVFormatContext failed." ;
        return;
    }

    QString urlString = QString("video=screen-capture-recorder");
    const char* rtmpAddress = "rtmp://192.168.0.136:8554/myapp/test";
    
    if(1){
        pInFmt = const_cast(av_find_input_format("dshow"));
        ret = avformat_open_input(&pFmtCtx_In, urlString.toStdString().c_str(), pInFmt, nullptr);
    }else{
        pInFmt = const_cast(av_find_input_format("gdigrab"));
        av_dict_set(&options, "video_device_index", "1", 0);  
        av_dict_set(&options, "offset_x", "1920", 0);
        av_dict_set(&options, "offset_y", "0", 0);
        av_dict_set(&options, "draw_mouse", "1", 0);
        av_dict_set(&options, "video_size", "1920x1080", 0);
        ret = avformat_open_input(&pFmtCtx_In, "desktop", pInFmt, &options);
    }

    if(!pInFmt)
    {
        qDebug() << "find AVInputFormat failed." ;
        return;
    }

    if(ret < 0)
    {
        qDebug() << "open camera failed."<nb_streams; i++){
        if(pFmtCtx_In->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO){
            nVideoIndex = i;
            continue;
        }
    }

    if(nVideoIndex == -1){
        qDebug() << "cannot find video stream." ;
        return;
    }


    pCodecParam = pFmtCtx_In->streams[nVideoIndex]->codecpar;
    pCodec = avcodec_find_decoder(pCodecParam->codec_id);
    if(!pCodec)
    {
        qDebug() << "cannot find codec." ;
        return;
    }

    ret = avformat_alloc_output_context2(&pFmtCtx_Out, NULL, "flv", rtmpAddress);
    //    ret = avformat_alloc_output_context2(&pFmtCtx_Out, NULL, "rtsp", rtmpAddress);
    if (ret < 0) {
        qDebug() << "cannot avformat_alloc_output_context2." ;
        return ;
    }

    for (int i = 0; i < pFmtCtx_In->nb_streams; i++) {
        AVStream *outStream = avformat_new_stream(pFmtCtx_Out, pFmtCtx_In->streams[i]->codec->codec);
        if (!outStream) {
            qDebug() << "cannot outStream." ;

            return ;
        }

        ret = avcodec_parameters_copy(outStream->codecpar, pFmtCtx_In->streams[i]->codecpar);
        if (ret < 0) {
             qDebug() << "cannot avcodec_parameters_copy." ;
            return ;
        }
        outStream->codec->codec_tag = 0;
    }
  
    av_dump_format(pFmtCtx_Out, 0, rtmpAddress, 1);

    ret = avio_open(&pFmtCtx_Out->pb, rtmpAddress, AVIO_FLAG_WRITE);
    if (ret < 0) {
        qDebug() << "cannot avio_open." <code>

    


    An error occurs here.According to the data, the problem occurs at the input end, and the input end can display the desktop normally. How can I make it run successfully ? How do I need to modify the above code ?

    


  • FFmpeg : avcodec_open2 returns "Permission denied" (-13)

    24 avril 2019, par maxest

    I wanted to open an encoder, H264, C++, Android. This :

    encoderH264 = avcodec_find_encoder(AV_CODEC_ID_H264);

    works. This one :

    codecContext = avcodec_alloc_context3(encoderH264);

    also works. But I get error "Permission denied" (-13) on that :

    avcodec_open2(codecContext, encoderH264, NULL);

    I’d suppose that my FFmpeg lib does support H264 encoding as avcodec_find_encoder returns valid value (when I used some other FFmpeg lib this function returned null).

    Any ideas ?