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

burek burek021 at gmail.com
Sun May 12 03:05:01 EEST 2019


[00:21:57 CEST] <norwood67> hi
[00:28:34 CEST] <shadoxx> cehoyos: i need that library though
[00:28:45 CEST] <shadoxx> unless it pulls it in automatically
[00:28:47 CEST] <cehoyos> Then use current FFmpeg git head
[00:29:01 CEST] <shadoxx> But I need this specific version...
[00:29:08 CEST] <cehoyos> Why?
[00:29:16 CEST] <shadoxx> External vendor.
[00:29:31 CEST] <shadoxx> oNlY suPPort3d VerSiOn
[00:29:37 CEST] <shadoxx> it's bullsh*t
[00:29:38 CEST] <cehoyos> I don't understand but in any case, you are on your own
[00:29:49 CEST] <shadoxx> so helpful, thanks again
[00:30:13 CEST] <cehoyos> Why doesn't the vendor help you?
[00:31:15 CEST] <shadoxx> Vendor doesn't know what they're doing. They provided me a build script written for Ubuntu 12.04, that compiles ffmpeg 3.4.2 and creates a deb
[00:31:41 CEST] <shadoxx> First, I was running into issues where they weren't specifying --enable-pic when compiling static libs
[00:32:04 CEST] <cehoyos> Well, if you speak pkg-config, there should be no problem, just point FFmpeg configure to the right version of libfreetype
[00:32:05 CEST] <shadoxx> no issue, ubuntu has changed a lot since 12.x, but now i'm running into this freetype issue. which makes no sense, since all my libs are enabled
[00:32:16 CEST] <cehoyos> Why (in which sitation) is --enable-pic needed?
[00:32:32 CEST] <cehoyos> Needed and not automatically enabled
[00:33:03 CEST] <shadoxx> From what I gather, it's because they're passing --static or --enable-static to most of the ffmpeg dependencies
[00:33:21 CEST] <cehoyos> I am also doing that but I never used --enable-static
[00:33:22 CEST] <shadoxx> like x264. it was giving and error about unable to compile PIE.
[00:33:26 CEST] <cehoyos> sorry, --enable-pic
[00:33:38 CEST] <shadoxx> it's just because newer versions of Ubuntu/gcc have some security stuff enabled by default
[00:33:58 CEST] <cehoyos> I tested recently on current Ubuntu and did no need --enable-pic
[00:34:21 CEST] <shadoxx> I think it's specific to trying to compile a static and not dynamically linked binary
[00:34:40 CEST] <cehoyos> I never compile dynamically linked libraries (except to test rare bug reports)
[00:34:41 CEST] <shadoxx> I have scripts that build the most recent version on Ubuntu 18.04 as well, but it's shared/dynamic
[00:35:08 CEST] <cehoyos> The scripts are usually the issue: You should instead just build the version you need with the external dependencies you need.
[00:35:18 CEST] <shadoxx> https://github.com/nuxeo/ffmpeg-nuxeo
[00:35:37 CEST] <shadoxx> I've gone over the scripts. They're not doing anything extra special.
[00:35:51 CEST] <shadoxx> and running the bare ./configure gives me the same behavior
[00:36:03 CEST] <cehoyos> Yes, this looks broken, but this is normal, I have not seen a working script yet.
[00:36:48 CEST] <shadoxx> Mostly I came in here after hacking on this for a few hours. Wondering if anyone else has seen this issue
[00:37:01 CEST] <shadoxx> but, i'm aware i'm pretty much on my own. it was a longshot anyway
[00:38:28 CEST] <cehoyos> As said, you have to know how pkg-config works, configure was changed to make it (nearly) impossible to work without pkg-config when using some of the dependencies.
[00:40:18 CEST] <shadoxx> cehoyos: any pointers? i would consider myself fairely adept at pkg-config, but there's always room to improve my understanding of it
[00:40:57 CEST] <cehoyos> Sorry, I consider it the illness, not the cure and try to avoid it. But if you really have to install different libfreetype versions, I assume you need it.
[00:42:11 CEST] <shadoxx> oh wait. in the build log, it's complaining about unresolved symbols related to png
[00:42:17 CEST] <shadoxx> maybe the error about freetype is a red herring
[00:42:25 CEST] <cehoyos> Actually not "assume": There is "require_pkg_config libfreetype" in configure, meaning you cannot simply put another version of the library somewhere and point --extra-cflags there
[00:43:12 CEST] <shadoxx> what's weird is that, if i do pkg-config --list-all | grep freetype2, it's there
[00:43:14 CEST] <cehoyos> So would you like to show us config.log so we tell you what to do and should we just continue to rant?
[00:43:25 CEST] <cehoyos> s/and/or
[00:43:31 CEST] <shadoxx> is there a time limit on ranting? i could do both ;]
[00:44:15 CEST] <cehoyos> No, apart from scripts, your specific script and pkg-config, there likely many other topics
[00:45:58 CEST] <shadoxx> i'm attempting to upload it now
[00:50:39 CEST] <shadoxx> cehoyos: https://pastebin.com/raw/R6qp2Ade
[00:50:52 CEST] <shadoxx> thanks for giving this a look. irc is usually a last resort for me
[00:51:39 CEST] <cehoyos> (I assume the actual reason for your error has something to do with pkg-config - how is it supposed to know that you are using -static?) Add --extra-libs=-lpng
[00:51:59 CEST] <cehoyos> as a work-around
[00:52:14 CEST] <cehoyos> (Or "hack" if you prefer the word as some developers here do)
[00:55:59 CEST] <shadoxx> cehoyos: thanks! looks like that's the right direction. now it's complaining about a different thing, but it's manageable now
[00:56:08 CEST] <shadoxx> i think i've got it from here.
[00:56:25 CEST] <cehoyos> Or paste again...
[00:59:14 CEST] <shadoxx> Well, it definitely didn't know to reference libpng, so adding --extra-libs worked. additionally i need -lz and -lm
[00:59:26 CEST] <shadoxx> now it worked. :D
[01:05:50 CEST] <cehoyos> Try: pkg-config --libs freetype2 --static
[01:07:03 CEST] <cehoyos> If the freetype package isn't broken, this is supposed to show -lpng (it doesn't do so here on a recent distribution, so this may be an issue in the freetype project though)
[01:24:29 CEST] <shadoxx> hmm, just adding --pkg-config-flags="--static" also fixes my issue
[06:31:30 CEST] <CoJaBo> Anyone ever tried to normalize audio with ffmpeg, or ffmpeg-normalize? Trying with default settings results in a file that's barely audible, but nothing clearly explains what to adjust to turn it up..
[11:01:26 CEST] <_raven_> how to avoid morphing of scene cuts while minterpolate?
[11:17:01 CEST] <durandal11707> _raven_: seen scd_threshold option?
[11:17:43 CEST] <_raven_> durandal11707: yes but no effect with values 0.1-100
[11:18:53 CEST] <durandal11707> cant tell more without seeing video
[11:18:58 CEST] <_raven_> durandal11707: https://pastebin.com/F2sHEqv8
[11:22:59 CEST] <_raven_> durandal11707: https://youtu.be/fh4ABN_nyGA
[11:23:59 CEST] <_raven_> source is a mosaique with real speed and clean cut sources
[11:28:15 CEST] <_raven_> ouch
[11:28:50 CEST] <_raven_> this of course cannot work
[11:41:28 CEST] <_raven_> durandal11707: but on the source files the same problem. as long as i try with blend it fades
[11:43:48 CEST] <durandal11707> you cant do this on big grid, even more when its blurred
[11:49:49 CEST] <durandal11707> with blurred stuff difference is very small
[11:50:12 CEST] <durandal11707> so maybe with 0.001 - 0.01 range
[12:12:08 CEST] <_raven_> durandal11707: i think the vf chain applies blur just after the interpolation but of course i have no block subsampling involved any more. i got it working now on the input streams with thresh 10 and aobmc
[15:15:15 CEST] <^Neo> good morning folks, I'm curious if there is a way to force linesizes to equal width for non CPU capable multiples - i.e. force 960x540 resolution not to have 1024 linesizes
[15:15:25 CEST] <^Neo> but 960 linesize
[15:15:30 CEST] <durandal11707> no
[15:16:51 CEST] <^Neo> hmm, ok, I've tried forcing it after the fact by moving pixels into the padded area, but am finding some frames are corrupted... I'm guessing related to shared buffer references or something?
[15:17:14 CEST] <durandal11707> you can't force it
[15:19:10 CEST] <^Neo> how come? is moving the pixel data from AVFrame->data[0] (for example) from AVFrame->data[0][linesize] into AVFrame->data[0][width] do sort of what I want?
[15:19:43 CEST] <durandal11707> no
[15:19:47 CEST] <^Neo> isn't the memory allocated contiguous on an x86_64 system
[15:20:25 CEST] <durandal11707> linesizes needs padding for SIMD operations
[15:20:38 CEST] <durandal11707> among other things
[15:21:10 CEST] <durandal11707> it is coninuous in memory, but you can not change how it is organized
[15:22:04 CEST] <Cracki> I'm looking for encoding speed benchmarks on av1 codecs, with reasonable realworld settings, not "placebo lossless". comparison to x265 and such would be nice. unfortunately I haven't stumbled upon any recent numbers, and "AV1 Encoding Times Drop to Near-Reasonable Levels" has been ripped to shreds for bad methodology
[15:22:18 CEST] <Cracki> anyone got something for me?
[15:23:13 CEST] <^Neo> right, but if this is the end of the life of AVFrame (i.e. it will get freed after) then I can modify it?
[15:23:51 CEST] <^Neo> @Cracki I saw something about Twitch and AV1 from streaming media
[15:23:58 CEST] <Cracki> thx I'll hunt for it
[15:24:01 CEST] <^Neo> Jan Ozer had an article
[15:24:06 CEST] <^Neo> or will have one
[15:24:21 CEST] <Cracki> that person wrote "AV1 Encoding Times Drop to Near-Reasonable Levels"
[15:24:26 CEST] <^Neo> ahah
[15:24:31 CEST] <^Neo> yeah, he's a bit polarizing
[15:24:31 CEST] <Cracki> and people complain that he didn't enable multithreading properly
[15:24:47 CEST] <Cracki> which is a valid complaint. also that he effectively made it run in "placebo" speed
[15:24:49 CEST] <^Neo> although I think he was referencing a Twitch presentation
[15:25:03 CEST] <^Neo> in the most recent article (about 2-3 days old I think?)
[15:25:30 CEST] <^Neo> https://twitter.com/janozer/status/1126142929347723264
[15:25:54 CEST] <Cracki> intel is doing something called "svt-av1", which I haven't seen in ffmpeg yet, but at least we're years ahead of "reference impl"
[15:25:56 CEST] <^Neo> that's the tweet I was talking about
[15:26:14 CEST] <^Neo> the SVT-AV1 stuff I haven't read too much, but spoke with some Intel people at NAB about it
[15:26:17 CEST] <^Neo> not sure how it integrates
[15:27:45 CEST] <Cracki> I noticed hevc adoption picking up in the file sharing community, otoh browsers appear to boycott it
[15:28:13 CEST] <^Neo> I'd imagine file sharers don't care about the potential royalty impact
[15:28:18 CEST] <Cracki> indeed
[15:28:24 CEST] <^Neo> but browsers don't want to all of a sudden be on the hook
[15:28:49 CEST] <Cracki> well if the hardware supports it... browsers can use system level media apis
[15:30:10 CEST] <^Neo> I'm guessing when people come calling for royalties the hardware integrators will just turn off those system level apis
[15:30:16 CEST] <^Neo> shrug
[15:45:41 CEST] <JEEB> ^Neo: the SVT series of encoders are basically something intel acquired some time ago and is now open sourcing
[15:46:54 CEST] <JEEB> the primary problem of course is that they're doing the usual corporate code dump thing :) https://github.com/OpenVisualCloud/SVT-AV1/pull/242
[15:47:49 CEST] <Cracki> something I keep coming back to is the fact that hevc hw encoders are everywhere, but vp9 encoders... intel does it, but neither amd nor nvidia do
[15:48:20 CEST] <Cracki> yay code dumps
[15:49:41 CEST] <JEEB> the HEVC and VP9 SVT encoders are similar :)
[15:59:43 CEST] <Cracki> this is quite damning for x264 https://blog.twitch.tv/how-does-vp9-deliver-value-for-twitchs-esports-live-streaming-35db26f6322f
[16:00:21 CEST] <Cracki> in the constant bitrate stuff anyway, which I'm not interested in
[16:03:20 CEST] <BtbN> That article has a lot of buzzwords for sure
[16:06:09 CEST] <JEEB> VP9 is a better format, but they still didn't publish their full parameters etc. at least they did use publicly available samples
[16:06:26 CEST] <JEEB> and yea, if you get nice access to VP9 FPGAs for advertisement, nice :D
[16:06:39 CEST] <JEEB> you are not going to see random FPGAs in end users' hands tho
[16:06:55 CEST] <JEEB> and you cannot scale as well as with software only encoders
[16:07:04 CEST] <JEEB> what if suddenly you get XYZ times more ingest?
[16:07:24 CEST] <JEEB> and you need to re-encode all that (probably higher bit rate now?) ingest to VP9 in order to reap the rewards :P
[16:09:13 CEST] <JEEB> in theory twitch's major schtick would be that they could just let the ingest encode things, and thus they would only have to focus on the content delivery
[16:09:58 CEST] <kepstin> they're saying in that article that they're only planning to use it for "premium esports channels and partner channels"
[16:10:12 CEST] <kepstin> which limits the required hardware, i guess
[16:19:47 CEST] <Cracki> indeed, that's why I'm looking at efficient software encoders and mass market hw encoding capability in cpus, graphics cards, mobile devices
[16:21:39 CEST] <Cracki> having to use fpgas or LOTS of cpu power is only worth it for broadcast. even then, decoding needs to be efficient as well. can't sw decode on mobiles, people will throw their empty batteries at you
[16:23:21 CEST] <^Neo> mux was talking about an open source end to end platform
[16:27:21 CEST] <^Neo> ok, so I have a processing chain where ultimately I get an AVFrame in YUV420P format. I then want to take the data pointed by the AVFrame data member and use it as if its contiguous. This works fine when the width equals the line sizes but when there's padding for SIMD my non-FFmpeg processing step barfs... I don't want to allocate new memory and copy it across because I leverage the buffer referencing of the AVFrame to not leak memory
[16:29:34 CEST] <JEEB> well you will just have to work with the strides then if you really want to utilize the same buffer? also if your point is to do colorspace conversions you could just feed the AVFrames to libavfilter or so?
[16:29:47 CEST] <JEEB> and then you get AVFrames back from that in RGB or whatever else you might need
[16:30:00 CEST] <JEEB> width and stride not being the same thing is the norm, rather than the exception
[16:30:15 CEST] <JEEB> (stride being what's referred to as the linesize in the structs methinks)
[16:30:22 CEST] <^Neo> yep
[16:30:50 CEST] <^Neo> the colorspace stuff I handle upstream using swsscale
[16:31:04 CEST] <^Neo> basically the end of the processing chain I sort of just blindly pass the data pointers along
[16:31:22 CEST] <^Neo> and then some unique_ptr wrapper stuff handles the lifecycle
[16:31:46 CEST] <^Neo> I've just been lucky that a lot of the resolutions I've been working with are 64 bit aligned
[16:32:29 CEST] <^Neo> but it's just when it's a 960x540 frame, the linesizes end up being 1024,512,512 in 420
[16:32:38 CEST] <JEEB> basically just keep the start of the current line in a var :P
[16:33:14 CEST] <^Neo> :)
[16:33:21 CEST] <JEEB> for height do some stuff with the width, then add linesize
[16:33:27 CEST] <JEEB> rince, repeat
[16:33:30 CEST] <^Neo> yeah, I can pack the frame well
[16:33:42 CEST] <^Neo> it's just sometimes I get weird artifacts
[16:34:06 CEST] <^Neo> I'm not sure if there's some buffer reference or something being used upstream in my pipe
[16:34:43 CEST] <^Neo> https://imgur.com/a/FO4dYKz
[16:34:50 CEST] <^Neo> that's the sort of corruption I'm seeing
[16:35:00 CEST] <^Neo> so like 95% of the frame packs well
[16:35:20 CEST] <^Neo> I'm also updating the linesizes to be 960, 480, 480
[16:36:16 CEST] <^Neo> oh, it's not every frame either
[16:37:25 CEST] <JEEB> I have officially no idea what you're doing :P
[16:38:05 CEST] <^Neo> :D
[16:38:06 CEST] <^Neo> ok
[16:59:12 CEST] <MatthewAllan93> Hey :), so I spoke about framerates yesterday but what I meant was if i had a input file with the framerate of 23.976 (24000/1001) FPS and it ended up being 23.976 FPS is there any different in the output file or is just the way it muxed it?
[17:00:49 CEST] <DHE> like from 24000/1001 to 24396/1000 ?
[17:02:03 CEST] <MatthewAllan93> 23.976 (24000/1001) to 23.976, I am because I am new to ffmpeg
[17:02:20 CEST] <MatthewAllan93> *I ask this because I am new to ffmpeg
[17:11:40 CEST] <DHE> there's 2 ways to do it: change the framerate value, or actually transcode the framerate. the first will break audio/video sync, though slowly. the second will duplicate a few frames in order to maintain sync, but requires a transcode
[17:11:56 CEST] <vtorri> hello
[17:12:10 CEST] <vtorri> does someone know when 4.2 will be released ?
[17:15:54 CEST] <MatthewAllan93> I meant like this post on VideoHelp https://forum.videohelp.com/threads/385100-Are-23-976-(24000-1001)-FPS-and-23-976-FPS-the-same
[18:03:50 CEST] <Hello71> DHE: I think MatthewAllan93 *doesn't* want to change it
[18:04:29 CEST] <Hello71> some containers don't support some timebaes
[18:33:24 CEST] <MatthewAllan93> No I don't want to change it, just want to know if it is a different framerate done by FFMPEG automatically and if so is there any different between the original video and converted video framerate.
[19:27:05 CEST] <Cracki> ffmpeg uses fractions. streams and containers might use fractions.
[20:22:38 CEST] <MatthewAllan93> ah ok thanks :)
[22:20:32 CEST] <aiena> I wanted to use ffmpeg to make a video out of a series of images with a 15 second gap in between. For images like this img-01.jpg, img-02.jpg ... img-13.jpg I ran a command `ffmpeg -framerate 1/15 -i "img-%2.jpg" out.jpg`. This seems to create the video but the video is unseekable. Any seek within the file crashes the media player. How to correctly encode the video?
[22:21:52 CEST] <aiena> Sorry `ffmpeg -framerate 1/15 -i "img-%02.jpg" out.jpg` based on https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/image_sequence
[22:27:36 CEST] <DHE> out.jpg ?
[22:27:41 CEST] <DHE> jpg isn't a movie format
[22:35:35 CEST] <DHE> add "-g 1" to your commandline just before the output filename. but with such a low framerate you might see player weirdness...
[22:42:25 CEST] <aiena> DHE: sorry out.mp4
[22:42:47 CEST] <aiena> DHE: that is exactly what is happening
[22:43:05 CEST] <aiena> is there a way to make it make intermediate frames of the same image for 15 seconds
[22:43:39 CEST] <aiena> and then make more intermediate fromaes of image2 in the video so it is still 25fps or whatever is normal but with 15 second gaps
[22:43:46 CEST] <aiena> between each image in the video
[22:46:11 CEST] <aiena> I know I'll get a larger video output file but at least it will be seakable
[22:46:28 CEST] <DHE> yes, but it does have a negative impact on file size
[22:46:57 CEST] <DHE> how about:  ffmpeg -framerate 1/15 -i "img-%2.jpg" -g 3 -vf setfps=1 out.mp4
[22:48:00 CEST] <aiena> what does -g do?
[22:48:08 CEST] <DHE> number of frames between seek points
[22:48:18 CEST] <aiena> i looked online but I can find --guess
[22:48:19 CEST] <DHE> so the player will seek to any increment of 3 seconds
[22:48:34 CEST] <DHE> ffmpeg doesn't have --double hyphen parameters
[22:49:03 CEST] <aiena> yes sorry it was -guess_layout_max
[22:49:15 CEST] <aiena> a param for audio I couldnt find -g alone
[22:49:23 CEST] <aiena>  I checked https://ffmpeg.org/ffmpeg.html
[22:49:31 CEST] <DHE> keyframes don't work like that for audio
[22:50:25 CEST] <aiena> DHE: for me audio is not an issue
[22:50:37 CEST] <aiena> basically I need to have a set of slides loop on a TV
[22:50:45 CEST] <aiena> making a video is the easiest way to do it.
[22:51:04 CEST] <aiena> the 1/15 command works but the media player crashes on any seek
[22:51:23 CEST] <aiena> so this application has no audio in it.
[22:51:35 CEST] <aiena> I will save this command and try it
[22:51:53 CEST] <aiena> as the TV in question and source files are elsewhere
[22:53:53 CEST] <aiena> DHE: do you know which format is best to encode a video in for HDTVs which are not android TVs
[22:54:54 CEST] <aiena> I have a VU tv which seems to struggle with most video formats on a USB stick though it claims to support them. I am trying out vlc's 1080p for TV settings not sure what codecs it uses. I am sure ffmpeg will encode it faster.
[22:58:04 CEST] <furq> most things in general nowadays want h264 and aac in mp4
[22:59:45 CEST] <furq> also i assume DHE meant -vf setfps=1
[23:00:03 CEST] <furq> -vf fps=1
[23:00:59 CEST] <furq> but i would probably just unset -g and use -vf fps=30 for such a short file
[23:02:47 CEST] <aiena> Hmm ok VLC encoded the video fine but it dod something weird with the audio. VLC can playbe the audio in the converted file but both mpv and my TV cannot.
[23:03:31 CEST] <aiena> so my TV seems to support mpeg4 AVC1
[23:04:13 CEST] <aiena> how do I make ffmpeg use AVC1 with aac audio in an mp4 container
[23:04:40 CEST] <JEEB> use libx264 or some other H.264 encoder
[23:04:53 CEST] <JEEB> aac can just be created by encoding with the internal aac encoder
[23:11:39 CEST] <aiena1> JEEB: What is the command to specify aac as audio codec. I tried `-c:a aac` it says aac is experimental so I think here aac may be something else
[23:11:51 CEST] <BtbN> If it says that, your ffmpeg version is several years out of date.
[23:12:12 CEST] <aiena1> hmm it is
[23:12:27 CEST] <aiena1> this was on windows let me update the binary manually.
[23:12:35 CEST] <aiena1> it is 2.8.2
[23:12:39 CEST] <BtbN> wow
[23:13:03 CEST] <aiena1> the curse of getting used to linux package management
[23:13:17 CEST] <BtbN> Packaged versions on Linux are out of date as well.
[23:13:30 CEST] <BtbN> But not _that_ out of date, unless you cling to Ubuntu 12.04 or something
[23:14:39 CEST] <aiena1> hmm true
[23:14:58 CEST] <aiena1> It is my mistake too. I didn't check untill you mentioned it.
[23:22:52 CEST] <aiena1> let me reboot brb
[23:35:50 CEST] <aiena> Ok I cannot figure out what is going on. Ihad extraced ffmpeg static to `c:\Program Files\ffmpeg` add added it to windows env variables. Now I just repaced the old binaries with new binaries. Running ffmpeg from the shell still finds the old binaries from where I do not know.
[23:36:53 CEST] <aiena> ok got it
[23:37:06 CEST] <aiena> imagemagick also uses ffmpeg and that path variable is first
[23:37:22 CEST] <aiena> so the cmd prompt competely ignores minw
[23:38:11 CEST] <aiena> mine
[23:38:19 CEST] <aiena> imagemagick is using 2.8.2 (:
[23:40:58 CEST] <DHE> oh dear
[23:41:29 CEST] <aiena> so I just need to type c:\program files\ffmpeg\bin\ffmpeg.exe" and whatever
[23:41:52 CEST] <aiena> I dont want to change the order as image magick may break in mysterious ways when I forget lol
[23:44:51 CEST] <BtbN> You need to setup PATH properly
[23:44:58 CEST] <BtbN> and urgently update or get rid of imagemagick
[23:49:58 CEST] <aiena> BtbN: I'll get rid of imagemagick I think.
[23:50:39 CEST] <aiena> PATH is setup properly its just that the system variables take precedence over user variables
[23:52:13 CEST] <aiena> Fixed
[00:00:00 CEST] --- Sun May 12 2019


More information about the Ffmpeg-devel-irc mailing list