
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (62)
-
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...) -
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 -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)
Sur d’autres sites (6375)
-
ffmpeg:When receiving a udp network video stream, it is found that the values of the received packets PTS and DTS change abnormally
24 octobre 2022, par watermelon_sevenI am using the ffmpeg source code to receive the udp network video stream, but there is a problem with this video stream. Occasionally, the audio and video packets dts and pts jump at the same time, that is, from a large value to a difference of dozens of times. Very small value, I want to use a solution to solve this problem in the code, but can't think of it. Hope you can help me, thanks !


The following is a process of writing to the buffer to be decoded after receiving the video packet when I receive the network stream. The decoding is done by the video decoding thread, which is only responsible for receiving the stream and writing the buffer to be decoded.


//read video package
 if(pAvPacket->stream_index == pThis->m_iVideoStreamIndex)
 {
 std::cout<<"Video_Packet_DTS: "<dts<<" Video_Packet_PTS: "<pts</Video frame rate assignment
 if(pThis->m_pVideoTimeBase->num > 0 && pAvPacket->duration > 0)
 pThis->m_iVideoFPS = (pThis->m_pVideoTimeBase->den / pThis->m_pVideoTimeBase->num) / pAvPacket->duration;

 if(pThis->m_iDecodeMode == DECODE_MODE_ONLY_CURRENT_COLLECTION)
 pThis->m_videoDecodeThreadState = THREAD_NEED_STOP; //stop the thread
 else
 pThis->m_videoDecodeThreadState = THREAD_NEED_RUN; //make the thread run

 if(pThis->m_iMultiMediaType != MULTI_MEDIA_TYPE_FILE
 && pAvPacket->flags == AV_PKT_FLAG_KEY)
 {
 pThis->m_bIsFindIFrame = YTRUE;
 }

 VideoFramesCount ++;
 pThis->m_iReadVideoPacketCount ++;
 if(pThis->m_iDecodeMode != DECODE_MODE_ONLY_CHECK_NET && pThis->m_iDecodeMode != DECODE_MODE_AUDIO && pThis->m_bIsFindIFrame)
 YGlobCircleBufferWrite<avpacket>(pThis->m_videoPacketBuffer, &pAvPacket, 1);
 else
 av_packet_unref(pAvPacket);
 pAvPacket = YNULL;
 }
</avpacket>


The following is the information printed when the code is run :


Video_Packet_DTS: 8590470992 Video_Packet_PTS: 8590470992
Video_Packet_DTS: 8590474592 Video_Packet_PTS: 8590474592
Video_Packet_DTS: 8590478192 Video_Packet_PTS: 8590478192
Video_Packet_DTS: 8590481792 Video_Packet_PTS: 8590481792
Video_Packet_DTS: 550800 Video_Packet_PTS: 550800
Video_Packet_DTS: 554400 Video_Packet_PTS: 554400
Video_Packet_DTS: 558000 Video_Packet_PTS: 558000
Video_Packet_DTS: 561600 Video_Packet_PTS: 561600
Video_Packet_DTS: 565200 Video_Packet_PTS: 565200



and the error message is printed :


[h264 @ 04fea380] non-existing PPS 0 referenced
[h264 @ 04fea380] decode_slice_header error
[h264 @ 04fea380] no frame!
[swscaler @ 19b04600] Warning: data is not aligned! This can lead to a speed loss
[mp3float @ 04feadc0] overread, skip -6 enddists: -2 -2
[mpegts @ 04fcbf40] DTS 550800 < 8590481792 out of order
[mp3float @ 04feadc0] overread, skip -7 enddists: -6 -6
[mp3float @ 04feadc0] overread, skip -5 enddists: -2 -2



I am so obsessed with their pts because when I synchronize audio and video, I will use their pts for synchronization. If the pts are too different, the video will be stuck when playing the video. I don't know how to avoid


