
Recherche avancée
Médias (91)
-
Valkaama DVD Cover Outside
4 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Valkaama DVD Cover Inside
4 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
1,000,000
27 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Demon Seed
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Four of Us are Dying
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (112)
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
L’utiliser, en parler, le critiquer
10 avril 2011La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
Une liste de discussion est disponible pour tout échange entre utilisateurs.
Sur d’autres sites (9249)
-
Revision 6522 : $GLOBALS[’liste_des_forums’] a disparu
12 juin 2012, par kent1 — Log$GLOBALSliste_des_forums ? a disparu
-
Retrieving RTP/RTSP Absolute Timestamps through FFmpeg using Opencv
6 septembre 2019, par Fr0styThis is an update to my previous post. I am able to get the RTP timestamps by using ffmpeg and opencv currently, however, I am trying to actually get the timestamp at which the frame was captured. I did a work around to try find the time at which the frame was captured (code is in python).
seconds_before_frame = cap.getRTPTimeStampSeconds()
fractionofseconds_before_frame = cap.getRTPTimeStampFraction()
ret, frame = cap.read()
seconds_after_frame = cap.getRTPTimeStampSeconds()
fractionofseconds_after_frame = cap.getRTPTimeStampFraction()By doing this I found that the time captured was off by
0.02359296
seconds and sometimes0.2359296
seconds, that’s a lot more than I had expected.I found some work arounds with trying to get the timestamp of the frame by using AVFormatContext which I didn’t really understand through the priv_data.
AVPacket* packet;
av_read_frame(formatCtx, packet);
RTSPState* rtspState = formatCtx->priv_data;
RTPDemuxContext *rtpdemux = rtspState->rtsp_streams[packet->stream_index]->transport_priv;as well as
RTSPState *state = _formatCtx->priv_data;
RTSPStream *stream = state->rtsp_streams[0];
RTPDemuxContext *demux = stream->transport_priv;
demux→timestampI’d like to ask how can we call AVFormatContext from C++ side, is it through
av_read_frame
? Is it possible to use python bindings orVideoCapture
already wraps ffmpeg so there is no need to useav_read_frame
but just callVideoCapture
? -
C++ ffmpeg sws_getCachedContext seg fault when reading opengl buffer
3 juillet 2022, par user19068953I made a program that draws some stuff on opengl, then reads the frames on the screen as rgba and encodes it as a yuv420 video, but I get a segfault when I try to send the red opengl frame to sws_getCachedContext. I used the muxing.c as the encoder and my code is as follows (I used align 256 because i have another framebuffer that uses 128) :


constexpr int ALIGNMENT = 256;
 if (posix_memalign((void**)&state.glBuffer, ALIGNMENT, gl_width * gl_height * 4) != 0) 
 {
 VI_ERROR("Couldn't allocate frame buffer ");
 return false;
 }
 REGISTER("done, returning");
 return true;



Then i read the frame after drawing the stuff i want :


glReadPixels(0, 0,
 gl_width, gl_height, 
 GL_RGBA, GL_UNSIGNED_BYTE, 
 (GLvoid*) state.glBuffer);



The window is the same size as the gl_buffer (I know the result will be flipped, thats ok)


And finally i send it to the encoder(rgb_data is glBuffer) :


void video_encoder::set_frame_yuv_from_rgb(AVFrame *frame, struct SwsContext *sws_context) {
 const int in_linesize[1] = { 4 * width };

width = gl_width;
height = gl_height;
sws_context = sws_getCachedContext(sws_context,
 width, height, AV_PIX_FMT_RGBA,
 width, height, AV_PIX_FMT_YUV420P,
 0, 0, 0, 0);
 
sws_scale(sws_context, (const uint8_t * const *)&rgb_data, in_linesize, 0,
 height, frame->data, frame->linesize);
}



I get a seg fault on sws_getCachedContext any idea why this happens and how do i fix it ?


Edit : width = 512, height = 256, valgrind says : Invalid read of size 16.