
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (53)
-
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
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 (9371)
-
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);
} -
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> -
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.