-
Studying A Game Wave Disc
23 novembre 2010, par Multimedia Mike — Game HackingI picked up a used copy of game called Gemz — a rather flagrant Bejeweled clone — for a game console called Game Wave Family Entertainment System. Heard of it ? Neither had I. But the game media is optical, so I had to get it and study it.
When mounted in Linux (as UDF), the disc is reported to contain 2.8 GB of data, so it has to be a DVD. 810 MB of that is dedicated to the movies/ directory. Multimedia format ? Just plain, boring MPEG files (very YouTube-friendly— here’s the opening animation). Deeper digging reveals some more subdirectories called movies/ that, combined, occupy the lion’s share of the disc space. Additionally, there are several single-frame .m2v files in a directory called iframes/ which are used to encode things like load screens.
There are more interesting data files including .zbm files for images and fonts, and .zwf files for audio. I suspect that these stand for zipped bitmap and zipped wave file, respectively. They can’t be directly unzipped with ’gunzip’. Some of the numbers at the start of some files lead me to believe they can be easily decompressed with standard zlib facilities.
Based on the binary files on the Gemz disc, I couldn’t find any data on what CPU this system might use. A little Googling led me to this page at the Video Game Console Library which pegs the brain as a Mediamatics 6811. Some searching for that leads me to a long-discontinued line of hardware from National Semiconductor.
The Console Library page also mentions that the games were developed using the Lua programming language. Indeed, there are many Lua-related strings in the game’s binaries (’zlib’ also makes an appearance).
-
The PTS value of the live streaming package is abnormal
24 octobre 2022, par watermelon_sevenI am using the ffmpeg source code to receive the udp network video stream, but there is a problem with this video stream. Occasionally, the audio and video packets dts and pts jump at the same time, that is, from a large value to a difference of dozens of times. Very small value, I want to use a solution to solve this problem in the code, but can't think of it. Hope you can help me, thanks !


The following is a process of writing to the buffer to be decoded after receiving the video packet when I receive the network stream. The decoding is done by the video decoding thread, which is only responsible for receiving the stream and writing the buffer to be decoded.


//read video package
 if(pAvPacket->stream_index == pThis->m_iVideoStreamIndex)
 {
 std::cout<<"Video_Packet_DTS: "<dts<<" Video_Packet_PTS: "<pts</Video frame rate assignment
 if(pThis->m_pVideoTimeBase->num > 0 && pAvPacket->duration > 0)
 pThis->m_iVideoFPS = (pThis->m_pVideoTimeBase->den / pThis->m_pVideoTimeBase->num) / pAvPacket->duration;

 if(pThis->m_iDecodeMode == DECODE_MODE_ONLY_CURRENT_COLLECTION)
 pThis->m_videoDecodeThreadState = THREAD_NEED_STOP; //stop the thread
 else
 pThis->m_videoDecodeThreadState = THREAD_NEED_RUN; //make the thread run

 if(pThis->m_iMultiMediaType != MULTI_MEDIA_TYPE_FILE
 && pAvPacket->flags == AV_PKT_FLAG_KEY)
 {
 pThis->m_bIsFindIFrame = YTRUE;
 }

 VideoFramesCount ++;
 pThis->m_iReadVideoPacketCount ++;
 if(pThis->m_iDecodeMode != DECODE_MODE_ONLY_CHECK_NET && pThis->m_iDecodeMode != DECODE_MODE_AUDIO && pThis->m_bIsFindIFrame)
 YGlobCircleBufferWrite<avpacket>(pThis->m_videoPacketBuffer, &pAvPacket, 1);
 else
 av_packet_unref(pAvPacket);
 pAvPacket = YNULL;
 }
</avpacket>


The following is the information printed when the code is run :


Video_Packet_DTS: 8590470992 Video_Packet_PTS: 8590470992
Video_Packet_DTS: 8590474592 Video_Packet_PTS: 8590474592
Video_Packet_DTS: 8590478192 Video_Packet_PTS: 8590478192
Video_Packet_DTS: 8590481792 Video_Packet_PTS: 8590481792
Video_Packet_DTS: 550800 Video_Packet_PTS: 550800
Video_Packet_DTS: 554400 Video_Packet_PTS: 554400
Video_Packet_DTS: 558000 Video_Packet_PTS: 558000
Video_Packet_DTS: 561600 Video_Packet_PTS: 561600
Video_Packet_DTS: 565200 Video_Packet_PTS: 565200



and the error message is printed :


[h264 @ 04fea380] non-existing PPS 0 referenced
[h264 @ 04fea380] decode_slice_header error
[h264 @ 04fea380] no frame!
[swscaler @ 19b04600] Warning: data is not aligned! This can lead to a speed loss
[mp3float @ 04feadc0] overread, skip -6 enddists: -2 -2
[mpegts @ 04fcbf40] DTS 550800 < 8590481792 out of order
[mp3float @ 04feadc0] overread, skip -7 enddists: -6 -6
[mp3float @ 04feadc0] overread, skip -5 enddists: -2 -2



I am so obsessed with their pts because when I synchronize audio and video, I will use their pts for synchronization. If the pts are too different, the video will be stuck when playing the video. I don't know how to avoid