
Recherche avancée
Médias (91)
-
999,999
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Demon seed (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
The four of us are dying (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Corona radiata (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Lights in the sky (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (39)
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)
Sur d’autres sites (4947)
-
x86 : Avoid some bypass delays and false dependencies
11 octobre 2015, par Henrik Gramnerx86 : Avoid some bypass delays and false dependencies
A bypass delay of 1-3 clock cycles may occur on some CPUs when transitioning
between int and float domains, so try to avoid that if possible. -
lavf/segment : add new option segment_clocktime_wrap_duration
18 janvier 2016, par Marton Balintlavf/segment : add new option segment_clocktime_wrap_duration
This option can force the segmenter to only start a new segment if a packet
reaches the muxer within the specified duration after the segmenting clock
time, which makes it more resilient to backward local time jumps, such as leap
seconds or transition to standard time from daylight savings time.Reviewed-by : Stefano Sabatini <stefasab@gmail.com>
Signed-off-by : Marton Balint <cus@passwd.hu> -
What's the reason of failed to read from input stream while playing in ffmpeg
5 février 2016, par Long BaiI’m using ffmpeg library in qt compiled with mingw.
I’m going to read from rtmp stream, process video frame and write to another rtmp stream.
I refered ffmpeg examples and developed it.
It works well with local video stream.
But on the internet stream, it is failed to read from input stream after a few seconds playing.
What’s the reason of this problem ?
Thanks for your answer.Here is my code.
as you can see the following, on the line "ret=av_read_frame(m_pInContext,&inPacket)" return negative value.while (!m_bAborted)
// read stream.
int64_t tstart = av_gettime_relative() ;
ret = av_read_frame(m_pInContext, &inPacket) ;
if (ret < 0)
SetError("Failed to read input stream.") ;
break ;
//continue ;
if (inPacket.stream_index == m_nVideoStreamIdx)
{
do
{
// decode frame.
int decodedLen = DecodePacket(m_pInFrame, &inPacket, &got_frame, 1);
if (decodedLen < 0)
break;
if (got_frame)
{
// convert frame from yuv420 to rgb24.
if (sws_ctx1)
{
sws_scale(sws_ctx1, m_pInFrame->data, m_pInFrame->linesize, 0, m_nHeight, pRawData, arrRawDataLineSize);
}
// image processing to remove the code and ads on video.
if (m_pListener)
m_pListener->OnFrame(pRawData[0], m_nWidth, m_nHeight, arrRawDataLineSize[0], AV_PIX_FMT_RGB24, 24);
// convert from rgb24 to yuv420 to write to the output stream.
if (sws_ctx2)
{
sws_scale(sws_ctx2, pRawData, arrRawDataLineSize, 0, m_nHeight, m_dst_picture.data, m_dst_picture.linesize);
}
// increase frame number.
frameCount ++;
// write to the output stream.
ret = WriteVideoFrame(m_pOutContext, m_pOutVideoStream, &frameCount);
if (ret < 0) {
if (sws_ctx2)
sws_freeContext(sws_ctx2);
sws_ctx2 = NULL;
CloseOutputStream();
SetError("Failed to write video stream.");
}
// estimate frame time and sleep.
//clock_t tend = clock();
int64_t tend = av_gettime_relative();
frameDuration = tend-tstart;//(long)(1000 * (tend - tstart) / CLOCKS_PER_SEC);
if (1000*frameTime - frameDuration > 0)
av_usleep(1000*frameTime - frameDuration);
//QThread::msleep(frameTime - frameDuration);
tstart = tend;
}
// if there is another frame in the packet, then loop.
inPacket.size -= decodedLen;
inPacket.data += decodedLen;
}while(inPacket.size > 0);
}
else if (m_pOutContext)
{
}
av_packet_unref(&inPacket);
}