
Recherche avancée
Autres articles (113)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (10757)
-
AVFormatContext Transcode : Input or Output ?
21 août 2016, par Victor.dMdBI have 2 functions running in 2 threads. One is written with opencv to parse images then write them to avformatcontext :
VideoCapture vidSrc = cv::VideoCapture(vidURL);
int vidWidth = vidSrc.get(CV_CAP_PROP_FRAME_WIDTH);
int vidHeight = vidSrc.get(CV_CAP_PROP_FRAME_HEIGHT);
AVRational vidFPS = {(int) vidSrc.get(CV_CAP_PROP_FPS), 1};
AVFormatContext* av_fmt_ctx = avformat_alloc_context();
av_fmt_ctx->flags = AVFMT_NOFILE;
cmd_data_ptr->video_data_conf.av_fmt_ctx = av_fmt_ctx;
av_fmt_ctx->oformat = av_guess_format( NULL, props.vidURL.c_str(), NULL );
AVCodec* vcodec = avcodec_find_encoder(av_fmt_ctx->oformat->video_codec);
AVStream* vstrm = avformat_new_stream(av_fmt_ctx, vcodec);
vstrm->codec = avcodec_alloc_context3(vcodec);
vstrm->codec->width = vidWidth;
vstrm->codec->height = vidHeight;
vstrm->codec->pix_fmt = vcodec->pix_fmts[0];
vstrm->codec->time_base = vstrm->time_base = av_inv_q(vidFPS);
vstrm->r_frame_rate = vstrm->avg_frame_rate = vidFPS;
if (av_fmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
vstrm->codec->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
avcodec_open2(vstrm->codec, vcodec, nullptr);
int got_pkt = 0;
AVFrame* frame = av_frame_alloc();
std::vector framebuf(av_image_get_buffer_size(vstrm->codec->pix_fmt, vidWidth, vidHeight,32));
avpicture_fill(reinterpret_cast(frame), framebuf.data(), vstrm->codec->pix_fmt, vidWidth, vidHeight);
frame->width = vidWidth;
frame->height = vidHeight;
frame->format = static_cast<int>(vstrm->codec->pix_fmt);
while(true){
vidSrc >> in;
cv::Mat towrite;
const int stride[] = { static_cast<int>(towrite.step[0]) };
sws_scale(swsctx, &towrite.data, stride, 0, towrite.rows, frame->data, frame->linesize);
frame->pts = frame_pts++;
AVPacket pkt;
pkt.data = nullptr;
pkt.size = 0;
pkt.stream_index = vstrm->id;
av_init_packet(&pkt);
avcodec_encode_video2(vstrm->codec, &pkt, end_of_stream ? nullptr : frame, &got_pkt);
if (got_pkt) {
pkt.duration = 1;
av_packet_rescale_ts(&pkt, vstrm->codec->time_base, vstrm->time_base);
av_write_frame(av_fmt_ctx, &pkt);
}
av_packet_unref(&pkt);
}
av_frame_free(&frame);
avcodec_close(vstrm->codec);
</int></int>And another thread reads those frames
while(1){
AVPacket packet;
av_read_frame(av_fmt_ctx, &packet);
...
}The first function doesn’t seem to be working properly, as there is a segmentation error on
av_write_frame
or even withav_dump_format
. Is it correct that the first function is created as an output context ? Or should I be setting up as an input context for the other thread ? I’m a bit confused. I’m still trying to wrap my head around ffmpeg. -
Input/output error sending RTMP to ffmpeg
18 juin 2021, par gregI'm trying to use the "re-stream" feature of Vimeo (i.e. Vimeo send an rtmp stream to me).
When it tries to connect, I have this :


Proto = rtmp, path = /src/live, app = src, fname = live
Window acknowledgement size = 2500000
Deleting stream...
Input/output error



I cannot figure out what's wrong here...


Any idea ?


Thanks in advance


-
ffmpeg pipe input and output in Python
4 juin 2021, par MinasChamI want to use ffmpeg to read an RTSP stream, extract frames via a
pipe
, do some processing on them with Python and afterwards combine the processed frames via anotherpipe
with the original audio. I'm using thesubprocess
module in Python to execute the ffmpeg command as well as read and write the frames from and to ffmpeg.

Questions :


- 

- Is it possible to pipe both stdin and stdout so as to extract the frames and then feed them back in after the processing ?
- Do i also have to pipe the audio separately and feed it with the processed frames or can i simply copy the audio stream when mapping the output ?