
Recherche avancée
Autres articles (103)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
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 ;
Sur d’autres sites (10286)
-
bfi : Add some very basic sanity checks for input packet sizes
28 septembre 2013, par Martin Storsjö -
How to convert rtp codec in online to amr-nb/wb (octet-align = 0) by FFMPEG ?
28 janvier 2019, par Mehdi Talebirtp is received as input with different payload types such as amr-nb and WAVE.It is necessary to convert all of them to amr-wb but in bandwidth-align (NOT octet-align).
I use this command to convert :ffmpeg -re -i rtp ://127.0.0.1:1235 -ar 16000 -ab 19.85k -acodec libvo_amrbenc -f rtp rtp rtp ://127.0.0.1:1236
But the out put (SDP) is like this :
- v=0
- o=- 0 0 IN IP4 127.0.0.1
- s=No Name
- c=IN IP$ 127.0.0.1
- t=0.0
- a=tool:libvaformat 58.25.100
- m=audio 1236 RTP/AVP 97
- b=AS:19
- a=rtpmap:97 AMR-WB/16000/1
- a=fmtp:97 octet-align =1
My problem is octet-align =1, i need octet-align = 0. Do you know any argument to set this in the command ?
-
How to save AVPacket if I have input information from online camera
31 mars 2020, par OrestI am new to libav.
I have a online video camera and want save video from archive to the video file with libav



Camera provides such data



uint32_t frameType, // I frame or P frame

void *frame, //pointer to the frame

size_t frameSize, //size of the frame in bytes

uint64_t timeStamp, //time stamp in time_t units

uint32_t width, //frame width

uint32_t height, //frame heigh

uint32_t genTime, //I do not now what is this. allways 0

const char *encodingType //H264 or H265




I tried this



void writeHeader(){
mOutputFilePath = outputFilePath;
 int ret = 0;
 avformat_alloc_output_context2(&output_format_context, nullptr, nullptr, outputFilePath.c_str());

AVStream *out_stream;
 out_stream = avformat_new_stream(output_format_context, nullptr);

 out_stream->discard = AVDISCARD_DEFAULT;//не змінювати
 out_stream->codecpar->level = 42;//не змінювати
 out_stream->codecpar->profile = FF_PROFILE_H264_HIGH;//не змінювати
 out_stream->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;

 if(codecID == "H264") out_stream->codecpar->codec_id = AV_CODEC_ID_H264;
 else if(codecID == "H265") out_stream->codecpar->codec_id = AV_CODEC_ID_H265;

 out_stream->codecpar->format = AV_PIX_FMT_YUV420P;
 out_stream->codecpar->height = heightFrame;
 out_stream->codecpar->width = widthFrame;
 // out_stream->codecpar->bit_rate = 2478235;
 // out_stream->codecpar->bits_per_coded_sample = 24;
 // out_stream->codecpar->bits_per_raw_sample = 8;
 out_stream->codecpar->sample_aspect_ratio.num = 0;
 out_stream->codecpar->sample_aspect_ratio.den = 1;
 out_stream->codecpar->color_primaries = AVCOL_PRI_UNSPECIFIED;//не змінювати

avio_open(&output_format_context->pb, mOutputFilePath.c_str(), AVIO_FLAG_WRITE);
avformat_write_header(output_format_context, &opt);
}

void writePacket(){
 AVPacket inputPacket;
 av_init_packet(&inputPacket);
 inputPacket.buf = NULL;
 inputPacket.pts = (int)timeStamp;
 inputPacket.dts = inputPacket.pts; 
 inputPacket.data = (unsigned char*)frame;
 inputPacket.size = (int)frameSize;

 if (frameType == KP2P_FRAME_TYPE_IFRAME)
 {
 inputPacket.flags = AV_PKT_FLAG_KEY;
 }
 inputPacket.duration = 0;
 inputPacket.pos = -1;
av_interleaved_write_frame(output_format_context, &inputPacket);
 av_packet_unref(&inputPacket);
}

void closeFile()
{
av_write_trailer(output_format_context);
 if (output_format_context && !(output_format_context->oformat->flags & AVFMT_NOFILE))
 avio_closep(&output_format_context->pb);
 avformat_free_context(output_format_context);
}




in output file I have black vindow and time is not correct (input 30 seconds in out 2 seconds)
What am I doing wrong ?