
Recherche avancée
Autres articles (58)
-
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 ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (7930)
-
"invalid argument" for av_buffersrc_write_frame / av_buffersrc_add_frame
1er février 2017, par TheSHEEEPI am trying to use FFmpeg C api to create a filter to merge two audio streams. Trying to follow the code from here : Implementing a multiple input filter graph with the Libavfilter library in Android NDK
Everything seems to be alright.
However, as soon as I call av_buffersrc_write_frame (or av_buffersrc_add_frame or av_buffersrc_add_frame_flags, it doesn’t matter), FFmpeg just reports "invalid argument" and nothing else - an utterly useless error message, as it could mean everything.
Which argument is invalid ? What is wrong about it ? Nobody knows.I am initializing the graph and "grabbing" the contexts of the buffer sources for later use like this :
// Alloc filter graph
*filter_graph = avfilter_graph_alloc();
if ((*filter_graph) == NULL) {
os::log("Error: Cannot allocate filter graph.");
return AVERROR(ENOMEM);
}
// Building the filter string, ommitted
int result = avfilter_graph_parse2(*filter_graph, filterString.c_str(), &gis, &gos, NULL);
if (result < 0)
{
char errorBuf[1024];
av_make_error_string(errorBuf, 1024, result);
log("Error: Parsing filter string: %s", errorBuf);
return AVERROR_EXIT;
}
// Configure the graph
result = avfilter_graph_config(*filter_graph, NULL);
if (result < 0)
{
char errorBuf[1024];
av_make_error_string(errorBuf, 1024, result);
log("Error: Configuring filter graph: %s", errorBuf);
return AVERROR_EXIT;
}
// Get the buffer source and buffer sink contexts
for (unsigned int i = 0; i < (*filter_graph)->nb_filters; ++i) {
AVFilterContext* filterContext = (*filter_graph)->filters[i];
// The first two filters should be the abuffers
std::string name = filterContext->name;
if (name.find("abuffer") != name.npos && i < 2) {
inputs[i].buffer_source_context = filterContext;
}
// abuffersink is the one we need to get the converted frames from
if (name.find("abuffersink") != name.npos) {
*buffer_sink_context = filterContext;
}
}There are absolutely no errors in the initialization. At least FFmpeg has only this to say about it, which I think looks good :
FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'time_base' to value '1/48000'
FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'sample_rate' to value '48000'
FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'sample_fmt' to value '1'
FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'channel_layout' to value '3'
FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'channels' to value '2'
FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:3
FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'time_base' to value '1/44100'
FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'sample_rate' to value '44100'
FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'sample_fmt' to value '1'
FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'channel_layout' to value '3'
FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'channels' to value '2'
FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] tb:1/44100 samplefmt:s16 samplerate:44100 chlayout:3
FFMPEG: [Parsed_volume_3 @ 0ddfe580] Setting 'volume' to value '2'
FFMPEG: [Parsed_aresample_4 @ 0ddfe660] Setting 'sample_rate' to value '48000'
FFMPEG: [Parsed_aformat_5 @ 0ddfe940] Setting 'sample_fmts' to value 'fltp'
FFMPEG: [Parsed_aformat_5 @ 0ddfe940] Setting 'channel_layouts' to value '3'Then, I am trying to add a frame (that has been decoded beforehand) like this :
// "buffer_source_context" is one of the "inputs[i].buffer_source_context" from the code above
int result = av_buffersrc_write_frame( buffer_source_context,
input_frame);
if (result < 0) {
char errorBuf[1024];
av_make_error_string(errorBuf, 1024, result);
log("Error: While adding to buffer source: %s", errorBuf);
return AVERROR_EXIT;
}And the result is the mentioned "invalid argument".
The buffer_source_context is one of those noted from the code above and the input_frame is perfectly fine as well.
Before the filtering code was added, the same frame was passed to an encoder instead without a problem.I am at a loss at what the error could be here. I log FFmpeg errors at the lowest possible level, but not a single error is shown. I am using FFmpeg 3.1.1.
-
FFMPEG Debug "Invalid data found when processing input"
29 septembre 2020, par dgcippHow can I debug this error ? I am trying to display a vp8-encoded video stream (TCP) from Android (x86) to my PC but I got this message from ffplay : "tcp ://10.8.0.3:49152 ? listen : Invalid data found when processing input"


