
Recherche avancée
Médias (91)
-
DJ Z-trip - Victory Lap : The Obama Mix Pt. 2
15 septembre 2011
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (93)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (17848)
-
FFMPEG DASH Exemple
23 janvier 2021, par Diogo CravaWould anyone be able to provide me an example of an FFMPEG command converting a simple .mp4 file into DASH format but with segmentation for each resolution (480, 720 and 1080). I found some examples but none of them had segmentation.


Can you also indicate to me which field allows me to do that ?


I would also appreciate it if you gave me an FFMPEG tutorial besides the documentation alone.


-
FFMpeg RGB32 to NV12 using SWScale
28 avril 2016, par KevinAI’m trying to convert RGB32 frames to NV12 Frames to feed into an encoder.
m_iWidthIn = 1920;
m_iHeightIn = 1080;
m_iWidthOut = (((iWidthIn + 31) >> 5) << 5) //32bit align
m_heightOut = (((iHeightIn + 31) >> 5) << 5) //32bit align
m_outputPixelFormat = AV_PIX_FMT_NV12;
// allocate and fill buffers
m_sws = ::sws_getContext(m_iWidthIn, m_iHeightIn, AV_PIX_FMT_RGB32, m_iWidthOut, m_iHeightOut, m_outputPixelFormat, SWS_FAST_BILINEAR, nullptr, nullptr, nullptr);
AVFrame* frameOut = av_frame_alloc();
frameOut->height = m_iHeightOut;
frameOut->width = m_iWidthOut;
frameOut->format = m_outputPixelFormat;
av_frame_get_buffer(frameOut, 32);
int linesize[1] = { m_iWidthIn * 4 };
uint8_t * data[1] = { m_inputBuffer };
if (m_bFlip)
{
data[0] += linesize[0] * (m_iHeightIn - 1);
linesize[0] = -linesize[0];
}
::sws_scale(m_sws, data, linesize, 0, m_iHeightIn, frameOut->data, frameOut->linesize);
::av_image_copy_to_buffer(pOutputBuffer, lDataLen, frameOut->data, frameOut->linesize, m_outputPixelFormat, m_iWidthOut, m_iHeightOut, 32);If I make m_outputPixelFormat AV_PIX_FMT_RGB32 and use a DMO colorspace converter, the video comes out correctly. However if I change it to NV12, I end up with a slanted video with missing data at the bottom.
I know this is caused by me copying the data incorrectly out of the buffer, but I’m unsure what I’m doing incorrectly. -
FFMpeg muxing h264 to mp4 resultant file is not running
11 mars 2016, par M.TahaI am writing code to mux h264 file into mp4 by using latest FFMPEG 3.0. Muxing is working but the resultant mp4 file is not showing vedio, only the time is running when i play the resultant mp4 file. Kindly try to help to solve this. Please tell me what i am missing. Here is my code :
int main()
{
avcodec_register_all();
av_register_all();
// define AVOutputFormat
AVOutputFormat *avoutputFormat = NULL;
avoutputFormat = av_guess_format("mp4", NULL, NULL);
if (!avoutputFormat) {
fprintf(stderr, "Could not find suitable output format\n");
return 1;
}
AVFormatContext *avoutFmtCtx = NULL;
/*Below initialize AVFormatContext.*/
avformat_alloc_output_context2(&avoutFmtCtx, avoutputFormat, NULL, NULL);
avoutFmtCtx->oformat = avoutputFormat;
sprintf_s(avoutFmtCtx->filename, "%s", "Out.mp4"); /*Filling output file name..*/
if (avoutputFormat->video_codec == AV_CODEC_ID_NONE)
printf("\n Unsupported format...");
AVStream * avoutStrm = avformat_new_stream(avoutFmtCtx, 0);
if (!avoutStrm) {
_tcprintf(_T("FFMPEG: Could not alloc video stream\n"));
}
AVCodecContext *c = avoutStrm->codec;
c->codec_id = avoutputFormat->video_codec;
c->codec_type = AVMEDIA_TYPE_VIDEO;
c->bit_rate = 2000*1000;
c->width = 1920;
c->height = 1080;
AVRational avr;
avr.den = 30;
avr.num = 1;
avoutStrm->time_base = c->time_base = av_add_q(avoutStrm->codec->time_base, avr);
// Some formats want stream headers to be separate
if(avoutFmtCtx->oformat->flags & AVFMT_GLOBALHEADER)
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
// Open the output container file
if (avio_open(&avoutFmtCtx->pb, avoutFmtCtx->filename, AVIO_FLAG_WRITE) < 0)
{
_tcprintf(_T("FFMPEG: Could not open '%s'\n"), avoutFmtCtx->filename);
}
m_pExtDataBuffer = (uint8_t*)av_malloc(1000 + 1000);
if(!m_pExtDataBuffer) {
_tcprintf(_T("FFMPEG: could not allocate required buffer\n"));
}
uint8_t SPSbuf[1000];
uint8_t PPSbuf[1000];
memcpy(m_pExtDataBuffer, SPSbuf, 1000);
memcpy(m_pExtDataBuffer + 1000, PPSbuf, 1000);
/* Codec "extradata" conveys the H.264 stream SPS and PPS info (MPEG2: sequence header is housed in SPS buffer, PPS buffer is empty)*/
c->extradata = m_pExtDataBuffer;
c->extradata_size = 1000 + 1000;
if(avformat_write_header(avoutFmtCtx,NULL)) {
_tcprintf(_T("FFMPEG: avformat_write_header error!\n"));
}
/* Here do writing data in loop...*/
int m_nProcessedFramesNum = 0;
while(1)
{
++m_nProcessedFramesNum;
AVPacket pkt;
av_init_packet(&pkt);
AVCodecContext *c = avoutStrm->codec;
avoutStrm->pts.val = m_nProcessedFramesNum;
pkt.stream_index = avoutStrm->index;
pkt.data = /*Filling h.264 data from here... This is valid h264 data*/
pkt.size = /*Filling valid h264 data size here...*/
av_new_packet(&pkt,pkt.size);
pkt.pts = m_nProcessedFramesNum*512;
pkt.dts = m_nProcessedFramesNum*512;
pkt.duration = 512;
// Write the compressed frame in the media file
if (av_interleaved_write_frame(avoutFmtCtx, &pkt)) {
_tcprintf(_T("FFMPEG: Error while writing video frame\n"));
}/*End of loop.*/
av_free_packet(&pkt);
}
av_write_trailer(avoutFmtCtx);
avio_close(avoutFmtCtx->pb);
avformat_free_context(avoutFmtCtx);
}