
Recherche avancée
Autres articles (94)
-
Encodage et transformation en formats lisibles sur Internet
10 avril 2011MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...) -
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...) -
Formulaire personnalisable
21 juin 2013, parCette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire. (...)
Sur d’autres sites (5954)
-
avcodec_decode_video2 returns positive number when got_picture_ptr is 0
22 août 2017, par dafnahaktanaAccording to the documentation : here,
avcodec_decode_video2
should return 0 if no frame could be decompressed. Thegot_picture_ptr
should also be set to zero if no frame could be decompressed.I ran this function on a h264 video and I got positive return value while the
got_picture_ptr
was set to 0. Maybe that the documentation is not updated ? -
lavd/v4l2 : do not fail when VIDIOC_ENUMSTD returns ENODATA
18 août 2014, par Andre Wolokitalavd/v4l2 : do not fail when VIDIOC_ENUMSTD returns ENODATA
As of September 14 2012, v4l_enumstd() will return ENODATA
when a device’s std field is set to 0. That is, the device
does not have a standard format. In order to properly
handle this case, v4l2_set_parameters should catch the
ENODATA code and break instead of failing.Below is the v4l2-core commit describing this change.
>>commit a5338190efc7cfa8c99a6856342a77d21c9a05cf
>>Author : Hans Verkuil <hans.verkuil@cisco.com>
>>Date : Fri Sep 14 06:45:43 2012 -0300
>>
>> [media] v4l2-core : tvnorms may be 0 for a given input, handle that case
>>
>> Currently the core code looks at tvnorms to see whether ENUMSTD
>> or G_PARM should be enabled. This is not a good check for drivers
>> that support the STD API on one input and the DV Timings API on another.
>> In that case tvnorms may be 0.
>> Instead check whether s_std is present (for ENUMSTD) or whether g_std or
>> current_norm is present for g_parm.
>> Also, in the enumstd core function return ENODATA if tvnorms is 0,
>> because in that case the current input does not support the STD API
>> and ENUMSTD should return ENODATA for that.
>>
>> Signed-off-by : Hans Verkuil <hans.verkuil@cisco.com>
>> Reviewed-by : Sakari Ailus <sakari.ailus@iki.fi>
>> Signed-off-by : Mauro Carvalho Chehab <mchehab@redhat.com> -
Using ffmpeg avcodec_decode_video2 got_picture_ptr returns 0
3 septembre 2014, par kaikenI’m trying to playback the gopro live feed which consists of a series of very short .ts files encoded using H264. I tested it on videos with different containers (mkv,avi,mp4) and different codecs (MPEG4, H264, MSVIDEO1). However, the files from the gopro always returns
got_picture_ptr
as 0 fromavcodec_decode_video2
while the function returns the packet’s size. If I use ffplay or vlc it play the file without problem. I’m not sure what I’m doing wrong. I’m not very experienced with ffmpeg or video in general.Here is my test code. I based it off of this tutorial which is out of date but I was able to update the depreciated functions.
AVFormatContext *pFormatCtx = NULL;
AVCodecContext *pCodecCtx;
AVStream *pStream = NULL;
int videoStream;
AVCodec *pCodec;
AVFrame *pFrame=NULL, *pFrameRGB=NULL;
HBITMAP membmp;
int widht,height;
BYTE *membits;
int frameFinished;
AVPacket packet;
img_convert_ctx = NULL;
uint8_t *buffer;
int numBytes;
// Open video file
if(avformat_open_input(&pFormatCtx,params->fname,NULL,NULL)!=0)
return -1;
// Retrieve stream information
if(avformat_find_stream_info(pFormatCtx,NULL)<0)
return -1;
//av_dump_format(pFormatCtx, 0, path, 0);
// Find the first video stream
for(int i=0; inb_streams; i++)
if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO)
{
pStream=pFormatCtx->streams[i];
videoStream = i;
break;
}
if(pStream==NULL)
return -1; // Didn't find a video stream
// Get a pointer to the codec context for the video stream
pCodecCtx=pStream->codec;
// Find the decoder for the video stream
pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
if(pCodec==NULL) {
fprintf(stderr, "Unsupported codec!\n");
return -1; // Codec not found
}
// Open codec
if(avcodec_open2(pCodecCtx, pCodec, NULL)<0)
return -1;
// Allocate an AVFrame structure
pFrame=avcodec_alloc_frame();
pFrameRGB=avcodec_alloc_frame();
if(pFrameRGB==NULL)
return -1;
MakeBitmap(*params->memdc,membmp,(void**)&membits,pCodecCtx->width,pCodecCtx->height);
// Assign appropriate parts of buffer to image planes in pFrameRGB
// Note that pFrameRGB is an AVFrame, but AVFrame is a superset
// of AVPicture
avpicture_fill((AVPicture *)pFrameRGB, membits, PIX_FMT_RGB24,
pCodecCtx->width, pCodecCtx->height);
while (av_read_frame(pFormatCtx, &packet) >= 0)
{
// Is this a packet from the video stream?
if (packet.stream_index == videoStream)
{
// Decode video frame
int bytesUsed = avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);
// Did we get a video frame?
if(frameFinished)
{
//Do stuff with frame
}
}
// Free the packet that was allocated by av_read_frame
av_free_packet(&packet);
//if(i++>500)
// break;
}
DeleteObject(membmp);
// Free the frames
av_free(pFrameRGB);
av_free(pFrame);
// Close the codec
avcodec_close(pCodecCtx);
// Close the video file
avformat_close_input(&pFormatCtx);
return -1;For reference I’m doing this on Windows with the versions of the dlls :
- avcodec-56.dll
- avdevice-56.dll
- avfilter-5.dll
- avformat-56.dll
- avutil-54.dll
- postproc-53.dll
- swresample-1.dll
- swscale-3.dll
and sample video file https://www.dropbox.com/s/htlinnv3qk5dfiu/amba_hls-2.ts?dl=0