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

burek burek021 at gmail.com
Mon Nov 5 03:05:02 EET 2018


[00:00:03 CET] <M6HZ> The first option seems to be wrong:  -bsf:v 'extract_extradata,remove_extra=freq=all' doesn't delete them
[00:00:25 CET] <M6HZ> And I have troubles with this one:  -bsf:v 'h264_metadata=delete_filler'
[00:00:38 CET] <M6HZ> Is something missing to activate the filter ?
[00:01:06 CET] <JEEB> see the filter_units bsf
[00:01:14 CET] <JEEB> that most likely is what you want, it even has examples
[00:01:24 CET] <JEEB> just check which NAL unit type the captions are in
[00:01:28 CET] <JEEB> and that should be it
[00:18:04 CET] <M6HZ> JEEB, it looks like this works without having to re-encode :) : ffmpeg -i file.ts -c:v copy -bsf:v 'filter_units=remove_types=6' -f matroska - | mpv -
[00:20:06 CET] <M6HZ> By the way, "just check which NAL unit type the captions are in". Do you know how can I figure this out ? I have found this website, which has been really helpful but it doesn't look very reliable https://fbookmedia.files.wordpress.com/2017/06/facebook-live-closed-captions-how-to-guide4.pdf
[00:21:50 CET] <JEEB> there's a bsf that dumps info on all the packets there
[00:22:02 CET] <JEEB> yes, trace_headers
[00:22:08 CET] <M6HZ> ok. great.
[00:22:48 CET] <JEEB> I highly expect it to be one of the user data ones
[00:24:28 CET] <JEEB> and yes, NAL unit type 6 is SEI, btw :P
[00:24:41 CET] <JEEB> subtype is probably either 4 or 5
[00:26:28 CET] <M6HZ> according to the website I've linked it would be 4 :)
[00:38:07 CET] <M6HZ> JEEB, Ahem. How could you find out which one is the subtitle unit in all the garbage reported by "trace_headers" ?
[00:43:32 CET] <M6HZ> Acutally, if you know what you are searching, then you can look at "Supplemental Enhancement Information" and you get  "3 nal_unit_type  00110 = 6"
[00:43:52 CET] <M6HZ> actually *
[00:44:30 CET] <M6HZ> That's a really cryptic output x)
[00:45:21 CET] <JEEB> basically it outputs the structure of the packets in the format
[00:45:43 CET] <JEEB> and yes, nal_unit_type is the type of the NAL unit (AVC and HEVC are NAL unit based formats)
[00:47:19 CET] <JEEB> and yes, looking at the cbs_h264_syntax_template.c "Supplemental Enhancement Information" is the header printed out for SEIs
[00:47:51 CET] <JEEB> then it should print out something for the payload as well, since it parses the the payloads as well
[00:48:24 CET] <JEEB> it should print out the country code, the extension byte if that's there, and then the payload
[00:49:10 CET] <M6HZ> JEEB, it's even more cryptic
[00:49:18 CET] <M6HZ> I get things like that:
[00:49:21 CET] <M6HZ> [AVBSFContext @ 0x556284646340] 8           last_payload_type_byte                               00000100 = 4
[00:49:21 CET] <M6HZ> [AVBSFContext @ 0x556284646340] 16          last_payload_size_byte                               01100101 = 101
[00:49:21 CET] <M6HZ> [AVBSFContext @ 0x556284646340] 24          itu_t_t35_country_code                               10110101 = 181
[00:49:21 CET] <M6HZ> [AVBSFContext @ 0x556284646340] 32          itu_t_t35_payload_byte                               00000000 = 0
[00:49:26 CET] <M6HZ> [AVBSFContext @ 0x556284646340] 40          itu_t_t35_payload_byte                               00110001 = 49
[00:49:58 CET] <JEEB> prefer a pastebin site for anything more than one or two lines
[00:50:05 CET] <M6HZ> ok
[00:50:06 CET] <JEEB> but anyways, that's the type there first
[00:50:16 CET] <JEEB> then the payload size
[00:50:34 CET] <JEEB> and then you see the t35 values from inside the registered user data sei
[01:19:41 CET] <M6HZ> https://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-T.35-2012-OAS-PDF-E.pdf
[01:19:48 CET] <M6HZ> JEEB, very interesting
[01:20:25 CET] <JEEB> yes
[01:20:33 CET] <JEEB> that's the country codes
[01:21:46 CET] <M6HZ> Thanks JEEB and nicolas17 for your help. JEEB you seem to have an extensive knowledge about this software :)
[01:22:30 CET] <JEEB> I both hate and love this mess of software, and I'm a maintainer at both FFmpeg and mpv :P
[01:22:30 CET] <TheAMM> Must be a fan, huh
[01:23:03 CET] <M6HZ> JEEB, alright ;)
[01:23:23 CET] <JEEB> although I'm mostly just a masochist on the user support channels
[01:23:30 CET] <JEEB> otherwise just herping a derp elsewhere on IRC
[01:23:45 CET] <nicolas17> in my experience, diving into the source code is more masochistic
[01:24:13 CET] <JEEB> depends, you can grep the logs for me exploding here :P
[01:24:25 CET] <JEEB> although sometimes I also nowadays leave the channel for a while
[01:25:27 CET] <JEEB> nicolas17: but I do agree that I wish I knew less about the insides of discontinuity handling and "vsync" code in ffmpeg.c
[01:26:41 CET] <nicolas17> JEEB: diving into the code is how I found this stupid inconsistency https://paste.kde.org/pbemjvxv7
[01:27:14 CET] <nicolas17> if frame09.png is missing, it processes from 1 to 8; if frame10.png is missing, it tries to process 1 to 20 and gives an error when it can't open 10
[01:27:39 CET] <JEEB> oh, the Very Specific modules that someone made for their little use case
[01:27:41 CET] <JEEB> yes
[01:28:29 CET] <nicolas17> image sequences is very specific and little use case? :P
[01:29:02 CET] <JEEB> no, but the module was clearly made by someone for his own little specific use case
[01:29:12 CET] <JEEB> just like we have I think like four things to do concatenation
[01:29:19 CET] <JEEB> protocol, demuxer, filter?
[01:29:40 CET] <nicolas17> https://paste.kde.org/p6ql23grx here's the underlying cause... it uses exponential steps to find the last file instead of checking every file
[01:29:59 CET] <nicolas17> so gaps are handled inconsistently depending on if the search happens to check it or not
[01:33:16 CET] <Zexaron> A bit old but this is interesting https://twitter.com/ID_AA_Carmack/status/1052237045526089729
[02:30:36 CET] <gaara4896> Was wondering in FFMPEG configure, the --extra-libs=ELIBS   add ELIBS [$ELIBS], what is the exact meaning of ELIBS? I can't find the meaning of it
[02:34:35 CET] <furq> gaara4896: are you asking where $ELIBS comes from or what you're supposed to put there
[02:34:52 CET] <furq> if it's the former then it's just a user set env var
[02:34:59 CET] <furq> if it's the latter then it'd be like -lfoo -lbar
[02:39:34 CET] <gaara4896> I believe it would be something like libmathlib.so will become -lmathlib right? For adding third party library, is placing the .so file in /lib/ and define --extra-cflags=-Iffmpeg/include and --extra-ldflags=-Lffmpeg/lib sufficient? I tried doing that, but when configure, it always fail and the tail of config.log is always "cannot open shared object file"
[02:41:03 CET] <JEEB> yes, extra-ldflags or you make a pc file for your thing and make configure pick it up (and use PKG_CONFIG_PATH env var to point towards the directory it's in)
[02:41:47 CET] <JEEB> also of course make sure the solib is for the arch you're building FFmpeg for :P
[02:42:17 CET] <JEEB> also generally speaking I wouldn't put my extra dependencies sysroot within the FFmpeg build directory
[02:47:49 CET] <gaara4896> What is the different between --extra-ldflags and --libdir? They both seems to do the same thing to me, which is defining the path to the directory where all the solib is placed
[02:48:09 CET] <JEEB> extra-ldflags by default is not set
[02:48:18 CET] <JEEB> libdir is the directory where libraries installed to
[02:48:27 CET] <JEEB> by default it's --prefix + /lib
[02:48:38 CET] <JEEB> just like bindir is by default prefix + /bin
[02:49:06 CET] <JEEB> I generally for stuff I build locally use a custom prefix like /home/jeeb/ownapps
[02:49:28 CET] <JEEB> (by default in many projects /usr/local)
[02:49:45 CET] <JEEB> but yea, extra-XXXflags is for building/linking
[02:49:58 CET] <JEEB> while libdir is an output (install) parameter for the stuff you built
[02:50:00 CET] <JEEB> :P
[02:51:45 CET] <JEEB> see ../configure --help |grep libdir
[02:51:59 CET] <JEEB> or just one dot if you're in the same dir as the FFmpeg configure script
[03:34:14 CET] <gaara4896> The problem I am facing is I had define --extra-ldflags=-L/<fullpath>/ffmpeg/lib, place the .so file inside the ffmpeg/lib, and define --extra-libs=-l<libname>, and also --enable-rpath, however I am still getting "cannot open shared object file: No such file or directory" in the tail of the error, why does it not reference the .so file to the ffmpeg/lib directory?
[03:34:34 CET] <gaara4896> The problem occur when I am doing ./configure, not during make
[06:37:18 CET] <gaara4896> The problem I am facing is I had define --extra-ldflags=-L/<fullpath>/ffmpeg/lib, place the .so file inside the ffmpeg/lib, and define --extra-libs=-l<libname>, and also --enable-rpath, however I am still getting "cannot open shared object file: No such file or directory" in the tail of the error, why does it not reference the .so file to the ffmpeg/lib directory?
[06:37:23 CET] <gaara4896> The problem occur when I am doing ./configure, not during make
[10:23:20 CET] <gaara4896> The problem I am facing is I had define --extra-ldflags=-L/<fullpath>/ffmpeg/lib, place the .so file inside the ffmpeg/lib, and define --extra-libs=-l<libname>, and also --enable-rpath, however I am still getting "cannot open shared object file: No such file or directory" in the tail of the error, why does it not reference the .so file to the ffmpeg/lib directory?
[10:48:07 CET] <JEEB> because whatever the result is you're getting isn't finding whatever you're needing? :P
[10:49:03 CET] <JEEB> if you are not getting through the configure phase then check ffbuild/config.log for the exact command that you can try then running manually. otherwise `make V=1` is what during running the Makefile outputs the full commands
[10:49:16 CET] <JEEB> so you can see exactly how the output looks and if it contains what you think it does
[10:50:14 CET] <gaara4896> the `make V=1` is for making stage is it?
[10:51:32 CET] <JEEB> whatever that means
[10:52:08 CET] <illuminated> is ffmpeg coded in c?
[10:52:31 CET] <JEEB> yes
[10:52:47 CET] <JEEB> there's very few C++ files explicitly for libraries that require C++ interfaces
[10:53:54 CET] <illuminated> ok, and what is handbrake coded in?
[10:54:06 CET] <JEEB> I have no idea
[10:54:08 CET] <illuminated> I understand it's kinda just a gui frontend to ffmpeg
[10:54:23 CET] <JEEB> it is an API client for FFmpeg, and then on top of that it has the front-end
[10:54:48 CET] <illuminated> I'm learning programming
[10:54:56 CET] <illuminated> and I'm looking for projects
[10:55:13 CET] <illuminated> thought that writing a simple frontend to ffmpeg would be an interesting project
[10:55:22 CET] <gaara4896> I tried to put the last command in the config.log into my console and it works lol, and able to get -l<libname> wihtout a problem, but it get error when doing ./configure <param...>
[10:55:38 CET] <illuminated> anyway thanks
[10:56:49 CET] <JEEB> gaara4896: so you're not getting further than configure?
[10:57:17 CET] <JEEB> gaara4896: then find what command fails ffbuild/config.log
[10:57:57 CET] <gaara4896> JEEB: The failing comamnd in config.log works when I run it seperately, yet fail when inside .configure
[10:58:52 CET] <gaara4896> https://pastebin.com/6Uwk87bZ, what is the few thing that looks like hash value .c?
[10:59:08 CET] <gaara4896> like /tmp/ffconf.R74iH7Iv.c
[10:59:12 CET] <JEEB> that's the temporary .c file's name
[10:59:21 CET] <JEEB> the script uses mktemp or something to generate them
[10:59:49 CET] <JEEB> in this case it's a basic check if you can compile a file that contains a simple main that returns 0
[11:01:24 CET] <gaara4896> I see, no wonder it says C compiler fail test
[19:08:42 CET] <a__pi> I'm trying to download something rtsp with Transport: MP2T/H2221/UDP. I tried -rtsp_transport udp but it's not sending this type of transport. Is it possible to use this type with ffmpeg ?
[23:06:26 CET] <limbo_> Is there some kind of CLI video encoder interface with a lot of presets for what can play on different platforms, and speed/quality? e.g. encodething -i file.webm --preset ps4 -q high file.mp4 Like handbrake, but faster + CLI.
[23:07:49 CET] <ritsuka> handbrake uses the same encodes as all the other open sources programs& so the speed will be mostly the same, and there is a handbrakecli version too
[23:40:54 CET] <limbo_> interface is pretty bad though. compared to other linux things.
[23:42:43 CET] <furq> do you really need more than one preset these days
[23:42:54 CET] <furq> unless it's for 4k, basically everything wants h264 and aac in mp4
[23:43:23 CET] <nicolas17> the only time I ever had to change something for compatibility was "-profile main" for a crappy TV
[23:43:34 CET] <furq> yeah the days of using baseline and main are more or less over
[23:43:43 CET] <furq> the only real consideration is that you might need to set level 4.1 for hwdec
[23:44:00 CET] <nicolas17> furq: I mean in the days of iPod it was more complicated than just main vs high
[23:44:30 CET] <furq> ipod video was baseline at a specific resolution wasn't it
[23:45:52 CET] <furq> but yeah more or less everything from this decade supports high at 4.1
[00:00:00 CET] --- Mon Nov  5 2018


More information about the Ffmpeg-devel-irc mailing list