With h264 it works and the same code in an android device works with vp8 too.


Command in the server :


ffplay -i tcp://10.8.0.3:49152?listen



I have tried adding verbosity or log-level debug, but it shows the same. How can I get a detailed error ?




-
FFMPEG "buffer queue overflow, dropping" with trim and atrim filters
13 juin 2020, par Prasanna MahendiranIn FFMPEG I am actually trimming and concating a 24 FPS video. When I apply a complex filter



ffmpeg -i sample.mp4 -filter_complex \
 "[0:v]setpts = PTS-STARTPTS[bv];
 [bv]split=6[v0][v1][v2][v3][v4][v5];
 [v0]trim=start_frame=1:end_frame=142,loop=1:1:1,setpts=N/FRAME_RATE/TB[0v];
 [v1]trim=start_frame=846:end_frame=878,loop=1:1:1,setpts=N/FRAME_RATE/TB[1v];
 [v2]trim=start_frame=57:end_frame=114,loop=1:1:1,setpts=N/FRAME_RATE/TB[2v];
 [v3]trim=start_frame=865:end_frame=885,loop=1:1:1,setpts=N/FRAME_RATE/TB[3v];
 [v4]trim=start_frame=70:end_frame=155,loop=1:1:1,setpts=N/FRAME_RATE/TB[4v];
 [v5]trim=start_frame=155:end_frame=909,loop=1:1:1,setpts=N/FRAME_RATE/TB[5v];
 [0:a]asplit=6[a0][a1][a2][a3][a4][a5];
 [a0]atrim=0.041666666666666664:5.917,asetpts=N/SR/TB[0a];
 [a1]atrim=35.256:36.603,asetpts=N/SR/TB[1a];
 [a2]atrim=2.379:4.767,asetpts=N/SR/TB[2a];
 [a3]atrim=36.024:36.859,asetpts=N/SR/TB[3a];
 [a4]atrim=2.93:6.438172,asetpts=N/SR/TB[4a];
 [a5]atrim=6.438172:37.895,asetpts=N/SR/TB[5a];
 [0v][0a][1v][1a][2v][2a][3v][3a][4v][4a][5v][5a]concat=n=6:v=1:a=1[vv][aa]"\
 -map "[vv]" -map "[aa]" output.mp4




I am getting "buffer queue overflow, dropping" error. The resultant video and audio is still and not working properly.



ffmpeg version 3.2-1~16.04.york1 Copyright (c) 2000-2016 the FFmpeg developers
 built with gcc 5.4.1 (Ubuntu 5.4.1-3ubuntu1~ubuntu16.04.1york0) 20161019
 configuration: --prefix=/usr --extra-version='1~16.04.york1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-libtesseract --disable-stripping --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-opengl --enable-sdl2 --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-openal --enable-frei0r --enable-libopencv --enable-libx264 --enable-chromaprint --enable-shared
 libavutil 55. 34.100 / 55. 34.100
 libavcodec 57. 64.100 / 57. 64.100
 libavformat 57. 56.100 / 57. 56.100
 libavdevice 57. 1.100 / 57. 1.100
 libavfilter 6. 65.100 / 6. 65.100
 libavresample 3. 1. 0 / 3. 1. 0
 libswscale 4. 2.100 / 4. 2.100
 libswresample 2. 3.100 / 2. 3.100
 libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 track : 0
 artist : 
 album : 
 date : 0
 genre : 
 lyrics : 
 title : 
 encoder : Lavf56.36.100
 Duration: 00:00:37.90, start: 0.000000, bitrate: 951 kb/s
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 820 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default)
 Metadata:
 handler_name : SoundHandler
