
Recherche avancée
Autres articles (15)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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" (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...)
Sur d’autres sites (2759)
-
FFmpeg - avcodec_receive_frame doesn't receive all frames and lose frames before receving frames
22 mars 2019, par JinxThe
vcodec_receive_frame
function didn’t receive the rest of the frames. I tested that there were totally 132 frames of the video and it only received 125 frames losing 7 frames at the END of the video. How can I get the lost frames back ?But something weird happened. As you can see the output from my
MyDecode::receiveFrame()
function. The code inside the blockif (ret != 0){}
executed first, but the lost frames are at the end of the video. So how could they come out first ? What caused this happen ?MyDecode.cpp
AVFrame* MyDecode::receiveFrame()
{
mux.lock();
if (!codecCtx) {
mux.unlock();
return 0;
}
AVFrame* frame = av_frame_alloc();
int ret = avcodec_receive_frame(codecCtx, frame);
mux.unlock();
if (ret != 0)
{
static int lost_frames = 1;
std::cout << "Lost frames: " << lost_frames << std::endl;
lost_frames += 1;
av_frame_free(&frame);
return nullptr;
}
std::cout << "Received frames: " << received_frame_num << std::endl;
received_frame_num += 1;
return frame;
}
bool MyDecode::sendPacket(AVPacket* packet)
{
if (!packet || !packet->data || packet->size == 0)
return false;
mux.lock();
if (!codecCtx) {
mux.unlock();
return false;
}
int ret = avcodec_send_packet(codecCtx, packet);
mux.unlock();
av_packet_free(&packet);
if (ret != 0) {
return false;
}
return true;
}Console output
Total frames: 132
Lost frames: 1
Lost frames: 2
Lost frames: 3
Lost frames: 4
Lost frames: 5
Lost frames: 6
Lost frames: 7
Received frames: 1
Received frames: 2
Received frames: 3
................
Received frames: 125UPDATE :
MyDemux.cpp
AVPacket* MyDemux::readFrame()
{
mux.lock();
if (!formatCtx) {
std::cout << "formaetCtx is null" << std::endl;
mux.unlock();
return nullptr;
}
AVPacket* packet = av_packet_alloc();
if (!packet) {
std::cout << "packet is null" << std::endl;
mux.unlock();
return nullptr;
}
int ret = av_read_frame(formatCtx, packet);
if (ret != 0) {
while (true) {
av_read_frame(formatCtx, nullptr);
}
mux.unlock();
av_packet_free(&packet);
av_packet_unref(packet);
return nullptr;
}
media_type = packet->stream_index;
mux.unlock();
return packet;
}main.cpp
while (true) {
AVPacket* pkt = demux.readFrame();
if (demux.get_media_type() == 0) {
AVFrame* frame = video_decode.receiveFrame();
videoWidget->paintFrame(frame);
}
else if (demux.get_media_type() == 1) {
}
if (!pkt) {
std::cout << "to break" << std::endl;
break;
}
} -
Installation of opencv and ffmpeg on anaconda
17 mars 2017, par user564650I am using an amazon EC2 instance and working on a deep learning problem. I want to install opencv along with ffmpeg on anaconda python in order to process the video frames. Can somebody please help out with the installation ?
-
How to decode G.729b codec ?
6 décembre 2018, par Sameer ThapaI am developing an application that listens for RTP data using GStreamer and converts the received raw data packets using FFMPEG.
I works well for codes : PCMA, PCMU, G722 and G729 and converts the received audio files into wav and mp3. But the conversion fails when G729b packet is received. FFMPEG has support for G729 as mentioned here but nothing is mentioned about G729a/b. GStreamer also has not mentioned anything about G729a/b though has a decoder for G729. I also didn’t find any other library that can convert G729b to wav or mp3.
Can anyone please suggest any way or any library to convert G729a/b to wav.
Thanks in advance !Command used :
ffmpeg -f g729 -i .g729 -acodec pcm_s16le -ar 8000 output.wavPlease find the two files here