[Ffmpeg-devel-irc] ffmpeg.log.20190213

burek burek021 at gmail.com
Thu Feb 14 03:05:02 EET 2019


[02:35:36 CET] <wfbarksdale> Hey folks, was just wondering if it is possible to remux an mp4, placing the entire moov atom at the end of the file (i.e. incurring no seek operations, on the aviocontext)
[02:37:14 CET] <wfbarksdale> I am basically trying to trim an mp4 file without transcoding, and send the output directly out over http via chuncked response,  without producing an intermediate file
[02:37:39 CET] <wfbarksdale> but on writing the trailer, it looks like quite a few seek operations occur
[02:48:31 CET] <wfbarksdale> is it even possible :(
[02:48:38 CET] <Hello71> wfm with -movflags empty_moov
[02:48:57 CET] <Hello71> also, browsers strongly prefer to know the length at the start
[02:49:10 CET] <Hello71> why don't you just use matroska
[02:50:22 CET] <wfbarksdale> I am sending this over network to mobile devices, which don't like mkv
[02:50:52 CET] <wfbarksdale> i'm using the C api. Wondering how I can specify that option, persumably with avformat_alloc_output_context?
[02:51:45 CET] <Hello71> dunno
[02:51:48 CET] <wfbarksdale> or avformat_write_header perhaps
[02:51:49 CET] <Hello71> that doesn't sound right though
[02:55:54 CET] <wfbarksdale> worked, you are a genius Hello72
[02:58:47 CET] <wfbarksdale> literally just saved me
[03:01:17 CET] <wfbarksdale> actually, may have spoken too soon
[03:14:34 CET] <wfbarksdale> nope totally works, thank you!
[03:31:14 CET] <keegans> how can I read the per-sample IV data using ffmpeg
[03:31:38 CET] <keegans> i think it is the senc header
[04:12:10 CET] <kandinski> hi, can someone give me pointers on how to encode a stream of static images, coming at irregular intervals, into a video stream?
[04:26:20 CET] <wfbarksdale> can anyone explain how `bits_per_coded_sample` is derived in the AVCodec parameters?
[04:38:03 CET] <keegans> yeah ffmpeg is only giving me side data with IV information for 130 of ~5000 samples
[04:38:11 CET] <keegans> all the IV data is in the senc header but it isn't getting read
[04:38:18 CET] <keegans> so idk
[04:38:28 CET] <keegans> https://github.com/FFmpeg/FFmpeg/blob/0c3333faf6b7bfd45ce666ae697759d9239ba587/libavformat/mov.c#L5980
[04:38:33 CET] <keegans> the sample_count must be wrong
[07:19:06 CET] <xj> I am using ffmpeg to decode x264 files in a c++ app. Everything almost works. I am decoding 18 files at once. the cpu is about 10% the gpu is about 30% and the hdd is about 5%, but I am getting audio errors and stuttering occasionally. could the motherboard be the problem? any ideas?
[07:20:16 CET] <xj> the files i am decoding are fine. each one has been checked in vlc. i was wondering if the machine just doesn't have the bandwidth. oh, RAM usage is at 40%.
[08:51:25 CET] <th3_v0ice> Why is it that neither AV_PKT_FLAG_CORRUPT (in AVPacket) nor AV_FRAME_FLAG_CORRUPT nor FF_DECODE_ERROR_INVALID_BITSTREAM nor FF_DECODE_ERROR_MISSING_REFERENCE (in AVFrame) are set but mpegts demuxer shows errors when I set ffmpeg log level of 40? The stream has perceivable errors in it.
[13:00:22 CET] <Shred00> the trac bug reporting tool doesn't seem to be sending account verification token e-mails.  i have requested a token several times and am getting nothing.  it's not in a spam folder or anything like that.  the e-mails are not even being received by my server.
[13:33:59 CET] <JEEB> Shred00: you could poke -devel
[13:37:01 CET] <AhirPK> hi
[13:37:01 CET] <AhirPK> i am having some issues in complex_filter application development in C lang
[13:37:01 CET] <AhirPK> I want to overlay showvolume output to a small scaled video of TS using c program
[13:37:01 CET] <AhirPK> but I am getting 2 different errors
[13:37:01 CET] <AhirPK> Error: 1) av_buffersink_get_frame fails with return value AVERROR(EAGAIN) (this is not error but this error stays forever)
[13:37:02 CET] <AhirPK> Error: 2) Pushing decoded frame to filters
[13:37:04 CET] <AhirPK> 		  [Parsed_showvolume_0 @ 0x1c54600] Format change is not supported
[13:37:06 CET] <AhirPK>           Error while feeding the filtergraph
[13:37:08 CET] <AhirPK> here is my code link: https://www.dropbox.com/s/eojzuw78s7zemzt/main.c?dl=0
[13:37:10 CET] <AhirPK> can anyone please help me to find issue?
[13:37:12 CET] <AhirPK> Thank you
[13:37:15 CET] <Shred00> what's the most common/useful way to share a video snippet when posting to the mailing list?
[13:37:49 CET] <JEEB> there's a videolan stream sample pages (streams.vidoelan.org or something?) and then there's the no-frills 0x0.st
[13:37:59 CET] <JEEB> for 0x0.st you have to remember how to upload a file through curl :P
[13:38:08 CET] <JEEB> (also it's not eternal)
[13:38:45 CET] <JEEB> AhirPK: if your (input) formats change, put a filter before that which converts them to something normalized
[13:38:55 CET] <JEEB> Shred00: also this was mostly to poke IRC
[13:39:11 CET] <JEEB> to post that the trac doesn't seem to be working :P
[13:39:14 CET] <JEEB> (fully correctly)
[13:39:20 CET] <JEEB> not sure who admins it currently
[13:41:50 CET] <Shred00> hrm.  uploading to streams.videolan.org doesn't give me the url to the uploaded file
[13:46:30 CET] <JEEB> I've gotten urls to them from #elsewhere so most likely people have access to that
[13:46:37 CET] <JEEB> just mention where you have uploaded it to there
[13:46:49 CET] <Shred00> i'll just use google drive i guess
[13:47:10 CET] <JEEB> but as I said, bug reports should go to trac, and you should poke -devel IRC channel or so regarding if the trac is borked registration wise
[13:50:01 CET] <AhirPK> i am new in filter programming, can you please be more specific?
[13:50:01 CET] <AhirPK> and right now i am make filter_graph like this:
[13:50:02 CET] <AhirPK> input1 => abuffer => showvolume => \/
[13:50:02 CET] <AhirPK>                                      => overlay => \/
[13:50:02 CET] <AhirPK> input2 => buffer  => scale      => /\
[13:50:02 CET] <AhirPK>                                      => overlay      => buffersink
[13:50:04 CET] <AhirPK> input3 => nullsrc               =>					/\
[13:51:44 CET] <AhirPK> JEEB:
[13:51:58 CET] <JEEB> not going to be able to utilize more time on you right now, sorry :P
[13:52:04 CET] <JEEB> but my recommendation still stands
[13:52:14 CET] <JEEB> normalize the audio/video format if the filter requires it to be static
[13:52:47 CET] <JEEB> (not audio normalization, but making sure that before it's fed to a filter it's X)
[13:52:56 CET] <JEEB> or you re-initialize the filter chain if that happens :P
[13:52:59 CET] <JEEB> anyways, afk
[13:53:17 CET] <durandal_1707> AhirPK: what changes? channels/sample_rate/depth or?
[13:54:50 CET] <AhirPK> durandal_1707: i have no idea, because i dont see any specific error msg
[13:56:00 CET] <AhirPK> and i am using same filter disc as i am using in command line
[13:56:25 CET] <AhirPK> but CLI works fine while programming isnt
[13:57:36 CET] <durandal_1707> AhirPK: perhaps you need to insert aformat filter before showvolume?
[13:58:25 CET] <durandal_1707> ffmpeg auto inserts such filters when they are needed
[14:00:31 CET] <AhirPK> well, i tried that while ago, but let me try to add again and try
[14:13:51 CET] <AhirPK> durandal_1707: still getting same error
[14:13:52 CET] <AhirPK> [auto_resampler_0 @ 0x2647900] Format change is not supported
[14:13:53 CET] <AhirPK> Error while feeding the filtergraph
[14:19:23 CET] <durandal_1707> AhirPK: what you did? show the code!
[14:20:35 CET] <AhirPK> 		    //aformat filter
[14:20:35 CET] <AhirPK> 		    snprintf(strbuf, sizeof(strbuf),
[14:20:35 CET] <AhirPK> 					"sample_fmts=%s:sample_rates=%d:channel_layouts=0x%"PRIx64,
[14:20:35 CET] <AhirPK> 					av_get_sample_fmt_name(AV_SAMPLE_FMT_S16), 44100,
[14:20:35 CET] <AhirPK> 					(uint64_t)AV_CH_LAYOUT_STEREO);
[14:20:36 CET] <AhirPK> 		    fprintf(stderr, "aformat: %s\n", strbuf);
[14:20:37 CET] <AhirPK> 		    ret = avfilter_graph_create_filter(&(screenInfo->aformat_ctx), aformat, "aformat",
[14:20:39 CET] <AhirPK> 		    			strbuf, NULL, filter_graph);
[14:20:41 CET] <AhirPK> 		    if (ret < 0) {
[14:20:47 CET] <AhirPK> 				av_log(NULL, AV_LOG_ERROR, "error initializing abuffer filter\n");
[14:20:49 CET] <AhirPK> 				return ret;
[14:20:51 CET] <AhirPK> 		    }
[14:21:30 CET] <AhirPK> and then added aformat filter between abuffer and showvolume
[14:21:31 CET] <AhirPK> 		    //connecting abuffer to aformat
[14:21:32 CET] <AhirPK> 		    ret = avfilter_link(screenInfo->abuffersrc_ctx, 0, screenInfo->aformat_ctx, 0);
[14:21:32 CET] <AhirPK> 		    if(ret < 0){
[14:21:32 CET] <AhirPK> 		    	av_log(NULL, AV_LOG_FATAL, "failed to link abuffer filter to aformat filter\n");
[14:21:32 CET] <AhirPK> 		    	break;
[14:21:33 CET] <AhirPK> 		    }
[14:21:36 CET] <AhirPK> 		    //connecting aformat to showvolume filter
[14:21:37 CET] <AhirPK> 		    ret = avfilter_link(screenInfo->aformat_ctx, 0, screenInfo->showvolume_ctx, 0);
[14:21:40 CET] <AhirPK> 		    if(ret < 0){
[14:21:41 CET] <AhirPK> 		    	av_log(NULL, AV_LOG_FATAL, "failed to link aformat filter to showvolume filter\n");
[14:21:48 CET] <AhirPK> 		    	break;
[14:21:50 CET] <AhirPK> 		    }
[14:21:54 CET] <AhirPK> durandal_1707
[14:21:56 CET] <durandal_1707> AhirPK: use pastebin PLEASE!
[14:21:57 CET] <AhirPK> durandal_1707:
[14:23:10 CET] <durandal_1707> AhirPK: the showvolume filter needs FLTP sample format
[14:23:27 CET] <durandal_1707> not S16
[14:33:24 CET] <AhirPK> durandal_1707: still not working
[14:35:58 CET] <durandal_1707> AhirPK: look at others code, like mpv one
[14:37:14 CET] <JEEB> hint: there's a function to dump your filter chain
[14:37:16 CET] <JEEB> (graphically)
[14:37:21 CET] <JEEB> so you can see wtf you ended up doing
[14:37:29 CET] <JEEB> s/doing/configuring/
[14:38:10 CET] <AhirPK> JEEB: i know there is a function called avfilter_graph_dump
[14:38:31 CET] <AhirPK> but its crashing while i call this function
[14:38:43 CET] <AhirPK> but app is crashing while i call this function
[14:38:59 CET] <JEEB> then you are calling it before the filter graph is configured
[14:39:20 CET] <JEEB> (I know because I have done that too)
[14:41:06 CET] <AhirPK> https://pastebin.com/4iSdnwHe
[14:41:17 CET] <AhirPK> JEEB: here is filter graph
[18:50:26 CET] <Mista_D> off topic question: can capture ts with FFmpeg ".. -i udp://${mcast}:${port}?sources=${src}..." but can't seem to make tcpdump write the file to a disk off a nic.
[18:55:49 CET] <DHE> depending on the type of switch involved, it may be necessary for something to explicitly request the multicast stream before it will arrive at the NIC
[18:55:58 CET] <DHE> otherwise the network itself will filter the traffic out
[19:08:12 CET] <Mista_D> DHE ffmpeg capture seem to work ok, but tcpdump "udp port $port  and host $mcast and src $src" doesnt work...
[19:10:37 CET] <DHE> Mista_D: try running tcpdump while ffmpeg is running
[19:27:27 CET] <Ariyasu> i want to encode a segment of video between the timestamps 00:05:09.160 and 00:35:55.920
[19:28:00 CET] <Ariyasu> setting the start time with "-ss 00:05:09.160" works fine but setting "-to 00:35:55.920" fails
[19:28:46 CET] <Ariyasu> i think because after it sets the start time, it becomes 00:00:00.000 ? and i would need to recalculate my end time?
[19:29:05 CET] <Ariyasu> whats the best solution for this?
[19:35:04 CET] <Ariyasu> like 00:35:55.920 in my input file will actually be 00:30:46.760 in my output file if i start the encode job from 00:05:09.160
[19:35:19 CET] <Ariyasu> is there someway to specify the -to to a timestamp in the input?
[19:35:47 CET] <Ariyasu> or an easy way to deduct 1 timestamp from another to calculate the duration to feed to -to
[19:45:40 CET] <DHE> Mista_D: ...?
[23:14:53 CET] <utack> is there way to find out which version of an encoder was statically linked? "-h encoder=*" does not show that
[23:17:08 CET] <furq> nothing smarter than ldd
[23:17:40 CET] <JEEB> or looking at possibly exported symbols if those are left
[23:21:48 CET] <utack> okay thanks
[00:00:00 CET] --- Thu Feb 14 2019


More information about the Ffmpeg-devel-irc mailing list