
Recherche avancée
Autres articles (86)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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 (...) -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...)
Sur d’autres sites (13218)
-
avformat/dashenc : Added support for Low-latency HLS(Experimental)
12 décembre 2018, par kjeyapal@akamai.comavformat/dashenc : Added support for Low-latency HLS(Experimental)
Apple doesn't have an official spec for LHLS. Meanwhile hls.js player folks are
trying to standardize a open LHLS spec. The draft spec is available in https://github.com/video-dev/hlsjs-rfcs/blob/lhls-spec/proposals/0001-lhls.md
This option will also try to comply with the above open spec, till Apple's spec officially supports it.
Applicable only when @varstreaming and @varhls_playlist options are enabled. -
c++ ffmpeg "Starting new cluster" error
9 novembre 2016, par R2-D2I want to encode a live stream into
webm
, butffmpeg
gets stuck in a live lock after 5 seconds stating[webm @ 0x1d81940] Starting new cluster at offset 0 bytes, pts 5040dts 5040
I tried increasing the related
AVFormatContext
paramsav_opt_set_int(oc->priv_data, "chunk_duration", INT_MAX, 0);
av_opt_set_int(oc->priv_data, "cluster_time_limit", INT_MAX, 0);
av_opt_set_int(oc->priv_data, "cluster_size_limit", INT_MAX, 0);which avoids the error for about 30 seconds, but then again
ffmpeg
hangs[webm @ 0xbc9940] Starting new cluster due to timestamp
[webm @ 0xbc9940] Starting new cluster at offset 0 bytes, pts 32800dts 32800The error can be reproduced with the official example
doc/examples/muxing.c
just by writing into a buffer instead of a file like thisoc = avformat_alloc_context();
oc->oformat = av_guess_format("webm", NULL, NULL);
oc->oformat->flags |= AVFMT_NOFILE;and for actual writing
uint8_t *output_buf;
avio_open_dyn_buf(&oc->pb);
avformat_write_header(oc, &opt);
/* or */
av_interleaved_write_frame(fmt_ctx, pkt);
avio_close_dyn_buf(oc->pb, &output_buf);
av_free(output_buf);How can I encode webm into a buffer ?
(And why does it work for files ?) -
FFMPEG memory leak on FLV video frame decoding
10 août 2014, par Michael IVI am decoding FLV video on Windows using FFMPEG latest dev version(20140810) .Monitoring memory consumption of my program process I found the memory footprint constantly increasing.I do packet deallocation and also tried to delete and then reallocate the AVFrame anew on each decode.But it doesn’t help.I read on some threads people pointing out there is an internal memory leak in H264 decoder but I have seen no official confirmation of it nor any solution.
Here is how I decode a frame :AVPacket packet;
av_read_frame(_ifmt_ctx, &packet);
if (packet.stream_index == _in_video_stream->index)
{
int isGotVideoFrame = 0;
// Decode video frame
ret = avcodec_decode_video2(_dec_in_video_ctx, _src_video_frame,
&isGotVideoFrame, &packet);
if (1 == isGotVideoFrame)
{
sws_scale(_sws_ctx, (const uint8_t * const*) _src_video_frame->data,
_src_video_frame->linesize, 0,_inVideoHeight,
_dst_video_frame->data, _dst_video_frame->linesize);
uint8_t* dest = new uint8_t[_numBytes];
memcpy(dest, _dst_video_frame->data[0], _numBytes);
av_free_packet(&packet);
_frames_cache.push_back(dest);
}
av_frame_unref(_src_video_frame);
av_frame_free(&_src_video_frame);
_src_video_frame = av_frame_alloc();
}Then in another place on each frame I delete ’dest’ from the vector :
uint8_t * fr = _frames_cache.front();
_frames_cache.erase(_frames_cache.begin());
delete [] fr ;