
Recherche avancée
Autres articles (63)
-
Keeping control of your media in your hands
13 avril 2011, parThe 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, parPour 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, parChaque 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 Angelexecuting 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 checkrightWhen 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 maxestI 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 ?