File 'output.mp4' already exists. Overwrite ? [y/N] y
[libx264 @ 0x55650097a540] using SAR=1/1
[libx264 @ 0x55650097a540] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x55650097a540] profile High, level 3.0
[libx264 @ 0x55650097a540] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 track : 0
 artist : 
 album : 
 date : 0
 genre : 
 lyrics : 
 title : 
 encoder : Lavf57.56.100
 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
 Metadata:
 encoder : Lavc57.64.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc57.64.100 aac
Stream mapping:
 Stream #0:0 (h264) -> setpts
 Stream #0:1 (aac) -> asplit
 concat:out:v0 -> Stream #0:0 (libx264)
 concat:out:a0 -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 471.5kbits/s speed=4.94x 
 Last message repeated 201 times
[Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 522.9kbits/s speed=3.89x 
 Last message repeated 1266 times
[Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 557.0kbits/s speed=3.28x 
 Last message repeated 48 times
[output stream 0:1 @ 0x556500947e20] 100 buffers queued in output stream 0:1, something may be wrong.
[Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 718.6kbits/s speed=3.46x 
 Last message repeated 19 times
[output stream 0:0 @ 0x5565009785c0] 100 buffers queued in output stream 0:0, something may be wrong.
frame= 1091 fps=117 q=-1.0 Lsize= 2795kB time=00:00:45.51 bitrate= 503.1kbits/s dup=475 drop=0 speed=4.88x 
video:2455kB audio:316kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.861779%
[libx264 @ 0x55650097a540] frame I:8 Avg QP:19.26 size: 24207
[libx264 @ 0x55650097a540] frame P:409 Avg QP:21.33 size: 4108
[libx264 @ 0x55650097a540] frame B:674 Avg QP:27.46 size: 949
[libx264 @ 0x55650097a540] consecutive B-frames: 10.3% 13.9% 24.5% 51.3%
[libx264 @ 0x55650097a540] mb I I16..4: 9.9% 57.0% 33.1%
[libx264 @ 0x55650097a540] mb P I16..4: 3.6% 7.6% 2.9% P16..4: 33.0% 10.6% 3.0% 0.0% 0.0% skip:39.2%
[libx264 @ 0x55650097a540] mb B I16..4: 0.4% 0.8% 0.4% B16..8: 24.5% 2.6% 0.2% direct: 0.5% skip:70.5% L0:55.5% L1:41.8% BI: 2.7%
[libx264 @ 0x55650097a540] 8x8 transform intra:53.8% inter:66.7%
[libx264 @ 0x55650097a540] coded y,uvDC,uvAC intra: 44.6% 50.0% 14.8% inter: 6.2% 7.7% 0.2%
[libx264 @ 0x55650097a540] i16 v,h,dc,p: 22% 28% 17% 33%
[libx264 @ 0x55650097a540] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 23% 28% 3% 4% 3% 11% 3% 5%
[libx264 @ 0x55650097a540] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 26% 16% 2% 5% 3% 16% 3% 3%
[libx264 @ 0x55650097a540] i8c dc,h,v,p: 60% 22% 13% 6%
[libx264 @ 0x55650097a540] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x55650097a540] ref P L0: 72.6% 8.4% 15.1% 3.9%
[libx264 @ 0x55650097a540] ref B L0: 88.5% 10.7% 0.8%
[libx264 @ 0x55650097a540] ref B L1: 93.3% 6.7%
[libx264 @ 0x55650097a540] kb/s:442.30
[aac @ 0x556500979280] Qavg: 3215.870




I tried with other stackoverflow questions but none of them worked. Also I think it is partially because the trim timings are mixed. That is start time can be anywhere between 0-end. When I make it strictly increasing it is working fine.