
Recherche avancée
Médias (91)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (111)
-
L’utiliser, en parler, le critiquer
10 avril 2011La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
Une liste de discussion est disponible pour tout échange entre utilisateurs. -
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 (...) -
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" (...)
Sur d’autres sites (7260)
-
Can't open encoder when use libavcodec
1er novembre 2013, par liuyanghejerryI’m using libavcodec, version 9.7, to write a simple demo, almost exactly like example in official example.
However, I can’t open encoder. Also,
av_opt_set(context->priv_data, "preset", "slow", 0)
always leads to crush.This is my code :
// other code...
int ret = 0;
avcodec_register_all();
AVCodec* codec = NULL;
AVCodecContext* context = NULL;
AVFrame* frame = NULL;
uint8_t endcode[] = { 0, 0, 1, 0xb7 };
codec = avcodec_find_encoder(AV_CODEC_ID_H264);
if(!codec){
qDebug()<<"cannot find encoder";
return;
}
qDebug()<<"encoder found";
context = avcodec_alloc_context3(codec);
if(!context){
qDebug()<<"cannot alloc context";
return;
}
qDebug()<<"context allocted";
context->bit_rate = 400000;
/* resolution must be a multiple of two */
context->width = 352;
context->height = 288;
/* frames per second */
context->time_base= (AVRational){1,25};
context->gop_size = 10; /* emit one intra frame every ten frames */
context->max_b_frames=1;
context->pix_fmt = AV_PIX_FMT_YUV420P;
qDebug()<<"context init";
// av_opt_set(context->priv_data, "preset", "slow", 0); // this will crush
AVDictionary *d = NULL;
av_dict_set(&d, "preset", "ultrafast",0); // this won't
ret = avcodec_open2(context, codec, &d);
if ( ret < 0) {
qDebug()<<"cannot open codec"</ other code...This outputs :
encoder found
context allocted
context init
cannot open codec -22
[libx264 @ 0340B340] [IMGUTILS @ 0028FC34] Picture size 0x10 is invalid
[libx264 @ 0340B340] ignoring invalid width/height values
[libx264 @ 0340B340] Specified pix_fmt is not supported
I don’t think the width/height is invalid and format there either. I have no idea what’s wrong here.
Any help. plz ?
-
RuntimeError : abort(OOM). Build with -s ASSERTIONS=1 for more info
26 avril 2021, par KhoPhiI'm using ffmpeg.wasm 0.9.7 (at the time of this question).
Browser is Brave (Version 1.23.71 Chromium : 90.0.4430.72 (Official Build) (64-bit))


I get this error running an overlay ffmpeg command in the browser, slapping an png over an hevc mp4 4K video of size, almost 40 Megabyte.


RuntimeError: abort(OOM). Build with -s ASSERTIONS=1 for more info.


Here's my code in Angular. Stripped down for brevity


async generatePreviews(event: any) {

 if (!ffmpeg.isLoaded()) {
 await ffmpeg.load();
 }

 for (let index = 0; index < this.files.length; index++) {

 this.video = this.files[index];
 const file_name = this.video.name.split('.')[0] + '-preview.mp4';

 ffmpeg.FS('writeFile', 'tempLogo.png', await fetchFile(this.watermark));
 ffmpeg.FS('writeFile', 'tempVideo.mp4', await fetchFile(this.video));


 // working command in normal terminal
 // ffmpeg -i tempVideo.mp4 -i tempLogo.png -filter_complex "overlay=(W-w)/2:(H-h)/2" temp.mp4

 await ffmpeg.run(
 '-i',
 'tempVideo.mp4',
 '-i',
 'tempLogo.png',
 '-filter_complex',
 'overlay=(W-w)/2:(H-h)/2',
 'temp.mp4'
 );

 const data = ffmpeg.FS('readFile', 'temp.mp4');

 var blob = new Blob([data.buffer], { type: 'video/mp4' });
 saveAs(blob, file_name); // using filesaver.js to save the blob

 }
 }
}




In chrome, I read up to 2Gb of file is possible to convert. Not sure why the OOM issues. Any settings I need to set or changes I need to do ?


Update (4/26/2021)


This thread offered a solution, by building the ffmpeg wasm with a few tweaks. I am able to build, but using the built files even causes the OOM faster than the npm built from the ffmpeg wasm repo.


-
Decoder return of av_find_best_stream vs. avcodec_find_decoder
7 octobre 2016, par Jason CThe docs for libav’s
av_find_best_stream
function (libav 11.7, Windows, i686, GPL) specify a parameter that can be used to receive a pointer to an appropriateAVCodec
:decoder_ret - if non-NULL, returns the decoder for the selected stream
There is also the
avcodec_find_decoder
function which can find anAVCodec
given an ID.However, the official demuxing + decoding example uses
av_find_best_stream
to find a stream, but chooses to useavcodec_find_decoder
to find the codec in lieu ofav_find_best_stream
’s codec return parameter :ret = av_find_best_stream(fmt_ctx, type, -1, -1, NULL, 0);
...
stream_index = ret;
st = fmt_ctx->streams[stream_index];
...
/* find decoder for the stream */
dec = avcodec_find_decoder(st->codecpar->codec_id);As opposed to something like :
ret = av_find_best_stream(fmt_ctx, type, -1, -1, &dec, 0);
My question is pretty straightforward : Is there a difference between using
av_find_best_stream
’s return parameter vs. usingavcodec_find_decoder
to find theAVCodec
?The reason I ask is because the example chose to use
avcodec_find_decoder
rather than the seemingly more convenient return parameter, and I can’t tell if the example did that for a specific reason or not. The documentation itself is a little spotty and disjoint, so it’s hard to tell if things like this are done for a specific important reason or not. I can’t tell if the example is implying that it "should" be done that way, or if the example author did it for some more arbitrary personal reason.