
Recherche avancée
Autres articles (104)
-
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 ;
-
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 -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users.
Sur d’autres sites (12285)
-
Demuxing and decoding raw RTP with libavformat
8 février 2023, par kevmo314I'm implementing a pipeline where I receive inbound RTP packets in memory but I'm having trouble figuring out how to set up libavformat to handle/unwrap the RTP packets.


I have all relevant information about the underlying codec necessary but since it's h264 I cannot simply strip the RTP header trivially. I create the input context with
goInputFunction
writing one packet per invocation.

void *readbuf = av_malloc(1500);
AVIOContext *avioreadctx = avio_alloc_context(readbuf, 1500, 0, transcoder, &goInputFunction, NULL, NULL);
AVFormatContext *inputctx = avformat_alloc_context();
inputctx->pb = avioreadctx;
inputctx->flags |= AVFMT_FLAG_CUSTOM_IO;



When I open it with
avformat_open_input(&inputctx, NULL, NULL, NULL)
it repeatedly calls the read function but doesn't actually progress. I suspect because the RTP stream itself does not have enough information to fully describe the codec ? If I leave this open out, thenav_read_frame(inputctx, input_packet)
down the road segfaults, I'm guessing because the input context is uninitialized.

So to my question, is it possible to set the codec details that the SDP would typically set, but manually ?


I'm looking for an example of how to manually configure the AVFormatContext to consume RTP packets without an SDP and setting up a UDP port listener.


-
“Hook” libMMS to FFmpeg for iPhone Streaming
8 novembre 2011, par Xie XingweiThese days, I was researching the software architechture for iPhone Streaming (Base on MMS protocol).
As we know, in order to playback MMS audio stream, we should call libMMS to read wma stream data from remote media server, and then call FFmpeg to decode the stream data from wma format into PCM data buffer, and finally, enqueue the PCM data buffer into iPhone’s audioqueue to generate real sound.
The introduction above just describe the working process of iPhone streaming. If we only need to implement this simple functionality, that is not difficult. Just follow the introduction above to call libMMS, FFMpeg and audioqueue step by step, we can achieve the streaming function. Actually, I have implemented the code last week.
But, what I need is not only a simple streaming function ! I need a software architechture makes FFmpeg accessing libMMS just like accessing local filesystem !
Does anybody know how to hook the libMMS interfaces like mms_read/mms_seek onto FFmpeg filesystem interfaces like av_read_frame/av_seek_frame ?
-
FFMPEG + SDL : How To Show Multi Frames In Separate Region ?
19 mai 2014, par user3051473I’m using ffmpeg and SDL to develop an camera monitor APP and I want to show four separate streams at the same time(via four rtsp source). As following figure out :
Now I achieve this by setting the SDL display region, and I identify different display region by using the different SDL_Rect identifying by the variable i(from 1 - 4).
But this cause the efficient problem. For every region, I need to scale to the whole screen and lock/unlock screen, then display.
I’m wondering that, Can I merge 4 different AVFrame(come from REG1 - REG4) into the whole picture and then show this picture ?
Hope that the describe about is detail enough for you to konw my problem.
Also thanks for your help.-------------------
- - -
- REG1 - REG2 -
- - -
-------------------
- - -
- REG3 - REG4 -
- - -
-------------------
public void ShowFrame(AVFrame *pFrame, AVCodecContext *pCodecContext)
{
SDL_LockYUVOverlay(pBmp);
AVPicture pict;
// TODO scale pFrame to pict
// ...
SDL_UnlockYUVOverlay(pBmp);
// WIDTH and HEIGHT represent the whole screen size
SDL_Rect rect;
rect.x = (WIDTH / 2) * (i % 2);
rect.y = (HEIGHT / 2) * (i > 1 ? 1: 0);
rect.w = WIDTH / 2;
rect.h = HEIGHT / 2;
SDL_DisplayYUVOverlay(pBmp, &rect);
}