Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
February 2018
- 1 participants
- 56 discussions
[00:19:39 CET] <SortaCore> k no patch then
[00:24:25 CET] <atomnuker> SortaCore: git format-patch -1 to export your last commit as a patch
[00:24:37 CET] <atomnuker> -N to export last N commits as patches
[00:27:13 CET] <JEEB> grmbl
[00:27:49 CET] <JEEB> I should probably send my patch for pkg-config'ification of the primary zlib check out
[00:28:01 CET] <SortaCore> danke atom
[00:28:15 CET] <JEEB> because I'm kind of getting tired of configure not finding my zlib from my cross-compilation prefix
[09:18:10 CET] <amit2020cs> Hi everyone , I am new to the open source
[11:16:33 CET] <Guest2640> Hi actually I wanted to make a 2:1 filter in ffmpeg. I went through the writing filter documentation but I am a bit confused. For taking 2 inputs do I just need to add another element to AVFilterPad inputs array?
[11:21:24 CET] <durandal_170> Guest2640: see sidechaincompress filter or blend filter source code
[11:22:23 CET] <Guest2640> Thanks durandal_170
[12:31:10 CET] <Guest2640> How is a frame represented here? I understood about width and height and linespace and padding but what about if we have colour image? Is there a inlink ->depth or something like that?
[12:33:31 CET] <jkqxz> inlink->format is the format of the frames you will get. Set the formats you can handle in your query_formats function.
[12:41:16 CET] <Guest2640> Thanks got it. Can you tell me where can I find documentation for different types of formats I could use?
[12:41:17 CET] <jkqxz> libavutil/pixfmt.h
[16:07:40 CET] <cone-534> ffmpeg 03Michael Niedermayer 07master:ab6f571ef719: avutil/common: Fix integer overflow in av_clip_uint8_c() and av_clip_uint16_c()
[16:07:40 CET] <cone-534> ffmpeg 03Michael Niedermayer 07master:dd8351b1184b: avcodec/exr: Check remaining bits in last get code loop
[16:08:00 CET] <Nakul> Hi, can anyone help me
[16:08:26 CET] <Nakul> For getting started into GSoc?
[16:18:12 CET] <jkqxz> Nakul: What have you done so far? What areas are you interested in?
[16:29:39 CET] <Nakul> I am doing b tech .I am in 2nd semester.i know c,little bit git,asm I am learning
[16:30:23 CET] <Nakul> I like codding and doing something new stuff
[16:31:00 CET] Last message repeated 1 time(s).
[16:31:13 CET] <Nakul> @jkqxz
[16:34:20 CET] <jkqxz> Nakul: And what are you interested in with ffmpeg in particular? Do you use it at all?
[17:28:49 CET] <Guest2640> I am still stuck at taking 2 inputs. What I did was add one more element to AVFilter pad inputs array and kept config_props and filter_frame of both inputs same and tried to just add the 2 frames pixel wise (for testing) in filter_frames function. The erro that I am getting is simple filtergraph expected to have exactly one input and 1 output however it had >1 input or output. Please help.
[17:33:10 CET] <atomnuker> jkqxz: what does vaQueryVendorString() return for AMD devices?
[17:34:30 CET] <durandal_170> Guest2640: use -filter-complex
[17:35:13 CET] <durandal_170> and you need 2 inputs for 2 input pads
[17:37:47 CET] <Guest2640> is -filter_complex a command line flag?
[17:38:01 CET] <durandal_170> yes
[17:41:30 CET] <durandal_170> instead of -vf
[17:42:52 CET] <Guest2640> sorry for silly doubt but where should I put the flag exactly in the command?
[17:43:00 CET] <Guest2640> ooh thanks
[17:43:19 CET] <Guest2640> Do I have to change makefile for this?
[17:45:25 CET] <durandal_170> Guest2640: if you are adding new filter, yes
[17:50:10 CET] <Guest2640> Okay I tried it but now I am getting error Cannot find matching stream for unlabeled input pad 1 on filter parsed_foobar_0
[17:51:33 CET] <durandal_170> Guest2640: have you specified 2 inputs?
[17:51:46 CET] <Guest2640> sorry got it i forgot putting -i between two inputs
[17:51:53 CET] <jkqxz> atomnuker: Similar detail to Intel: "Mesa Gallium driver 18.1.0-devel for AMD Radeon (TM) RX 460 Graphics (POLARIS11 / DRM 3.23.0 / 4.15.2, LLVM 4.0.1)".
[17:53:02 CET] <jkqxz> (The device details come from the same place as e.g. the OpenGL renderer string.)
[17:56:33 CET] <atomnuker> I wish va had a way to get a properly formatted device string after initialization
[17:57:05 CET] <jkqxz> What do you mena?
[17:57:08 CET] <jkqxz> *mean
[18:00:03 CET] <atomnuker> there's no way to know what device is used is from a VADisplay, and you can't go the drm route and get a drm fd from a VADisplay to get a device ID
[18:00:47 CET] <jkqxz> Add it to libva?
[18:01:52 CET] <jkqxz> The string wouldn't help there anyway, because the path isn't immutable.
[18:03:07 CET] <atomnuker> btw which repo provides the amd va driver? is it separate like intel-vaapi-driver?
[18:03:39 CET] <jkqxz> No, it's in the Mesa tree: <https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/va>.
[18:04:18 CET] <jkqxz> (Sharing the same backend stuff as VDPAU and OpenMAX.)
[18:08:48 CET] <Guest2640> Thanks durandal_170 now I am able to take 2 inputs. Now basically I have set both input's filter_frame to one function whose parameters are AVFilterLink and AVFrame. How do I access data of two different frames. For one input I just did in -> data to get frame's data. Now will AvFrame be array of 2 frames and can I simply take both frames by index of AVFrame parameter?
[18:13:28 CET] <kepstin> Guest2640: hmm, if you're writing a filter that takes multiple inputs, you'll probably want to look into using the "framesync" framework to handle timestamp differences, which means that you'll be using the activate callback rather than filter_frame.
[18:16:03 CET] <Guest2640> Thanks kepstin where can I find documentation for framesync framework?
[18:16:09 CET] <kepstin> Guest2640: probably, oh, vf_mix.c is one of the simplest filters that uses that (although it has dynamic inputs rather than static)
[18:16:31 CET] <kepstin> Guest2640: and read framesync.h in the libavfilter directory
[18:16:38 CET] <Guest2640> Thanks!
[18:17:52 CET] <kepstin> Guest2640: note that for filter with 2 fixed inputs, there's some helpers to make it easier to use.
[18:22:04 CET] <Guest2640> Can you tell me bout them?
[18:28:02 CET] <kepstin> they're shown in the framesync.h file, and you can see them used in some filters (do a git grep for 'dualinput' in the libavfilters directory)
[19:48:09 CET] <adi_> quit
[19:59:40 CET] <atomnuker> jkqxz: nice, I can import vaapi surfaces into vulkan now by exporting them as drm
[20:00:01 CET] <atomnuker> seems like something is broken though since I get drm_format 0x20203852
[20:00:34 CET] <atomnuker> if I export them when their format is yuv420p or nv12 (doesn't change)
[20:01:05 CET] <atomnuker> it doesn't correspond to any fourcc code so I'm wondering if that's some sort of undocumented DRM_FORMAT_UNSUPPORTED flag?
[20:01:21 CET] <jkqxz> Yes, it does. The first plane is R8 in both of those.
[20:02:00 CET] <atomnuker> why don't I get DRM_FORMAT_NV12 though?
[20:02:28 CET] <atomnuker> oh maybe its because I thought my libva supports these new formats
[20:02:42 CET] <atomnuker> because I didn't want to implement multiobject importng
[20:02:55 CET] <jkqxz> Does Vulkan support NV12 natively?
[20:02:58 CET] <atomnuker> yes
[20:03:29 CET] <jkqxz> Then pass VA_EXPORT_SURFACE_COMPOSED_LAYERS to vaExportSurfaceHandle().
[20:03:42 CET] <jkqxz> And you'll get a single NV12 layer.
[20:04:21 CET] <jkqxz> (Note: does not work on AMD. The planes are in different objects, so only the separate form works.)
[20:05:47 CET] <jkqxz> If the Vulkan import allows multiple-object forms then I recommend just taking the R8/RG88 and combining them at import time.
[20:12:06 CET] <atomnuker> well, yuv420p works, nv12 doesn't (flickers for 1 frame after dozens, otherwise just green)
[20:12:36 CET] <atomnuker> yeah, I can import multiple planes separately by using disjoint images
[20:13:12 CET] <atomnuker> was kinda hoping I could avoid that but I'll need to if I want to map host memory as vulkan images to use the transfer queue
[20:13:57 CET] <jkqxz> Since there are no constraints at all on how host memory is arranged?
[20:15:40 CET] <atomnuker> for the host memory mapping? yes since, there's no guarantee that (data[0] + width*height*bps) == data[1]
[20:17:08 CET] <jkqxz> And pitch need not be greater than width*bps.
[20:18:03 CET] <atomnuker> hmm, haven't thought about how that would work with non-tight strides
[20:19:08 CET] <jkqxz> Is negative pitch allowed? (From vflip, say.)
[20:22:36 CET] <atomnuker> I don't think so
[20:22:44 CET] <atomnuker> also non-tight pitches won't be a problem
[20:22:57 CET] <atomnuker> since the images which are backed by host memory are temporary
[20:23:11 CET] <atomnuker> I'll just define them as width=stride
[20:23:33 CET] <atomnuker> and when copying I'll copy them to the actual tiled image
[20:24:52 CET] <atomnuker> (which will be allocated with correct width and height so the copy will crop the input image)
[20:32:04 CET] <atomnuker> jkqxz: btw what's the difference between a drm object and a drm layer?
[20:33:33 CET] <jkqxz> An object is just a single allocated thing. Layer is a concept we invented here to express the different ways of putting multiple-plane surfaces into objects.
[20:43:19 CET] <atomnuker> jkqxz: I'm always getting 1 object regardless of what flags I export with or what format I'm exporting from
[20:43:36 CET] <atomnuker> its the number of layers that changes
[20:44:08 CET] <jkqxz> Yes. There is only one object on Intel.
[21:02:36 CET] <atomnuker> what about on AMD?
[21:02:58 CET] <atomnuker> would I get multiple objects if I use SEPARATE or a single object if I use COMPOSED?
[21:05:36 CET] <jkqxz> You get multiple objects if you use SEPARATE and you get an error if you used COMPOSED.
[21:08:35 CET] <atomnuker> derp
[21:53:53 CET] <LiquidAcid> hello, trying to debug some segfault in vgmstream (which is using ffmpeg), i'm getting a null codecpar in AVStream. which is strange, since the code calls avformat_find_stream_info() prior to this
[21:54:06 CET] <LiquidAcid> according to the API codecpar should be set after this
[21:55:22 CET] <JEEB> it really depends on if probing can figure things out
[21:56:08 CET] <LiquidAcid> JEEB, so it can happen that nb_streams != 0, but the streams don't have codecpar set?
[21:57:30 CET] <JEEB> I can't say much without seeing code
[21:58:05 CET] <LiquidAcid> JEEB, https://github.com/kode54/vgmstream/blob/master/src/coding/ffmpeg_decoder.c…
[21:58:22 CET] <LiquidAcid> that's the line where it crashes, codecpar is null at this point
[21:58:44 CET] <JEEB> ok, so you are calling av_register_all at least
[21:58:48 CET] <JEEB> that one I wanted to check just in case
[21:58:49 CET] <LiquidAcid> line 396: avformat_find_stream_info() is called
[21:59:38 CET] <JEEB> does ffprobe say anything interesting about the file you're trying to load, since it's using basically the same APIs?
[22:00:08 CET] <LiquidAcid> JEEB, "Invalid data found when processing input"
[22:01:24 CET] <JEEB> wonder if with the custom AVIO it can't figure out what the input is?
[22:01:27 CET] <JEEB> try calling av_dump_format
[22:01:32 CET] <JEEB> and see what it outputs
[22:03:45 CET] <LiquidAcid> JEEB, does not print anything
[22:04:13 CET] <JEEB> interesting
[22:05:02 CET] <JEEB> what sort of stuff is your input?
[22:05:44 CET] <LiquidAcid> JEEB, has extension .nop, it's some proprietary opus container used on the switch
[22:06:29 CET] <JEEB> so what is libavformat supposed to take in?
[22:07:10 CET] <LiquidAcid> JEEB, no idea, keep in mind that this is not my code
[22:08:45 CET] <JEEB> basically setting a file name with an extension that makes sense and/or forcing the format that the input's supposed to be would help if one would know what you're trying to open :P
[22:09:18 CET] <LiquidAcid> i don't think that's how vgmstream is working
[22:09:45 CET] <JEEB> well, yes. currently the name is set to "" and forced format to nullptr
[22:09:59 CET] <JEEB> anyways, this is API usage and I just noticed we're on -devel
[22:10:13 CET] <JEEB> API usage stuff is supposed to be discussed on the non-devel channel
[22:11:57 CET] <LiquidAcid> k
[00:00:00 CET] --- Sun Feb 18 2018
1
0
[06:47:58 CET] <dagwood> hello
[06:56:34 CET] <dagwood> How to modify the source sent to the git server
[08:04:28 CET] <th3_v0ice> Hello guys, can someone please help me understand why decoder is changing time base after decoding few packets? This really messes up some of my code that is relying on the correct time_base value. Thanks!
[08:16:51 CET] <th3_v0ice> First its reported as 1/48, and then it changes to 0/2 and the framerate goes to 90000/1
[08:17:05 CET] <th3_v0ice> Why is this happening?
[08:48:48 CET] <SortaCore> th3_v0ice: the time_base is changed to reflect the smallest fraction that can represent all the frametimes correctly
[08:49:36 CET] <SortaCore> you also have a time_base in avformatcontext, and in the avstream codec
[08:50:10 CET] <SortaCore> what part changes it, I dunno, not that advanced a ffmpeg user, but it'd be based on the pts/dts fed to it
[08:51:35 CET] <th3_v0ice> SortaCore: But why is it changed mid decoding? Shouldn't avcodec_open2 give correct values for the decoder time_base? Because input stream time_base is 1/90000, input_stream->codec->time_base is 1/180000
[08:52:08 CET] <th3_v0ice> and avcodec_open2 assigns time_base to the decoder_ctx->time_base at 1/48
[08:54:56 CET] <th3_v0ice> From other videos, time_base for the decoder is copied over from the input_stream->codec->time_base. Should I just force this?
[09:46:03 CET] <The-Present> Hi, I am streaming videos to youtube but some times I get SIGPIPE broken pipe error. Is it possible to pass some flag to ffmpeg which can ignore SIGPIPE and try again streaming from the same position?
[10:41:23 CET] <th3_v0ice> SortaCore: Do you know what is the correct way to generate the packet PTS?
[11:07:35 CET] <The-Present> I have one another question just for my information. While streaming with ffmpeg, what is the general reason for getting broken pipe error?
[12:33:05 CET] <kepstin> The-Present: a broken pipe error just means that the other end has closed the connection. With youtube, that typically means that they found a problem with your stream, e.g. wrong settings or it's faster/slower than realtime.
[12:41:20 CET] <The-Present> kepstin: Can I assume that its network related or could be ffmpeg command issue that involves transcoding and stream?
[12:41:20 CET] <The-Present> streaming.
[12:50:21 CET] <Delchi_> Hey all,
[12:50:33 CET] <Delchi_> I believe i found something interesting re my problem the other night
[12:50:43 CET] <Delchi_> but I'mnot quite understanding the error message
[12:51:09 CET] <Delchi_> [asf @ 000002781ba04840] Non-monotonous DTS in output stream 0:1; previous: 128, current: 34; changing to 129. This may result in incorrect timestamps in the output file.
[12:51:23 CET] <JEEB> DTS is decoding time stamp
[12:51:30 CET] <Delchi_> ok
[12:51:31 CET] <JEEB> so you got a packet from an ASF file where the timestamps went backwards
[12:51:40 CET] <Delchi_> That's strange
[12:51:55 CET] <JEEB> so previous packet had DTS 128, current is 34
[12:52:19 CET] <JEEB> and instead of erroring out FFmpeg tries to stick it as previous+1
[12:52:32 CET] <JEEB> so it didn't error out there
[12:52:32 CET] <Delchi_> could this be some camera thing that the camera mfg did to obfuscate the files ?
[12:53:26 CET] <Delchi_> My goal is to take a input file, vut a section of audio out ( replacing with silence ) then have the output to a new file , all .asf with no other changes
[12:53:35 CET] <Delchi_> s/vut/cut
[12:54:01 CET] <Delchi_> Cmd line : ffmpeg -i 01F439232018020715495401.asf -af "volume=enable='between(t,15,18)':volume=0" output.asf
[12:54:26 CET] <Delchi_> however it looks like the output file is quite different from the input, includieng some video changes
[12:54:54 CET] <JEEB> welcome to ffmpeg, if you didn't specify output encoders you will get *something*
[12:55:02 CET] <kepstin> Delchi_: you probably want to be using "-c:v copy" on that
[12:55:04 CET] <JEEB> if you are not poking video at all, I recommend -c:v copy
[12:55:08 CET] <Delchi_> ahhhh ok
[12:55:23 CET] <JEEB> which is short for "codec, video"
[12:55:27 CET] <JEEB> and "copy" is a special value
[12:55:33 CET] <JEEB> in the command line application
[12:55:34 CET] <Delchi_> along with the af , so -c:v copy af .....
[12:55:50 CET] <JEEB> it just has to be after the input somewhere
[12:55:55 CET] <JEEB> and -af , not af
[12:56:00 CET] <Delchi_> er -c:v copy -af ....
[12:56:01 CET] <Delchi_> right
[12:56:37 CET] <Delchi_> Ok, that's better
[12:56:44 CET] <Delchi_> still getting the error msg, but ...
[12:56:55 CET] <JEEB> that message by itself is a warning, not error IIRC
[12:57:03 CET] <JEEB> at least it's not an error that will cause it to error out
[12:57:05 CET] <Delchi_> [asf @ 0000011a9665e400] Non-monotonous DTS in output stream 0:1; previous: 128, current: 34; changing to 129. This may result in incorrect timestamps in the output file. [asf @ 0000011a9665e400] Non-monotonous DTS in output stream 0:1; previous: 129, current: 98; changing to 130. This may result in incorrect timestamps in the output file.
[12:57:10 CET] <Delchi_> Right
[12:57:14 CET] <Delchi_> ok I'm with ya
[12:57:43 CET] <JEEB> it just means that either a) the input contains messed up timestamps or b) the ASF reader read the timestamps wrong
[12:57:55 CET] <JEEB> without prior knowledge I'd bet more on a) but you never know :P
[12:58:09 CET] <Delchi_> Life is strange
[12:58:18 CET] <Delchi_> the camera also makes a metadata file that I've not totally reversed yet
[12:58:53 CET] <Delchi_> also I'm using gspot to compare the input/output videos to make sure thngs are comig out correctly
[13:11:00 CET] <Delchi_> very close
[13:11:18 CET] <Delchi_> now everything plays properly, but there is no audio at all in the camera playback
[13:11:33 CET] <Delchi_> but in VLC the audio is thre and properly edited as per the cmd line
[13:12:34 CET] <Delchi_> Guessed Channel Layout for Input Stream #0.1 : stereo Input #0, asf, from '01F484222018021709165001.asf': Duration: 00:00:21.12, start: 0.000000, bitrate: 2372 kb/s Stream #0:0: Video: mpeg4 (MP4S / 0x5334504D), yuv420p, 640x240 [SAR 1:1 DAR 8:3], SAR 1:2 DAR 4:3, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, stereo, s16, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (
[13:13:20 CET] <Delchi_> Thinking perhaps the camera playback is mono and not stereo , re the ' guessing ' part
[13:15:33 CET] <Delchi_> the orig file says : PCM Audio 0x01 8000hz 256kb/s tot ( 2 chnls )
[13:16:01 CET] <Delchi_> the output file however : 0x02 8000hz 128kb/s tot (2chnls)
[13:16:18 CET] <Delchi_> I'm thinking my cmd line nees a little more tweeking
[13:20:19 CET] <Delchi_> JEEB : Any suggestions ? I'm terying to tell it to copy the audio stream ...
[13:21:13 CET] <Delchi_> lol filtering snd stream copy cannot be used together .. well, yeah
[13:24:30 CET] <kepstin> Delchi_: what output codec did it pick for the audio? it might have encoded to something other than pci which the camera couldn't read
[13:25:07 CET] <kepstin> Delchi_: (if so, using -c:a pcm_s16le should fix it)
[13:25:28 CET] <Delchi_> Yeah I just tried that but gspot is still showing a difference
[13:25:44 CET] <JEEB> it could just be an identifier difference
[13:25:46 CET] <Delchi_> ffmpeg.exe -i 01F484222018021709165001.asf -c:v copy -acodec pcm_s16le -af "volume=enable='between(t,15,18)':volume=0" output.asf
[13:25:48 CET] <JEEB> in the output ASF
[13:25:59 CET] <Delchi_> yeah
[13:26:01 CET] <JEEB> or something very miniscule like that
[13:26:15 CET] <JEEB> I woudl recommend actually using a tool that can show you the innards of an ASF file
[13:26:20 CET] <JEEB> to see the difference
[13:26:26 CET] <JEEB> no idea if there's actually such stuff
[13:26:38 CET] <Delchi_> gspot said for audio PCM audio 0x01 8000hz 256kb/s tot(2chnls) for the original
[13:26:40 CET] <JEEB> esp. if you're trying to play this back on an ekta plastique kind of thing
[13:26:52 CET] <JEEB> like a camera or whatever
[13:26:57 CET] <JEEB> they can be very very hard-coded
[13:27:11 CET] <Delchi_> for the output file it's PCM audio 0x02 8000hz 256kb/s tot(2chls)
[13:27:24 CET] <JEEB> I have no idea what gspot actually outputs
[13:27:24 CET] <Delchi_> so It's similar, but not the same
[13:27:35 CET] <JEEB> you want to know what those values actually mean
[13:27:53 CET] <Delchi_> It's basically a decoder for video files that tells you all aspects of the file including codecs, etc...
[13:27:55 CET] <Delchi_> really handy tool
[13:28:27 CET] <JEEB> well, uhm, it just threw a random number at you and doesn't describe it?
[13:28:32 CET] <JEEB> 0x01 and 0x02
[13:28:36 CET] <JEEB> what be the difference?
[13:28:54 CET] <JEEB> which is why I said you need an actual ASF-specific thing that lets you dig into wtf that stuff is
[13:28:56 CET] <Delchi_> That's a good Q.
[13:29:00 CET] <Delchi_> Aah ok
[13:29:03 CET] <Delchi_> I'm with you
[13:29:14 CET] <Delchi_> Going to test it anyway, see what happens
[13:29:29 CET] <JEEB> also another great thing is mediainfo, which will tell you information but doesn't try to hint you where it thinks it read it
[13:29:49 CET] <JEEB> so then people ask you why a piece of information is shown with file A, but not file B
[13:30:18 CET] <JEEB> and you're like "well it clearly doesn't tell you where exactly it parsed that stuff"
[13:30:27 CET] <JEEB> (or if it was just a guess)
[13:30:33 CET] <JEEB> (but based on what?)
[13:30:45 CET] <Delchi_> Well huzzah
[13:30:47 CET] <Delchi_> it works
[13:30:49 CET] <JEEB> for mp4 files I really like L-SMASH's boxdumper
[13:30:59 CET] <JEEB> well, great :)
[13:31:11 CET] <Delchi_> whatever diff 0x01 and 0x02 is , the camera doesn't care and its playing back the edited file w/out issue
[13:31:20 CET] <Delchi_> Break out the rub
[13:31:22 CET] <Delchi_> tum
[13:31:25 CET] <Delchi_> rum
[13:31:27 CET] <Delchi_> ( I can type )
[13:31:34 CET] <Delchi_> rum drinks for all
[13:32:53 CET] <darsain> I have a zip file with frames as images, and I'm doing "unzip -p | ffmpeg -i pipe:0 ..." to make it into a video, which works most of the time, but sometimes I get "pipe:0: Invalid data found when processing input" error. the zip is fine, files in it are also fine (when I extract them and encode via -f concat it works fine). any idea what might be the issue?
[13:32:55 CET] <JEEB> basically boxdumper for mp4/mov and the likes is basically a text-based representation :) so you get the type of the thing and then the values in it. really great when you want to go down n' dirty and look at actual differences in structure/values
[13:33:13 CET] <Delchi_> Looking forit now
[13:33:26 CET] <JEEB> it's a command line app that is part of the l-smash project
[13:33:33 CET] <JEEB> https://github.com/l-smash/l-smash
[13:34:40 CET] <Delchi_> FYI : http://www.headbands.com/gspot/
[13:34:53 CET] <JEEB> yea, I used to use gspot back in very early 2000s
[13:35:03 CET] <Delchi_> <-- Putting the old in old school
[13:35:04 CET] <JEEB> but it was heavily based on DShow filters then instead of parsing actual data
[13:35:28 CET] <JEEB> ffprobe and mediainfo are the two independent parsers, and then you have mkvinfo for matroska container
[13:36:01 CET] <JEEB> (usually it's a good idea to have some tools for generic media information, and then you have the format-specific tools for more close inspection)
[13:36:34 CET] <JEEB> ffprobe being part of FFmpeg
[13:44:02 CET] <Delchi_> Gotcha
[13:44:25 CET] <Delchi_> I've been using ffprobe ...
[13:53:26 CET] <darsain> so no ideas why ffmpeg denies my input stream?
[14:23:19 CET] <norbert> hm, timeout https://i.imgur.com/ENjk4RL.png
[14:25:01 CET] <norbert> works now
[14:27:20 CET] <norbert> on the "General" tab, when I set my full name (that is also the tab that has an input for the email address) and press "Save changes", it says "Warning: The email address specified is already in use. Please specify a different one."
[16:47:45 CET] <sine0> hey JEEB
[16:48:02 CET] <sine0> remember when I asked in here the other day what was the best command line option to bath resize images
[16:48:17 CET] <sine0> did you say ffmpeg or imgmagick
[16:48:24 CET] <furq> nobody in here would say imagemagick
[16:48:34 CET] <sine0> lmao
[16:49:09 CET] <furq> ffmpeg -v error -i foo.png -vf zscale=123:456:f=lanczos bar.png
[16:49:17 CET] <sine0> ok
[16:51:32 CET] <sine0> I have this dilemma. I have about 3k images that I need to import into an ecommerce, they are of varying sizes. I want to make them 400x400. i want priority on the width, so if the width, so width to 400, and height keeping aspect ratio, if less than 400 i want a 400 height over png and if more i want crop. can I do this my brother
[16:52:13 CET] <sine0> and do you think I need to script this is a for loop
[16:52:33 CET] <furq> yes you'll need a for loop
[16:52:44 CET] <fritsch> and perhaps even two if conditions
[16:52:56 CET] <furq> i'm not entirely clear on what you want
[16:53:15 CET] <furq> you can definitely scale to 400 width and auto height, and you can definitely crop if the height is over 400
[16:53:23 CET] <furq> but i didn't get the middle bit
[16:54:03 CET] <sine0> yea thats it. but if the height is less thank, say its a tube of toothpaste picture sideways.... can it then have it make the image height 400 but with a transparent background for the height. this makes hte display universion when showing products
[16:54:33 CET] <sine0> I can fecking type to save my life on this laptop, sorry folks. normally im on a big old mech keyb
[16:54:38 CET] <sine0> cant*
[16:54:44 CET] <fritsch> you might want to draw it with transparent ink? https://www.youtube.com/watch?v=BKorP55Aqvg
[16:55:09 CET] <furq> so you want everything to be 400x400 and for the height to be either cropped or padding with transparency if it's not 400
[16:55:15 CET] <furq> padded
[16:56:25 CET] <gh0st3d> hey everyone, wanted to check and see if there's anything I can do to speed up this command. It takes ~24s to generate a 10s clip (I'm admittedly not familiar enough to know if that's normal or not). Anywho, here's the command I run: https://apaste.info/Q2QD
[16:56:34 CET] <sine0> furq: thats right
[16:57:00 CET] <gh0st3d> And in case it's relevant, the image that's being used is a 1280x720 so it's being upscaled to 1920x1080. Not sure if that adds a significant amount to the processing time
[16:58:26 CET] <furq> something like -vf scale=400:-2:f=lanczos,pad=0:if(gt(ih\,400)\,400):0:if(gt(ih\,400)\,(400-ih)/2),crop=400:400:0:0
[16:58:58 CET] <furq> or
[16:59:10 CET] <furq> -vf scale=400:-2:f=lanczos,pad=0:if(gt(ih\,400)\,400):0:if(gt(ih\,400)\,(400-ih)/2):color=0x00000000,crop=400:400:0:0
[16:59:24 CET] <furq> hopefully padding with alpha actually works, otherwise it gets more complicated
[17:01:11 CET] <sine0> furq your a little gangster mate im going to try this out.
[17:01:35 CET] <furq> that pad stuff is broken, hang on
[17:02:19 CET] <furq> -vf scale=400:-2:f=lanczos,pad=400:if(lt(ih\,400)\,400):0:if(lt(ih\,400)\,(400-ih)/2):color=0x00000000,crop=400:400:0:0
[17:02:22 CET] <furq> that should be it
[17:02:43 CET] <furq> also you'll probably want to quote everything after -vf
[17:03:48 CET] <furq> gh0st3d: there's not much you can do other than -preset superfast
[17:03:59 CET] <furq> you could also prescale the image to 1080p
[17:04:28 CET] <furq> i'm pretty sure ffmpeg will scale every frame
[17:04:37 CET] <gh0st3d> Gotcha, thank you very much!
[17:04:54 CET] <furq> i also don't think setdar/setsar are doing anything there
[17:05:05 CET] <furq> that won't give a noticeable performance difference though
[17:05:24 CET] <gh0st3d> The output video is getting merged with another video and I thought I read they had to be exactly the same for easy concatenation
[17:05:32 CET] <furq> oh right
[17:05:40 CET] <furq> well
[17:05:48 CET] <furq> i would have expected that to be the dar/sar regardless
[17:06:05 CET] <furq> also you probably want -framerate 25 before -i, and get rid of -r 25 after i
[17:06:13 CET] <furq> before -i mockup.png obv
[17:07:49 CET] <gh0st3d> This sounds rude but it's a real question haha. What is the difference between those two?
[17:10:19 CET] <furq> i think it's the default anyway so -r 25 will be a no-op
[17:10:44 CET] <furq> but -framerate before a looped image input is the framerate it'll read at
[17:12:01 CET] <furq> -r as an output option will then drop/duplicate input frames to achieve that output framerate
[17:12:24 CET] <furq> the result is the same in this instance but it's generally a good habit to distinguish the two
[17:12:49 CET] <furq> also i suspect -framerate is slightly faster
[17:16:41 CET] <gh0st3d> Dang, still runs about the same time with both changes.
[17:17:04 CET] <gh0st3d> What if I made a 1second video clip, and then when I merge it with the other video I just merge it 9 more times?
[17:17:17 CET] <gh0st3d> Guess I couldn't really do the fadein at that point
[17:17:31 CET] <furq> by both changes do you mean prescaling the image and -preset superfast
[17:18:29 CET] <gh0st3d> Prescaling & the -framerate before the -i. I'll see how superfast does. I was worried it would ruin the quality too much
[17:21:27 CET] <furq> you can just bump the crf if you're worried about that
[17:21:44 CET] <furq> actually
[17:21:52 CET] <furq> are you using x264 for the video you're concatenating this to
[17:22:03 CET] <furq> if you are then you'll want to use the same preset
[17:24:50 CET] <gh0st3d> hmm, how do I find that if I use ffprobe on the first file? The code already merges them successfully, if that answers the question
[17:26:00 CET] <furq> it won't show up in ffprobe
[17:26:14 CET] <furq> check the x264 encoder settings in mediainfo and compare it to http://dev.beandog.org/x264_preset_reference.html
[17:26:24 CET] <furq> but yeah if it works now i'd just leave it as is
[17:26:36 CET] <furq> unless you're really desperate to shave four seconds off
[17:27:39 CET] <gh0st3d> I'll see if it can merge with the superfast setting. Switching to that took off 10 seconds which should be good enough assuming the video still looks fine.
[17:27:49 CET] <furq> you can just lower the crf if it looks off
[17:28:38 CET] <furq> if it doesn't work then try -preset superfast -refs 2
[17:30:07 CET] <gh0st3d> Sweet, that worked fine. This should be perfect then! Thank you again!
[17:53:30 CET] <sine0> furq: option f not found
[17:53:36 CET] <sine0> -vf that you pasted earlier
[17:53:54 CET] <furq> zscale, not scale
[17:53:57 CET] <sine0> sudo apt-get install ffmpeg && libavfilter-dev
[17:54:03 CET] <sine0> k
[17:54:33 CET] <sine0> no such filter zscale what deps do i need to pull in
[17:55:04 CET] <sine0> [AVFilterGraph @ 0x5646c95539a0] No such filter: 'zscale'
[17:56:23 CET] <furq> in that case scale=123:456:sws_flags=lanczos
[17:56:48 CET] <furq> you'd need to rebuild ffmpeg with zscale if you don't have it
[17:57:05 CET] <furq> the regular scaler will be fine
[17:58:06 CET] <sine0> yes that filter worked great. thanks im using debian, I wouldnt want to start building my own ffmpeg at this current time :D
[17:59:12 CET] <sine0> but the transparency didnt work. is that because of zscale or not
[17:59:28 CET] <sine0> isnt transparency FFFFFFF
[17:59:32 CET] <sine0> now thats white
[17:59:41 CET] <furq> it's rgba
[17:59:47 CET] <furq> it doesn't matter what rgb is if a is 00
[18:00:12 CET] <furq> i take it your input and output format supports transparency
[18:00:20 CET] <sine0> would it matter if the source was jpg and the file saved was png
[18:00:28 CET] <furq> probably
[18:00:39 CET] <furq> try adding format=rgba to the start of the filterchain
[18:01:58 CET] <sine0> that works thanks for your time and input, it has given me a real legup. ta
[18:17:53 CET] <leewdch> are there options for libvpx I should take care of when working with still images?
[18:18:23 CET] <leewdch> libx264 has a tune specific for still images, I was wondering if there are options to do the same thing with libvpx
[19:43:31 CET] <JEEB> alexpigment: btw I just checked one of the two UHD BD discs I have and it seems like libbluray is getting language codes from somewhere
[19:43:50 CET] <JEEB> it could be in the playlist file since pointing lavf at the MPEG-TS file doesn't show anything
[19:57:42 CET] <malc_> I'm getting "tests/Makefile:175: tests/fate/xvid.mak: No such file or directory" after successful configure (git head), what's wrong? (configuring xvid out doesn't help)
[22:38:10 CET] <JEEB> kind of surprised I didn't lose mastering display metadata when doing stream copy from MPEG-TS to mp4
[23:45:07 CET] <dystopia_> is there anyway to get ffmpeg to just show it's stats line? instead of video input/output info then it's stats line
[23:45:20 CET] <dystopia_> or someway to do like cls before it's stats line shows
[00:00:00 CET] --- Sun Feb 18 2018
1
0
[06:03:45 CET] <SortaCore> why does QSV "selected ratecontrol method not available" error not outptu the selected ratecontrol method?
[06:04:53 CET] <SortaCore> if you passed ratecontrol in one command it'd be understandable, but it gathers the rc from a bunch of params
[06:26:28 CET] <amit2020cs> Hi everyone , I am Amit and want to contibute to the community
[10:46:50 CET] <nakul> Hi, kierank
[10:50:34 CET] <mateo`> Is it ok to use the bool type in the codebase ? (I'm looking at Aman's MediaCodec patch)
[10:51:13 CET] <mateo`> The only other use of this type is in the videotoolbox decoder
[10:56:03 CET] <wm4> mateo`: as long as you include stdbool, it should work at least (though I guess the public API shouldn't use it)
[10:56:52 CET] <wm4> regarding we "want" it, no idea, there are other C99 features which we pretend do not exist (although we definitely require C99)
[11:03:05 CET] <mateo`> doesn't we also require c11 ?
[11:05:50 CET] <wm4> yeah I guess for atomics we require c11, although we emulate them when C11 is not available
[11:06:13 CET] <jdarnley> So not exactly *required* then.
[11:07:12 CET] <jdarnley> But since we require the c99 standard integers I don't see why bool can't be used
[11:07:22 CET] Action: jdarnley has no comment about API
[11:11:10 CET] <Chloe> mateo`: I think we use c99 so probably
[11:38:20 CET] <nevcairiel> public API should remain free of those for compatibility, but in the code its probably fine
[11:40:00 CET] <mateo`> ok, everyone seems to agree so far, so i guess it's ok
[11:41:31 CET] <jkqxz> I would be kindof dubious about using it in general, but in android code it is surely fine because the set of usable compilers there is very restricted.
[11:51:30 CET] <wm4> actually the only incompatibility is with actual C89 users
[11:51:51 CET] <wm4> (for the API)
[11:52:00 CET] <wm4> jkqxz: even on android everything is going to support C99
[11:55:55 CET] <sfan5> the only supported compilers on Android are gcc 4.9 and clang 5.0
[11:56:13 CET] <sfan5> even older versions of the NDK have recent enough compilers that support C99 (e.g. gcc 4.8)
[11:59:08 CET] <JEEB> and those versions of gcc/clang have been around for quite a while
[12:10:39 CET] <wm4> whatever happened to the patch that makes the filter list in libavfilter static
[12:11:20 CET] <nevcairiel> that guy did it somehow entirely different to what avcodec etc did, and when he was told to unify it, he vanished
[12:48:44 CET] <atomnuker> Chloe?
[12:52:19 CET] <wm4> no, someone else
[12:52:37 CET] <nevcairiel> thats why it turned into something entirely different - different people doing the same hting and not talking =p
[13:22:42 CET] <CounterPillow> Hello, I wish to inquire whose dick I have to suck for a new release to be made. I have excellent tongue skills.
[13:23:08 CET] <thardin> wew
[13:26:13 CET] <thardin> lewd & rude
[13:26:29 CET] <thardin> stew
[13:27:02 CET] <kierank> CounterPillow: your own
[13:27:07 CET] <kierank> it's all you can get
[13:27:13 CET] <CounterPillow> :C
[13:43:29 CET] <JEEB> does anyone btw have any idea of what is the set of items to be done so we can start making a release branch?
[13:43:51 CET] <JEEB> (and then we can get the left things fixed so a release can be made)
[13:50:02 CET] <durandal_1707> nothing is set yet imho
[13:50:50 CET] <durandal_1707> lavfi filters into extern table?
[13:53:41 CET] <gagandeep> kierank: i have been interested in the cineform project because i will be learning more about codecs, videos and audio as i have been interested in that stuff
[13:53:56 CET] <kierank> ok
[13:54:35 CET] <gagandeep> but i still don't understand the relevance of doing cineform implementation in ffmpeg libraries
[13:55:37 CET] <gagandeep> what is ffmpeg actually doing by implementing their own version for various codecs
[13:56:34 CET] <gagandeep> i just don't understand the reason for doing this, and i know that i am perhaps sounding a bit offensive so i appologize for that
[13:57:57 CET] <noob> Hello. I just wanted to suggest allowing cryptocurrencies donations, like Bitcoin Cash or Monero.
[13:58:05 CET] <durandal_1707> look at vp8, and others, they are faster, also cineform was opened long after it was reverse engineered
[14:00:04 CET] <durandal_1707> gagandeep: also bunch of codecs are not open source at all, so there is ffmpeg
[14:00:07 CET] <gagandeep> durandal_1707:so we don't just have to reverse engineer but actually to improve
[14:01:01 CET] <durandal_1707> something like that
[14:01:20 CET] <gagandeep> durandal_1707:thanks, i have been solely interested in this project because of what i will get out of doing this but now i am asking what the org will get from me doing this
[14:01:34 CET] <gagandeep> thanks for the answer
[14:02:51 CET] <durandal_1707> gagandeep: it will get better decoder
[14:03:39 CET] <gagandeep> i see now why interacting with the community is important for open source
[14:03:53 CET] <kierank> gagandeep: the gopro code is very hard to understand
[14:03:57 CET] <kierank> even when open source
[14:05:12 CET] <gagandeep> kierank: my exams are from 18th so i will not be actively participating till 23rd feb, so that is the reason i haven't been able to see much code yet
[14:05:21 CET] <kierank> ok
[14:05:38 CET] <kierank> deadline is march 27
[14:05:40 CET] <kierank> so you have time
[14:06:36 CET] <gagandeep> yeah, i haven't had the time for examining the codes yet properly so i felt lost and came here to discuss, but ya you guys have cleared the doubt
[14:06:48 CET] <gagandeep> a'right i am logging off now, thanks again
[15:12:00 CET] <doomedary> hey
[15:12:30 CET] <doomedary> db9e87dd8c1ce11d37edc16f9380ee8dee68891b breaks AVIO_FLAG_DIRECT use for me completely. I put in a check to exclude the change of packet size in that case which makes everything work again
[15:14:38 CET] <doomedary> Could someone tell me if I'm stupid and everything is intended like that (or verify that this commit breaks AVIO_FLAG_DIRECT) and that this simple fix would be ok?
[15:33:56 CET] <JEEB> so whatever protocol you're using is !h->is_streamed ? (whatever that flag means)
[15:34:11 CET] <JEEB> but in general yes, it seems to add additional buffering into the process so if that's your issue
[15:34:18 CET] <JEEB> then that sounds correct'ish
[15:34:43 CET] <doomedary> h->is_streamed is defined right above, which is kind of a silly check
[15:35:00 CET] <doomedary> so, whenever it's a file, h->is_streamed is false
[15:35:20 CET] <JEEB> right
[15:35:39 CET] <JEEB> anyways, feel free to post the patch on the ML and CC marton
[15:35:57 CET] <JEEB> if it's incorrect for some reason, we'll find out
[15:36:03 CET] <JEEB> if not, it will get applied
[15:36:14 CET] <doomedary> The problem is that the error is really confusing and this took me quite some time to locate. All of a sudden, av_write_frame and av_interleaved_write_frame would give EIO if my packets get too big (so depending on the content of my frames, it would fail with EIO)
[15:36:43 CET] <JEEB> I bet :P
[15:36:55 CET] <JEEB> bisecting probably would have been the simplest way to get to a known working state
[15:37:04 CET] <JEEB> and thus find the breaking commit
[15:37:08 CET] <doomedary> yeah i did a bisect
[15:37:39 CET] <doomedary> I just have this big software involving quite some hardware as well so each iteration took a bit
[15:38:09 CET] <doomedary> ok, i'll see if I can submit a patch, I believe ffmpeg does not require any signed forms
[15:39:30 CET] <JEEB> yea, it doesn't
[15:40:46 CET] <JEEB> if it's a corporate thing generally "-s" / "--sign-off" during `git commit` will mark it as something that someone signed off (although not required, pretty sure I've seen people post corporate patches without it, too)
[15:41:18 CET] <JEEB> we just generally think that if someone posted a patch on the ML, it was OK
[15:42:20 CET] <doomedary> ok, but should be fine for me/us it's only 20 chars :D
[15:42:44 CET] <doomedary> but i guess I should test agains master/HEAD first etc etc
[15:42:55 CET] <doomedary> and check if not anyone else noticed :| tedious
[15:49:19 CET] <durandal_1707> jamrial: load of money mostly
[15:49:49 CET] <jamrial> cool
[17:12:44 CET] <Chloe> atomnuker: I guess I can do lavfi. I also have a fully working cmdutils patch here
[17:16:12 CET] <Chloe> I just didnt want to do lavfi with the other libs cause lavfi is just so different and difficult
[17:16:53 CET] <JEEB> it makes sense to do things one by one :P
[17:16:56 CET] <JEEB> even if not difficult
[17:35:35 CET] <kepstin> alright, so I rewrote the fps filter using the activate callback.
[17:35:46 CET] <kepstin> I'm doing some more testing atm, but if anyone wants a look: https://gist.githubusercontent.com/kepstin/8f964bf6d336d9ef185af39445714ac2…
[17:43:59 CET] <durandal_1707> kepstin: send it to ml for review by nicolas
[17:44:18 CET] <kepstin> yeah, I plan to. I'm just finishing up some of my own tests first.
[17:46:37 CET] <kepstin> I think I'll probably have to write some fate tests too; there aren't any for the fps filter yet (i think?) so I'm not sure if I've introduced any regressions.
[17:49:07 CET] <durandal_1707> atomnuker: are you alive?
[17:51:04 CET] <atomnuker> yes
[17:51:46 CET] <durandal_1707> so why it takes so long to finish vulkan stuff?
[17:53:59 CET] <kepstin> oh, hah, that patch I linked doesn't even compile thanks to a typo.
[17:54:03 CET] Action: kepstin gets back at it.
[17:55:08 CET] <atomnuker> durandal_1707: I wanted to get drm buffer importing working as well as host mapping for async uploading done to do things as properly take advantage of whatever's supported
[17:57:07 CET] <atomnuker> s/as// s/properly/properly and/
[18:44:42 CET] <Nakul> Hi,kieran
[19:01:50 CET] <kierank> :(
[19:02:10 CET] <kierank> that guy has added me on facebook, tried and failed to tweet me and left irc too quickly :(
[19:02:36 CET] <durandal_1707> you have facebook?
[19:19:05 CET] <kierank> durandal_1707: yes
[19:19:21 CET] <kierank> durandal_1707: you not on facebook
[19:19:24 CET] <kierank> i tried adding you
[19:32:55 CET] <durandal_1707> kierank: one need to be very special for me to add to facebook
[19:33:08 CET] <kierank> but you can join facebook ffmpeg crew
[19:33:16 CET] <kierank> daemon404, av500 and others
[19:33:36 CET] <durandal_1707> what? thats awfull
[20:48:48 CET] <tmm1> i wish MAINTAINERS had irc handles
[21:03:55 CET] <thardin> that's not a bad idea
[21:04:08 CET] <thardin> I had just the same thought when writing myself into it a few days ago
[21:19:43 CET] <nevcairiel> well so the GCC produced import libraries on windows definitely don't work right with MSVC, guess i'll send a patch to revert that change
[21:22:23 CET] <jamrial> nevcairiel: oh?
[21:22:31 CET] <nevcairiel> i told you this would happen :p
[21:23:42 CET] <JEEB> wasn't there just a discussion about that? and that def files could be used iwth link to create them?
[21:23:46 CET] <JEEB> (if available)
[21:23:58 CET] <jamrial> but we're not using dlltool, and msvc doesn't accept dll.a afaik
[21:24:01 CET] <nevcairiel> we used to do that, i have no clue why it was removed
[21:24:11 CET] <nevcairiel> dll.a is just a name, MS takes whatever you feed it
[21:24:14 CET] <JEEB> yea
[21:24:21 CET] <JEEB> with dll.a you just need to specify teh full name
[21:24:32 CET] <JEEB> since it only links against ".lib" by default without extensions
[21:30:29 CET] <nevcairiel> i'm not sure if dlltool generates on that works, I should test that
[21:30:46 CET] <nevcairiel> but we used to use lib.exe, libav for some reaosn removed that years ago, despite shit not working in all cases
[21:36:04 CET] <jamrial> i see lib.exe is being used in compat/windows/makedef
[21:36:15 CET] <jamrial> but only if binutil's ar is not present
[21:36:40 CET] <nevcairiel> it creates a lib file to dump the symbols from it, but deletes it again
[21:37:05 CET] <jamrial> right
[21:39:21 CET] <nevcairiel> ok the one-and-a-half revert works, lets see if dlltool behaves differently then gcc-made lib files
[21:43:26 CET] <nevcairiel> dlltool also seems to work, just gcc producing shit
[22:25:43 CET] <RiCON> nevcairiel: i remember mstorjo's change was because ffmpeg's linking kept getting broken by external libs setting declspec(dllimport)
[22:25:56 CET] <RiCON> i never actually tried it since, though
[22:26:07 CET] <JEEB> that's wbs here on IRC
[22:26:29 CET] <nevcairiel> all I know is that master doesnt work, and this does =p
[22:27:23 CET] <RiCON> this was specifically for shared ffmpeg + external static libs
[22:27:40 CET] <wbs> nevcairiel: what part in particular doesn't work with the binutils produced import library?
[22:28:21 CET] <nevcairiel> heck if i knew, it just doesnt load the library and the depends tool reports rather odd things that dont make sense
[22:28:35 CET] <nevcairiel> regenerate the lib with lib.exe, re-link my library, stuff works
[22:29:01 CET] <wbs> hmm, ok, I definitely should recheck that then
[22:29:10 CET] <wbs> or perhaps it's some difference between ffmpeg and libav?
[22:29:46 CET] <nevcairiel> dlltool works as well, its just gcc that produces something that doesnt work
[22:30:19 CET] <wbs> oh, ok
[22:30:36 CET] <wbs> that I really don't know why gcc itself produces something different than what dlltool does
[22:30:49 CET] <jamrial> we're adding a bunch of SHFLAGS to the gcc --out-implib call that libav doesn't
[22:33:15 CET] <nevcairiel> when using the gcc libs, for some reason the linker looks for the avresample symbols in avcodec, avformat and avutil, and doesnt find them, and loading fails. despite also loading them from avresample itself. well at least thats what depends22 reports, who knows if it got confused by some other weirdness going on
[22:33:39 CET] <nevcairiel> curious that the .lib format is still such a piece of black magic :D
[22:34:47 CET] <wbs> oh, it's worse than that actually
[22:35:13 CET] <wbs> msvc and gcc uses two completely different styles of libraries for import libraries
[22:35:44 CET] <wbs> msvc uses a special kind of "object file" for functions to export/import from a dll
[22:36:03 CET] <nevcairiel> thats why msvc .lib files can also be magic hybrid files with some static functions and some linked
[22:36:21 CET] <wbs> that's also doable with gcc
[22:36:35 CET] <wbs> the .a/.lib files are just static libraries with no magic in itself on that level
[22:37:02 CET] <wbs> however, gcc on the other hand doesn't use the same kind of magic object files as msvc, but uses a bunch of pretty regular object files
[22:37:28 CET] <wbs> if you link those object files, you more or less will end up with the exact layout that you need in the dll import segment of a binary
[22:37:58 CET] <wbs> so instead of having a magic thing which says "this is a function to be imported", it's handled and linked as any other data
[22:38:10 CET] <wbs> which is kinda neat in one way
[22:38:42 CET] <wbs> but I tried adding support for that in lld, but haven't succeeded yet; there's some unknown piece of the logic on how to do it that we're missing there in lld
[22:39:04 CET] <wbs> (msvc link.exe mostly can do it, and all one ever would want to know is available to read in the binutils sources, but...)
[22:40:15 CET] <nevcairiel> seems to me like its moving the responsibility to the wrong side
[22:40:48 CET] <nevcairiel> telling the linker "import this symbol" seems more straightforward then producing an object that just happens to fall into the right place
[22:42:20 CET] <wbs> in one way yes. although the other one also gives some sort of more freedom to express other things I guess
[23:12:18 CET] <wbs> nevcairiel: ok, I can reproduce that. will send a revert for that commit to libav after some more testing with my llvm-mingw setup
[23:14:41 CET] <nevcairiel> with a plain revert, similar to the patch i send to ffmpeg-devel, you still get both, the .dll.a from gcc (for gcc, i guess), and the .lib for msvc, suppose that works well enough
[23:15:32 CET] <wbs> I think the .lib that is produced by dlltool also should work for gcc/ld, but perhaps there's some fancy incomaptibility there as well (but I doubt it)
[23:16:00 CET] <wbs> just curious, if dlltool (which is in the same gnu binutils project as ld) can do it properly, why can't ld?
[23:16:21 CET] <nevcairiel> the binutils people d ont care that much for win32
[23:16:41 CET] <nevcairiel> 2.30 cant even make any working windows binaries
[23:16:44 CET] <nevcairiel> so much for testing :)
[23:20:44 CET] <SortaCore> *slowly stares at videolan cross compiler team*
[23:21:11 CET] <SortaCore> I need more tea
[23:21:31 CET] <SortaCore> can someone explain how to make a patch, they'll be like two-liners to make error messages more useful
[23:21:59 CET] <SortaCore> but me git noob and apparently have the memory of a sieve with git as well
[23:24:36 CET] <jamrial> nevcairiel: msys2 pushed binutils 2.30 and i've been using it
[23:24:47 CET] <jamrial> admitedly, they might have added some patch on top of it
[23:24:48 CET] <nevcairiel> yeah they picked the fix
[23:24:51 CET] <jamrial> right
[23:25:01 CET] <nevcairiel> but its still hilarious that they managed to make a release with such a huge flaw
[23:25:01 CET] <JEEB> they probably broke everything at first and then picked the fix in ;)
[23:25:07 CET] <JEEB> yes
[23:25:15 CET] <JEEB> binutils should have at least tested the binary they made once
[23:25:39 CET] <jamrial> JEEB: yep, msys2 pushed 2.30, reverted to 2.29, pushed it back with the fix it seems
[23:25:45 CET] <JEEB> :D
[23:26:16 CET] <RiCON> i remember at least x265 being broken by the initial release of 2.30
[23:26:24 CET] <jamrial> they also pushed an update for perl that broke a lot of modules, including the ones needed by git send-email
[23:26:29 CET] <RiCON> binary ran but had no version
[23:26:30 CET] <jamrial> but it was fixed fairly quikc
[23:33:09 CET] <cone-879> ffmpeg 03Gyan Doshi 07master:f0809bc0fa63: avformat/mpegenc - accept PCM_DVD streams
[23:33:09 CET] <cone-879> ffmpeg 03Gyan Doshi 07master:310d56e86f49: fate/mpegps: add tests for PCM_DVD stream remux
[00:00:00 CET] --- Sat Feb 17 2018
1
0
[00:23:56 CET] <kuahara> I am getting my ass handed to me with ffmpeg. I am trying to run the following: for "%%a" in ("dir %userprofile\video\input /b") do c:\datapoint\ffmpeg\bin\ffmpeg -i %%a -c:a copy -c:v copy -y "%userprofile%\desktop\video\output\"
[00:24:13 CET] <kuahara> basically just want to copy whatever video is in the input folder to .mp4 in the output folder
[00:24:38 CET] <kuahara> just copying the audio/video from any container type; don't really care what it is, to .mp4
[00:25:10 CET] <kuahara> When I run that command as is, there is no output on the cmd line. Just drops down 2 lines as if I smacked the enter button twice. What am I doing wrong?
[00:40:29 CET] <SortaCore> kuahara: for expects a folder, not the return of dir, from what I've seen
[00:41:06 CET] <SortaCore> https://ss64.com/nt/for2.html
[00:45:55 CET] <nicolas17> what is memory usage in x264 encoding proportional to? does it keep a whole GOP of frames in memory, for example?
[00:46:09 CET] <nicolas17> (such that larger GOP -> directly more memory usage)
[00:47:13 CET] <JEEB> it has a lookahead
[00:47:22 CET] <JEEB> and then the amount of the references
[00:47:41 CET] <nicolas17> ah rc-lookahead?
[00:47:46 CET] <JEEB> yes
[00:48:49 CET] <nicolas17> I was also calculating 1920*1080*3 bytes per frame but I guess that's wrong if the frames in memory are YUV and chroma-subsampled
[00:49:27 CET] <JEEB> well, you can encode 4:4:4 RGB if you want :D
[00:49:44 CET] <nicolas17> well you *could* :D
[00:50:07 CET] <JEEB> oh, and frame threads
[00:50:21 CET] <JEEB> since you're doing N pictures at the same time they must be in memory
[00:50:30 CET] <JEEB> (the input pictures)
[00:52:24 CET] <nicolas17> if x264 config line says "threads=1 lookahead_threads=1 sliced_threads=0" does that mean it's using one thread? or does it mean "multithreading = on"?
[00:53:08 CET] <JEEB> I think threads=1 is single threaded
[00:53:22 CET] <JEEB> and then there's I guess one thread for lookahead
[00:53:29 CET] <SortaCore> oh kuahara: yeah, you can use FOR like that, but you need FOR /F
[01:58:49 CET] <solidus-river> hey all, i'm trying to encode 1080p video frame by fraem in rgb format via ffmpeg and get no meaningfull errors however my call to avcodec_encode_video2 returns 0 and i get no packet back
[01:58:56 CET] <solidus-river> where do i start digging to figure out whats going wrong here?
[02:00:17 CET] <DHE> some codecs buffer frames. libx264 is notorious for buffering multiple seconds worth (assuming reasonable framerates) when using defaults.
[02:01:03 CET] <nicolas17> with a video several seconds long and "-preset slow" I have seen encode_video2 return no frames *ever*
[02:01:04 CET] <DHE> after a while it'll start doing one-in-one-out. when you're done feeding frames, feed it NULLs instead of frames and it'll keep spitting out the buffered frames as it finishes
[02:01:22 CET] <nicolas17> I got all the frames at once when I finished
[02:01:31 CET] <DHE> also avcodec_encode_video2 is the old API. if you're using newer ffmpeg versions consider using the new API
[02:08:29 CET] <solidus-river> DHE, i am using the latest version, where can i find docs on the new api? all the examples / docs i found use avcodec_encode_video2
[02:09:07 CET] <DHE> search the doxygen for avcodec_send_frame and avcodec_receive_packet (when decoding, send_packet and receive_frame)
[02:09:17 CET] <solidus-river> i am using h264 so buffering might be a real possibility, thats annoying about the buffering
[02:09:21 CET] <DHE> match the ffmpeg version you're using though
[02:09:54 CET] <nicolas17> solidus-river: you can reduce buffering but reduce quality too
[02:09:56 CET] <solidus-river> DHE, thanks, also i'm not sure what FORMAT_YUV420 etc is about, I'm aiming to fid it rgb uint8 valuse, is there a better setting to use for that or what does that determine / where can i find more info on it
[02:10:12 CET] <DHE> solidus-river: short of multi-pass encoding, x264 does it for rate control decision making. you can av_dict_set(&encoderdict, "tune", "zerolatency", 0); if you really really want, but it's usually a big loss for quality
[02:11:10 CET] <DHE> the most common H.264 colourspace is yuv420. most hardware players (including quicktime) only support it.. so you usually get a warning if you're not using it and not setting bits to indicate you're sure about what you're up to
[02:13:10 CET] <solidus-river> ok, the example i shamelessly pulled uses yuv420 so i'm probably ok there, wanted to understand what that meant though
[02:13:15 CET] <solidus-river> is that the colorspace of each frame :?
[02:14:17 CET] <nicolas17> yes
[02:14:37 CET] <nicolas17> if you feed it something else (like RGB), ffmpeg will convert it for you
[02:16:36 CET] <DHE> ffmpeg yes. the API, no. you have to provide it the right colourspace, or use a converter.
[02:17:05 CET] <DHE> you could use libswresample or the libavfilter APIs
[02:17:05 CET] <nicolas17> I don't remember having to add a converter filter myself...
[02:18:29 CET] <nicolas17> oh my input was yuv already ^^'
[02:21:01 CET] <solidus-river> should i be using avcodec_alloc_context3 or is there a new api for that :|
[02:21:40 CET] <solidus-river> oy,n ow i'm worried these are all old api's is there a new api / latest and gretest ref for encodign a simple vid out there?
[02:23:08 CET] <solidus-river> oh well, i'll assume a context is a context
[02:23:31 CET] <DHE> yes a context is a context
[02:23:42 CET] <DHE> and as long as avcodec_encode_video2 is available it's safe to use
[02:24:08 CET] <nicolas17> I wrote an entire transcoding loop just because I wanted to mess with the PTSs
[02:24:56 CET] <nicolas17> then I found mkvmerge would let me do it from the command line -.-
[02:25:03 CET] <nicolas17> oh well it was educational
[02:25:16 CET] <DHE> indeed
[02:25:40 CET] <DHE> I do have my own API-based application as well. learned a lot about ffmpeg
[07:10:45 CET] <solidus-river> i'm writing out an mpeg1 video, how do i tell it to not use compression or use the nicest compression possible :? I'm using the avcodec api's but ausing sws to convert from rgb to yuv420
[07:11:33 CET] <nicolas17> I don't think mpeg1 has a lossless mode
[07:12:15 CET] <solidus-river> should i switch over to h.264 then?
[07:12:20 CET] <solidus-river> and just use film mode :?
[07:15:24 CET] <furq> film doesn't really have anything to do with compression, it just tweaks the detail retention bias
[07:15:47 CET] <furq> just use a low crf value or something
[07:16:26 CET] <noob> Hello. I just wanted to suggest allowing cryptocurrency donations. E.g. in Bitcoin Cash and Monero.
[07:16:26 CET] <furq> -qp 0 is lossless but you'll obviously end up with a massive file
[07:17:52 CET] <noob> Is this the right place to suggest crypto donations or should I go to ffmpeg-devel or join some mailing list?
[07:19:17 CET] <solidus-river> furq, thanks!
[12:08:11 CET] <relaxed> G/15.9G]
[13:19:52 CET] <CounterPillow> Cut a new release already you bums
[13:20:23 CET] <durandal_1707> Not gonna happen
[13:21:15 CET] <CounterPillow> Whose dick do I have to suck?
[13:21:59 CET] <durandal_1707> ask on devel, this is user help channel
[14:15:18 CET] <kir> Hi, I am using libavformat to write opus audio stream to a .webm file (audio only). I am passing each opus packet correctly (in my case 1 opus frame per packet). But when I call av_write_interleaved_frame() it is returning -22 value and throwing the message " Only VP8 or VP9 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM." I have configured the ffmpeg build with libopus only.
[14:18:16 CET] <AppAraat> hi, is it usually normal for Youtube to take an entire day to process a video like this? http://ix.io/KRh
[14:19:45 CET] <sfan5> >Format profile : High 4:4:4 Predictive@L4
[14:19:49 CET] <sfan5> >Chroma subsampling : 4:2:0
[14:20:05 CET] <sfan5> something is odd about your file
[14:20:22 CET] <sfan5> other than the 4:4:4 subsampling, files like this should process fine
[14:28:26 CET] <AppAraat> it's an output from Blender. I set h.264 encoding with lossless profile
[14:34:35 CET] <JEEB> sfan5: high 4:4:4: predictive generally means lossless
[14:34:46 CET] <JEEB> since it's the only profile that lets you do lossless coding :)
[14:34:59 CET] <sfan5> makes sense
[14:35:03 CET] <DHE> isn't there an RGB profile as well?
[14:35:58 CET] <JEEB> I'm pretty sure it's only included with that one?
[14:36:05 CET] <JEEB> although that could be because it's generally utilized together with lossless
[14:36:29 CET] <JEEB> although I guess it depends on the features you require since RGB/YCbCr is just a field in the metadata
[14:36:32 CET] <JEEB> it doesn't affect coding
[14:36:41 CET] <JEEB> (you could in theory encode 4:2:0 RGB lol)
[14:36:46 CET] <DHE> eww...
[14:42:22 CET] <pmjdebruijn> JEEB: artifacting would be much worse though :D
[14:45:56 CET] <io__> what codecs and settings to use to produce the best video quality to be uploaded to youtube. my input is an avi fullframes uncomressed. I used h264 with crf 0, the file works great on my pc, but on youtube, it just is not as sharp at all...
[14:49:39 CET] <doomedary> Hey
[14:50:33 CET] <doomedary> 6a97ba521 breaks AVIO_FLAG_DIRECT completely
[14:50:38 CET] <doomedary> can anyone verify this?
[14:51:11 CET] <doomedary> and how should I proceed? release/3.4 when reverting that commit makes my code that relies on AVIO_FLAG_DIRECT work again flawlessly
[14:52:31 CET] <doomedary> also, tbqh, that commit looks a bit retarded to me in any case
[14:56:24 CET] <doomedary> (symptom is, with AVIO_FLAG_DIRECT and this commit, av_write_frame and av_interleaved_write_frame will fail with EIO which is also rather odd, at least whenever a packet submitted does not fit the new packet_size requirements)
[14:56:48 CET] <doomedary> (which is funny because I had a MJPEG stream work or not depending on how small the compression gets a single frame)
[15:09:00 CET] <sine0> waddup beyotches
[15:18:10 CET] <sine0> guys I ask here, only for the knowledge and crossover, googling this will result me in a million blog posts and stupid shareware. Im looking for the best, opensource, free media streaming over a lan solution
[15:18:28 CET] <bindi> emby or plex
[15:18:33 CET] <bindi> well opensource, i guess emby
[15:18:43 CET] <sine0> is that on windows
[15:18:46 CET] <sine0> i will look
[15:19:17 CET] <bindi> you can run emby with mono
[15:20:07 CET] <bindi> but what do you actually need from the program?
[15:20:22 CET] <sine0> ok emby is incoming on my 2012 r2 server.
[15:20:39 CET] <bindi> you could just set up a samba share, maybe even a simple http server to serve the files and attach that to your favourite media player on the network
[15:20:42 CET] <sine0> I just need to be able to stream media in my house from my windows server, things i dump or download there.
[15:20:53 CET] <bindi> plex is the most polished one really
[15:20:57 CET] <bindi> i tried emby a few times but i keep goin back to plex
[15:24:49 CET] <sine0> oh wow its working, streaming in browser, local netflix style. thanks bro
[15:24:58 CET] <sine0> if i get issues i will try out plex
[15:29:20 CET] <Nacht> Hhmm. I take it HLS doesn't like it when you got a list of segments each starting with the same PTS ?
[15:42:42 CET] <gh0st3d> Hey guys, I'm trying to concatenate two mp4 files. I have it working with the -filter_complex method, but I think my understanding is the other methods would be faster? I may be wrong there. Anyways, when I try the other method, the video times get added, but the second clip doesn't play on the output video
[15:43:05 CET] <gh0st3d> Here's a paste with the command I'm running to merge the two files. Then I included the ffprobe with only the differences between the files showing. https://apaste.info/HVkH
[15:43:34 CET] <gh0st3d> I'm pretty new to this so I'm not sure which if any of these differences would cause the concatenate issue
[15:44:30 CET] <sfan5> the pixel formats don't match
[15:44:40 CET] <sfan5> neither do the same rates of the audio
[15:45:00 CET] <sfan5> sample*
[15:45:14 CET] <gh0st3d> Cool, I should be able to figure that out then! Thank you!
[15:45:37 CET] <sfan5> oh and also the channel layout of the audio
[15:45:48 CET] <sfan5> you will have to re-encode this to merge it, basically
[15:46:24 CET] <gh0st3d> my understanding is if those settings all matched up in the first place, they wouldn't have to get re-encoded to merge. Is that correct?
[15:47:00 CET] <sfan5> if those settings match, doing "primitive" concat usually just works, yes
[15:47:02 CET] <gh0st3d> The second clip is generated programmatically, then they get merged. So I'm thinking if I get the settings right when making the 2nd clip the merge will be much faster
[15:47:38 CET] <gh0st3d> Gotcha. Thank you very much for the help
[15:56:36 CET] <Fyr> guys, are FFPROBE/FFMPEG able to retrieve language of streams from Bluray?
[15:57:04 CET] <Fyr> I did: ffprobe -i bluray:path, it has shown the streams.
[15:57:27 CET] <Fyr> but it didn't show languages of the streams.
[16:28:29 CET] <JEEB> Fyr: depends on if the thing called "bluray" (probably uses libbluray) can read the data from somewhere (I'm not sure if that's actually available)
[16:28:38 CET] <JEEB> the MPEG-TS itself has no language codes with blu-ray as far as I know
[16:28:45 CET] <JEEB> the playlists I think only have chapters
[16:28:55 CET] <JEEB> so it might just be that there is no language data anywhere
[16:29:12 CET] <Fyr> JEEB, players show languages.
[16:29:19 CET] <JEEB> yes but isn't that in the menus?
[16:29:22 CET] <alexpigment> isn't the language in the streams itself?
[16:29:23 CET] <Fyr> it means, there are language codes somewhere.
[16:29:29 CET] <JEEB> alexpigment: http://up-cat.net/p/9cff2231
[16:29:37 CET] <JEEB> this is one of the blu-rays I have
[16:29:45 CET] <JEEB> it might be in the playlist but I'm not sure :P
[16:29:47 CET] <alexpigment> well, lemme rephrase
[16:29:48 CET] <JEEB> I would have to check the spec
[16:29:54 CET] <alexpigment> you *can* set the stream language
[16:29:57 CET] <alexpigment> usually in audio
[16:30:14 CET] <JEEB> yea, not sure if BD spec prohibits you from setting the metadata
[16:30:18 CET] <JEEB> (in MPEG-TS)
[16:30:23 CET] <alexpigment> hmmm
[16:30:27 CET] <JEEB> or if they require the metadata to be somewhere else
[16:30:29 CET] <alexpigment> i can test this
[16:30:45 CET] <JEEB> if I get home I can poke at the spec for shits and giggles
[16:31:39 CET] <JEEB> most of the language stuff I've seen on blu-rays has been just in the menus (but my memory might just be bad)
[16:31:54 CET] <alexpigment> it could be there too - i'm not sure
[16:32:08 CET] <JEEB> and menus are usually random java crap and not standardized anyways
[16:32:10 CET] <alexpigment> but i'm testing the audio right now just for my own curiosity
[16:32:17 CET] <JEEB> so you can't exactly parse the menus
[16:32:24 CET] <alexpigment> true
[16:32:43 CET] <alexpigment> well, in the pro world anyway
[16:33:05 CET] <alexpigment> i use bdmv-style menus, because that's what all consumer software makes
[16:33:28 CET] <JEEB> yup
[16:33:31 CET] <JEEB> that was what I was talking about
[16:33:38 CET] <JEEB> it's not exactly metadata :)
[16:34:32 CET] <alexpigment> well, i just at least confirmed that the audio stream language is maintained on blu-ray
[16:34:36 CET] <alexpigment> fwiw
[16:35:00 CET] <alexpigment> i'm using ac3 though
[16:35:10 CET] <alexpigment> maybe the blu-ray pcm is different
[16:35:29 CET] <alexpigment> i could also test that, but i don't care enough about this to go through the additional effort ;)
[16:37:29 CET] <alexpigment> JEEB: speaking of specs
[16:37:42 CET] <alexpigment> are there publicly available specs on how to create BDMV menus?
[16:38:09 CET] <alexpigment> it seems like most people license their menu creation from sonic
[16:38:15 CET] <JEEB> no
[16:38:15 CET] <alexpigment> or whatever company that makes scenarist
[16:38:27 CET] <alexpigment> i didn't think so, but i figured i'd ask since it's been a few years
[16:38:48 CET] <alexpigment> unfortunately, AVCHD doesn't support java menus, so BDMV is the only way to get menus on them
[16:38:59 CET] <alexpigment> it would be nice to know how to make them without a third party tool
[16:39:04 CET] <alexpigment> oh well
[16:39:13 CET] <sfan5> "unforunately doesn't support java [...]"
[16:39:17 CET] <sfan5> never thought i'd hear that
[16:39:34 CET] <alexpigment> well, if you know how to make java menus but not bdmv, it's unforunate ;)
[16:46:56 CET] <Nacht> Ok. I'm having trouble to understand something. I take an .ogg file. Transcode it to acc mpegTS. The input file has a PTS of pkt_pts=-1 in it's first frame. Yet the mpegTS just keep starting with pkt_pts=126000
[16:47:16 CET] <Nacht> Trying to manipulate it with asetpts doesn't seem to have any logic to it either
[20:42:13 CET] <marcurling> Hello, which #chanel would you recommend to have counsel on a graphic board, please?
[20:44:12 CET] <sine0> #hardware
[20:46:50 CET] Action: marcurling thanks sine0
[21:01:48 CET] <alexpigment> marcurling: out of curiosity, what is it for?
[21:01:52 CET] <alexpigment> gpu encoding?
[21:01:55 CET] <alexpigment> playing games?
[21:02:04 CET] <alexpigment> multi-monitor setup?
[21:03:03 CET] <alexpigment> either way, it's a terrible time to buy a good one :(
[22:25:54 CET] <lyncher> hi. I'm trying to add a new audio stream to a mpegts with libavcodec but I'm having some issues with PTS/DTS
[22:26:24 CET] <lyncher> they are non monotonically increasing
[22:27:21 CET] <lyncher> how can I change the PTS from the new stream increase correctly?
[22:33:55 CET] <lyncher> is there any code sample that merges two input files?
[22:35:30 CET] <JEEB> you just need to synch their DTS and PTS before feeding to muxer
[22:35:45 CET] <JEEB> and if your AVPacket's timestamps are broken you have to fix them before muxing
[22:40:56 CET] <JEEB> also in unrelated things, anyone here played with cheap ISDB-T modulators?
[22:41:07 CET] <JEEB> I think I need one for writing a receiver driver :P
[22:41:54 CET] <lyncher> I've played with cards from TBS....
[22:41:58 CET] <lyncher> ISDB
[22:42:59 CET] <lyncher> https://www.tbsdtv.com/products/tbs6209-dvb-t2-c2-tc-isdbt-octatv-tuner.html
[22:43:25 CET] <JEEB> i have a tuner and an app that can use it :D
[22:43:45 CET] <JEEB> i want to write a driver for the linux "dvb" subsystem
[22:44:03 CET] <JEEB> but to see if i can actually set the freq
[22:44:07 CET] <JEEB> i need a test signal
[22:51:47 CET] <iive> JEEB, asking in #linuxtv might be good idea, they are writing kernel driver for dvb receiver
[22:53:11 CET] <iive> there mchehab is probably the maintainer that does the mergers
[22:53:43 CET] <JEEB> cheers
[00:00:00 CET] --- Sat Feb 17 2018
1
0
[00:00:46 CET] <BtbN> With the static side data type system, if it makes sense for a type of side data to appear multiple times, why not store that list or whatever it is in the structure of that type?
[00:02:30 CET] <JEEB> ah yes, found the random repo I had been linked to
[00:02:31 CET] <JEEB> https://github.com/jpoet/ffmpeg/commit/202d7c30e7173ba407f14b5b7d9f32154ce2…
[00:02:45 CET] <JEEB> > av_frame_get_side_data_at
[00:02:56 CET] <JEEB> so not exactly iteration
[00:03:23 CET] <JEEB> and yes, now that I read this
[00:03:34 CET] <JEEB> this is just sticking N things of the same type in there :)
[00:04:25 CET] <BBB> right, thats how I did it also I think
[00:04:27 CET] <jamrial> BBB: 20%? Nice
[00:04:46 CET] <BBB> yeah 20%, and lately its been 20% against x265 veryslow also
[00:04:51 CET] <BBB> but thats because they changed their presets
[00:04:58 CET] <BBB> as you also probably saw in the MSU comparisons
[00:05:07 CET] <jamrial> no, i haven't
[00:05:09 CET] <BBB> oh
[00:05:15 CET] <JEEB> but yea, I think I'd rather have you be able to get if a type of side data is around, and then being able to iterate within them
[00:05:20 CET] <BBB> the quality diff between placebo abd veryslow is a lot bigger than it used to b
[00:05:51 CET] <JEEB> but yea, I can see the usefulness of such things
[00:05:54 CET] <BBB> JEEB: you mean not O(N^2) right?
[00:06:01 CET] <JEEB> yes
[00:06:10 CET] <BBB> thats an implementation thing but I agree on the general principle, yes
[00:06:38 CET] <BBB> reminds me of the O(n^2) vs. O(n) in codec registration
[00:06:53 CET] <BBB> its cute, but I wonder if theres a real runtime advantage to it for 99.99999999999999999999% of our users
[00:06:58 CET] <BBB> oops I ran out of floating point precision
[00:07:02 CET] <JEEB> 8)
[00:07:02 CET] <BBB> it turns out its just 100%
[00:08:08 CET] <JEEB> meanwhile I think I'm going to be adding a new side data type for AVPackets because currently the way you have to dance to see program changes is basically to loop through programs each time you have read a packet
[00:08:12 CET] <JEEB> ...which doesn't make sense
[00:08:40 CET] <JEEB> AV_PACKET_DATA_PROGRAM_UPDATE with the identifier of the program in the data
[00:09:03 CET] <JEEB> so you'd know if a program you care about got updated (and program updates don't happen each time a packet is read)
[00:09:10 CET] <BBB> BtbN: you could do that too btw, but in some cases it makes stuff fairly complicated
[00:26:06 CET] <atomnuker> btw is anyone else using git worktrees?
[00:26:34 CET] <atomnuker> its nice not to have dozens of copies of repos
[00:28:03 CET] <jdarnley> Is that a new feature or just an old obscure one?
[00:28:51 CET] <nevcairiel> git worktrees sounds interesting, i just always have m ultiple distinct checkouts =p
[00:30:31 CET] <atomnuker> jdarnley: kinda new, 2015 vintage afaik
[00:31:57 CET] <philipl> How have I not known about this?
[00:32:22 CET] <philipl> I usually work with multiple unrelated changes in one tree and try to avoid pushing the wrong ones :-P
[00:34:23 CET] <wm4> how does this work in practice?
[00:37:05 CET] <cone-775> ffmpeg 03Yusuke Nakamura 07master:3b4026e15110: avpacket: reset dst side_data fields in av_packet_copy_props
[00:37:53 CET] <atomnuker> wm4: its not very smart, you create a repo and you do git worktree add <dir> <branch> and that dir will always be in sync with the original repo's branch and vice versa
[00:38:20 CET] <atomnuker> *create a directory
[00:40:06 CET] <wm4> so the dir contains a full checkout?
[00:43:46 CET] <atomnuker> yep, though it seems to keep the state in the original repo's directory so the dir itself takes less space than a separate cloned repo
[00:44:34 CET] <jamrial> wm4: ok with memset on ffio_init_context?
[00:44:40 CET] <atomnuker> 180megs vs 70megs
[00:47:45 CET] <jamrial> i don't think a context is meant to preserve values to be reused, or that anything in libavformat actually reuses one for that matter
[00:51:23 CET] <wm4> jamrial: yeah
[00:51:53 CET] <wm4> I was just asking whether you considered that case and it seems you did
[00:52:36 CET] <wm4> atomnuker: well if you clone on the same FS, it can use hardlinks to share data, but maybe that's still worse
[00:55:28 CET] <atomnuker> yeah, it doesn't do that though, it'll need to detect accesses and replace the hardlink with a modified copy if it would
[01:00:58 CET] <cone-775> ffmpeg 03James Almer 07master:23e1bf6e5110: avcodec: remove unnecessary calls to ff_init_buffer_info()
[01:00:59 CET] <cone-775> ffmpeg 03James Almer 07master:aa6280805e21: avformat/aviobuf: zero initialize the AVIOContext in ffio_init_context()
[01:06:17 CET] <Zeranoe> Is anyone objected to remove building .lib files for Windows targets? dlltool doesn't create correct libs, and wine+lib.exe is not ideal. Providing the .def export file should be sufficient IMO
[01:06:52 CET] <jamrial> we're not using dlltool anymore, though
[01:07:12 CET] <Zeranoe> jamrial: Guess I read an old commit then.
[01:08:01 CET] <Zeranoe> Whatever is being used isn't producing correct libs
[01:08:19 CET] <rcombs> the switch from dlltool to gcc broke linking against it with gcc for me, it seems
[01:08:30 CET] <rcombs> erm, with MSVC
[01:08:44 CET] <rcombs> it links successfully, but fails to locate the symbols at runtime
[01:08:52 CET] <rcombs> works fine after reverting
[01:08:56 CET] <Zeranoe> rcombs: Seeing the same thing
[01:09:14 CET] <Zeranoe> I think just providing the def's should be fine
[01:09:26 CET] <Zeranoe> Better to do that then provide a broken lib
[01:09:31 CET] <rcombs> (just figured this out a couple days back; figured I'd report after doing some more testing)
[01:09:39 CET] <rcombs> Zeranoe: can MSVC link against just the def?
[01:09:56 CET] <rcombs> or would I have to use dlltool externally
[01:10:18 CET] <Zeranoe> no, but it's trivial to generate them with lib.exe /def:foo.def /out:foo.lib
[01:10:40 CET] <rcombs> we should do that, then
[01:10:44 CET] <JEEB> yup
[01:10:46 CET] <rcombs> or go back to dlltool
[01:10:51 CET] <rcombs> something that works
[01:11:00 CET] <Zeranoe> but using lib.exe breaks cross compiling the libs
[01:11:03 CET] <rcombs> shouldn't be the consumer's job
[01:11:19 CET] <rcombs> and we shouldn't make broken libs
[01:11:30 CET] <rcombs> I think that change came in from libav; I wonder if it broke things there?
[01:12:50 CET] <Zeranoe> Honestly I'm probably going to remove the lib files all together from the Windows builds. Who knows if different versions of MSVC produce different lib files, and I know most people just rebuild from the def to be sure it will work with their MSVC version
[01:13:50 CET] <Zeranoe> All the lib files can be generated from the def files with this: for %i in (*.def) do @for /f "delims=-" %j in ("%i") do @lib /nologo /def:%i /out:%j.lib
[01:16:11 CET] <rcombs> why does MSVC even need them anyway
[01:16:33 CET] <Zeranoe> you mean why can you link the dll directly?
[01:16:40 CET] <Zeranoe> can't*
[01:17:09 CET] Action: JEEB likes it how MSVC can link with .a files as long as you just give the linker the full file name
[01:21:06 CET] <rcombs> yeah why can't it just use the DLL
[01:21:47 CET] <rcombs> can you not tell what symbols are in a DLL by looking at it
[01:22:09 CET] <Zeranoe> no idea, dumpbin has no problem seeing them
[01:23:11 CET] <Zeranoe> I don't even know what the lib file actually contains
[01:27:12 CET] <ddo> hey everyone, i'm sure this has been asked many times before. I keep getting the "ERROR: opus not found using pkg-config" when trying to compile ffmpeg. I'm not really a developer so I'm not sure where my PATH is, i was just following the centos compile guide on ffmpeg
[01:29:45 CET] <rcombs> ddo: see #ffmpeg, but the last few lines of config.log should be informative
[04:36:11 CET] <cone-904> ffmpeg 03Jérôme Martinez 07master:fb580731c1fe: avcodec/ffv1: Support for GBRAP10 and GBRAP12
[08:13:58 CET] <gagandeep__> kierank: in cineform improvements project idea, what is meant by expected results "support reading as many features as possible"
[09:31:37 CET] <gagandeep__> guys, the cineform improvement is a project idea for gsoc. I wanted to know what was meant by // expected results "support reading as many features as possible" //
[09:35:34 CET] <nevcairiel> You should contact the mentor directly with any questions to those tasks
[09:36:36 CET] <gagandeep__> k, i'll try contacting him again, i was disconnected so i don't know if had replied back then
[09:43:11 CET] <durandal_1707> gagandeep__: he didnt
[09:47:33 CET] <gagandeep__> durandal_1707: Thanks
[09:48:53 CET] <durandal_1707> better ask via email, as you may be in different time zone
[09:49:41 CET] <gagandeep__> k, will do
[11:06:46 CET] <kierank> Oh he's gone :(
[14:06:49 CET] <cone-185> ffmpeg 03Michael Niedermayer 07master:f26a63c4ee1b: avcodec/h264_cabac: Tighten allowed coeff_abs range
[14:06:50 CET] <cone-185> ffmpeg 03Michael Niedermayer 07master:173939259aae: avfilter/avf_avectorscope: Fix ;;
[14:06:51 CET] <cone-185> ffmpeg 03Michael Niedermayer 07master:75027066d8e8: avdevice/decklink_dec: Fix ;;
[14:09:18 CET] <JEEB> rcombs: this is possibly what you wanted with that start_at_zero thing you added before? https://github.com/jeeb/ffmpeg/commit/369a7227b0a433c94182995f3b80f5ff57165…
[14:09:27 CET] <JEEB> unless you had some specific logic for requiring copyts
[14:09:49 CET] <JEEB> (copyts kills wrap-around discontinuity handling it seems?)
[14:11:07 CET] <JEEB> although I'm still not exactly sure which discontinuity handling thing at which point in ffmpeg.c is supposed to handle what
[14:11:18 CET] <JEEB> that one point I poked stops the start time from being set to zero
[15:25:32 CET] <Guest2640> Hi... sorry it may be a lame question but I am fairly a newbie at open source. I have cloned the github repo of FFmpeg but I am unable to run it on windows 64 bit. I just typed the command ./configure which was in installation.md file. Am I doing anything wrong?
[15:26:32 CET] <jdarnley> Depends.
[15:26:42 CET] <jdarnley> Are you looking to compile the source code? Running configure is the first step for that.
[15:26:52 CET] <Guest2640> Yes
[15:27:07 CET] <jdarnley> If you just want to use ffmpeg then you can download a pre-compiled exe for Windows.
[15:27:39 CET] <jdarnley> If configure ran successfully then you run make to actually compile it all.
[15:28:07 CET] <Guest2640> No when I typed ./configure it said command doesnt exist in the cmd
[15:28:12 CET] <jdarnley> Oh
[15:28:17 CET] <Guest2640> I wanted to compile it
[15:28:32 CET] <jdarnley> Well you need a bash shell to be able to run the configure script.
[15:29:02 CET] <Guest2640> Oh sorry my bad. Can I use gitbash itself?
[15:29:08 CET] <jdarnley> So that means cygwin, msys, or maybe some bundle of git has one
[15:29:15 CET] <jdarnley> yes, I think so
[15:29:27 CET] <Guest2640> Thanks a lot
[15:29:59 CET] <cone-185> ffmpeg 03James Almer 07master:8a8d0b319a9f: avutil/crypto: change length parameter to size_t on the remaining modules
[15:32:49 CET] <JEEB> hmm, do I see incorrectly or could the schannel TLS module still be broken with regards EOF handling after zero becoming !EOF?
[15:32:55 CET] <JEEB> since I see some == 0 there
[15:46:08 CET] <nevcairiel> i'm sure there is still tons of bugs because of that nonsense change
[15:49:48 CET] <JEEB> yea, I've seen reports of various modules getting stuck in a loop
[15:49:56 CET] <JEEB> but never got proper debug output
[15:50:07 CET] <JEEB> so I couldn't pin-point if it was FFmpeg or not
[16:35:11 CET] <bogdanc> do you think it's a good idea to try to replace the current cineform decoder with the official gopro's decoder?
[16:36:19 CET] <JEEB> depends on how much the missing pieces are, or if parts of it can be fitted as-is (in case the license is compatible)
[16:36:54 CET] <bogdanc> i'm not even sure what is missing or not
[16:37:02 CET] <bogdanc> i'm trying to fix a distortion
[16:37:05 CET] <bogdanc> for some time now
[16:37:17 CET] <bogdanc> and all i can achieve is similar distortions
[16:37:30 CET] <bogdanc> also, where could i find some documentation on the current workflow of the decoding process? is there something to read?
[16:39:22 CET] <bogdanc> gopro has an open source decoder for cineform released
[16:40:08 CET] <JEEB> you define an AVCodec and it has basically pointers towards functions like init/decode etc
[16:40:17 CET] <JEEB> and then you register it in the right places
[16:40:38 CET] <JEEB> so yes, if the API for their decoder is sane, you could make a libavcodec wrapper for it
[16:41:30 CET] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/utvideodec.c;h=c5…
[16:41:35 CET] <JEEB> a struct like this
[16:41:52 CET] <JEEB> has some metadata, and then the functions
[16:43:44 CET] <bogdanc> you mean i should follow this coding style as a template for the new decoder, if i'll try to do it?
[16:44:26 CET] <JEEB> well, that structure is a common thing
[16:44:32 CET] <bogdanc> yeah
[16:44:43 CET] <JEEB> it's the data type that defines a decoder
[16:44:47 CET] <JEEB> and then there's one for encoders
[16:45:49 CET] <JEEB> bogdanc: also https://www.ffmpeg.org/developer.html#New-codecs-or-formats-checklist
[16:46:42 CET] <bogdanc> nice. will keep in mind
[16:47:30 CET] <kierank> bogdanc: definitely not worth replacing it
[16:47:38 CET] <kierank> the gopro decoder is not compatible with ffmpeg
[16:47:39 CET] <Nakul> Hi
[16:48:07 CET] <bogdanc> and actually, what i'm really trying to say is that i'm lost, i don't know how to approach this bug (#6675). and if someone could point me in any directions
[16:48:12 CET] <bogdanc> that would be great
[16:48:22 CET] <bogdanc> thanks for the heads up
[16:48:37 CET] <Nakul> Here I am looking for help for getting started into GSoc
[16:49:48 CET] <kierank> bogdanc: did you confirm that the raw yuv file has the line at the bottom
[16:51:39 CET] <bogdanc> https://imgur.com/EQ3Qu7M
[16:51:56 CET] <bogdanc> this is the only thing that confirms me
[16:52:11 CET] <bogdanc> there is something wrong with the last 8 pixels
[16:53:01 CET] <bogdanc> and when i export it as a non-raw format, the media players show something wrong.
[16:53:09 CET] <Guest2640> Nakul: https://trac.ffmpeg.org/wiki/SponsoringPrograms/GSoC/2018 start here.
[16:55:37 CET] <bogdanc> https://imgur.com/gjfPAdc
[16:55:43 CET] <bogdanc> this is what i get on windows media player
[16:55:51 CET] <bogdanc> @kierank
[16:56:23 CET] <kierank> bogdanc: didn't i say try and view it in a raw yuv viewer
[16:56:31 CET] <bogdanc> yes
[16:56:33 CET] <bogdanc> and i did
[16:56:34 CET] <kierank> ok
[16:56:36 CET] <bogdanc> and it shows
[16:56:36 CET] <kierank> good
[16:56:51 CET] <kierank> so then look at the output loops of the functions at the bottom and see if they are broken
[16:57:05 CET] <Nakul> @Guest 2640 I went through the link and read all the info.but I am wondering what is the first thing to do
[16:58:31 CET] <bogdanc> ooh some guidance. very much thank you kierank. can i maybe where are the "output loops of the functions at the bottom" ?
[16:59:07 CET] <kierank> the transform loops through each row
[16:59:27 CET] <Guest2640> Nakul: Good. Just select a project of your choice and discuss it with related mentor. Discuss about your qualification task with the mentor directly. Also start by first building the code on your system first.
[16:59:33 CET] <bogdanc> Nakul, i suggest you choosing a project that seems closer to your knowledge, downloading the source code and trying to find out where does the code goes the wrong way
[16:59:54 CET] <kierank> vert_filter and horiz_filter
[17:00:04 CET] <bogdanc> ahhh, those you mean
[17:00:31 CET] <bogdanc> at first it seemd something wrong with the vertical filter
[17:01:04 CET] <bogdanc> and i tried to modify the code on the "i == last"
[17:01:13 CET] <Nakul> Thanks a lot@ bogdanc and Guest 2640
[17:01:20 CET] <kierank> the i == last code is likethat
[17:01:25 CET] <kierank> because you can't read out of the frame
[17:01:31 CET] <kierank> but somethings wrong here
[17:01:45 CET] <kierank> bogdanc: the other ticket is easier i think
[17:01:53 CET] <kierank> you just have to apply the transform on every other row
[17:01:56 CET] <bogdanc> that's what i thought too ! that the mistake is here
[17:01:57 CET] <kierank> but look what the gopro code does i guess
[17:02:54 CET] <bogdanc> do you think it's the fault only of the vertical filter?
[17:03:01 CET] <kierank> don't know
[17:03:01 CET] <bogdanc> that's what i assumed at first
[17:03:09 CET] <kierank> need to compare with the (difficult to read) gopro code
[17:03:28 CET] <kierank> if it helps videolan has also posted a bounty for cineform
[17:03:39 CET] <bogdanc> yes, it helps
[17:04:33 CET] <bogdanc> at first i thought it's the vertical filter, because when i modified the "i == last" on the horizontal filter it didn't modify the distortion. only on the vertical filter it seemed to get different forms of distortion
[17:04:50 CET] <bogdanc> and i tried to somehow copy the analogy of "i == first line"
[17:05:01 CET] <bogdanc> and modify the bits of these formulas
[17:05:43 CET] <bogdanc> only on the vertical filter. but it's not working. or maybe i haven't found the right formula yet. i'm going to read this videolan's cineform you said
[17:05:49 CET] <kierank> well compare with what gopro does
[17:06:28 CET] <bogdanc> i'll be doing this. thanks
[17:16:40 CET] <rcombs> JEEB: so, I use copyts to mean "don't shift _output_ timestamps to start at zero"
[17:17:24 CET] <rcombs> and also start_at_zero to shift the _input_ timestamps to start at zero
[17:17:38 CET] <rcombs> (input/output meaning before/after seeking)
[18:03:44 CET] <JEEB> rcombs: yea that's the first thing there, the discontinuity "handling" skipper
[18:03:52 CET] <JEEB> it makes ffmpeg.c not shift output timestamps
[18:04:06 CET] <JEEB> because copyts means you lose the other discontinuity handlers as well
[18:04:10 CET] <rcombs> well I don't mean discontinuities, I mean at start
[18:04:19 CET] <rcombs> losing that is a bit annoying, yeah
[18:06:51 CET] <JEEB> but yea, it's funny how the initial timestamp reset nr1 is handled by one of the discontinuity handlers :P
[18:07:08 CET] <JEEB> then if you're using movenc output there's another set of timestamp reset
[18:07:29 CET] <JEEB> in the muxer
[21:16:52 CET] <durandal_1707> might write cineform encoder
[23:32:23 CET] <jamrial> durandal_1707: any reason in particular?
[23:32:29 CET] <jamrial> or just "fun project/challenge"?
[00:00:00 CET] --- Fri Feb 16 2018
1
0
[00:16:20 CET] <AppAraat> hello, I shot some videos with my Nexus 5x (mediainfo: https://bpaste.net/show/2c37a9dd2929) but it's apparently a difficult format for Blender VSE to handle primarily because of its variable framerate. So I was wondering how I could convert this video format to a format with a constant framerate with minimal quality loss if possible.
[00:47:29 CET] <sfan5> AppAraat: you can probably just ffmpeg -i input.mp4 -vf fps=30 -crf 18 output.mp4
[00:47:38 CET] <sfan5> oh, add -c:a copy somewhere in the middle
[00:48:24 CET] <AppAraat> ty, I'll try that in a bit.
[00:52:40 CET] <AppAraat> sfan5: like this? ffmpeg -i input.mp4 -vf -c:a copy fps=30 -crf 18 gvfd_processed.mp4
[00:54:20 CET] <AppAraat> ah no, apparently ffmpeg -i input.mp4 -c:a copy -vf fps=30 -crf 18 output.mp4
[00:54:44 CET] <AppAraat> cpu = ded
[01:06:03 CET] <zerodefect> I'm using C-API, to do H.264 live encoding at CBR. I'm struggling to understand the applicable settings in AVCodecContext that are apply to quality other than bitrate.
[01:06:19 CET] <JEEB> depends on the exact encoder
[01:07:11 CET] <zerodefect> @JEEB can you elaborate on that, please?
[01:07:25 CET] <zerodefect> I thought there was one :)
[01:07:39 CET] <zerodefect> X.264
[01:08:03 CET] <JEEB> libx264 is one of the possible H.264 encoders that can be utilized through libavcodec at this point
[01:08:23 CET] <JEEB> in addition to the standard AVCodecContext variables, each other has a bunch of AVOptions
[01:08:35 CET] <JEEB> for libx264 preset is probably quite useful
[01:08:57 CET] <JEEB> which is the option that in the libx264 library controls speed VS compression
[01:09:16 CET] <JEEB> then you have stuff like the gop length, which is a AVCodecContext parameter
[01:09:42 CET] <JEEB> and then you have maxrate/bufsize that you are probably setting already for CBR purposes :P (albeit very useful for constrainted VBR as well)
[01:10:44 CET] <zerodefect> Thanks! Does global_quality in AVCodecContext apply when nal-hrd=cbr ?
[01:10:54 CET] <JEEB> no
[01:10:57 CET] <zerodefect> I'm guessing that is more for crf?
[01:11:13 CET] <JEEB> global_quality I don't even know if it maps to anything in libx264
[01:11:26 CET] <JEEB> for nal-hrd=cbr you want to use x264-params AVOption
[01:11:43 CET] <JEEB> although it seems to have its own AVOption as well
[01:11:54 CET] <JEEB> (random things have had AVOptions added)
[01:17:03 CET] <zerodefect> Do you ever find a need to tinker with the motion estimation?
[01:17:21 CET] <JEEB> no
[01:17:40 CET] <JEEB> generally speaking unless you have a real need, you tweak the preset, and maybe tune
[01:18:21 CET] <JEEB> the rest is generally just rate control etc
[01:19:42 CET] <zerodefect> Presumably, I set the preset/tune after setting things like width/height/gop-size, etc.
[01:20:56 CET] <JEEB> libx264 was quite well set up for not to be hard to use in the end
[01:21:07 CET] Action: JEEB remembers ye "good" old days where presets weren't a thing :P
[01:21:50 CET] <zerodefect> Sounds like I missed out ;)
[01:31:47 CET] <AppAraat> sfan5: it converted but it lost the audio
[01:53:35 CET] <AppAraat> https://bpaste.net/show/3b0ebfbd632f
[01:54:24 CET] <AppAraat> Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 96 kb/s (default)
[01:54:34 CET] <AppAraat> so I guess it saw the audio stream, but did nothing with it
[02:20:28 CET] <SortaCore> I have a m3u8 chunklist video stream, but last time I recorded it with copy codec, the ending was missing
[02:20:39 CET] <SortaCore> *video livestream
[04:04:19 CET] <therage3> what version of the LAME encoder is in ffmpeg stable?
[04:20:43 CET] <furq> whichever one you build it with
[04:30:15 CET] <therage3> I see
[04:34:39 CET] <furq> there weren't actually any sound quality improvements in 3.100 and the last release before that was 2012
[04:35:15 CET] <furq> so i wouldn't worry too much
[05:18:28 CET] <ddo_> HI everyone, I'm having issues with x264 PKG_CONFIG_PATH being different from everything else. Is it okay if I ./configure --enable-libx264 separately? Or do I need to do everything at once?
[05:20:50 CET] <furq> you need to do everything at once
[05:21:23 CET] <furq> i'm guessing you don't have a libx264.pc in your PKG_CONFIG_PATH so it's falling back to the default
[05:24:31 CET] <ddo_> yah its not showing when i do pkg-config --list-all
[05:25:29 CET] <ddo_> if I know the location of libx264.pc, is there anyway I can correct this?
[05:37:59 CET] <ddo_> nm after I reinstalled like 3x it took to the right path
[05:38:01 CET] <ddo_> thanks
[06:02:08 CET] <ddo> okay, so ffmpeg successfully compiled and installed. But when I try to find the version or location (ffmpeg -version or which ffmpeg) nothing can be found. Any ideas how to check if its actually installed/
[10:01:37 CET] <AppAraat> hi, I'm trying to convert a format with variable fps (https://bpaste.net/show/2c37a9dd2929) to a format with constant fps, but it doesn't seem to get the audio into the output format - https://bpaste.net/show/3b0ebfbd632f
[10:47:20 CET] <veenu> Hey i am new here,i want to contribute to ffmpeg.Can someone help me find a project to work on.
[11:30:33 CET] <Nacht> -filter_complex '[0:a:0]asetpts=PTS-STARTPTS' should set the first PTS, of the audio, to zero shouldnt it ?
[14:36:18 CET] <kepstin> AppAraat: You'll have to clarify what "seems" means there - according to the output you pasted, ffmpeg copied the audio over just like oyu asked it to.
[14:41:46 CET] <AppAraat> sorry, should have clarified even further. I updated ffmpeg to the latest stable and it works now.
[16:21:47 CET] <Guisch> Hey evreryone
[16:22:24 CET] <Guisch> Need some help after an ffmpeg installation in a docker
[16:22:47 CET] <Guisch> If someone is avaible let me know ! Thx
[16:23:05 CET] <DHE> ask a specific question, don't ask "someone is available"
[16:23:41 CET] <Guisch> Ok sorry
[16:26:32 CET] <Guisch> I follow this guide https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu to install ffmpeg on a docker. When i exec ~/bin/ffmeg it work but the when i directly exec ffmpeg command it does not work. Even if ran source ~/.profile. I don't know if it's a ffmpeg or docker problem. Thx by advance ! :)
[16:32:10 CET] <BtbN> souds more like you just never setup your PATH properly
[17:50:48 CET] <circ-user-0kzVF> Morning all
[17:51:51 CET] <Delchi> So here is my situation : I've got a camera that records in .asf , and I want to use ffmpeg to make an adjustment to the audio by having a small segment of the audio drop to 0 volume, then back up. HEre is how I'm basically doing it :
[17:52:09 CET] <Delchi> ffmpeg -i video.mp4 -af "volume=enable='between(t,5,10)':volume=0, volume=enable='between(t,15,20)':volume=0" ...
[17:52:20 CET] <Delchi> ( sub asf for mp4 )
[17:53:04 CET] <Delchi> ffmpeg -i 901.asf -af "volume=enable='between(t,15,18)':volume=0" 901edited.asf
[17:53:15 CET] <Delchi> This works w/out error.
[17:53:33 CET] <Delchi> when I play back the resulting asf file in VLC , the effect is exactly what I want
[17:54:00 CET] <Delchi> now when I transfer the file back to my camera and play it, it acts as if the volume change never happened
[17:54:25 CET] <Delchi> and the audio track plays straight through
[17:54:35 CET] <Delchi> Any thoughts on what might cause this ?
[17:56:56 CET] <durandal_1707> Delchi: you are playing wrong file?
[17:57:03 CET] <Delchi> No
[17:57:32 CET] <Delchi> At least not to my knowledge, my output file is a different name from my input file so I don't confuse them
[17:58:36 CET] <Delchi> Is it possible that the volume change is being written to some kind a metadata file, and my only copying over the asf file , I'm not copying the metadata file and there fore no change happens ?
[17:58:46 CET] <kepstin> well, the output from that ffmpeg command will have only 1 audio track, and it has replaced the sound in the muted sections with silence, so there's nothing to recover
[17:59:18 CET] <Delchi> That's my thinking as well
[17:59:26 CET] <Delchi> but I was unsure so I came here
[17:59:39 CET] <Delchi> the camera does have a metadata file ( .mtd ) but I'mnot touching that
[17:59:59 CET] <kepstin> so... it sounds like you're playing the wrong file (I'd suggest deleting the original off the camera to confirm - after backing it up, of course)
[18:00:43 CET] <Delchi> Have tried that - I'll do it again now to ensure.
[18:02:27 CET] <furq> if it is something to do with the metadata then it's the camera that's screwing it up, not ffmpeg
[18:02:50 CET] <furq> -af volume will modify the actual audio stream
[18:06:01 CET] <friki_> Hi, I'm using the following command to capture from BlackMagic Decklink device, encode ProRes+aac and store into a matroska file. The problem is that the command is using more than 2 threads (taking more than 12 CPU threads!). Any tip? -> ffmpeg -threads 2 -loglevel info -f decklink -list_devices 0 -list_formats 0 -i "DeckLink Duo (1)" -video_input sdi -audio_input embedded -draw_bars false -channels 16 -format_code Hi50 -vcodec prores_ks -profile:v 3 -vendor
[18:06:02 CET] <friki_> ap10 -pix_fmt yuv422p10le -acodec aac -b:a 96k -n out.mkv
[18:06:35 CET] <furq> friki_: -threads before -i just sets the number of decode threads
[18:06:59 CET] <Delchi> furq : Thanks , that's what I was trying to confirm. I have not used ffmpg before so I wanted to be sure i was using it correctly.
[18:07:47 CET] <Delchi> now I need to track down the format of this metadata file :)
[18:08:14 CET] <friki_> furq: so I can put 2 "-threads" options one before -i and one after? cool!
[18:08:56 CET] <furq> yeah
[18:09:07 CET] <furq> but if you set -threads 2 twice then you'll end up with four
[18:09:25 CET] <furq> or more likely three because that decoder is probably only singlethreaded anyway
[18:09:48 CET] <friki_> like a glove, THANKS
[18:09:50 CET] <furq> plus you then have libavfilter threads which are separate
[18:10:01 CET] <furq> although i don't see any filters there so that probably won't matter
[18:10:30 CET] <friki_> may be i'll add yadif filter later
[18:11:49 CET] <Delchi> Is it possible that there is metadata IN the .asf file that is being elimianted by ffmpeg in the process?
[18:16:18 CET] <kepstin> possibly, yes, but removing metadata wouldn't cause audio to magically be restored to a blanked track.
[18:16:56 CET] <kepstin> ffmpeg prints out the metadata it finds and copies when it runs.
[18:17:10 CET] <Delchi> True.
[18:17:22 CET] <Delchi> Now the camera is not playing the file back at all. Mmmmmm Interesting
[18:18:23 CET] <Delchi> Must be something in that .mtd file
[19:40:31 CET] <shincode> is h.264 codec parameter CRF a made up meaning for quantization parameter?
[19:42:22 CET] <DHE> it's not a quantization parameter. at best it's a codec option that aims for a quality target despite a variable qp
[19:44:29 CET] <kepstin> really, it's an internal implementation detail of the x264 codec
[19:45:35 CET] <kepstin> (it's actually originally part of how the 2-pass bitrate target encoding mode in that codec worked)
[19:48:45 CET] <AppAraat> a container format should not have any quality effect, right? It's the encoder that decides that mostly?
[19:48:57 CET] <furq> if by mostly you mean entirely then yes
[19:49:53 CET] <AppAraat> oh, cool :)
[19:50:11 CET] <shincode> So your saying CRF and QP are two seperate things
[19:50:16 CET] <AppAraat> yeah for some reason Blender can't output as mp4 (which youtube recommends) so I'm outputting it to mkv now
[19:50:22 CET] <shincode> as if CRF is the final parameter
[19:50:46 CET] <kepstin> shincode: crf encoding mode and constant qp encoding mode are completely different things, yes
[19:50:54 CET] <kepstin> there's no relation between the two
[19:51:56 CET] <shincode> i used h264 a lot with ffmpeg now im diving deep
[19:52:36 CET] <shincode> if you have any links that talks about h264 in good detail like to reconstruct the codec myself; i'd appreciate it
[19:52:38 CET] <kepstin> keep in mind that crf is something internal to the libx264 encoder specifically, and is not a property of the h264 codec in general.
[19:53:12 CET] <furq> the value you pass to crf isn't actually a quantiser value
[19:53:18 CET] <furq> it just happens to use the same range as cqp
[19:55:17 CET] <kepstin> in crf mode the x264 encoder dynamically adjusts the bit allocation/qp based on how complex the visuals are and how much motion there is to maintain approximately constant visual quality over the length of the video, according to their psy optimizations.
[19:55:38 CET] <shincode> now vlc had some sort of switch between libx264 and some other library for the format.
[19:56:09 CET] <shincode> did crf work on that other format... and maybe you know what i mean by other format
[19:56:16 CET] <shincode> if not forget it.
[19:56:44 CET] <furq> it was probably openh264 and if it was then no
[19:56:54 CET] <shincode> yes thats right
[19:56:58 CET] <shincode> that was the name of it.
[19:57:06 CET] <furq> ffmpeg can use that as well if you want
[19:57:10 CET] <furq> you probably don't want to though
[19:57:34 CET] <shincode> nah, when doing streaming shit over rtsp we receieved h264 from traffic cameras
[19:57:56 CET] <shincode> and sometimes the quality would screw up big time and someone in this channel or another said your bandwidth sucks.
[19:58:25 CET] <shincode> I agreed, but higher ups refused to tell the customer it admin to do anything about it and always fell back on us to make shitty connections work better
[19:58:28 CET] <furq> the whole point of openh264 is that it's a baseline-only encoder for webrtc in browsers that cisco have paid the license fee for
[19:58:36 CET] <furq> in order to drive adoption of webrtc
[19:58:39 CET] <shincode> i experiemented with crf before only a little bit
[19:58:48 CET] <furq> so if you really need a free baseline-only encoder then great, but you probably don't
[20:00:42 CET] <shincode> One thing that confuses me is I see some companies want av programmers
[20:01:27 CET] <shincode> the only examples I see of this kinds is oh take one stream here scale it bicubic and a stream over there and do the same and reencode to a new stream to send to someone else.... Wala you have skype? or something similar
[20:01:56 CET] <shincode> Is there a demand for these programmers? I don't understand why it just seems like they could take gstreamer, ffmpeg, or vlc of a like make a app and be done
[20:05:06 CET] <kepstin> well, in real life, the "just take ffmpeg and make an app" step is surprisingly hard and requires lots of engineering decisions based on experience, and then you're not really done because you have to handle supporting infrastructure as well.
[20:08:13 CET] <shincode> Its true...
[20:10:50 CET] <shincode> I used with security cameras and doing something to the resultant image. FFmpeg(rather the libavcodec, libavformat) was dealt with mostly in the beginning then only had seldom issues later on.
[20:11:11 CET] <shincode> and the resultant image... the doing something was where the massive amounts of work was done.
[20:11:17 CET] <shincode> So if that really a av programmer?
[22:41:16 CET] <AppAraat> furq: so that means if you're going to convert an mp4 to an mkv and vice versa there's not going to be any quality loss, right?
[22:41:45 CET] <JEEB> if you are remuxing, true
[22:42:51 CET] <AppAraat> ah ok, so remuxing = lossless and re-encoding = lossy (unless re-encoding from one lossless encoding to another lossless encoding) ?
[22:43:10 CET] <JEEB> your source doesn't have to be lossless, but yes - lossless coding is lossless :)
[22:43:42 CET] <JEEB> (basically whatever your source is, exactly the same thing pops out after a lossless encoder's result is decoded
[22:43:43 CET] <AppAraat> ah ok, well TIL :)
[22:43:45 CET] <AppAraat> ty
[00:00:00 CET] --- Fri Feb 16 2018
1
0
[00:44:04 CET] <thardin> woop, FATE is happy
[00:47:19 CET] <atomnuker> jkqxz: is there something I need to do to the DRM fd in AVDRMDeviceContext? its a valid, open fd from what I can tell but all ioctl calls defined in libdrm fail
[00:47:39 CET] <atomnuker> (-1, I've got no idea what's that translated)
[00:50:42 CET] <jkqxz> Look at errno?
[00:50:52 CET] <jkqxz> (All DRM calls set it.)
[00:51:32 CET] <jkqxz> Though no, if it's valid it should work.
[00:53:05 CET] <atomnuker> "Unknown error -1" <- helpful
[00:54:44 CET] <jkqxz> strace output for your call?
[00:59:18 CET] <DHE> libc's system call wrappers just return -1 and set errno on errors
[00:59:48 CET] <atomnuker> "ioctl(3, DRM_IOCTL_AGP_INFO, 0x7ffc894e6a90) = -1 EINVAL (Invalid argument)", weird, I do exactly what libdrm does here: http://libdrm.sourcearchive.com/documentation/2.4.23/xf86drm_8c_source.html…
[01:01:55 CET] <kierank> atomnuker: remember having this problem with ethtool
[01:02:18 CET] <jkqxz> Seems likely that fd isn't isn't actually a DRM fd.
[01:03:46 CET] <jkqxz> "echo 0xff >/sys/modules/drm/paramters/debug" gives you everything to the kernel log and will tell you why it failed (do it on a headless machine not running anything else, though, because it makes like 9001 lines of output for every page flip).
[01:03:49 CET] <atomnuker> yeah, I too thought that fd #3 is suspiciously low though it makes sense if its one of the very first ones to get opened
[01:04:14 CET] <jkqxz> Or you could just read the source to find out why DRM_IOCTL_AGP_INFO can return EINVAL.
[01:05:56 CET] <jkqxz> Maybe your device doesn't have agp or it is not acquired. <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/dri…>
[01:07:34 CET] <cone-547> ffmpeg 03Xiaohan Wang 07master:71f39de2a57e: avcodec/h264_cavlc: Set valid qscale value in ff_h264_decode_mb_cavlc()
[01:07:37 CET] <jkqxz> (Whatever that means.)
[01:08:50 CET] <jkqxz> You could call drm_ioctl_agp_acquire before it, perhaps.
[01:14:47 CET] <atomnuker> yeah, seems like it, DRM_IOCTL_UNIQUE returns 0
[01:14:58 CET] <atomnuker> can't aquire agp, permission denied
[01:15:14 CET] <cone-547> ffmpeg 03Carl Eugen Hoyos 07master:dc77e64f2d41: lavf/rtpdec*: Constify all RTPDynamicProtocolHandler.
[01:15:26 CET] <atomnuker> do you happen to know any way of getting a pci device ID from a drm fd in some way?
[01:16:05 CET] <atomnuker> or maybe make hwcontext_drm put it in its public struct with the fd
[01:20:00 CET] <jkqxz> drmGetDevice().
[01:20:35 CET] <jkqxz> It's in drmDevice.deviceinfo.pci.
[01:23:08 CET] <atomnuker> I don't seem to have drmGetDevice in my libdrm
[01:24:51 CET] <atomnuker> oh wow its in xf86drm.h
[01:33:32 CET] <jkqxz> Such a silly name for it to have nowadays - hysterical raisins.
[01:38:03 CET] <atomnuker> works! https://pars.ee/temp/drm_vulkan_interop.mkv
[01:56:55 CET] <jamrial> good, now it needs to be fast :p
[01:57:19 CET] <jamrial> 20fps doesn't cut it for 60fps video
[02:00:16 CET] <atomnuker> yep, once I finish implementing the host mapped vulkan access it should be faster
[02:00:59 CET] <atomnuker> though I already have all I needed it for - access to the unmodified data
[02:01:27 CET] <atomnuker> since mapping it to vaapi will also convert it to nv12/yuv420p and the chroma's broken so everything looks blurry
[02:02:36 CET] <atomnuker> yep I totally did all this work to make a screenshot tool because kde 5.10's screenshooter was broken on wayland :)
[10:26:24 CET] <ldts> lrusak: do you plan to submit again the AVDRMFrameDescriptor changes for v4l2_m2m2 you posted a few weeks ago?
[12:00:23 CET] <thardin> new release? don't see a website update
[14:26:50 CET] <JEEB> oh
[14:26:59 CET] <JEEB> was wondering why -show_frames only had pkt_pts|dts
[14:27:03 CET] <JEEB> buut
[14:27:05 CET] <JEEB> > print_ts ("pkt_pts", frame->pts);
[14:27:34 CET] <JEEB> so it was the AVFrame's pts, not the PTS of the packet it came from
[14:27:40 CET] <JEEB> on the other hand DTS is the pkt_dts
[14:27:51 CET] <JEEB> *pkt_dts is the actual pkt_dts
[14:54:06 CET] <nevcairiel> decoders dont produce a value for frame->pts
[14:54:14 CET] <nevcairiel> thats why it gets filled with pkt_pts these days
[14:59:16 CET] <JEEB> well pkt_pts isn't necessarily correct with b-frames etc, tho?
[14:59:40 CET] <nevcairiel> pkt pts is correct, otherwise its not pts
[15:00:25 CET] <JEEB> I seem to recall that with MPEG-TS for example the reordering and thus setting of correct PTS is left to the decoder with various formats. leading to remuxes dropping packets in the muxer etc
[15:00:34 CET] <JEEB> but I should look into that more :/
[15:00:48 CET] <nevcairiel> of course its left to the decoder
[15:00:56 CET] <nevcairiel> pts should be out of orderwhen it comes out of a demuxer
[15:01:01 CET] <nevcairiel> because frames are out of order
[15:01:26 CET] <JEEB> well yes. ok, I'm probably not making too much sense since my head is full of goo right now
[15:01:31 CET] <JEEB> might have been DTS then
[15:01:57 CET] <JEEB> just remember that remux MPEG-TS -> MPEG-TS could derp things up, while MPEG-TS->decode->encode->MPEG-TS would give nice timestamps
[15:02:36 CET] <JEEB> also will have to check if I actually have samples for this
[15:02:44 CET] <JEEB> so I could look more into the root cause
[16:25:13 CET] <lrusak> ldts: haven't really had time to work on it much
[18:13:50 CET] <cone-775> ffmpeg 03Niklas Haas 07master:7c82e0f61e36: avfilter/af_loudnorm: correctly initialize PTS
[21:47:37 CET] <kierank> omg carl
[22:09:23 CET] <wm4> did he read that post
[23:05:03 CET] <thardin> woo last mpeg-2 patent expired
[23:05:09 CET] <JEEB> oh wow
[23:05:47 CET] <BtbN> how long until h264 becomes free?
[23:06:12 CET] <thardin> party like it's 1996
[23:06:51 CET] <rcombs> AAC-LC is expiring in the US (but not elsewhere) next(?) month
[23:07:00 CET] <rcombs> (well, some other places, maybe, but not everywhere)
[23:07:12 CET] <rcombs> (MPEG-2 LC has been expired for ages but >MPEG-2 LC)
[23:07:17 CET] <thardin> 🥂
[23:07:50 CET] <JEEB> :D
[23:11:02 CET] <thardin> 🎉 works better
[23:11:19 CET] <thardin> petition to enclude at least on emoji in the next release name
[23:11:28 CET] <nevcairiel> denied
[23:11:47 CET] <thardin> 😔
[23:14:22 CET] <atomnuker> rcombs: a subset of aac anyway, pns is mpeg4
[23:14:43 CET] <rcombs> atomnuker: that's expiring in the US
[23:15:59 CET] <atomnuker> mpeg4?
[23:16:48 CET] <rcombs> yeah
[23:17:46 CET] <atomnuker> isn't that like 2000-something recent?
[23:45:21 CET] <wm4> BBB: which side data types would you want to be possible to appear multiple times?
[23:49:02 CET] <rcombs> >MPEG-4 AAC LC patents remain active at least through May 2023. Note, however that after March 3, 2018 the MPEG-4 AAC LC patent country coverage will be as follows: Australia, Canada, China, Hong Kong, India, Japan, Indonesia, Israel, Korea, Malaysia, Mexico, Poland, Singapore and Taiwan, and the following EP national states (AT, BE, CH, CZ, DE, DK, ES, FI, FR, GB, HU, IT, LI, NL, RO, SE, TR).
[23:50:56 CET] <BBB> I dont know
[23:51:11 CET] <JEEB> I think I saw someone's fork for that
[23:51:18 CET] <JEEB> it might have had something to do with caption packets
[23:52:00 CET] <nevcairiel> arent our apis designed around like "get side data of type X", which implies only one?
[23:52:40 CET] <BBB> I believe Ive used side-data for things like attaching slice headers to the image
[23:52:45 CET] <BBB> and one image can have multiple slices
[23:53:35 CET] <wm4> nevcairiel: yes, unless you loop over them manually, lol
[23:53:49 CET] <wm4> BBB: I'd argue then the side data type itself should support multiple items
[23:54:10 CET] <JEEB> I am trying to google whatever I was linked to
[23:54:23 CET] <JEEB> which had an iterative thing for each side data type
[23:54:30 CET] <peloverde> It's worth noting that by default just about everyone muxes MPEG-2 AAC mpeg-4 style in MP4, which uses a bunch of stupid mpeg-4 descriptors.
[23:55:03 CET] <jamrial> wm4, BBB: http://ffmpeg.org/pipermail/ffmpeg-devel-irc/2017-August/004459.html
[23:55:17 CET] <BBB> wm4: we can argue day and night about thigns like that
[23:55:18 CET] <jamrial> this was the dicussion where you asked me to keep the current behavior
[23:55:21 CET] <BBB> this is how I used it :)
[23:56:05 CET] <wm4> blergh
[23:56:35 CET] <wm4> I feel like allowing a single type multiple times makes everything much more complicated
[23:56:51 CET] <BBB> sorry, Im trying to be pragmatic, nobody cares if my encoder conforms to K&R, lots of people care if its 20% bdrate reduction compared to some important reference implementation
[23:57:09 CET] <BBB> likewise, noody cares how many side data elements of type x but not y are allowed
[23:57:22 CET] <BBB> people care if a stream analyzer works (yes) [] (no)
[23:57:52 CET] <wm4> the problems start when stuff begins to behave weird for certain files because there are multiple of one type and the code expects only 1, resulting in a giant hairball mess
[23:58:05 CET] <BBB> I dont see how its fundamentally against heaven and earth etc. to allow something relatively trivial like this that might actually help some people
[23:58:09 CET] <BBB> I just dont get it
[23:58:27 CET] <BBB> why take such a binary approach if users might sometimes use it *just because*?
[23:58:32 CET] <BBB> I dont get it
[23:58:50 CET] <JEEB> I think the thing this one guy did was that it let you have a single entry for a type, but that type then was iterable or something
[23:58:52 CET] <BBB> give users approaches that theyre happy with, that they expect
[23:59:00 CET] <BBB> thats fine also
[23:59:10 CET] <wm4> that results in the APIs we currently have
[23:59:13 CET] <wm4> well whatever
[23:59:22 CET] <BBB> you can do both, or either, but make it work, make it beautiful
[23:59:28 CET] <BBB> and make it simple
[23:59:37 CET] <BBB> Im giving you a use ase
[23:59:42 CET] <JEEB> also meh, I think I'll have to grep my IRC logs
[23:59:42 CET] <BBB> run with it, make it beautiful!
[23:59:49 CET] <JEEB> can't find the code
[23:59:52 CET] <BBB> :)
[00:00:00 CET] --- Thu Feb 15 2018
1
0
[00:00:22 CET] <JEEB> right...
[00:01:15 CET] <JEEB> SortaCore: this is the commit that added forcing the MOV/ISOBMFF time base like that http://git.videolan.org/?p=ffmpeg.git;a=commit;h=b02493e47668e66757b72a7163…
[00:03:50 CET] <SortaCore> *hmm intensifies*
[00:04:29 CET] <JEEB> anyways, it shouldn't be detrimental to you unless you're planning on making long enough clips that (I think) 64 bit integers wouldn't be enough
[00:04:48 CET] <JEEB> not nice that it doesn't give you the time base that you want, of course
[00:05:25 CET] <JEEB> granted, the next year someone had to add an AVOption to tell the darn thing to just use a timescale that's being set
[00:05:57 CET] <klaxa> mifritscher3: i think you'll need to find a way to tell whatever java library you are using to do what you want
[00:06:09 CET] <JEEB> oh, and of course it's a global option for all video tracks in the mux
[00:06:30 CET] <klaxa> like always read as many frames as possible and only process the last one read? i think that's what you want
[00:06:37 CET] <JEEB> SortaCore: set the AVOption video_track_timescale to the time scale you want to force it to have
[00:06:40 CET] <klaxa> not sure if it's just as easy as that though
[00:06:53 CET] <JEEB> and it will override that automated addition of precision
[00:08:23 CET] <JEEB> I have hunch that now that AVStream.time_base is being utilized as the base time base, an API user would actually tell you if a "variable FPS compatible" timescale is needed
[00:10:58 CET] <mifritscher3> klaxa: this library is only a tiny wrapper - it has no own threads or something
[00:11:51 CET] <klaxa> you don't need threads to detect if a read is blocking?
[00:12:14 CET] <mifritscher3> it does not automatically read
[00:12:16 CET] <klaxa> or am i misunderstanding what you are trying to say?
[00:12:57 CET] <mifritscher3> it just setups the library to start, but there is no actual reading
[00:13:20 CET] <mifritscher3> and as I said, while the process has enough cpu ressources the memory usage is steady
[00:15:03 CET] <klaxa> if it is steady (staying the same, not changing) where is the problem? you said if the process is paused for a few seconds the memory usage goes up
[00:15:38 CET] <klaxa> if you cannot modify the library i think you are out of luck then
[00:17:43 CET] <mifritscher3> only in certain error cases (mow cpu ressources, paused for dumping, some kind of problems with the source) it eats memory
[00:17:49 CET] <SortaCore> I don't mind it uses it JEEB, I was just wondering if it was a good idea to replicate that in my code
[00:18:16 CET] <JEEB> you're making your own ISOBMFF or MOV muxer?
[00:18:19 CET] <SortaCore> it sets mux_timebase and stream time_base I think
[00:18:29 CET] <SortaCore> no, just using it in my ffmpeg-accessing dll
[00:18:45 CET] <JEEB> then you're just setting the time base for the AVStream, which then gets calculated like that in movenc
[00:18:53 CET] <JEEB> the timescale value does not get fed anywhere back
[00:18:55 CET] <mifritscher3> klaxa: the problem is that it eats memory if there are problems ;-)
[00:18:57 CET] <JEEB> (to your AVStream time base)
[00:19:03 CET] <SortaCore> it will transcode from rtsp to mp4, but the pts/dts timing was frameNum++, which wasn't ideal
[00:19:07 CET] <JEEB> so no, you as an FFmpeg API customer do not have to do anything
[00:19:11 CET] <mifritscher3> I can modify the library
[00:19:17 CET] <SortaCore> ok, good to know
[00:19:26 CET] <klaxa> yes probably because of frames being buffered
[00:19:28 CET] <JEEB> you just stumbled upon a random hack
[00:19:39 CET] <SortaCore> I was monitoring every time time_base is set
[00:19:45 CET] <JEEB> but it's not
[00:19:47 CET] <JEEB> it's the other way
[00:19:51 CET] <JEEB> time base is used
[00:20:05 CET] <mifritscher3> klaxa: but why there are buffered only if there are problems and not in normal operation (where I don't even request the frames from ffmpeg)?
[00:20:07 CET] <JEEB> timescale is what gets written for that track within MOV/ISOBMFF, yes
[00:20:38 CET] <JEEB> but it doesn't go the other way, it only goes AVStream->timebase MOV/ISOBMFF track's timescale
[00:21:22 CET] <JEEB> SortaCore: and yes, with constant frame rate content the delta for DTS is always +frame_duration_in_timescale
[00:21:23 CET] <mifritscher3> klaxa: I yust tried something - I can even reproduce the problem with the plain ffmpeg binary
[00:21:26 CET] <klaxa> well if i had my magic crystal ball i could look right into your source-code and tell you, but alas it is in repairs
[00:21:38 CET] <JEEB> CTS offsets can be nonzero if you have B-frames
[00:22:14 CET] <JEEB> (CTS is pretty much what the rest of the world calls PTS)
[00:22:25 CET] <JEEB> (MOV/ISOBMFF had to be special like that)
[00:22:39 CET] <mifritscher2> klaxa: the high level code can be found under https://github.com/bytedeco/javacv/issues/846 . for the other files, just a moment
[00:22:49 CET] <SortaCore> I get Video: h264 (h264_qsv) (avc1 / 0x31637661), nv12, 704x480, q=2-31, 1000 kb/s, 6.25 fps, 12800 tbn, 6.25 tbc
[00:23:23 CET] <SortaCore> will RTSP src have a decently-timed dts/pts?
[00:23:33 CET] <JEEB> I have no idea
[00:23:51 CET] <SortaCore> same
[00:24:01 CET] <JEEB> also do note that things where you don't get nice PTS with the frame reordering can give you problems
[00:24:25 CET] <mifritscher2> klaxa: the other 2 interesting files: https://github.com/bytedeco/javacv/blob/master/src/main/java/org/bytedeco/j… and https://github.com/bytedeco/javacv/blob/master/src/main/java/org/bytedeco/j…
[00:24:34 CET] <JEEB> not necessarily, and it should be obvious as hell
[00:25:17 CET] <klaxa> mifritscher2: how did you test it with ffmpeg?
[00:25:18 CET] <SortaCore> so is dts/pts = FrameNum++ ok, or how would I convert the rtsp src dts/pts to output?
[00:25:42 CET] <JEEB> the PTS is what you have to be careful about due to possible b-frames
[00:25:52 CET] <JEEB> DTS and duration are a no-brainer if the input is constant frame rate
[00:26:12 CET] <JEEB> also what sort of timestamps do you get from the input, if any?
[00:26:44 CET] <SortaCore> I'm not sure how to answer that, where should I look?
[00:27:01 CET] <JEEB> the values you get from AVPackets?
[00:27:04 CET] <klaxa> wait... so are you calling FFmpegFrameGrabber.grabeFrame() in your "high-level" code?
[00:27:07 CET] <JEEB> unless you have your own demuxing
[00:27:13 CET] <klaxa> because then you *are* reading the stream
[00:27:25 CET] <mifritscher2> klaxa: ffmpeg -f dshow -i video="Integrated Webcam" null - while running it has a steady 24 MB, after dumping it (in the task manager) it goes up to steady 34 MB.
[00:27:29 CET] <SortaCore> I'll chuck a debug func on to output them and look
[00:27:36 CET] <SortaCore> actually, there's debug_ts
[00:27:43 CET] <JEEB> yes, ffmpeg.c has -debug_ts
[00:27:58 CET] <JEEB> which conveniently shows you timestamps at various spots in the darn thing
[00:28:13 CET] <mifritscher2> klaxa: I disabled the grabFrame call (dummy=true)
[00:28:42 CET] <mifritscher2> (it makes no difference if I enable the call)
[00:30:23 CET] <mifritscher2> sorry, wrong command line - meant ffmpeg -f dshow -i video="Integrated Webcam" c:\temp\o.avi
[00:30:24 CET] <SortaCore> https://hastebin.com/jirewuceyu.hs
[00:31:17 CET] <JEEB> ok, seems like you're getting timestamps?
[00:31:26 CET] <JEEB> pkt_pts/dts
[00:31:45 CET] <SortaCore> yep, some initial ones negative for some reason
[00:32:31 CET] <JEEB> not really
[00:33:05 CET] <JEEB> the off/off_time stuff is by FFmpeg
[00:33:13 CET] <buu> So uh
[00:33:13 CET] <klaxa> hmmm... no idea tbh then, it doesn't happen when using just a plain file?
[00:33:17 CET] <JEEB> as you can see by the demuxer+ffmpeg start of the line
[00:33:20 CET] <buu> Should I be able to see 'soft' subs usinf ffplay?
[00:33:25 CET] <SortaCore> why does ffmpeg do that?
[00:33:31 CET] <buu> Do I need some option to enable subs?
[00:33:47 CET] <JEEB> SortaCore: it moved the initial packet to timestamp zero
[00:34:19 CET] <SortaCore> why is dts on first packet higher than second packet?
[00:35:05 CET] <mifritscher2> klaxa: happens on a normal file as well
[00:35:48 CET] <buu> should I check decoer status or something?
[00:36:21 CET] <klaxa> buu: i think you need the subtitles video filter (-vf subs=somefile)
[00:36:32 CET] <klaxa> where somefile can be the same as your input file if it has subtitles embedded
[00:36:54 CET] <buu> klaxa: !!!
[00:37:11 CET] <klaxa> mifritscher2: and you are sure it's not the dump that is using up the additional memory?
[00:37:47 CET] <klaxa> uh -vf subtitles=somefile of course
[00:37:56 CET] <klaxa> or -vf ass=somefile if it is .ass subs
[00:38:25 CET] <buu> klaxa: That option made ffplay really unhappy
[00:38:34 CET] <mifritscher2> klaxa: fairly - as I "abuse" the dump only as a way to provoke it. I have the same problem sometimes if there are severe problems with the source (WLAN...)
[00:38:36 CET] <buu> By which I mean I got like 2 seconds of audio and no video
[00:39:48 CET] <buu> Yeah, I get no audio or video but ffplay thinks it is running
[00:39:51 CET] <klaxa> mifritscher2: maybe that's a bug then? i have no windows to reproduce, but some devs do, maybe filing a bugreport with steps to reproduce will shed light on this
[00:39:53 CET] <mifritscher2> but at the native ffmpeg proces it doesn't go up such much, so I'm not sure if it has the same cause
[00:40:49 CET] <mifritscher2> I think I'll try to throw some debugger / memory profiler at it tomorrow
[00:41:01 CET] <JEEB> SortaCore: it awfully looks as if an offset was applied to the further packets since they all are +14400 for both PTS and DTS afterwards
[00:41:37 CET] <buu> Augh.
[00:42:24 CET] <JEEB> SortaCore: unless you see a similar jump back in your API usage
[00:42:33 CET] <JEEB> ffmpeg.c can do a whole whackload of weird crap
[00:44:06 CET] <buu> klaxa: using -vf means I don't get any video whatsoever
[00:44:17 CET] <JEEB> SortaCore: try with -copyts before input, which disables some of the weirdness ffmpeg.c does
[00:44:29 CET] <klaxa> buu: maybe try a different video player then?
[00:44:36 CET] <buu> klaxa: Are there any other good ones?
[00:44:42 CET] <klaxa> mpv is fairly good
[00:44:54 CET] <buu> Note that vlc will play the subs fine, it's just.. slow. and bad.
[00:45:12 CET] <klaxa> mpv is fast and good
[00:46:16 CET] <SortaCore> mpv reminds me of those people who leave their desk at exactly 5:00:00.000
[00:46:23 CET] <SortaCore> as soon as it's done it's out
[00:47:39 CET] <furq> doesn't vlc do the same thing by default
[00:47:43 CET] <furq> you can configure them both not to anyway
[00:48:56 CET] <SortaCore> no, vlc sticks around
[00:49:19 CET] <SortaCore> mpv closes the entire app, even if you started it without a file
[00:50:00 CET] <buu> hurray
[00:50:19 CET] <buu> ffplay not exiting at the end of the file was a surprise the first couple of times I tried it lol
[00:51:37 CET] <SortaCore> https://hastebin.com/ojozuxucey.hs JEEB
[00:52:34 CET] <mifritscher2> good night - I'll try to provoke the problem on other ways tomorrow. thank you klaxa!
[00:52:40 CET] <SortaCore> first packet dts is still higher than the next few packets
[00:52:51 CET] <SortaCore> maybe it's something to do with H264 frames
[00:53:46 CET] <klaxa> o/
[03:18:30 CET] <marcurling> Hello, where can I find key shortcuts that can be used in FFMPEG while encoding, please?
[03:41:12 CET] <JoyMarkson> Hi there,anyone could help me with code adding 2 watermarks at once?
[03:55:46 CET] <puppy431> JoyMarkson is it an artefact/bug or would you like to do it?
[04:14:04 CET] <puppy431> Hello, where can I find key shortcuts that can be used in FFMPEG while encoding, please?
[04:16:46 CET] <JoyMarkson> this mirc
[04:16:53 CET] <JoyMarkson> is like dead you wont get anything here
[04:17:03 CET] <JoyMarkson> i get imagination its like 99% sitting are bots lol :D
[04:17:10 CET] <JoyMarkson> or watching nba :D
[04:18:18 CET] <puppy431> About you pb, do you know you can have several inputs
[05:32:16 CET] <SortaCore> h264_nvenc doesn't flush properly
[05:32:39 CET] <SortaCore> hm
[05:34:47 CET] <SortaCore> possibly because I flush the decoder first, and they're both using the same hwaccel
[11:44:18 CET] <rav> Hi, I am using libavformat to mux a audio-video streams to a webm file. When I open audio codec using avcodec_open2(), it returns -12. What does this value mean ? My audio stream is in opus codec. On a side not, is Opus in Experimental mode in ffmpeg ? Because unless I set AVCodecContext.strict_std_compliance to FF_COMPLIANCE_EXPERIMENTAL, I get a warning saying Opus is a experimental codec in ffmpeg.
[11:44:40 CET] <rav> *On a side note ...
[11:48:58 CET] <sfan5> ffmpeg has both an internal opus encoder and support for libopus
[11:49:03 CET] <sfan5> the internal encoder is experimental
[11:49:10 CET] <BtbN> the opus encoder in ffmpeg is experimental, yes. And you should use libopus right now.
[11:49:23 CET] <sfan5> also -12 (assuming it's an errno) means out of memory
[11:56:22 CET] <rav> Why out of memory error is thrown when I have just opened the codec, and have not written any data
[12:03:14 CET] <rav> And, actually I have configured the FFMpeg build with "--enable-libopus" option in my "./configue". So, ideally it should use libopus only right ? Is there any other way to make FFMpeg use libopus programmatically ?
[14:08:16 CET] <kepstin> rav: to select the libopus encoder specifically, look it up by name ("libopus")
[14:29:49 CET] <Fyr> does anyone know why PGS subtitles use different framerate? it goes normal in the beginning of the movie, but in the end there is a desync of several seconds.
[14:30:42 CET] <Fyr> the movie 24000/1001, the SUP file possibly 24 fps.
[14:31:02 CET] <Fyr> the timestamps of bitmaps in the SUP file are normal.
[14:31:24 CET] <Fyr> however, in the end of the file I see a desync.
[15:42:42 CET] <saml_> what's good quality metric? is vmaf the only thing?
[15:45:28 CET] <colde> Well, there is also PSNR and SSIM
[15:46:11 CET] <saml_> psnr and ssim are frame by frame and i need to compare original and encoding with different framerate, scale, .. etc
[15:46:17 CET] <saml_> basically i want magic
[15:46:27 CET] <saml_> can you write one magic
[15:47:07 CET] <saml_> i'm thinking. play the video and screen capture at the same interval. then i can compare am i right
[15:47:36 CET] <saml_> is there a way to play video and capture screen without screen (headless)?
[15:52:36 CET] <DHE> ffmpeg can output to, say, png files
[16:45:23 CET] <gh0st3d> Hey everyone. Struggling a bit to get two videos to concatenate. As far as I'm aware I matched up their resolutions & framerates and I get an error saying unable to find suitable output format. Here's the output from the command: https://pastebin.com/PbMVwfah
[16:46:03 CET] <gh0st3d> It also says "-filter_complex: command not found" at the end, but I'm thinking it's actually something wrong with the files? the 2nd clip that I'm trying to add is a clip that's generated by ffmpeg
[16:54:26 CET] <iive> gh0st3d, you get the "command not found" because the bash tries to execute them as separate commands
[16:54:46 CET] <iive> meaning the "\" doesn't seem to work as intended.
[16:58:15 CET] <gh0st3d> ah! I think I got it. I removed that and put it all in one line. I had done that yesterday but I think that was before I had all the variables matching. Thank you!
[19:21:33 CET] <Fyr> guys, is there a way to add a delay to subtitles?
[19:24:10 CET] <CoreX> -itsoffset
[19:24:32 CET] <durandal_1707> via ffmpeg? no
[19:24:44 CET] <Fyr> CoreX, I need to add a delay to two subtitles tracks.
[19:26:00 CET] <relaxed> Fyr: if it's ass subs you can edit the timing
[19:26:07 CET] <Fyr> relaxed, PGS
[19:26:47 CET] <relaxed> -itsoffset may work, never tried it with PGS
[20:02:24 CET] <ladders> does webm resolution have to be some multiple of 2
[20:03:24 CET] <ladders> im encoding webm clips from longer h264 files and -vf scale=300:-1 isnt
[20:04:32 CET] <SortaCore> if that's the case, -2 will do it
[20:05:34 CET] <ladders> i dont care what height the output webm is, but i need the widths to be consistent regardless of the input aspect ratio
[20:31:50 CET] <Cracki> cheers. trying to use qsv encode on a processor that I *know* can do it (also with ffmpeg), but something's screwy... getting 'No device available for encoder (device type qsv for codec h264_qsv).'
[20:31:53 CET] <Cracki> any idea what's up?
[20:32:31 CET] <Cracki> (it's an optimus hardware setup, lenovo t440s, with force-enabled nvidia discrete gpu for ffmpeg processes)
[20:33:30 CET] <Cracki> (h264_nvenc works, hevc_nvenc seems unsupported by this hw...)
[20:34:58 CET] <Cracki> (the GT730M is supposed to have hevc nvenc support...)
[20:37:02 CET] <Cracki> (or not...)
[20:38:04 CET] <JEEB> it is definitely not
[20:38:20 CET] <Cracki> any option to use the intel or nvidia GPUs to *assist*?
[20:38:56 CET] <kepstin> not usefully.
[20:39:20 CET] <JEEB> if you had a full video filtering chain on the GPU it could be useful
[20:39:28 CET] <JEEB> but encoding, no
[20:39:53 CET] <JEEB> that's why everyone and their dog stopped doing the GPGPU kool-aid
[20:39:57 CET] <JEEB> and moved to just integrating ASICs
[20:41:21 CET] <Cracki> ic
[20:41:32 CET] <sim590> I want to use some pulseaudio microphone with this command: http://paste.debian.net/1010294/
[20:41:43 CET] <Cracki> well, motion estimation (optical flow) on gpu is kinda faster than cpu-only
[20:41:51 CET] <sim590> I try to pass hw:1 for $audio_device, but it doesn,t recognize it
[20:42:11 CET] <sim590> My audio devices are http://paste.debian.net/1010295/
[20:42:22 CET] <sim590> I want to use the blue snowflake
[20:42:30 CET] <sim590> it should be card #1... :/
[20:42:31 CET] <JEEB> Cracki: not in the context of video encoding, but as a completely separate workthing probably yes
[20:42:40 CET] <JEEB> GPUs love it when you can just throw hundreds of threads at it
[20:42:51 CET] <JEEB> that usually isn't the case with encoding
[20:42:59 CET] <sim590> The error message: http://paste.debian.net/1010296/
[20:43:19 CET] <klaxa> i think you want -f pulse -i alsa_input.usb-Blue_Blue_Snowflake-00.analog-mono
[20:43:29 CET] <klaxa> also would be useful to see what you even called and not only the output
[20:49:20 CET] <sim590> klaxa: I called the script
[20:49:30 CET] <SortaCore> *phone rings in script's office*
[20:49:34 CET] <sim590> klaxa: the first url
[20:51:06 CET] <klaxa> well try to change $audio_device's value from "hw:1" (which is alsa) to "alsa_input.usb-Blue_Blue_Snowflake-00.analog-mono" (which is pulse)
[20:51:18 CET] <sim590> klaxa: thanks. That's the right audio device.
[20:52:18 CET] <sim590> I'm tryng to stream on youtube.
[20:52:54 CET] <sim590> I try to set the output file as rtmp://a.rtmp.youtube.com/live2${MY_YT_KEY}
[20:53:18 CET] <sim590> But, the youtube page doesn't seem to receive my stream.
[20:53:23 CET] <furq> sim590: just -f pulse -i 6 should work
[20:54:04 CET] <furq> also youtube is probably bailing out because you're passing it a dual audio stream
[20:54:17 CET] <furq> i'm guessing you wanted to mix those together or something
[20:58:00 CET] <sim590> furq: Yeah
[20:58:41 CET] <furq> add -af amerge or -af amix
[20:58:54 CET] <furq> amix will mix them, amerge will put the first input on the left channel and the second on the right
[20:59:22 CET] <furq> also i forget if you still need to explicitly add -f flv for rtmp outputs
[20:59:25 CET] <sim590> furq: nice! Thanks! That's what I want
[20:59:25 CET] <furq> but it couldn't hurt
[20:59:31 CET] <sim590> Yeah
[20:59:50 CET] <furq> also yeah you probably want to get rid of -ac before the pulse devices
[21:00:10 CET] <furq> you need two mono inputs for amerge
[21:02:54 CET] <sim590> furq: do you know what "Simple filtergraph 'amix' was expected to have exactly 1 input and 1 output" means? I did http://paste.debian.net/1010300/
[21:03:07 CET] <furq> oh right yeah
[21:03:12 CET] <furq> -filter_complex amix
[21:03:28 CET] <sim590> nice!
[21:03:42 CET] <furq> wait
[21:03:44 CET] <furq> -qp 0?
[21:04:01 CET] <furq> i can't imagine youtube will want to deal with that lol
[21:04:19 CET] <furq> i assume they have some kind of upper rate limit
[21:05:44 CET] <sim590> I'm having input/output error
[21:05:48 CET] <sim590> With youtube
[21:06:07 CET] <sim590> command: ffmpeg -f x11grab -framerate 25 -s 1920x1080 -i :0.0+0,0 -f pulse -i alsa_input.usb-Blue_Blue_Snowflake-00.analog-mono -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -filter_complex amix -map 0 -map 1 -map 2 -c:v libx264 -preset ultrafast -c:a aac -f flv -y rtmp://a.rtmp.youtube.com/live2${MYKEY}
[21:06:26 CET] <furq> that all looks ok to me
[21:06:32 CET] <furq> does it work if you output to a file
[21:06:34 CET] <sim590> I,m setting the key according to the format that seems to be used here: https://obsproject.com/forum/threads/how-to-stream-on-linux.4594/
[21:06:39 CET] <sim590> Yes
[21:06:49 CET] <furq> shrug
[21:07:01 CET] <furq> youtube is a bit mercurial
[21:07:14 CET] <sim590> hehe
[21:07:20 CET] <ladders> ok, it looks like the discrepancy in output res for png and webm is due to some weirdness in scale=foo:-1/-2
[21:07:39 CET] <sim590> furq: May be I don't supply the URL in the good manner
[21:07:39 CET] <ladders> if i specify the exact scale=256x150 orwhatever the png and webm res come out right
[21:07:49 CET] <furq> maybe quote the url
[21:07:58 CET] <sim590> I do
[21:08:07 CET] <furq> oh so you do
[21:08:08 CET] <ladders> now i have to change my perl and spend another 3 weeks of cputime re-encoding :)
[21:09:47 CET] <sim590> furq: It needed some /
[21:09:51 CET] <sim590> https://gist.github.com/olasd/9841772
[21:10:15 CET] <furq> lol this script again
[21:11:55 CET] <furq> oh wow the one on the obs forums is even worse
[21:21:57 CET] <ladders> thanks
[21:24:47 CET] <sim590> I would like to dynamically select a region of my screen to stream without having to stop the stream. I guess I can't do that with ffmpeg, can I?
[21:27:26 CET] <DHE> if you're using x11grab, it can be made to follow the mouse cursor.
[21:30:26 CET] <sim590> DHE: How do you do that? :p
[21:31:01 CET] <DHE> sim590: https://ffmpeg.org/ffmpeg-devices.html#x11grab
[21:36:26 CET] <sim590> DHE: thanks!
[22:04:50 CET] <sim590> DHE: I see that the cursor will be followed centered no matter what I set: either -follow_mouse centered or -follow_mouse 1000 for e.g. And it behaves weirdly when you reach near the border of two screens. Is there a way to make it so that it swtiches only if the cursor switches screen?
[22:05:08 CET] <sim590> and to switch completely, not half of both screen.
[22:06:51 CET] <sim590> I guess I could setup something more elaborate with a kind of a sink waiting for stream which would be permanently connected to the stream, but could output a default blank screen if nothing is thrown in and then I use another command to stream to that sink.
[22:06:53 CET] <sim590> Is it doable?
[22:08:42 CET] <sim590> I'm in a context where I don't want to break stream connection with the remote stream (youtube for instance).
[22:11:39 CET] <sim590> Could I use some /dev/ device as input file for audio and video, then with another command I could write to those /dev/ device files?
[22:57:53 CET] <ladders> ok i figured out the odd resolution, i didnt take SAR into account
[22:58:14 CET] <ladders> so that seems to be what it was, it's working now, thanks for the software
[00:00:00 CET] --- Thu Feb 15 2018
1
0
[00:00:40 CET] <cone-037> ffmpeg 03Mark Thompson 07master:e412d683fe03: hwcontext: Perform usual uninitialisation on derived frames contexts
[00:00:41 CET] <cone-037> ffmpeg 03Mark Thompson 07master:e9dfc6f9006f: Merge commit 'e412d683fe0349bb8450645813a23158bb4ebd66'
[00:01:51 CET] <cone-037> ffmpeg 03Zhong Li 07master:8bb9824fcbc5: qsvenc: AVBR is not supported on non-windows OS
[00:01:52 CET] <cone-037> ffmpeg 03Mark Thompson 07master:de3be1d09f31: Merge commit '8bb9824fcbc5a6ebf68391d70a2c4f03447990d2'
[00:07:36 CET] <cone-037> ffmpeg 03Ruiling Song 07master:9b09792c90b5: lavc/qsv: default la_ds to MFX_LOOKAHEAD_DS_UNKNOWN
[00:07:37 CET] <cone-037> ffmpeg 03Mark Thompson 07master:ccef7a85d649: Merge commit '9b09792c90b580842157ca8ce534be434725a841'
[00:08:10 CET] <KGB> [13FFV1] 15dericed opened pull request #108: fix inter-sectional linking (06master...06fix-sectional-linking) 02https://git.io/vAYaR
[00:10:48 CET] <cone-037> ffmpeg 03Michael Niedermayer 07master:5b6213ef6bf5: avcodec/vc1dec: fix mby_start for interlaced content
[00:10:49 CET] <cone-037> ffmpeg 03Mark Thompson 07master:7ceec9c5ec51: Merge commit '5b6213ef6bf5e0781c83e86926eb0b33a98dc185'
[00:13:12 CET] <cone-037> ffmpeg 03Diego Biurrun 07master:a674b31240e9: build: Ignore generated mpeg12framerate test binary
[00:13:13 CET] <cone-037> ffmpeg 03Mark Thompson 07master:0018f17f233d: Merge commit 'a674b31240e99a369059385b03582b35629d190f'
[00:13:56 CET] <jkqxz> And done.
[00:33:26 CET] <cone-037> ffmpeg 03Marton Balint 07master:ce6ce595cf10: avcodec/mpeg12enc: add support for specifying video_format in the sequence_display_extension
[00:33:27 CET] <cone-037> ffmpeg 03Ray Tiley 07master:c837cd3d4d11: avdevice/decklink_dec: extract NTSC VANC
[00:39:24 CET] <cone-037> ffmpeg 03Michael Niedermayer 07release/2.8:5b6324a94c20: avcodec/aacsbr_fixed: Fix overflows in rounding in sbr_hf_assemble()
[00:39:25 CET] <cone-037> ffmpeg 03Michael Niedermayer 07release/2.8:263bddf78159: avcodec/wavpack: Fix integer overflow in FFABS
[00:39:26 CET] <cone-037> ffmpeg 03Michael Niedermayer 07release/2.8:c402b672b764: avcodec/huffyuvdec: Check input buffer size
[00:39:27 CET] <cone-037> ffmpeg 03Michael Niedermayer 07release/2.8:66f831a8d1bf: avcodec/vp3: Check eob_run
[00:39:28 CET] <cone-037> ffmpeg 03Michael Niedermayer 07release/2.8:dd422f1b5e6c: avcodec/mpeg4videodec: Ignore multiple VOL headers
[00:39:29 CET] <cone-037> ffmpeg 03Michael Niedermayer 07release/2.8:89668fa84308: avcodec/vp3: Error out on invalid num_coeffs in unpack_vlcs()
[00:43:12 CET] <KGB> [13FFV1] 15michaelni closed pull request #108: fix inter-sectional linking (06master...06fix-sectional-linking) 02https://git.io/vAYaR
[01:07:13 CET] <KGB> [13FFV1] 15michaelni pushed 1 new commit to 06master: 02https://git.io/vAY6D
[01:07:13 CET] <KGB> 13FFV1/06master 14aadbb8c 15Jérôme Martinez: Reserve "component" word for pixel components (luma/chroma)
[01:19:45 CET] <cone-037> ffmpeg 03Michael Niedermayer 07release/2.8:d797d9f21562: Changelog: Update
[02:52:17 CET] <jamrial> BBB: have you seen https://trac.ffmpeg.org/ticket/7014 ?
[02:53:30 CET] <BBB> no
[02:54:28 CET] <BBB> I can review patches, I dont have a ton of time for debugging this ATM, unfortunately
[02:55:15 CET] <BBB> but feel free to assign to me and Ill see what I can do
[02:57:14 CET] <jamrial> alright
[03:01:16 CET] <BBB> ty
[03:01:44 CET] <jamrial> no prob
[03:02:47 CET] <jamrial> first vp9 crash in a long while. even after all the google fuzzing
[03:03:13 CET] <jamrial> goes to show it's pretty robust :p
[03:03:34 CET] <BBB> this feels like openbsds no root exploits for 10 years"
[03:03:37 CET] <BBB> and then someone finds one
[03:03:55 CET] <BBB> and then they get confused and change their website to only 3 remote root exploits in past 12 years"
[03:03:58 CET] <BBB> or whatever it was
[03:04:03 CET] <BBB> *sniff*
[04:00:08 CET] <wm4> jesus christ
[04:00:09 CET] <wm4> AV_OPT_TYPE_IMAGE_SIZE = MKBETAG('S','I','Z','E')
[04:00:33 CET] <wm4> I wanted to dispatch things based on the AV_OPT_TYPE in a table, but I guess I can't because of those dumb ABI hacks
[04:12:33 CET] <wm4> patch sent
[04:41:15 CET] <wm4> jamrial: so what are our rules, can I push the patch immediately?
[04:45:32 CET] <jamrial> wm4: yeah, it's a simple change
[04:45:39 CET] <jamrial> if you were doing something else like adding new api i'd say to wait for other reviews
[04:46:38 CET] <cone-682> ffmpeg 03wm4 07master:474194a8d0f2: avutil/opt: remove ABI hacks
[04:46:52 CET] <jamrial> removing hacky enum offsets taking advantage of the abi unstable period is pretty straighforward
[04:47:27 CET] <wm4> we still have some of them for AV_CODEC_IDs, but not sure if they can even be removed
[04:47:58 CET] <jamrial> those are to separate codec types
[04:48:27 CET] <jamrial> so new additions don't go all together at the bottom of the enum
[04:49:02 CET] <wm4> yeah, for audio/video/sub/special
[04:49:05 CET] <wm4> but there's more than that
[04:49:59 CET] <jamrial> oh right, the *800 offsets
[04:50:58 CET] <jamrial> yeah, those are there for the old libav abi compat efforts, and probably also so merges have less conflicts
[04:51:43 CET] <jamrial> they can go imo. feel free to send a patch
[04:52:42 CET] <jamrial> not sure if there's any benefit doing so, in any case
[04:52:50 CET] <jamrial> the other offsets will remain
[04:53:04 CET] <wm4> I also seem to remember about some code doing numeric comparisons of codec IDs and possibly constants, but I can't find that code again
[04:53:11 CET] <wm4> so the whole topic is scary
[04:54:49 CET] <jamrial> i think some code would assume that codec_id < 0x10000 always meant video, which before we removed the hacky MKBETAG stuff was obviously wrong
[04:55:04 CET] <wm4> ...
[04:55:15 CET] <jamrial> but now it's correct
[04:56:01 CET] <jamrial> since AV_CODEC_ID_FIRST_AUDIO == 0x10000, and everything before that is video, it was a "safe" assumption :p
[05:24:16 CET] <wm4> huh promptly got a fate error
[05:25:29 CET] <wm4> no idea why
[05:25:40 CET] <wm4> so maybe there are some numeric comparisons left which I didn't spot
[05:26:09 CET] <wm4> scratch that
[05:26:10 CET] <wm4> av_assert0(AV_CODEC_ID_PCM_S8_PLANAR==65563);
[05:26:10 CET] <wm4> av_assert0(AV_CODEC_ID_ADPCM_G722==69660);
[05:26:18 CET] <wm4> in avcodec_version()
[05:26:22 CET] <wm4> god fucking dammit
[05:59:08 CET] <rcombs> av_assert0(you didn't break ABI)
[11:52:21 CET] <thardin> is there an api for vbi these days? I see there's an old wish ticket for vbi support in lxfdec
[11:52:45 CET] <thardin> which I don't particularly care about, but it would be nice to at least be able to close the ticket
[11:52:58 CET] <thardin> http://trac.ffmpeg.org/ticket/2352
[11:53:36 CET] <thardin> I see the sample is gone
[14:50:36 CET] <Guest1899> Hi I am new to FFmpeg and wish to contribute as gsoc applicant. How do I get started?
[15:01:58 CET] <ad_> Hi I am new to ffmpeg and wish to contribute as gsoc applicant. How do I get started?
[15:03:15 CET] <jdarnley> Are you the same person that asked a few minutes ago?
[15:03:32 CET] <nevcairiel> do you think two people would write the exact same line? :)
[15:03:34 CET] <jdarnley> I believe there is a page on out trac wiki that lists some stuff
[15:03:58 CET] <jdarnley> nevcairiel: yes but I didn't see it as the same line because of a line wrap change
[15:04:15 CET] <jdarnley> Plus ffmpeg lost its caps
[15:04:56 CET] <jdarnley> https://trac.ffmpeg.org/
[15:05:14 CET] <ad_> Sorry actually it was me before also but somehow got disconnected.
[15:05:33 CET] <jdarnley> That happens
[15:11:26 CET] <ad_> jdarnley: Thanks!
[15:13:18 CET] <durandal_1707> https://trac.ffmpeg.org/wiki/SponsoringPrograms/GSoC/2018
[16:41:32 CET] <uzumaki_itachi> Hello, I am Suryavanshi Virendrasingh, a B.Tech Sophomore at IIT Mandi. I am deeply interested in FFmpeg and would like to work on it in this GSoC (2018). Please shed some light on how to see and solve issues of FFmpeg.
[16:44:07 CET] <thardin> hi
[16:45:08 CET] <thardin> did you read https://trac.ffmpeg.org/wiki/SponsoringPrograms/GSoC/2018 ?
[16:49:40 CET] <uzumaki_itachi> Yes, I read that but in that it is mentioned to contact mentor before starting to get more information about the project and the requested qualification task. So i asked for the help here
[16:52:57 CET] <jdarnley> Do we have to copy-paste what's on that page to get you to read it?
[16:52:59 CET] <jdarnley> "The qualification tasks are usually shown in the project description. Contact the respective mentor(s) for assistance on getting a related qualification task or if you want to propose your own."
[16:53:26 CET] <jdarnley> So basically what project do you want to work on?
[16:57:26 CET] <uzumaki_itachi> Sorry for that, I want to work on 360° video filter Project.
[17:01:33 CET] <thardin> then you'll want to contact Paul B Mahol
[17:58:42 CET] <Zeranoe> Why was the NewTek SDK deemed non-free in FFmpeg? The headers are all MIT which works with GPL.
[18:23:00 CET] <iive> Zeranoe, i'm not familiar with the issue, however I think that we do not support runtime linking for any library, so if the library is not (l)gpl compatible, it might make ffmpeg binary non-free.
[18:24:50 CET] <c3-Win> Zeranoe: Thanks for all your awesomeness on supplying the Windows builds.
[18:30:32 CET] <Fenrirthviti> Zeranoe: The headers historically were not MIT, iirc. That might be why, We had a similar issues trying to distribute with OBS which got resolved ages ago.
[19:39:45 CET] <JEEB> michaelni: umm, if I have irritated you with my replies I am sorry btw
[19:41:34 CET] <JEEB> michaelni: it was just not clear what sort of "new API" you were talking about, and I hadn't yet checked out what field coded pictures are in MPEG-2 Video
[19:41:37 CET] <durandal_1707> nah
[19:42:04 CET] <michaelni> JEEB, iam not that easily irritated :)
[19:42:22 CET] <JEEB> as in, I didn't know field coded pictures were inseparatable
[19:43:02 CET] <JEEB> because if they wer feed'able to the decoder separately then one could just stop the parser after the first picture
[19:45:24 CET] <michaelni> field coded pictures can be seperated but you can store 2 fields as in interlaced in a frame
[19:46:04 CET] <michaelni> and then one has 2 timestamps
[19:47:39 CET] <JEEB> two AVPackets and then one AVFrame, I would guess?
[19:48:00 CET] <JEEB> depends on how the decoder works (but I think we can asume a decoder works like all other decoders except for jpeg2000/hevc)
[19:48:14 CET] <JEEB> (I think hevc and j2k are the only ones outputting non-interleaved interlacism)
[19:55:24 CET] <nevcairiel> at least for hevc thats mostly because it just doesnt support interlaced =p
[19:56:08 CET] <JEEB> well it supports it just fine, the flags are there. it's as far as I can tell very similar to any other video format that codes fields separately :)
[19:56:27 CET] <JEEB> it was more like: people just didn't care to output interleaved
[19:56:37 CET] <JEEB> and I don't blame 'em :)
[21:22:49 CET] <tizbac> Hi, i'm seeing that there's support for hardware decoding in the latest master , but i have a question, is it possible if i want to play a video to an opengl texture, avoiding using gltexsubimage or whatever , and have the data directly decoded to the texture?
[21:23:13 CET] <tizbac> Going GPU -> CPU -> GPU seems a waste of resources to me
[21:23:29 CET] <JEEB> various hwaccels have the capability for that
[21:23:39 CET] <JEEB> it depends on which hwaccel you're talking about
[21:26:44 CET] <tizbac> for now i'm mainly interested in intel vaapi
[21:27:29 CET] <tizbac> i have sort of copypasted the code from the hw_decode demo which downloads hw surface to software surface
[21:27:34 CET] <jkqxz> Export the image to DRM objects and import with EGL.
[21:28:08 CET] <tizbac> how is that accomplished? i cannot find any docs to it
[21:29:50 CET] <jkqxz> vaDeriveImage() + vaAcquireBufferHandle() gives you the objects, EGL_EXT_image_dma_buf_import is used to import them.
[21:30:57 CET] <tizbac> sorry if the question is stupid but i've just started again developing on that stuff and everything changed, is that applicabile also to an opengl context?
[21:32:04 CET] <rcombs> wonder if that could be made generic as well
[21:32:33 CET] <rcombs> like, have a generic function to map a hwaccel frame into an EGL texture
[21:32:53 CET] <tizbac> should be imho
[21:33:05 CET] <jkqxz> An OpenGL hwcontext type was considered for that, but there are a lot of cases.
[21:33:07 CET] <BtbN> doubt it, that would be vaapi only
[21:33:14 CET] <tizbac> otherwise hwaccel especially for decoding is useless
[21:33:14 CET] <jkqxz> And OpenGL is a horrible API to use.
[21:33:23 CET] <rcombs> tizbac: well it's plenty useful
[21:33:29 CET] <rcombs> you just need to write platform-specific code
[21:33:35 CET] <rcombs> BtbN: well, also e.g. VideoToolbox
[21:33:46 CET] <BtbN> EGL on OSX?
[21:33:51 CET] <tizbac> i mean , if you have to copy always data 2 times you almost loose the performance gain :/ at least in some cases
[21:33:57 CET] <philipl> Look at mpv for working examples.
[21:34:05 CET] <philipl> It supports all the main hwaccels efficiently
[21:34:17 CET] <rcombs> oh well not EGL there but GL
[21:35:03 CET] <wm4> OSX basically stopped maintaining GL
[21:35:38 CET] <tizbac> jkqxz, last question, if i have an AVFrame that i have got from an hw decode context, how do i access vaapi specific part?
[21:35:55 CET] <BtbN> it's in the data pointers
[21:35:59 CET] <BtbN> depending on the pixfmt of the frame
[21:36:20 CET] <jkqxz> The VASurfaceID is in data[3], the context information is accessible via hw_frames_ctx.
[21:36:33 CET] <rcombs> has anyone implemented vulkan on top of metal
[21:36:39 CET] <rcombs> is that even sensible
[21:37:01 CET] <tizbac> jkqxz, so each frame i have to do vaDeriveImage etc or just once?
[21:37:56 CET] <jkqxz> Each frame if you use the export API. vaDeriveImage() also locks it so nothing else can happen.
[21:37:58 CET] <wm4> rcombs: yes, there's a commercial wrapper, but it's so bad/basic it doesn't work for mpv
[21:38:26 CET] <rcombs> lol
[21:38:30 CET] <jkqxz> Because mpv definitely wouldn't do anything funky, right.
[21:38:50 CET] <wm4> hanna described it once and how it'd be restricted
[21:39:03 CET] <wm4> the result would be something worse than with GLES2
[21:39:12 CET] <wm4> in terms of features
[21:42:08 CET] <wm4> anyway mpv has all that interop stuff in video/out/*/hwdec_*
[21:42:16 CET] <wm4> there are annoyingly many
[21:47:15 CET] <hanna> rcombs: there's MoltenVK
[21:47:17 CET] <hanna> but it's a complete joke
[21:47:26 CET] <hanna> supports like 10% of the spec
[21:47:31 CET] <hanna> (or it feels like that any way)
[21:47:50 CET] <rcombs> lol
[21:48:29 CET] <hanna> like it literally isn't conformant
[21:48:43 CET] <hanna> and it will probably take them a while to get it so
[22:21:59 CET] <atomnuker> rcombs: yes, someone did
[22:22:08 CET] <atomnuker> on both gl and metal in fact
[22:22:30 CET] <atomnuker> and like most mac things, its closed source and if you want to ship it as a library you need to pay for it
[23:04:48 CET] <kepstin> just want to confirm - the AVFilter private data will be filled with 0s prior to the init function being called, right?
[23:07:08 CET] <rcombs> yes
[23:07:22 CET] <kepstin> thanks.
[23:57:36 CET] <thardin> what is codec_descriptors sorted by? codec_id?
[23:57:47 CET] <nevcairiel> probably
[23:59:01 CET] <thardin> let's see what FATE thinks
[00:00:00 CET] --- Wed Feb 14 2018
1
0
[00:32:40 CET] <Classsic> Hi
[00:33:42 CET] <Classsic> somebody know why when compile ffmpeg with vaapi not have mjpeg_vaapi encoder
[00:33:45 CET] <Classsic> only this V..... h264_vaapi H.264/AVC (VAAPI) (codec h264) V..... mpeg2_vaapi MPEG-2 (VAAPI) (codec mpeg2video) V..... vp8_vaapi VP8 (VAAPI) (codec vp8)
[00:36:34 CET] <JEEB> Classsic: what version of FFmpeg?
[00:36:49 CET] <JEEB> although I'm really not sure why you'd do JPEG encoding with VAAPI
[00:36:54 CET] <JEEB> but it is there
[00:36:55 CET] <JEEB> lol
[00:37:02 CET] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/vaapi_encode_mjpe…
[00:48:39 CET] <Classsic> latest version 3.4
[00:50:54 CET] <Classsic> I get docker with vaapi support, and works with mjpeg_vaapi, but when try compile myself, doesn`t work
[00:52:28 CET] <jkqxz> Are you on an oldish distribution? It requires libva of some not-too-old version.
[00:54:06 CET] <Classsic> debian jessie
[00:55:04 CET] <sfan5> that qualifies as "old"
[00:56:24 CET] <Classsic> ok, I will try with a newer distro
[01:22:14 CET] <Classsic> that`s it! debian 9, it works! :D
[01:48:57 CET] <JummerBimmer> Hi
[01:48:59 CET] <JummerBimmer> anyone here?
[01:49:08 CET] <JummerBimmer> I was wondering is it possible to lets say use ffmpeg line
[01:49:27 CET] <JummerBimmer> for one watermark to show for lets say some seconds and then another one for the rest of the video in another place?
[01:51:38 CET] <furq> JummerBimmer: https://ffmpeg.org/ffmpeg-filters.html#Timeline-editing
[03:11:56 CET] <DHE> so, what's the best deinterlacer today? assuming CPU usage is no object
[06:13:16 CET] <naftulikay> Does anyone know offhand how to calculate an MP3 file's length? FFmpeg bindings may not be available for my language, but there are generalized parsers which return a sequence of MP3 audio frames. Do I have to iterate through all frames and sum sample rate * sample count?
[06:13:29 CET] <naftulikay> (length = duration, sorry for confusion)
[12:30:35 CET] <DHE> naftulikay: with mp3 being variable bitrate at times, that calculation may not be accurate. the only 100% sure way is to iterate the whole file. reading a second or two to verify the bitrate is steady and sane might be sufficient if you're smart
[14:45:38 CET] <Fyr> guys, I found out that PGS subtitles go slightly faster after muxing.
[14:45:42 CET] <Fyr> how do I fix them?
[14:45:55 CET] <Fyr> I loaded them, the timings are normal.
[14:46:36 CET] <DHE> as in they're all consistently fast, or that they speed up over the running of the video?
[14:46:42 CET] <Fyr> however, when I mux them into an MKV, the captions appear slight earlier and in the end there is huge desync.
[14:46:57 CET] <Fyr> DHE, they speed up.
[14:48:42 CET] <Fyr> so, there is framerate thing messed up, methinks.
[14:55:05 CET] <woo543> I'm looking for the magic incantation to use tee with a listening http output, eg making this: ffmpeg -i '...' -c copy -listen 1 -f mpegts 'http://127.0.0.1:1234' work when the output is -f tee ...
[14:55:24 CET] <woo543> I tried with -tee "[f=mpegts]/tmp/foo.mp4|[f=mpegts,listen=1]http://127.0.0.1:1234/"
[14:55:46 CET] <woo543> but it looks like the listen=1 option is ignored, as it tries to connect to 127.0.0.1:1234 rather than listening
[14:55:53 CET] <woo543> any clue?
[15:13:19 CET] <woo543> (I mean -f tee "[f=mpegts]/tmp/foo.mp4|[f=mpegts:listen=1]http://127.0.0.1:1234/" sorry, but the failure is real)
[15:14:21 CET] <woo543> [tee @ 0x562bb79b02a0] Slave '[f=mpegts:listen=1]http://127.0.0.1:1234/': error opening: Connection refused
[15:24:24 CET] <FireBurn> Hi can anyone explain what the libdrm stuff is for in ffmpeg?
[15:27:00 CET] <jkqxz> It's needed for the RockChip decoder and kmsgrab input device, since they output DRM objects only. It can also be used for some VAAPI and OpenCL interop.
[15:38:20 CET] <Fyr> guys, what value should I set to -max_interleave_delta?
[15:55:21 CET] <Fyr> guys, does itsoffset affect only the video or a file after the option?
[15:56:45 CET] <JEEB> itsoffset affects the overall start time of the input as a whole
[15:57:22 CET] <JEEB> also it can be very easily reset by the timestamp discontinuity fixing logic unless you are using -copyts as well :P
[15:57:24 CET] <Fyr> JEEB, what if there are a few itsoffset options set?
[15:57:36 CET] <JEEB> most likely the last one gets applied :P
[15:57:47 CET] <Fyr> like, -i video -i audio -itsoffset sub1 -itoffset sub2
[15:58:01 CET] <JEEB> itsoffset goes before input tho, no?
[15:58:17 CET] <JEEB> since it's an input option
[15:58:21 CET] <Fyr> I need to sync subtitles.
[15:58:55 CET] <Fyr> ok, -i video -i audio -itsoffset XX -i sub1 -itsoffset XX -i sub2
[15:59:29 CET] <JEEB> now just note that ffmpeg.c's massive "timestamp fixing" code can fsck with your itsoffset
[15:59:33 CET] <JEEB> I recommend staring at -debug_ts
[15:59:42 CET] <JEEB> that shows the timestamps at various points of ffmpeg.c
[15:59:54 CET] <JEEB> godspeed is all I can say :D
[16:25:39 CET] <Fyr> guys, what full name of language for ell?
[16:26:04 CET] <Fyr> is it "Greek (Modern)" or just "Greek"?
[21:57:03 CET] <Guest63060> Hello. I'm trying to play RTP using multicast over satellite, but it seems the packets are coming out of order. I tried to set -max_delay in order to increase rtpdec queue_size, but no success. Did anyone got it working?
[22:12:32 CET] <saml_> yo are you happy
[22:12:48 CET] <saml_> if you're happy teach me how to reencode with different framerate
[22:12:52 CET] <saml_> -r am i right
[22:27:02 CET] <DHE> saml_: probably. the magic is making sure you put it in the right place. parameter order matters
[22:28:24 CET] <saml_> yeah as output opt
[22:30:31 CET] <rtp_fragment_ord> Hello, does anybody knows if FFPLAY is supposed to handle RTP fragmented packets and out of order packets?
[23:02:03 CET] <darkwater> hey, I want a system where I can feed ffmpeg into something (eg. socket or fifo) which then plays through chromecast on my tv
[23:02:53 CET] <darkwater> so mkchromecast.py (or something else) would "play a fifo" which I would feed externally through ffmpeg, so I can later decide to play another file without restarting mkchromecast
[23:03:23 CET] <darkwater> right now I have this command:
[23:03:25 CET] <darkwater> ffmpeg -re -stream_loop -1 -i mpv.fifo -vcodec libx264 -preset ultrafast -tune zerolatency -maxrate 10000k -bufsize 20000k -pix_fmt yuv420p -g 60 -f mp4 -max_muxing_queue_size 9999 -movflags frag_keyframe+empty_moov pipe:1 | mpv -
[23:03:38 CET] <darkwater> (mpv for testing, this would eventually go into mkchromecast.py)
[23:03:53 CET] <mifritscher1> moin
[23:03:55 CET] <darkwater> and then I'd do ffmpeg -i some_video.mkv ... mpv.fio
[23:04:48 CET] <darkwater> I think this almost works for audio, but ffmpeg is complaining a lot abobut timestamps
[23:07:24 CET] <darkwater> sounds messy but I can't really think of a better way to explain it
[23:37:39 CET] <mifritscher1> is it normal that e.g. pause and resume a process for few seconds (e.g. for dumping it) let the libav bibliothek eat 100++MB RAM when reading a http MJPEG stream? not even av_read_frame or similiar is called, the stream is yust started
[23:39:26 CET] <mifritscher1> on windows 7 64 bit and java
[23:39:53 CET] <mifritscher1> (example code etc. can be found under https://github.com/bytedeco/javacv/issues/846 )
[23:41:42 CET] <BtbN> well if you don't read it, it has to be stored somewhere
[23:44:44 CET] <mifritscher1> BtbN: but the memory consumption does not go up in normal operation - only if the process is severly hampered (extreme CPU load, dumped etc.)
[23:44:57 CET] <mifritscher1> the variant with reading doesn't help as well
[23:45:51 CET] <mifritscher1> normal operation: 110 MB - steady. then dumping, then it goes up to 325 MB instantly and is steady as well
[23:46:20 CET] <klaxa> my guess: since it's converting everything to Frame it decodes a lot of frames and has to save them somewhere (all decompressed too)
[23:46:21 CET] <mifritscher1> dump takes about 4 seconds
[23:47:18 CET] <furq> if it's a live input then that's pretty normal, yeah
[23:48:18 CET] <mifritscher1> ok, is there a way to say ffmpeg to limit the buffer size (and throw the old pictures away)?
[23:48:29 CET] <SortaCore> can someone explain how MOVTrack->timescale works? It has track->timescale = st->time_base.den; while(track->timescale < 10000) track->timescale *= 2;
[23:49:06 CET] <mifritscher1> ah, if I dump the process the MJPEG-server is paused as well btw (is in the same process)
[23:49:08 CET] <SortaCore> later, that's used in time_base, and I'm trying to duplicate ffmpeg.c's time_base in my C++ code
[23:51:43 CET] <JEEB> SortaCore: that's not ffmpeg.c, that's lavf's movenc.c
[23:51:43 CET] <JEEB> lol
[23:52:02 CET] <mifritscher1> but it makes no difference if the Server is in an other process
[23:52:27 CET] <JEEB> timescale is what time base is called in MOV/ISOBMFF, it's what movenc.c will use in the actual output file
[23:53:02 CET] <JEEB> and as you can see it's not a fractional
[23:54:03 CET] <SortaCore> herk
[23:54:23 CET] <JEEB> I do agree that that code with the *=2 there is not exactly documented
[23:54:58 CET] <SortaCore> yea, but later ffmpeg uses it in time_base, I was getting confused by where it was pulling 12800 from, when it had a 4/25 r_framerate, a 1/6 avg framerate, and a 1/90000 for the rtsp stream
[23:55:08 CET] <SortaCore> hence I was a bit puzzled by that
[23:56:08 CET] <mifritscher3> sorry, got network problems :-(
[23:56:49 CET] <JEEB> SortaCore: it doesn't get set back to time base, but it is the time base written into the MOV or ISOBMFF file
[23:57:42 CET] <JEEB> anyways, I'm really not sure what's going on there. I know for 1001/24000 for example the denominator would already be big enough for example
[23:58:08 CET] <JEEB> (that's the time base for 24/1.001 video)
[00:00:00 CET] --- Wed Feb 14 2018
1
0