[Ffmpeg-devel-irc] ffmpeg.log.20190421
burek
burek021 at gmail.com
Mon Apr 22 03:05:02 EEST 2019
[00:10:02 CEST] <TikityTik> i'm surprised the subtitles filter still doesn't work off streams
[00:13:43 CEST] <JEEB> subtitles are the one part of libavcodec that doesn't return AVFrames
[00:13:48 CEST] <JEEB> and libavfilter only takes in AVFrames
[00:14:13 CEST] <JEEB> so to get a similar result like what the sub2video thingamajig does in ffmpeg.c, you would have to re-implement what the subtitle filter does in tehre
[00:14:23 CEST] <JEEB> as in, call libass or so on the subtitle lines
[00:15:07 CEST] <JEEB> but yea, an old technical piece of debt is why a filter cannot take in subtitles :)
[00:16:36 CEST] <JEEB> the ffmpeg.c sub2video thing already does generation of overlay images from picture based AVSubtitles, so one would just have to write handling of text AVSubtitles there that more or less duplicates what the subtitle filter does :)
[00:26:06 CEST] <FreeBDSM> could someone help me?
[00:27:21 CEST] <klaxa> from the paste it looks like your file is simply corrupted
[00:28:55 CEST] <FreeBDSM> klaxa: it is not
[00:29:09 CEST] <klaxa> can you play it back with something?
[00:29:14 CEST] <FreeBDSM> no
[00:29:32 CEST] <klaxa> then how do you know it is not corrupted?
[00:29:38 CEST] <FreeBDSM> you may try it yourself, the file may be obtained via `youtube-dl -f 397 "https://www.youtube.com/watch?v=o6xQDChpUR0"`
[00:29:56 CEST] <FreeBDSM> I doubt google would upload corrupted audio
[00:30:43 CEST] <klaxa> maybe update your ffmpeg
[00:30:46 CEST] <klaxa> works for me: https://gist.github.com/klaxa/6a59b49272d33b927af33d087a0bbdc7
[00:30:55 CEST] <JEEB> ah
[00:30:56 CEST] <JEEB> av01
[00:30:57 CEST] <JEEB> yes
[00:31:17 CEST] <JEEB> that needs FFmpeg to be built with an AV1 decoder (libaom or libdav1d)
[00:31:37 CEST] <JEEB> libdav1d is faster by now so that is recommended
[00:31:46 CEST] <FreeBDSM> aw, crap
[00:31:52 CEST] <FreeBDSM> so it's not in ubuntu's repos yet
[00:32:05 CEST] <JEEB> the format was stabilized in summer 2018
[00:32:06 CEST] <FreeBDSM> 3.4.4 version here
[00:32:12 CEST] <JEEB> so very unlikely to be in any LTS currently
[00:32:35 CEST] <FreeBDSM> got it, thanks
[00:32:50 CEST] <JEEB> and then of course you need the mapping for AV1 in mp4, which is probably in a newer version as well, as that was finished after the format was finished I think
[00:32:55 CEST] <JEEB> around sept, 2018?
[00:35:15 CEST] <JEEB> so yea, you're dealing with rather fresh stuff :)
[00:36:24 CEST] <FreeBDSM> well, basically, I don't have problems with ffmpeg, I do have problems with youtube-dl downloading non-supported stuff :(
[00:36:31 CEST] <FreeBDSM> (by default)
[00:37:51 CEST] <JEEB> well, youtube-dl doesn't know how old your other software is, and I'm not sure if it should be trying to :)
[00:38:11 CEST] <JEEB> you can just disable AV1 in the youtube-dl config or get newer copies of FFmpeg (or build it yourself)
[00:38:24 CEST] <JEEB> of course it will not fix AV1 decoding in other apps like vlc or mpv
[00:38:43 CEST] <FreeBDSM> JEEB: looks like only AV1 audio is not supported
[00:39:11 CEST] <furq> av1 audio is just opus
[00:39:11 CEST] <JEEB> I think that was a bug with youtube-dl if it's old enough? AV1 has no audio
[00:39:24 CEST] <JEEB> AV1 is a video format
[00:39:24 CEST] <FreeBDSM> oh
[00:39:42 CEST] <furq> also youtube-dl doesn't default to av1 here
[00:39:44 CEST] <JEEB> I think old enough youtube-dl will guess that av1 in mp4 must be audio :P
[00:41:01 CEST] <FreeBDSM> hold on, so https://gist.github.com/klaxa/6a59b49272d33b927af33d087a0bbdc7 is a video?
[00:41:19 CEST] <furq> Stream #0:0(und): Video: av1 (Main) (av01 / 0x31307661), yuv420p(tv), 600x480, 0 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default)
[00:41:24 CEST] <FreeBDSM> riiight, fps
[00:41:24 CEST] <klaxa> yes
[00:41:29 CEST] <FreeBDSM> audio with fps, lol
[00:41:31 CEST] <furq> well also "Video:"
[00:41:36 CEST] <JEEB> yes, it is av1 video
[00:42:10 CEST] <FreeBDSM> `youtube-dl -F "https://www.youtube.com/watch?v=o6xQDChpUR0" | pastebinit` > http://paste.ubuntu.com/p/KcvFXDvjG7/
[00:42:27 CEST] <JEEB> yup, too old youtube-dl
[00:42:29 CEST] <JEEB> what I just said :P
[00:42:37 CEST] <JEEB> I think I commented on youtube-dl's bug tracker about this
[00:42:49 CEST] <JEEB> it was basically going "I don't know what this codec id is and it's mp4"
[00:42:54 CEST] <JEEB> thus "This must be audio"
[00:43:26 CEST] <FreeBDSM> but fps...
[00:43:30 CEST] <furq> https://clbin.com/PbJlr
[00:43:41 CEST] <JEEB> yes, they then fixed it
[00:43:50 CEST] <JEEB> like furq's output shows
[00:44:10 CEST] <FreeBDSM> I see
[00:44:14 CEST] <FreeBDSM> thanks for the info
[00:44:38 CEST] <FreeBDSM> I hope they downport this version to LTS Ubuntu
[00:44:54 CEST] <furq> just uninstall it from apt and install it with pip
[00:45:11 CEST] <JEEB> probably not unless you bug them about it :P and even then they might go "we do not new versions, only bug fixes" :P
[00:45:24 CEST] <FreeBDSM> furq: no, this is a path to hell
[00:45:26 CEST] <furq> i do that on debian testing because it's always outdated otherwise
[00:45:26 CEST] <JEEB> also for reference the bug https://github.com/ytdl-org/youtube-dl/issues/17506#issuecomment-419710634
[00:45:33 CEST] <FreeBDSM> learned the hard way that pip breaks system
[00:45:44 CEST] <JEEB> I actually like how fedora updates youtube-dl regularly
[00:46:00 CEST] <JEEB> which makes sense since it's so much up to the systems it interfaces with
[00:46:03 CEST] <JEEB> which can change
[00:46:12 CEST] <furq> debian updates it pretty regularly but i've still needed newer versions a lot
[00:46:16 CEST] <furq> also on freebsd
[00:46:33 CEST] <JEEB> FreeBDSM: you can use a virtualenv if you want to keep it out of your main python root
[00:46:37 CEST] <JEEB> so it's all in your home dir
[00:46:39 CEST] <FreeBDSM> also, updating just youtube-dl wouldn't help
[00:47:05 CEST] <JEEB> well right now it only picks av01 becuase it thinks it's the highest bit rate audio :P
[00:47:07 CEST] <FreeBDSM> I still have old ffmpeg
[00:47:09 CEST] <JEEB> as soon as you fix that
[00:47:11 CEST] <furq> ^
[00:47:15 CEST] <FreeBDSM> oh, right
[00:47:15 CEST] <furq> like i said it doesn't default to av1 here
[00:47:25 CEST] <furq> on youtube-dl from this month
[00:47:43 CEST] <JEEB> also the ffmpeg/ffprobe you showed actually had libaom built in
[00:47:52 CEST] <JEEB> so whatever that was it could decode it
[00:48:03 CEST] <furq> probably just no mapping for av1 in mp4 then
[00:48:36 CEST] <JEEB> if that was true it wouldn't probe :P
[00:48:45 CEST] <furq> it didn't
[00:48:47 CEST] <furq> that was his problem
[00:48:51 CEST] <JEEB> oh wait, that was klaxa's pastebin
[00:48:54 CEST] <furq> yeah
[00:49:01 CEST] <JEEB> ok, never mind then :)
[00:49:05 CEST] <JEEB> anyways, night'o
[00:50:36 CEST] <FreeBDSM> well, I've installed youtube-dl into a virtualenv
[00:50:58 CEST] <FreeBDSM> but `which youtube-dl` shows that it still uses the one in /usr/bin/
[00:51:35 CEST] <FreeBDSM> ah, venvs don't seem to replace stuff in PATH
[00:51:48 CEST] <FreeBDSM> wait, no, it did
[00:52:28 CEST] <FreeBDSM> ah... zsh issue
[00:52:44 CEST] <FreeBDSM> one needs to 'rehash' after activating a virtualenv
[00:57:58 CEST] <FreeBDSM> well, that doesn't help if I used `-f 'bestvideo,bestaudio'`
[01:00:38 CEST] <FreeBDSM> it throws ERROR: WARNING: unable to obtain file audio codec with ffprobe
[01:00:46 CEST] <FreeBDSM> but there's no audio in that file
[01:03:54 CEST] <FreeBDSM> nvm, looks like there's a difference between bestvideo,bestaudio vs bestvideo+bestaudio
[01:05:57 CEST] <FreeBDSM> oh my, youtube-dl is a total crap
[01:12:24 CEST] <FreeBDSM> turns out -x in user config breaks --merge-output-format 'mkv': it merges stuff but then deletes video + video+audio files, leaving only audio
[01:28:40 CEST] <XLS202> Hey, I use ffmpeg as a recording and restreaming software for twitch. First i stream to an instance that records it and sends it to a second instance. And for example if I chance the scence in OBS or sometimes if a start a program the Stream crashes on twitch with the twitch error #2000. In the sametime the line "Sending bytes read report" is missing in the log from ffmpeg (https://pastebin.com/VdgVNUFT) has anyone an idea after what i
[06:15:25 CEST] <pk08> hi
[06:16:32 CEST] <pk08> i am trying to output TS stream in UDP multicast using complex_filter (used filters: show_volume, scale, overlay, nullsrc, setpts, etc)
[06:17:06 CEST] <pk08> but when i try to pull ts from buffersink i only gets I frames for few seconds only
[06:17:36 CEST] <pk08> after that i am getting `avcodec_receive_packet failed while encoding packet for output! Error: -541478725[End of file]`
[06:17:57 CEST] <pk08> even if i push frames in filtersrc
[06:18:15 CEST] <pk08> can anyone please tell me what can be the problem?
[06:18:30 CEST] <pk08> why am I getting only I-Frames?
[06:18:41 CEST] <pk08> and getting error after few sec?
[06:19:05 CEST] <pk08> and thank you faLUSE for you help
[06:19:37 CEST] <pk08> i have fixed PTS issue which we were discussed last time
[10:06:13 CEST] <Filarius> for pet project I need settings for ffmpeg to make video as like it was re-encoded by youtube. Making some hobby research on video what target youtube, but I have slow internet to use youtube directly
[10:06:55 CEST] <Filarius> even do not know how to google this right
[14:43:01 CEST] <XLS202> Hey, I use ffmpeg as a recording and restreaming software for twitch. First i stream to an instance that records it and sends it to a second instance. And for example if I chance the scence in OBS or sometimes if a start a program the Stream crashes on twitch with the twitch error #2000. In the sametime the line "Sending bytes read report" is missing in the log from ffmpeg (https://pastebin.com/VdgVNUFT) has anyone an idea after what i
[16:13:40 CEST] <M6HZ> Hi, I'm trying to understand how the links between filters are made one of the examples of the category "Filtergraph syntax" in the man page.
[16:13:54 CEST] <M6HZ> This is the example: "nullsrc, split[L1], [L2]overlay, nullsink"
[16:14:43 CEST] <M6HZ> My question is, are both of the outputs of "split" linked to "overlay" or just one of them?
[16:42:00 CEST] <DHE> split produces 2 outputs. one is named L1, the other is being passed along to overlay which is also taking a second input named L2
[16:42:36 CEST] <DHE> with a comma, the two filters have a direct attachment. whereas with a semicolon; all inputs and outputs are explicit for the filters
[16:59:25 CEST] <M6HZ> DHE: Thanks, alright. I would like to know, are both outputs of "split" connected to both inputs of "overlay"?
[17:03:56 CEST] <DHE> no
[17:04:23 CEST] <M6HZ> DHE: Ok, that's what I thought.
[17:05:03 CEST] <DHE> I'm assuming the example you pasted is incomplete since there's no L2 output but it's used as an input
[17:09:25 CEST] <M6HZ> DHE: So, if I understand correctly, the "split"'s output L1 goes the unlabelled input of "overlay", and the unlabelled "split"'s output goes to "nullsink"?
[17:12:06 CEST] <DHE> well I was going to link you to https://ffmpeg.org/ffmpeg-filters.html#Filtergraph-description but I suspect you're already there now based on your example
[17:12:36 CEST] <kepstin> no. the unlabelled output of split goes to the unlabelled input of overlay. There's no connection between split and nullsink
[17:13:14 CEST] <M6HZ> DHE: Yes, I had written where It came from ;)
[17:13:17 CEST] <kepstin> where L1 and L2 come from and go... isn't shown in the part of the filter chain you've pasted
[17:14:07 CEST] <DHE> here's the same filtergraph in no-commas syntax: nullsrc[u1]; [u1]split[L1][u2]; [L2][u2]overlay[u3]; [u3]nullsink
[17:14:33 CEST] <DHE> where u1, u2, and u3 are unlabeled connections formed by using the commas,
[17:15:13 CEST] <M6HZ> kepstin: You're saying that "There's no connection between split and nullsink", but it is written that :If an output pad is not labelled, it is linked by default to the first unlabelled input pad of the next filter in the filterchain.".
[17:15:38 CEST] <kepstin> M6HZ: nullsink isn't the next filter in the filterchain after split
[17:15:48 CEST] <kepstin> M6HZ: overlay is the next filter
[17:16:27 CEST] <M6HZ> sure. but if there is no available input in the next filter, isn't it going to search an input with the next filter?
[17:16:32 CEST] <kepstin> M6HZ: no
[17:16:41 CEST] <M6HZ> Alright.
[17:16:46 CEST] <DHE> overlay takes 2 inputs. thats its job.
[17:16:54 CEST] <kepstin> the `,` operator connects the filter before it to the filter after it. that's it.
[17:16:58 CEST] <DHE> one is implied by the comma, one is explicitly specified with a label.
[17:17:02 CEST] <DHE> (not in that order though)
[17:18:16 CEST] <kepstin> if you need to do something other than connect all the outputs of one filter to all the inputs of the next filter, then you have to use labels to specify the connections to use.
[17:20:15 CEST] <M6HZ> kepstin: but then, in this example, where is going the output L1?
[17:20:36 CEST] <kepstin> M6HZ: your example is incomplete and doesn't say what L1 is connected to
[17:21:00 CEST] <M6HZ> kepstin: True, but it is from the man page.
[17:21:07 CEST] <M6HZ> I was confused
[17:21:18 CEST] <chinknot> do I need any special option to trim flac files? the generated output loses duration metadata entirely if I use "-acodec=flac" and keeps the original input duration if I use "-acodec=copy"
[17:22:02 CEST] <kepstin> M6HZ: ah. that example simply doesn't say. that example is not a complete filter chain, it's just demonstrating how a particular connection works.
[17:22:55 CEST] <kepstin> M6HZ: just assume that L1 goes somewhere else, and L2 comes from somewhere else.
[17:23:06 CEST] <M6HZ> kepstin: alright thank you :)
[17:24:13 CEST] <kepstin> note that you are allowed to have labelled outputs in a filter chain that don't connect to anything. You can then put a `-map [L1]` or so in your ffmpeg command line, and that filter chain output will be stored as a stream in the output file.
[17:26:06 CEST] <M6HZ> kepstin: ok, good to know.
[17:28:31 CEST] <furq> chinknot: loses duration metadata?
[17:28:41 CEST] <chinknot> yeah
[17:29:09 CEST] <chinknot> if I inspect it with mediainfo there's no duration, if I try to use ffprobe same result
[17:29:23 CEST] <furq> that sounds broken
[17:29:31 CEST] <M6HZ> kepstin: I had understood things differently by reading : "A filtergraph is considered valid if all the filter input and output pads of all the filterchains are connected."
[17:29:41 CEST] <furq> pastebin the command line and output
[17:29:53 CEST] <chinknot> indeed. I tried inspecting the flac file with a flac frontend but there's no error in the file
[17:30:01 CEST] <kepstin> M6HZ: it can be connected to something outside of the filterchain
[17:30:23 CEST] <M6HZ> ok
[17:32:02 CEST] <chinknot> for instance, the command was something as simple as ffmpeg -i input.flac -ss 10 -to 20 -acodec flac output.flac
[17:33:29 CEST] <furq> yeah that works fine here
[17:33:57 CEST] <chinknot> I downloaded a flac sample from internet and the same command works ok trimming and generating a new file with correct duration
[17:37:36 CEST] <chinknot> something I noticed when comparing different flac files is the stream size. on the working flac the stream size is 100%, on the other flac is 98%
[17:37:42 CEST] <chinknot> does that mean anything?
[17:39:54 CEST] <TikityTik> chinknot: flac files do compression
[17:40:15 CEST] <TikityTik> chinknot: they only compress if there's no audio
[17:40:36 CEST] <TikityTik> unlike wav that wastes space to represent the no audio part
[17:41:21 CEST] <TikityTik> which could possibly explain the different file size
[17:51:36 CEST] <chinknot> I just tried re encoding it with a modern libflac but same issue. it isn't exported correctly
[18:04:46 CEST] <chinknot> it's the -ss and -to part failing the conversion. it happens if I re encode in another format entirely as well. just tried libvorbis
[20:11:50 CEST] <chinknot> I'm the guy who was having troubles with flac files before. I tried downloading previous ffmpeg builds and trying something more stable (not the nightly branch, the distributor builds) and I found out ffmpeg 3.4.2 is the latest version that works for me
[20:12:37 CEST] <chinknot> no errors and the output files correctly displays a duration
[22:15:18 CEST] <Kingslayer> howdy
[22:30:24 CEST] <pomaranc> Kingslayer: oathbreaker!
[22:31:09 CEST] <Kingslayer> hey is it possible to set the size in number of samples an audio frame will be that's returned by avcodec_decode_audio4 or similar?
[22:43:56 CEST] <Kingslayer> also anyone know why i might get "bad access" error when calling av_samples_get_buffer_size?
[22:44:15 CEST] <Kingslayer> sorry nvm it wasnt that
[22:59:55 CEST] <M6HZ> Does someone have a clue about the meaning of this sentence present in the man page "The -lavfi option is equivalent to -filter_complex." ?
[23:00:13 CEST] <JEEB> they are synonyms
[23:00:19 CEST] <JEEB> as in, the point internally to the same thing
[23:00:26 CEST] <JEEB> *they
[23:00:47 CEST] <M6HZ> Alright
[23:02:11 CEST] <M6HZ> I was also wondering, is there a good reason to have both -vf and -filter_complex since the second one is able to do the work of the first?
[23:06:29 CEST] <furq> -vf and -af are useful shorthands
[23:07:12 CEST] <JEEB> also vf and af build separate filter chains (which are less powerful)
[23:08:07 CEST] <M6HZ> What do you mean by "separate filter chains" ?
[23:08:55 CEST] <JEEB> you will have two separate filter chains, as it says on the tin
[23:09:00 CEST] <JEEB> -filter_complex is a single filter chain
[23:09:37 CEST] <JEEB> in many cases it doesn't matter but I've had reconfiguration of audio happen to affect video due to the whole filter chain getting re-configured
[23:10:13 CEST] <M6HZ> Oh you mean when both -vf and -af are used simultaneously?
[23:10:44 CEST] <JEEB> each creates a single filter chain, yes. so if you are using both you are getting two separate filter chains: one for video and one for audio
[23:10:52 CEST] <M6HZ> Ok
[23:11:49 CEST] <M6HZ> Why not to replace both by a new command -fc (because it's short) ?
[23:27:06 CEST] <M6HZ> Wouldn't it make the whole program easier to use?
[23:32:33 CEST] <Kingslayer> brb
[00:00:00 CEST] --- Mon Apr 22 2019
More information about the Ffmpeg-devel-irc
mailing list