
Recherche avancée
Médias (3)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (53)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP 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 (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 (...)
Sur d’autres sites (7884)
-
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 ?
-
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 ?


-
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