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

burek burek at teamnet.rs
Wed Nov 13 03:05:02 EET 2019


[03:00:35 CET] <gp> Is there a better way than checking ffmpeg -encoders to determine if a given encoder is supported by the ffmpeg build?
[03:00:55 CET] <pink_mist> I think that sounds like an excellent way of checking that
[03:01:00 CET] <pink_mist> why do you want a better one?
[03:01:15 CET] <gp> pink_mist: me?
[03:01:30 CET] <pink_mist> who else?
[03:01:49 CET] <gp> for example, `ffmpeg -encoders | grep -i opus` is inconclusive since it returns two encoders for opus
[03:02:06 CET] <gp> trying to check an exact match if possible
[03:02:28 CET] <gp> from the cli anyways. anything is *possible*
[03:02:29 CET] <pink_mist> so use a better grep pattern
[03:02:32 CET] <nicolas17> there *are* two encoders for opus
[03:03:27 CET] <gp> nicolas17: for opus yes. But there is only one encoder named opus. The formatting isn't particularly friendly to parse so I was curious if there was a better way.  Like ffprobe has json output
[03:04:37 CET] <furq> ffmpeg -h encoder=opus
[03:04:38 CET] <gp> Just writing a test to check for given encoders being installed so I can prompt the user on error instead out giving bad results.  Regex is fine but if something better was there I'd use it. Just curious
[03:04:54 CET] <gp> furq: You rock
[03:04:56 CET] <gp> thanks
[03:32:35 CET] <Sazpaimon> can some filter guru help me out here? I'm trying to make a video containing 1. A static background image. 2. Audio from a separate audio file, and 3. A slideshow of images crossfading to eachother, with each image showing up an equal amount of time given the length of the audio track
[03:33:02 CET] <Sazpaimon> Ive been able to get 1 and 2, but I'm having a lot of trouble getting the slideshow working the way I want
[03:33:30 CET] <nicolas17> almost certainly you need to do the calculation for per-image time separately
[03:33:50 CET] <nicolas17> outside ffmpeg
[03:34:09 CET] <Sazpaimon> that's fine, I can get the length of the audio track in seconds and feed that into ffmpeg automatically
[03:34:25 CET] <nicolas17> yeah that
[03:34:49 CET] <nicolas17> just noticed you said crossfading... I'd have to do some research for that :P
[03:34:50 CET] <Sazpaimon> and i dont know if crossfade is the right word to use, what I want is a fade between images seamlessly, where it doesn't fade out and in
[03:35:03 CET] <Sazpaimon> if that makes sense
[05:58:25 CET] <montana> i am using x265 and i am getting such a good compression: i am getting like  50kbps . how is this possible
[05:59:47 CET] <montana> not even 100kbps for  1280x720 video
[06:44:15 CET] <Sazpaimon> ok, I think I'm getting somewhere with this filter
[06:44:22 CET] <Sazpaimon> here's where I'm at now: https://pastebin.com/jBL4NTDQ
[06:44:36 CET] <Sazpaimon> it kinda works, but I get a bunch of logspam of "[Parsed_blend_19 @ 0x7fffd427b560] [framesync @ 0x7fffd427b668] Buffer queue overflow, dropping."
[06:44:49 CET] <Sazpaimon> its also a lot slower to encode than i would expect
[08:32:18 CET] <Sazpaimon> looks like upgrading ffmpeg fixed the buffer queue overflow messages
[08:33:50 CET] <squ> cool
[08:34:06 CET] <Sazpaimon> the blend filters still really slow down the encode though
[08:34:13 CET] <Sazpaimon> guess thats just what you gotta expect
[08:34:17 CET] <squ> no speed adjusting parameters there as well
[08:34:49 CET] <squ> I mean -preset fast for example
[08:37:32 CET] <Sazpaimon> doesn't seem to really improve performance once the crossfades start
[08:42:03 CET] <squ> why two [] (v1a, v1b) if there is a=0
[08:44:15 CET] <Sazpaimon> i was getting errors unless i split the outputs of trim
[08:44:30 CET] <squ> v1b is then added before v2a, damn these spagetti :)
[08:44:42 CET] <Sazpaimon> in retrospect i could have just done -t whatever instead of a trim filter
[08:45:06 CET] <squ> trim is to make .png images 5 seconds each?
[08:45:13 CET] <Sazpaimon> yeah
[08:45:47 CET] <Sazpaimon> v2a before v1a makes the crossfade work correctly
[08:45:58 CET] <Sazpaimon> i dont fully understand it, myself
[08:46:08 CET] <Sazpaimon> this was very much a bruteforce effort
[08:48:07 CET] <squ> me too
[08:48:23 CET] <squ> I don't think you need two [] if there is only video
[08:49:41 CET] <squ> last 0:v overlay does overlay everything blended onto background png?
[08:50:20 CET] <Sazpaimon> if I don't split the trim output, I get "First input link top parameters (size 1392x960) do not match the corresponding second input link bottom parameters (size 1920x1080)"
[08:50:36 CET] <Sazpaimon> 1392x960 being the slideshow images, and 1920x1080 being the background
[08:51:07 CET] <squ> how it splits?
[08:51:16 CET] <Sazpaimon> using the split filter
[08:51:21 CET] <Sazpaimon> you can see it after the trim filter
[08:51:38 CET] <squ> I don't have manual opened at this moment
[08:52:31 CET] <Sazpaimon> the split filter literally just duplicates its inputs
[08:53:07 CET] <squ> what for
[08:53:20 CET] <Sazpaimon> because like i said, without it i get that error
[08:53:35 CET] <squ> I wonder it fixes the resolution
[08:53:38 CET] <squ> how
[08:57:33 CET] <squ> I must say ffmmpeg dev made some ugly shit language :)
[10:17:40 CET] <pj> I'm trying to re-encode a video file to play on my older samsung TV.  In the past I used to be able to re-encode files and it would come up fine, but for a while now some source videos produce audio "glitching" when played back on the TV (they play back on VLC on my computer just fine).  The glitching is in the form of momentary loss of audio that seems to happen on what I believe are some (but not all) key frames and over the course of the video the audio gets
[10:17:40 CET] <pj> more and more out of sync with the video.  Details at https://paste.centos.org/view/678d0014 can someone offer advice about why one of these videos plays back fine and the other one glitches on the TV?  I'm trying to fix it in the re-encode but still can't find the magic setting.
[10:23:41 CET] <alone-x> hello, any one know, ffmpeg can input 7z file as mpv can play file.mkv.7z?
[10:24:06 CET] <alone-x> can i convert file.mkv.7z to file.mp4 without unpacking?
[10:26:27 CET] <pink_mist> just use mpv's encoding mode?
[10:27:06 CET] <alone-x> i need convert all my file.mkv.7z to file.mp4
[10:27:16 CET] <alone-x> several houndrents
[10:27:32 CET] <pink_mist> sounds like the job for a shellscript
[10:27:58 CET] <alone-x> well, i am converting mp4 with screenpressor ;)
[10:28:25 CET] <alone-x> ffmpeg can't encoding with screenpressor, but i doing that with virtual dub
[10:28:43 CET] <tablerice> When transcoding video files to ProRes, the ProRes 'profile' option gives me quality presets ranging from 'proxy' to 'hq' and accepts an integer as input. Do integers always start with zero? So '-profile 1' means 'lt' instead of 'proxy'?
[10:29:45 CET] <alone-x> ffmpeg -i "file:zip://1.zip/1.mp4"
[10:29:53 CET] <alone-x> ffmpeg says invalid argument
[10:29:59 CET] <JEEB> file://
[10:30:05 CET] <JEEB> also uhh
[10:30:15 CET] <JEEB> do we have a zip thing even?
[10:30:17 CET] <JEEB> in libavformat
[10:30:39 CET] <alone-x> JEEB hello! well, if mpv can do that may be ffmpeg can to ;))
[10:30:44 CET] <pj> you could just set up a pipe through unzip.
[10:30:56 CET] <pink_mist> alone-x: mpv uses libarchive, doubt ffmpeg does that
[10:31:07 CET] <JEEB> yea, that is mpv level IO
[10:31:11 CET] <JEEB> FFmpeg doesn't have that
[10:31:20 CET] <JEEB> tablerice: no they not start with zero always.
[10:31:30 CET] <pink_mist> alone-x: but like I said, mpv can do encoding jobs too
[10:31:36 CET] <pink_mist> so just do it with mpv?
[10:31:44 CET] <tablerice> JEEB: Gotcha. Thanks!
[10:31:48 CET] <alone-x> ffmpeg -i "file://zip://1.zip/1.mp4" -codec copy 1.mkv
[10:31:58 CET] <alone-x> this one is correct?
[10:32:12 CET] <JEEB> alone-x: if the zip stuff wasnt' there yes :P
[10:32:16 CET] <JEEB> since FFmpeg itself has no zip readers
[10:32:21 CET] <alone-x> ;))
[10:32:33 CET] <JEEB> what pj noted was/is probably the simplest way to get to what you need :P
[10:32:39 CET] <alone-x> and 7z?
[10:32:45 CET] <JEEB> 7za is available there
[10:32:49 CET] <JEEB> etc etc
[10:33:01 CET] <JEEB> effectively the best solution would be to not do the archive things
[10:33:15 CET] <JEEB> tablerice: I'd be surprised if the profile wouldn't be available as a textual option btw
[10:33:27 CET] <alone-x> i have 1000+ file mkv.7z (each 2gb) and i trying to convert (without re-encode of course) to mp4
[10:33:38 CET] <alone-x> without 7z using
[10:33:49 CET] <JEEB> well you need to use 7z to extract, even if into stdout
[10:33:55 CET] <JEEB> and even if you were using libarchive
[10:33:56 CET] <alone-x> yes yes
[10:34:31 CET] <alone-x> now i use this scheme... but i thought ffmpeg may be can import 7z (becouse mpv can!)
[10:34:50 CET] <JEEB> mpv has its own IO layer, sorry :P
[10:34:56 CET] <alone-x> it's ok!
[10:35:05 CET] <JEEB> and even in mpv it's just extra complexity so not everyone likes it as code
[10:35:07 CET] <alone-x> ffmpeg SUPER program!
[10:35:26 CET] <JEEB> of course if you want to attempt to implement it in FFmpeg, feel free to try
[10:35:43 CET] <alone-x> jeeb, ffmpeg (or mpv) can play screenpressor 4.0?
[10:35:51 CET] <alone-x> with 2.0 - fully ok
[10:36:00 CET] <alone-x> but 4.0 - not working
[10:36:42 CET] <pj> all that mpv would be doing is extracting it internally with a library.  It's not really going to be much, if any, less efficient to just pipe the extraction from 7z.
[10:36:51 CET] <tablerice> JEEB: I figured it'd accept the textual option as well, but it throws 'unable to parse option "standard"' for -profile:v. Integers it is, then!
[10:37:36 CET] <JEEB> tablerice: try Standard ?
[10:37:49 CET] <JEEB> at least the default aw encoder should support that?
[10:37:53 CET] <alone-x> pj, well, moving througt mkv.7z file not too fast... but real-time its ok
[10:38:11 CET] <pj> anyone have a look at that paste of mine and have any advice on what to try tweaking to get my video files to play back without glitching on my TV?
[10:38:21 CET] <JEEB> the kostya one as well seems to set those profiles
[10:38:34 CET] <alone-x> thank u jeeb, pj
[10:38:40 CET] <JEEB> tablerice: also the encoders do attempt to auto-detect based on the settings
[10:38:47 CET] <JEEB> so you shouldn't really /have/ to set the profile
[10:38:52 CET] <alone-x> and <pink_mist thank u 2
[10:42:14 CET] <tablerice> JEEB: Huh. No luck with Standard. It's no problem- I've been using -b:v the last few weeks and it's been fine
[10:43:54 CET] <pj> I'll be heading off to bed soon, but I'll check back in case anyone has a response.
[13:55:57 CET] <kepstin> why would you put an mkv in a 7z file anyways? Assuming the video is lossy-compressed, the compression gain should be basically nothing
[13:56:41 CET] <kepstin> (and even lossless video compression usually does better than a general compression algorithm)
[14:15:23 CET] <BtbN> kepstin, split archive for scene releses
[14:16:37 CET] <kepstin> huh. if they'd just split the file without an archive, you could use the concat demuxer :)
[14:18:47 CET] <DHE> I'm thinking more like using the 'cat' commandline tool makes more sense. :)
[14:24:54 CET] <kepstin> hmm, i said concat demuxer, i meant concat protocol :) benefit over using cat (piped to stdin) is that you can seek, benefit over cat (to merge the split file) is that you don't need 2x disk space if you want to keep the split files, to seed in bt f.ex.
[14:25:40 CET] <DHE> I thought they split files when using other transport mediums that are less reliable. bt is actually very reliable (considering)
[14:26:29 CET] <kepstin> iirc one of the original reasons for split stuff was newsgroup distribution (nntp)
[14:31:14 CET] <kepstin> other than bt seeding, the only other reason i can think of to keep the split files is that you store your bd rips on a disk formatted in fat32 for some reason :)
[14:31:38 CET] <DHE> the horror..
[14:48:31 CET] <BtbN> a split archive is more real-world-user friendly.
[14:48:52 CET] <BtbN> And the majority of video players adopted support for playing straight from them
[14:50:53 CET] <Illya> You could also use 'copy mode' (i.e. compression level 0 if you want to do make them quickly (since you likely won't get too much compression gains anyway)
[15:10:54 CET] <DHE> interesting...
[18:28:55 CET] <mrkotfw> Does ffmpeg support .srt files that point to .BMP files?
[18:30:53 CET] <JEEB> probably not
[18:31:09 CET] <JEEB> like, srt doesn't have a specification but that is pretty much funking it out
[18:38:27 CET] <mrkotfw> JEEB: Good point... VLC just shows the .BMP path
[18:44:01 CET] <JEEB> mrkotfw: the FFmpeg SRT decoder basically just checks out the positioning if that was set, and otherwise just parses HTML style tags
[18:44:10 CET] <JEEB> which already is quite a lot for SRT
[19:51:46 CET] <intracube> are there known issues with adding small offsets to second input files?
[19:53:31 CET] <intracube> large offsets with -ss work, but values significantly less than a second don't
[19:55:13 CET] <DHE> input file offsets force seeks to keyframes. chances are small increments won't find a keyframe and will just seek back to the start of the file in its attempt to find one
[19:56:00 CET] <intracube> aah, does -itsoffset work the same way?
[19:58:48 CET] <DHE> from the description that doesn't sound related.
[20:02:12 CET] <intracube> hm, itsoffset seems to be behaving in a similar way from a quick test
[21:02:06 CET] <montana> i am using x265 and i am getting such a good compression: i am getting like  50kbps . how is this possible
[22:34:14 CET] <`mist> hey guys i'm running this command to generate a timelapse of a bunch of images "ffmpeg  -framerate 24 -pattern_type glob -i '/home/mist/cam_renamed/*.jpeg' -s:v 1920x1080  -c:v h264_nvenc -preset slow -qp 25 timelapse3.mkv"
[22:34:33 CET] <`mist> however, the file actually ends up being bigger than the photos, what should i use for preset instead of qp 25?
[22:35:32 CET] <`mist> i ran crf 25 and that yielded a smaller file with about 2k bitrate. That was a bit too poor quality though. Would be nice if i could find like a 7k bitrate profile
[22:36:27 CET] <Sazpaimon> so I have a drawtext filter on my video that works fine, but I'd like the text to have a solid background color behind it, but at maybe like 2/3 the height of the text
[22:36:59 CET] <Sazpaimon> so the top 1/3 of the text is transparent, and the bottom 2/3 have the background
[22:37:10 CET] <Sazpaimon> is that possible with complex filters alone?
[22:38:19 CET] <JEEB> Sazpaimon: I'd probably make the text an ASS subtitle
[22:38:28 CET] <JEEB> and use teh subtitle filter to render it
[22:38:44 CET] <JEEB> you could utilize something like aegisub to create/preview the subtitle line
[22:40:26 CET] <Sazpaimon> can subtitles have multiple font sizes for a single frame?
[22:43:47 CET] <montana> why does 5fps 720p video creates  220kbps video  but  4fps video creates 50kbps video
[22:43:56 CET] <Sazpaimon> also, looking at aegisub, it doesn't look like I can have the opaque box be a certain height
[22:44:55 CET] <JEEB> pretty sure I've had bounding boxes in ASS
[22:45:20 CET] <JEEB> you could also check http://docs.aegisub.org/3.2/ASS_Tags/
[22:45:40 CET] <Sazpaimon> is there no way to use drawbox and calculate the height of the drawtext element?
[22:46:13 CET] <JEEB> or use the drawing features of ASS
[22:46:26 CET] <JEEB> Sazpaimon: that'd require the filters to somehow communicate with each other :P
[22:46:31 CET] <Sazpaimon> this is more of a "nice to have" so i'm not really about to completely change how my text is drawn just for this
[22:46:43 CET] <JEEB> and in an order that'd be 1) text 2) the rest
[22:46:46 CET] <Sazpaimon> yeah i figured that was a long shot
[22:47:24 CET] <JEEB> anyways, pretty sure I've had people generate ASS with a half or fully opaque box around the text
[22:50:01 CET] <`mist> hey guys i'm running this command to generate a timelapse of a bunch of images "ffmpeg  -framerate 24 -pattern_type glob -i '/home/mist/cam_renamed/*.jpeg' -s:v 1920x1080  -c:v h264_nvenc -preset slow -qp 25 timelapse3.mkv" but the file ends up huge. any way to make it smaller but keep quality somewhat?
[22:50:23 CET] <Media_Thor> Greetings! can x265 pass 1 log files generated for 1080p output file be reused for other resolution file please, similar to X264?
[22:50:56 CET] <Sazpaimon> I suppose if I'm desperate, I could simply calculate the drawbox width manually
[22:51:14 CET] <Sazpaimon> since this isn't text that will change, it would be fine to have hardcoded numbers
[22:51:21 CET] <JEEB> that sounds awfully lot of effort for some reason
[22:51:26 CET] <JEEB> but sure, whatever floats yer boat
[22:51:27 CET] <JEEB> :)
[22:51:41 CET] <JEEB> Media_Thor: no idea, I'd recommend asking the x265 related folks about that
[22:51:49 CET] <Sazpaimon> well, I can easily find out the width of my text since it's static
[22:52:15 CET] <Sazpaimon> at worst, the text is different per-video
[22:55:06 CET] <JEEB> seems like Border style 4 would be enough for the opaque box given you set the border color and alpha
[22:55:16 CET] <JEEB> if you ever want to try making an ASS out of it
[22:55:53 CET] <Sazpaimon> let me give it a shot, I guess
[22:58:30 CET] <Sazpaimon> BorderStyle=4 still seems to fill the whole letter with an opaque box
[22:58:51 CET] <Sazpaimon> I only want the bottom 2/3 to have a background
[22:59:22 CET] <JEEB> oh well, I do remember ASS having parameters for that stuff, but unfortunately it's been quite a while since my last rodeo
[23:03:47 CET] <`mist> any way i can select the max bitrate when encoding on ffmpeg?
[23:08:05 CET] <relaxed> `mist: depends on which encoder
[23:08:23 CET] <`mist> h264_nvenc
[23:09:08 CET] <relaxed> look at ffmpeg -h encoder=h264_nvenc
[23:09:17 CET] <`mist> thanks
[23:09:20 CET] <ThePendulum> 'lo
[23:10:02 CET] <ThePendulum> I'm trying to use the blackdetect filter to split video files into separate clips, but all I can find about the filter are issues
[23:10:08 CET] <ThePendulum> where can I read up on what "blackdetect=d=0.04:pix_th=.01" actually means
[23:10:25 CET] <JEEB> https://www.ffmpeg.org/ffmpeg-all.html#blackdetect
[23:10:39 CET] <JEEB> that should explain what the d and pix_th options supposedly do
[23:10:45 CET] <ThePendulum> oh look at that, not the best of SEO heh
[23:11:02 CET] <JEEB> d's full name seems to be black_min_duration
[23:11:19 CET] <ThePendulum> ahh that helps a lot
[23:11:20 CET] <JEEB> and pix_th 's pixel_black_th
[23:11:29 CET] <relaxed> you can also use ffmpeg -h filter=blackdetect
[23:11:48 CET] <JEEB> yup
[23:11:55 CET] <relaxed> but the docs might have more info and examples
[23:11:57 CET] <JEEB> doesn't have the examples, but lists all the options
[23:11:59 CET] <ThePendulum> instead -f -vf blackdetect? and then expand the same way for  those variables?
[23:12:19 CET] <JEEB> -h xxx shows the help for that thing
[23:12:38 CET] <ThePendulum> the detection itself seems to work alright but for some reason the output is consistently about 10 seconds off
[23:12:48 CET] <ThePendulum> at least, I assumed black_start 734.201 signified seconds
[23:19:02 CET] <ThePendulum> I guess that's a vlc problem, if I input those timestamps back into ffmpeg for splitting, it gets it right
[00:00:00 CET] --- Wed Nov 13 2019


More information about the Ffmpeg-devel-irc mailing list