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

burek burek021 at gmail.com
Thu Dec 28 03:05:01 EET 2017


[00:34:03 CET] <therage3> so I've been thinking of ripping my audio files in Opus from now on, seems to have superior performance in terms of quality vs. file size compared to all other lossy formats out there
[00:36:27 CET] <kepstin> therage3: if you have a player that supports it, go wild. It's a great format.
[00:36:43 CET] <therage3> kepstin: yeah, compatibility is the biggest issue at the moment
[00:39:31 CET] <kepstin> there's a bunch of good android players, if you've got an old ipod you can install rockbox and play them, plenty of desktop players, especially on linux.
[00:40:06 CET] <therage3> i see, yeah
[00:52:25 CET] <furq> and all browsers except safari
[00:52:29 CET] <furq> if that matters to you
[00:53:40 CET] <therage3> Don't worry. After having 2 iPads kernel panic on me and being turned away by Apple "Geniuses", and after this latest nonsense coming to light about their iPhone's being slowed down without letting people know, I'm staying the hell away from _that_ company
[01:29:40 CET] <raytiley_> Seeing the -method option for hls in ffmpeg... is there a way to to process the requests in ffmpeg, say to sign the header for AWS S3 storage?
[01:50:05 CET] <DHE> raytiley_: I don't think so. I remember looking for options for cookies and such and not finding anything...
[01:50:10 CET] <DHE> sounds like a usefull patch
[01:52:12 CET] <raytiley_> is there any preferred way to do something like that? Seems like you would need a lot of info per request.. seems like probably just setting up a local proxy to forward the requests might be the way to go
[01:52:23 CET] <raytiley_> though would be cool if ffmpeg command could handle it all
[01:53:02 CET] <kepstin> aws signing in particular would be tricky, since you have to sign based on a bunch of other headers. it would basically have to be a "do aws signing" mode, and you provide the key id & secret key :/
[02:55:04 CET] <ZexaronS> the internet can be ridicolous sometimes
[02:55:17 CET] <ZexaronS> not a single example of ffmpeg --lowpass command
[02:55:30 CET] <ZexaronS> what, in khz, hz, 1, 0, false, true ?
[03:28:09 CET] <ZexaronS> now I recalled
[03:28:29 CET] <ZexaronS> for a long time I wanted ffmpeg output to show audio and video bitrate separately
[03:30:11 CET] <kepstin> what about if there's multiple streams of one type? Just show each separately?
[03:30:25 CET] <kepstin> having the overall is still useful too, so you can see the muxing overheads
[03:37:57 CET] <ZexaronS> allright, but in-addition then
[03:39:20 CET] <ZexaronS> most of the time I spend watching output progress is trial-and-error on getting the bitrate/size finetuned, this is well overdue
[03:39:59 CET] <ZexaronS> overhead should be separated too then
[03:43:01 CET] <ZexaronS> constant rate factor is incompatible with 2pass ... oh come on
[03:43:27 CET] <kepstin> crf is fundamentally different from 2pass, yes
[03:43:56 CET] <kepstin> you either use crf for rate control or target a bitrate.
[03:44:05 CET] <therage3> iirc crf used the second pass of a 2-pass method?
[03:44:13 CET] <kepstin> basically, yeah
[03:44:50 CET] <kepstin> the first pass pretty much just calculates what crf value to use to get a particular file size.
[03:45:09 CET] <therage3> yeah
[03:45:33 CET] <therage3> btw a question
[03:45:59 CET] <kepstin> (this is only in x264, and maybe x265 tho - libvpx does something completely different, and the -crf option on libvpx is misnamed)
[03:46:06 CET] <therage3> I see a lot of people just do "ffmpeg -i file.here" to look at its information instead of using ffprobe, even though ffmpeg gives an error about bad syntax
[03:46:13 CET] <ZexaronS> in that case, it's just not done right https://www.youtube.com/watch?v=iLwAjOGQcHo
[03:46:18 CET] <therage3> is that a normal practice? or what's going on here
[03:46:33 CET] <kepstin> therage3: it's pretty common if you're already used to reading ffmpeg output
[03:46:39 CET] <therage3> i see, so that's why
[03:47:05 CET] <kepstin> therage3: the error you get is just "you didn't provide an output filename", so it's a read file info, print it in human-readable format, do nothing else command
[03:47:14 CET] <therage3> yeah, i see
[03:47:41 CET] <therage3> it was more like, "ok, what's ffprobe then for...", but if the idea is to quickly read it since one is used to ffmpeg's output, then the rationale clicks
[03:47:43 CET] <kepstin> ffprobe can provide a lot more info, and its output is designed to be useful when scripting, so it's harder to read as a person
[03:47:49 CET] <therage3> i see, i see
[03:48:32 CET] <ZexaronS> kepstin: either the design or misnamed, the crf option is a hidden 2pass then if it does things what 2pass does
[03:49:00 CET] <ZexaronS> 2pass indicates some extra work, if the crf contains that extra work then what's the point of 2 passes
[03:49:06 CET] <kepstin> ZexaronS: but it's not, because it only does one pass
[03:49:28 CET] <kepstin> in two pass mode, there's an extra pass that does a bunch of work to determine how to make the file a specific size
[03:49:55 CET] <kepstin> if you want the file a specific size, use 2-pass mode. If you don't need that, then use crf mode.
[03:50:02 CET] <ZexaronS> then you can do 2 passes in one go without crf if you program it that way, so the speciality of THE 2PASS is basically nulled and pretty much a gimmick, right?
[03:50:22 CET] <kepstin> no, because with crf you can't predict the output size
[03:50:47 CET] <kepstin> you use 2-pass if you want a specific output size, you use crf if you don't care about the output size.
[03:51:16 CET] <ZexaronS> so crf can't do everything that 2pass does, then there's no reason why you shouldn't be able to use 2pass ontop to get even more info for a better encode
[03:51:35 CET] <therage3> crf _cannot_ do everything 2pass does, because 2pass gives you a specific file size
[03:51:43 CET] <kepstin> that's not how it works. the only thing 2-pass adds is the ability to set a file size
[03:51:50 CET] <kepstin> it doesn't increase quality
[03:52:24 CET] <ZexaronS> kepstin: then 2 pass is misnamed, I don't need a specific output size and the context of 2 pass is that more work is done, if it doesn't do that then it's poor context and a lot of people have been pulled by the nose
[03:52:41 CET] <kepstin> it's called 2 pass because it requires 2 passes
[03:53:09 CET] <therage3> how is it misnamed? it does two passes; first one determines what quality to use to make it a specific size, the second pass actually does the encoding you get at the end in the output file, ZexaronS
[03:53:09 CET] <kepstin> the first analyzes the video to figure out how to encode it at a specific size, the second does the encode
[03:53:14 CET] <ZexaronS> But what it does, isn't that special, but it's hyped up as this big deal
[03:53:23 CET] <kepstin> with crf mode, you just skip to doing the encode because you don't care about the size
[03:54:01 CET] <kepstin> ZexaronS: 2-pass mode is way better than 1-pass abr mode
[03:54:11 CET] <kepstin> but that's a different thing from crf
[03:54:38 CET] <kepstin> crf is the new special option hyped up as a big deal :)
[03:54:42 CET] <ZexaronS> But it still does not make sense how is size contexted into 2pass, so it's again something coded and not documented.
[03:55:00 CET] <Cracki_> so is there a diff between -crf and -q:v for h.264?
[03:55:12 CET] <ZexaronS> Only the person who coded 2pass knows that's it doesn't really do much other than figure out final size, what a load of bull, sorry.
[03:55:19 CET] <kepstin> Cracki_: yes - q:v does nothing, and -crf does an approximately quality based encode
[03:55:37 CET] <kepstin> ZexaronS: no, that's pretty widely known, given how several people here are correcting you?
[03:56:52 CET] <kepstin> ZexaronS: there's three basic rate control methods for x264 specifically (other codecs are different).
[03:56:53 CET] <kepstin> First is 1-pass bitrate, where you set a target bitrate and it makes a low-quality file at that size.
[03:57:10 CET] <kepstin> Second is 2-pass bitrate, where you set a target bitrate and it makes a high-quality file at that size.
[03:57:29 CET] <ZexaronS> It's like I would call a double decker bus just to put confetti on the seats, A DOUBLE-DECKER, but inside it's just MEH ... that's how 2PASS seems like as you guys are explaining, because you say "if you use crf you can just skip 2pass" ... that's like saying if you optimize the engine on a bus you can somehow skip the top deck ???? That doesn't make any sense, you'll still LOSE a whole deck of seats.
[03:57:30 CET] <kepstin> Third is crf mode, where you set a target quality, and it makes a file at that quality.
[03:57:51 CET] <Cracki_> waaait -q:v nothing? I thought I saw it do something the last time I played with ffmpeg options
[03:58:01 CET] <Cracki_> (sorry, my uplink is a bit flaky at night)
[03:58:06 CET] <kepstin> Cracki_: the option exists, but it only does something with some codecs.
[03:58:15 CET] <Cracki_> ah
[03:58:18 CET] <kepstin> Cracki_: it means something different with every codec, so you have to check per codec
[03:58:33 CET] <Cracki_> of course
[03:58:50 CET] <Cracki_> just wondering if for x264 it's the same as crf
[03:59:14 CET] <ZexaronS> kepstin: I get it and you guys are just explaining the official documentation, but while I understand it now, I still disagree with the naming/design
[03:59:44 CET] <kepstin> ZexaronS: the 1-pass and 2-pass things are legacy naming that's the same as many previous codecs
[03:59:54 CET] <kepstin> ZexaronS: crf is something new in x264 specifically
[04:00:09 CET] <therage3> ZexaronS: bus design and video encoding are two very different things, so that analogy is flawed. a person targeting a specific file size may be interested in putting it on a portable device, even if it's a lower quality overall; someone who has room to spare will use a crf high enough such that it's visually transparent compared to the source material, or as close as they're willing to
[04:01:38 CET] <ZexaronS> kepstin: CBR 2-pass could be done in 1 pass if they programmed it in a way that it simply does 2 pass internally while exposing 1 pass to the GUI ... that's how Sony Vegas and i think Any Video Converter Ultimate does it, you select 2 pass and when it shows 50% done when it completed the first pass.
[04:01:47 CET] <kepstin> the options have different use cases. If you say "i want to make a file that fits on a dvd", you use 2-pass. If you say "i want to make a file that looks good and I have lots of HD space", you use crf. If you say "i'm streaming a live video capture over the network", you use 1-pass.
[04:02:02 CET] <kepstin> ZexaronS: sure, you can make a wrapper around the encoder that runs it twice if you like
[04:02:14 CET] <kepstin> make a shell script that runs ffmpeg twice, done.
[04:02:20 CET] <ZexaronS> But I get it now, 2 pass is just a CBR suboption, not an option for the whole thing
[04:02:37 CET] <kepstin> 2-pass is vbr mode, not cbr
[04:03:00 CET] <ZexaronS> VBR?
[04:03:06 CET] <kepstin> variable bitrate
[04:03:14 CET] <ZexaronS> oh b:v is average not max ?
[04:03:15 CET] <therage3> variable bitrate, as opposed to cbr, which is constant bitrate
[04:03:23 CET] <ZexaronS> I mixed that up
[04:03:33 CET] <ZexaronS> Right now, not in general
[04:03:46 CET] <ZexaronS> sorry I'm ranting a bit
[04:04:44 CET] <kepstin> if you have maximum bitrate limits (e.g. for bandwidth in a live stream, or an over-the-air tv channel, or a slow dvd drive), there's special options to handle that, -maxrate and -bufsize. They should not be used normally.
[04:05:20 CET] <kepstin> those options can be used in combination with any x264 mode
[04:06:47 CET] <ZexaronS> kepstin: My little problem with 2pass terminology was that I assumed my own perception of what it does in a sort of way
[04:07:21 CET] <ZexaronS> But if it does something, that CRF does as well, then I wouldn't lose anything by not using 2pass
[04:08:19 CET] <kepstin> you do lose something by not using 2-pass, and that is the ability to encode a file so the output is some specific size you picked in advance.
[04:08:32 CET] <kepstin> if that's not something you care about, then you don't need 2-pass.
[04:08:48 CET] <ZexaronS> I think it's a lot more clear, if 2pass is regarded as a container, and then what do they do in that extra pass, so it's analyzing the whole file, the grand question is, is that analysis part of CRF as well, if not, then obviously CRF can't be as good, unless there's something in CRF that makes it not need what 2pass does
[04:09:33 CET] <ZexaronS> kepstin: size is always secondary, in my mind I always had quality primairly
[04:09:40 CET] <kepstin> the first pass in 2-pass does do extra analysis, but the only thing that analysis does is figure out how to encode the file so the result is a specific size
[04:10:16 CET] <kepstin> and 2-pass isn't a "container", i'm not sure what you mean by that
[04:11:38 CET] <ZexaronS> kepstin: allright, indeed, the "2pass" moniker makes it seem like it's a big deal, but if that's the case, it's such a deceptive moniker if it contains a really minor and specific goal like limiting the size to some exact number, to fit on a DVD or something, ohhhhhh wellll
[04:12:06 CET] <kepstin> the only thing the "2 pass" name means is that the encoder has to look at the video twice
[04:12:08 CET] <kepstin> that's it.
[04:12:08 CET] <therage3> i'm not sure it makes it seem like a big deal. it just says, literally, what the method entails: two passes
[04:12:24 CET] <therage3> i don't know where you get this notion of it sounding like a big deal.
[04:12:35 CET] <therage3> like, it isn't supposed to be a corporate buzzword to make it sound fancy, if that's what you mean
[04:12:42 CET] <therage3> just a brief description of what it actually does
[04:12:43 CET] <kepstin> and the encoder has to look at the video twice because you can't predict how big the file is gonna be unless you've seen it before
[04:12:56 CET] <kepstin> so, that's what it does. nice and simple.
[04:14:00 CET] <kepstin> to understand why 2-pass mode is so impressive, you need to compare it with one-pass bitrate mode, not with crf mode
[04:14:27 CET] <ZexaronS> kepstin: Yeah and you can put confetti in the pass and call it 4PASS, 1 pass of spinning wheels, 1 pass of calculating MD5, 1 pass of rolling on the floor ... you can split trivial minor things into many passes, but psychologically to a person it looks like as if it's doing some extra strong work.
[04:14:57 CET] <therage3> well, the first pass, of determining what quality setting to use, is an actual full pass, and it's done for something productive
[04:15:05 CET] <therage3> so it isn't just a pass done in vain
[04:15:19 CET] <therage3> it's not something decorative
[04:15:24 CET] <ZexaronS> So, do you guys sorta agree some kind of notice should be put into the documentation to warn against this perception problem ?
[04:15:51 CET] <therage3> not really? i mean, before you, i've never seen anyone with that perception
[04:15:59 CET] <kepstin> in one-pass bitrate mode, the encoder is trying to make the output a specific size, but since it hasn't seen the video before it has to guess. and sometimes it guesses wrong, so the quality will get better and worse.
[04:16:35 CET] <kepstin> so they added an extra pass first to look at the entire video, so that the final encode can be constant visual quality throughout
[04:16:55 CET] <kepstin> and that's 2-pass mode.
[04:17:50 CET] <ZexaronS> therage3: I may have landed on some forum posts which posted things about 2pass in a subjective manner, either intentionally or not, that sounded like it's some big deal, or that things sound to me like that because I'm not english
[04:17:55 CET] <kepstin> but then the x264 devs said, "huh, the way our two-pass mode works, the first pass just picks a quality, then the second pass encodes at that quality. what if we let people just set a quality and do a fast encode for when they don't care about file size?"
[04:18:04 CET] <therage3> ZexaronS: I see
[04:18:47 CET] <kepstin> and that's crf mode.
[04:19:15 CET] <ZexaronS> Or, I might just be the ... well, you know in movies when they pull out a trick, "ma secret weapon" no I don't watch a lot of movies but I sure did when I was teenager
[04:20:02 CET] <kepstin> back before x264, 2-pass mode was very important because there was nothing like crf mode, and 1-pass mode was pretty bad
[04:20:32 CET] <kepstin> so if you're reading something really old, maybe you get that impression?
[04:21:54 CET] <ZexaronS> Probably movies wasn't the best comparison, in real life there's a number of these things, for example in aviation, if you lose hydraulics to all control surfaces, but you still control engine power, you can steer by adjusting ratio between left and right engine https://www.youtube.com/watch?v=EHpiLtmPXt0
[04:22:31 CET] <ZexaronS> So maybe I'm applying all those kinds of things, thinking that encoders and ffmpeg also have some extra "evasive manouvers"
[04:23:43 CET] <ZexaronS> But FAA is stupid, they did not approve PCA :(
[04:24:17 CET] <ZexaronS> Reason: "not enough people died yet to warrant this" :p
[04:28:44 CET] <ZexaronS> kepstin: I didn't knew that non-crf variable is trying to keep some size, how on earth, there's no setting for that, it's just "use variable bitrate" that statement carries nothing about limiting the final size
[04:29:20 CET] <kepstin> ZexaronS: well, you don't set the size, you set the bitrate. But bitrate × time = filesize
[04:29:32 CET] <kepstin> so you can convert between bitrate and size
[04:29:48 CET] <ZexaronS> Now if you put CBR bitrate, that's just "encode at that bitrate", again, why would the encoder need to know final size, that's the persons job to calculate if he puts that bitrate in what he would get out
[04:30:11 CET] <kepstin> CBR has nothing to do with it, this is all *average* bitrate
[04:30:26 CET] <kepstin> the file is actually variable bitrate, but it will average to the value you set
[04:30:29 CET] <ZexaronS> So x264 has no CBR ?
[04:30:38 CET] <kepstin> nope, most video codecs don't have cbr
[04:32:19 CET] <ZexaronS> ah..
[04:32:50 CET] <JEEB> no it has cbr
[04:33:06 CET] <JEEB> nal-hrd cbr with maxrate+bufsize
[04:33:19 CET] <JEEB> but you really don't want that
[04:33:53 CET] <JEEB> usually you want to encode with maxrate+bufsize with nal-hrd vbr :p
[04:34:14 CET] <JEEB> and then your base rate control can be either bit rate or crf
[04:34:32 CET] <kepstin> well, it's not really cbr in the sense that every frame is the same size, it's only cbr on average over the bufsize
[04:34:40 CET] <kepstin> but yeah
[04:34:54 CET] <ZexaronS> Oops I kinda do ffmpeg a few times a year, I forgot -maxrate, I thought -b:v was max, but it's avg
[04:35:16 CET] <JEEB> vbv/hrd and bit rate are different
[04:35:30 CET] <JEEB> bit rate is the BASE
[04:35:35 CET] <JEEB> (or crf)
[04:35:52 CET] <JEEB> tgen you LIMIT that with maxrate+bufsize
[04:36:25 CET] <JEEB> and then bal-hrd signaling can either be vbr or cbr
[04:36:29 CET] <JEEB> (or none)
[04:36:44 CET] <JEEB> cbr basically stuff you null packets :p
[04:36:50 CET] <JEEB> *stuffs
[04:37:32 CET] <JEEB> basically it's base rate control mode, then vbv/hrd (maxrate/bufsi,e)
[04:38:41 CET] <JEEB> and if you really want the vcl packets the same size you can do that, but do you really want that?
[04:39:08 CET] <kepstin> for a typical user, you'd almost certainly never want to touch most of this stuff.
[04:40:02 CET] <JEEB> well if you are doing stuff over limited bandwidth then maxrate+bufsize you want
[04:40:26 CET] <JEEB> and nal-hrd vbr I guess for signaling
[04:40:50 CET] <JEEB> but anything more derp is for very specific use cases
[04:41:16 CET] <ZexaronS> I do understand VBR to be the preferred method, no doubt about that, CBR isn't really a "mode" it's just the basic natural way, while VBR is the advanced logic
[04:41:42 CET] <klaxa> really?
[04:41:46 CET] <JEEB> for video the basic mode is constant quantizwr :p
[04:41:47 CET] <kepstin> nah, with video codecs, vbr is just how they normally work, and cbr requires a bunch of extra stuff.
[04:41:56 CET] <JEEB> and I think audio too
[04:42:10 CET] <klaxa> i think it's harder to distribute bits with cbr than with vbr
[04:42:18 CET] <kepstin> hmm, yeah, even mp3 had stuff like the bit reservoir in "cbr" mode
[04:42:28 CET] <JEEB> yup
[04:42:43 CET] <JEEB> you need to actually have rate control for both cbr and vbr
[04:42:44 CET] <klaxa> it's hard to encode silence in 128 kbps without stuffing a lot of 0s in there :P
[04:43:05 CET] <JEEB> quantizer is simple :p
[04:43:15 CET] <JEEB> you have value, encode with that
[04:43:33 CET] <JEEB> (plus some details for frame types of course)
[04:44:16 CET] <kepstin> ZexaronS: think of one of the most simple compression codecs - lets say mjpeg - where you just save each frame as a separate jpeg. If you set the quality level to e.g. 90, then each frame will be a different size depending on what is in the picture.
[04:44:21 CET] <kepstin> so the result is vbr
[04:44:29 CET] <ZexaronS> I guess it's the whole terminology context desync again, I mean natural as in natural world analog ... I meant it more specifically but reality is actually a constant-variation
[04:45:04 CET] <ZexaronS> if you look at analog singal it's really big very fine, but the info varies in it
[04:45:28 CET] <ZexaronS> it's not like the whole package changes, the size is the same whether or not there is useful info in there or not
[04:45:41 CET] <ZexaronS> kinda like that
[04:46:05 CET] <kepstin> yep, and uncompressed digital video is like that too - a frame of all black and a frame with lots of fine detail is all the same size when raw
[04:46:27 CET] <kepstin> but a compression codec can make an all black frame a lot smaller than it can make frame with lots of details
[04:46:43 CET] <ZexaronS> But I didn't knew that in the programming of codecs VBR is actually the easier and normal way, that's surprising and interesting
[04:47:06 CET] <klaxa> well it's easier to build a house with as many blocks as you want than with just 3
[04:48:14 CET] <klaxa> als like kepstin said with jpeg, most pictures have different sizes
[04:48:17 CET] <klaxa> *also
[04:49:27 CET] <kepstin> in order to make a two different pictures the same size, you have to do extra work to either remove details from the more complex picture, or you can add useless data to the simpler picture.
[04:50:23 CET] <ZexaronS> I've seen MJPEG being mentioned in archival discussions, but isn't JPEG already crappy itself, or you mean JPEG2000 ?
[04:51:21 CET] <kepstin> jpeg is fine, jpeg2000 is a bit better because it can compress smaller at the same quality
[04:51:22 CET] <ZexaronS> We get back to bad namings as well
[04:51:32 CET] <kepstin> jpeg2000 is terribly naming, btw
[04:51:40 CET] <kepstin> it's completely different from jpeg :)
[04:52:00 CET] <ZexaronS> I do have experience with pictures more, It's hard to agree jpeg is fine
[04:52:07 CET] <klaxa> as far as MPEG from MPEG-4 or even further?
[04:52:28 CET] <kepstin> jpeg2000 also has a lossless mode which jpeg doesn't have, that's partly why it's used for archiving
[04:53:02 CET] <ZexaronS> I probably got confused because of the namings, they all probably meant JP2, not JPG
[04:53:29 CET] <klaxa> archiving in lossy formats is... not what i personally would do anyway
[04:53:43 CET] Action: kepstin notes that jpeg is fairly similar in design to mpeg1 & mpeg2 video
[04:54:01 CET] <kepstin> ffv1 is a great lossless archiving format :)
[04:54:04 CET] <ZexaronS> kepstin: I gueess JPG for streaming video is fine, or for some nonimportant stuff
[04:54:28 CET] <klaxa> i do 720p at 60fps streaming in jpeg from my laptop to my phone :)
[04:54:29 CET] <kepstin> jpeg is terrible for streaming video, you want a proper video codec that does inter-frame prediction :)
[04:54:55 CET] <kepstin> klaxa: over wifi, I assume? I couldn't afford to do that over the cell phone network ;)
[04:55:07 CET] <ZexaronS> again contextial desync, I mean a video with motion jpg
[04:55:13 CET] <klaxa> yeah not really, it goes up to a few megabytes per second
[04:55:30 CET] <ZexaronS> if that even exists, or mjpeg is automatically JP2
[04:55:35 CET] <klaxa> but latency is ~0.05-0.1s
[04:55:38 CET] <ZexaronS> it rather should be
[04:55:43 CET] <klaxa> nice for playing rpgs in bed :)
[04:56:06 CET] <kepstin> ZexaronS: "mjpeg" is short for "motion jpeg", which is just jpeg frames one after the other. It has nothing to do with jpeg2000/jp2
[04:56:14 CET] <ZexaronS> kepstin, I was talking about the quality, not the size
[04:56:26 CET] <klaxa> mjpeg is weird anyway imo, since it has no real spec, i could only find one for rtp
[04:56:30 CET] <kepstin> in ffmpeg, mjpeg and jpeg are basically interchangable terms - jpeg is just one frame from mjpeg
[04:57:16 CET] <ZexaronS> I mean it's so funny, no way to know what jpeg we're talking about when we say mjpeg, I'm not sure if it's JPEG or JPEG2000, I better look it up
[04:57:29 CET] <kepstin> mjpeg is always jpeg.
[04:57:50 CET] <kepstin> jpeg2000 is something completely different, so people will always say it specifically
[04:58:21 CET] <ZexaronS> yikes
[04:59:24 CET] <kepstin> like i said, bad naming. The jpeg2000 folks were basically saying "if we name this jpeg2000, then people will use it because they think it's a new jpeg version, and it'll be super-popular"
[04:59:44 CET] <kepstin> and it sort of worked, but also confused a lot of people
[05:00:15 CET] <ZexaronS> Wikipedia: As of 2017, there are very few digital cameras that encode photos in the JPEG 2000 format, and many applications for viewing and editing photos still do not support it
[05:00:38 CET] <therage3> yeah, because 2000 will always be in the future
[05:00:40 CET] Action: therage3 rolls eyes
[05:00:44 CET] <kepstin> i wouldn't be surprised if jpeg2000 was more often used for video than photography, actually
[05:00:44 CET] <ZexaronS> I think this is just consumers being consumers, not that the codec is bad
[05:00:50 CET] <therage3> sometimes you have to wonder, just what the hell were people thinking when they name stuff
[05:01:10 CET] <kepstin> but it's mostly used in professional fields - i think movie theatre projectors are normally jpeg2000?
[05:01:15 CET] <kepstin> I could be wrong.
[05:01:18 CET] <therage3> Interesting
[05:01:49 CET] <ZexaronS> A random 15 year old teenager who buys a phone isn't using a magnifying glass to look for jpeg glitches and artifacts and sending angry emails to Sony for not using JPEG2000 ... I wish they would
[05:02:16 CET] <kepstin> anyways, those are massive files where you need to use a set of hard drives just to hold one movie :)
[05:02:34 CET] <kepstin> for normal consumer video, codecs that compress more are useful :)
[05:04:04 CET] <kepstin> which is where you get stuff like mpeg, where they enhanced jpeg so that it has predicted frames. If one frame only had small changes from the previous, then it can just say "use this part from the previous frame" and not bother encoding it again
[05:04:35 CET] <ZexaronS> Yeah, but the whole market could move ahead, if consumers weren't so responsive on the size, you could have computers as big as a refrigerator, everything would be bigger, faster, and you'd still have these prices, it's simple because all it takes is demand, the reason new tech costs so much is because it takes demad, if everyone stopped buying this and wouldnt' buy until HDDs would be 50TB a piece, the industry would innovate very quickly
[05:04:44 CET] <kepstin> and later mpeg versions got more and more complicated as they added new features to make video smaller
[05:04:48 CET] <therage3> that explains the weird things often seen
[05:04:57 CET] <therage3> like people have weird "lizard" eyes
[05:06:50 CET] <klaxa> it's the invisible hand of the market~
[05:07:14 CET] <klaxa> that moves the money from the poor to the rich~
[05:08:15 CET] <ZexaronS> it's really quite a pity, if there was a company that set THE BAR very high, everyone else would need to jump to that point, in 2 years prices would normalize
[05:08:31 CET] <ZexaronS> because it's so simple
[05:09:01 CET] <ZexaronS> I wouldn't buy a new CPU/GPU if the next one isn't at least 100% better
[05:09:14 CET] <ZexaronS> if not more
[05:09:30 CET] <klaxa> too bad you are expecting people to be rational
[05:09:57 CET] <kepstin> yep, that's true for a lot of people, there's a reason why desktop computer sales have been decreasing over time.
[05:10:04 CET] <ZexaronS> ABIT motherboards were ahead of it's time, I think they went out of business because of sabotage by other motherboard companies
[05:11:14 CET] <kepstin> at this point, it takes several years for a new gpu to be twice as good as an old one.
[05:12:29 CET] <kepstin> i think cpus are even slower to improve, particularly since adding more cores doesn't always make things faster.
[05:13:49 CET] <therage3> it doesn't. for a lot of things, it's single thread performance that counts
[05:14:17 CET] <therage3> multiple cores are great for virtual machines, parallel execution of code, etc.
[05:14:37 CET] <therage3> but pure number crunching, numerical algorithms, games, etc. often work better with solid single core performance
[05:15:29 CET] <kepstin> and stuff which does work well on multi-core system sometimes works even better on a gpu - a many, many core system - instead.
[05:16:03 CET] <kepstin> video encoding, oddly enough, is one of the few exceptions to that
[05:16:12 CET] <ZexaronS> This is pretty much The 1000h lightbulb of the computer industry https://en.wikipedia.org/wiki/Capacitor_plague
[05:18:46 CET] <ZexaronS> Yeah DCS World needs a lot of single core perf for it's physics
[05:19:36 CET] <ZexaronS> it's some kind of a sync issue, can't have it async, and writing code to syncronize that then cancels out the benefits of async
[05:19:58 CET] <ZexaronS> to some degree, not sure how much
[05:21:53 CET] <kepstin> yeah, well known issue with many types of computer programs. https://en.wikipedia.org/wiki/Amdahl%27s_law describes it
[05:24:17 CET] <Cracki> pure number crunching tends to be parallelizable
[05:24:24 CET] <Cracki> that benefits greatly from multicore
[05:25:06 CET] <Cracki> i trust the people who know amdahl's law ;)
[05:36:40 CET] <ZexaronS> Hmm, my x264 is blured quite a bit, i didn't use any other params except no-deblock
[05:36:45 CET] <ZexaronS> with crf 22
[05:47:06 CET] <Cracki> could you show that
[05:48:35 CET] <ZexaronS> sample?
[05:48:45 CET] <JC_Yang> is av_packet_unref() thread-safe? where can I find the definition? search "void\s+av_packet_unref" does not lead me to its definition
[05:49:48 CET] <ZexaronS>  a live streaming video what probably is x264 is is screencapped in tsc2 at 19Mbps and then I want to put it back to x264
[05:52:51 CET] <ZexaronS> i used slow preset, also, auto x264 params set threads to 12 when i set -threads 0 in ffmpeg, i don't have 12 threads, I have 4x4
[05:55:58 CET] <ZexaronS> So that's a bug right ?
[05:59:46 CET] <JC_Yang> disconnected due to buggy client.  ask again... is av_packet_unref() thread-safe? where can I find the definition? search "void\s+av_packet_unref" does not lead me to its definition
[06:01:04 CET] <Cracki> JC_Yang, did you google?
[06:01:19 CET] <Cracki> did you grep the source?
[06:01:35 CET] <Cracki> perhaps your regexp is too narrow
[06:02:53 CET] <JC_Yang> grep with notepad++ already, but get me no result. maybe some interal defined macro between void and name?
[06:03:28 CET] <Cracki> https://ffmpeg.org/doxygen/3.1/group__lavc__packet.html#ga63d5a489b419bd5d45cfd09091cbcbc2
[06:04:46 CET] <JC_Yang> thanks, I was looking for the doxygen
[06:05:53 CET] <ZexaronS> I set the -r 30, but Mediainfo reports frameratemode to be Variable and doesn't report what framerate it is, maybe it's a x264 thing, but ffprobe also says 30/1, doesn't 30/1 mean 29.79 ?
[06:06:10 CET] <ZexaronS> the source is 30 as well as the config
[06:06:26 CET] <Cracki> 30/1 means 30/1
[06:06:31 CET] <Cracki> 30000/1001 means 29.97
[06:06:46 CET] <ZexaronS> well I don't know what is 30/1
[06:06:51 CET] <Cracki> a fraction
[06:07:01 CET] <ZexaronS> why, it's suppose to be constant
[06:07:06 CET] <Cracki> is it really?
[06:07:09 CET] <Cracki> videos can be vfr
[06:07:28 CET] <Cracki> how did you do this? "I set the -r 30"
[06:07:37 CET] <ZexaronS> I didn't tell it to be VFR unless that's the default. I set r to 30
[06:07:41 CET] <Cracki> how
[06:07:51 CET] <Cracki> you could have done something wrong
[06:09:49 CET] <ZexaronS> for %%F in (*.avi) do ffmpeg -loglevel verbose -i "%%~F" -preset slow -crf 23 -r 30 -vcodec libx264 -x264-params no-deblock -pix_fmt yuv444p -movflags +faststart -acodec libmp3lame -b:a 288k -ac 2 -threads 8 -f matroska "%%~nF.mkv"
[06:10:38 CET] <ZexaronS> don't tell me It's the order of commands
[06:12:43 CET] <JC_Yang> code layouts seem changed, can't find it in 3.4.1
[06:17:15 CET] <ZexaronS> Here's a question: If web streaming probably had yuv420, and I recorded it with a -semi-lossless codec with yuv444p, would I rather recode back to yuv444p or can I do yuv420p and not introduce some side effect which would make it worse than original ?
[07:07:11 CET] <ZexaronS> Can anyone weight it whether autothreads detection is buggy if it sets x264-params threads=12 when i have 8 ? 4x4
[07:07:20 CET] <ZexaronS> or else i make ticket
[07:36:49 CET] <ZexaronS> Hmm i have an idea
[07:38:08 CET] <ZexaronS> message color should be loglevel specific, error=red, warn=yellow, info=lightgreen, verbose=green, debug=darkgreen, trace=palepink
[07:38:58 CET] <ZexaronS> cyan and purple seem to be used by encoders and some other stuff
[07:54:54 CET] <ZexaronS> using this setpts=N/FRAME_RATE/TB  after -vf mpdecimate actually makes wrong results, using only mpdecimate makes correct a/v sync
[07:54:59 CET] <ZexaronS> terrible internet advice
[07:55:11 CET] <ZexaronS> https://video.stackexchange.com/questions/20958/ffmpeg-dropping-duplicate-frames
[10:21:40 CET] <furq> ZexaronS: x264 defaults to local cores * 1.5
[10:21:43 CET] <furq> logical
[10:22:14 CET] <ZexaronS> what's the point of the extra 0.5 ?
[10:22:29 CET] <furq> apparently it's more efficient
[10:23:13 CET] <ZexaronS> A few fps faster ?
[10:24:06 CET] <furq> emphasis on a few, yeah
[11:25:23 CET] <fl0x23> Hi guys
[11:27:01 CET] <fl0x23> Merry Christmas and a happy new year
[12:47:18 CET] <robertfoss_> heya
[12:47:20 CET] <robertfoss_> I'm building ffmpeg and having some issues enabling the right flags for enabling png codec + muxer
[12:47:28 CET] <robertfoss_> I am running ./configure with --enable-zlib
[12:47:36 CET] <robertfoss_> https://hastebin.com/gigorareme.pas
[12:53:31 CET] <robertfoss_> configuration options: https://hastebin.com/jexilezoso.swift
[14:01:05 CET] <fl0x23> Hello?
[14:01:33 CET] <fl0x23> Can anyone help me? Please.
[14:04:32 CET] <TheRock2> i don't think so
[14:07:45 CET] <fl0x23>  would like to stream a screencast from my odroid / raspberry
[14:08:19 CET] <fl0x23> better this way?
[14:09:00 CET] <fl0x23> I would like to stream a screencast from my odroid / raspberry but it dosn't work.
[14:11:18 CET] <fl0x23> can someone tell me for what this channel is?
[14:11:55 CET] <TheRock2> this channel is a fake, the majority here are vampires and bloodsuckers
[14:12:14 CET] <fl0x23> lol
[14:12:48 CET] <fl0x23> I think this is a ghost ship
[14:16:46 CET] <kepstin> well, it's kinda hard to come up with a reasonable response to "it doesn't work"
[14:17:13 CET] <durandal_1707> provide more info
[14:19:29 CET] <kepstin> note that raspberry pi is generally a terrible choice for video encoding/streaming, but it should be usable if you can get the hardware encoder working
[14:19:42 CET] Action: kepstin doesn't know about odroid
[14:21:11 CET] <fl0x23> Thank you very much. I'll prepare the log.
[14:27:53 CET] <occivink> hi, is there a filter I can use to replace the transparency of an image with a checkerboard pattern? preferably without blending with an actual checkerboard image
[14:30:26 CET] <kepstin> as far as I know, there's no way to generate a checkerboard pattern in ffmpeg without providing an image.
[14:31:22 CET] <kepstin> maybe there's a filter that could render one, but it would probably be a lot more work figuring it out :/
[14:39:00 CET] <fl0x23> I am back. Here is my log. He works well! https://pastebin.com/iKAVjrSG
[14:39:52 CET] <fl0x23> if I want to stream network error comes on twitch.
[14:41:19 CET] <fl0x23> but if i want to stream... Channel is online but network error comes on twitch
[14:42:34 CET] <occivink> kepstin: I see, too bad. On a related note, what's the filter to expand an image by "repeating" it on the sides? I'm sure it exists but I don't know the keywords to find it
[14:42:38 CET] <fl0x23> https://pastebin.com/6BFwTiDg Here my streaming command
[14:45:11 CET] <fl0x23> sry i do not understand was you mean kepstin
[14:48:48 CET] <fl0x23> https://pastebin.com/AfQby2m7
[14:49:30 CET] <fl0x23> That don't work... I hope someone can help me on this ghost ship.
[14:54:26 CET] <klaxa> i would guess your device is too slow
[14:56:57 CET] <robertfoss_> who should I ask about build issues?
[14:57:32 CET] <fl0x23> yes, I suspect too. But I would be enough if every 20 seconds a picture is sent.
[14:57:58 CET] <TheRock2> you could post your question into this room robertfoss_
[14:58:04 CET] <TheRock2> 409 people are awaiting to answer your question
[14:59:07 CET] <robertfoss_> TheRock2: ah, did before :)
[14:59:39 CET] <robertfoss_> TheRock2: but I'm having some issues building an ffmpeg that properly en/de-codes png files
[14:59:47 CET] <robertfoss_> TheRock2: I am running ./configure with --enable-zlib
[14:59:52 CET] <robertfoss_> TheRock2: https://hastebin.com/gigorareme.pas
[15:00:00 CET] <robertfoss_> TheRock2: configuration options: https://hastebin.com/jexilezoso.swift
[15:11:10 CET] <relaxed> can't view hastebin with a text browser, 0 out of 10
[16:09:49 CET] <alexpigment> man, i've been arguing via email by this dude who posted a very misinformed blog post about 1080i60 (1080i30, 1080/60i), and the dude just does not get it. what's worse is his blog comes up very highly on a google search result
[16:10:05 CET] <alexpigment> http://www.biscardicreative.com/1080i-60-is-not-60fps-repeat-after-me/
[16:10:30 CET] <alexpigment> it's like the dude has never worked with interlaced content
[16:12:46 CET] <sfan5> since when are 30 fps = 29.97 fps?
[16:13:45 CET] <TheRock2> if you round it up, it's 30
[16:14:51 CET] <alexpigment> i'm perfectly fine with the generalization of 29.97 as 30. it's more about the fact that he doesn't understand why people call it 1080i60 because he doesn't seem to understand that each field is one part of a combined complete picture
[16:14:59 CET] <alexpigment> rather
[16:15:01 CET] <alexpigment> sorry
[16:15:11 CET] <alexpigment> he doesn't understand that each field is *not* part of a combined complete picture
[16:15:59 CET] <alexpigment> if you could simply combine two adjacent fields and make a frame, there would be no benefit to 1080i over 1080p30
[16:16:28 CET] <alexpigment> 1080i60 from any reasonable viewing distance is going to look identical to 1080p60
[16:19:02 CET] <kerio> fite me irl
[16:19:15 CET] <alexpigment> ?
[16:19:33 CET] <raijin> :D
[16:19:41 CET] <kerio> there's no way interlaced 60fps is going to look identical to progressive 60fps
[16:19:52 CET] <alexpigment> kerio: from any reasonable distance it will
[16:20:00 CET] <alexpigment> e.g. 2 feet from your monitor
[16:20:04 CET] <raijin> myopia is a way
[16:20:05 CET] <alexpigment> 5 feet from your tv
[16:20:29 CET] <kerio> raijin: fair
[16:20:51 CET] <alexpigment> i can send you the same example files i sent this dude if you actually are in disbelief
[16:22:03 CET] <kerio> the only way that could be even remotely true is if you're watching with a physical screen that can actually do interlaced output
[16:22:11 CET] <alexpigment> no
[16:22:19 CET] <alexpigment> the deinterlacing happens before it gets to the screen
[16:22:28 CET] <kerio> oh so now there's deinterlacing
[16:22:28 CET] <alexpigment> you're always seeing 1080p60 on your screen
[16:22:35 CET] <alexpigment> kerio: of course
[16:22:47 CET] <alexpigment> you can't watched interlaced content on an LCD screen
[16:22:52 CET] <alexpigment> it *has* to be deinterlaced
[16:23:19 CET] <alexpigment> and when it is, it is functionally identical to 1080p60
[16:24:00 CET] <alexpigment> granted, i realize of course that there's a loss of horizontal resolution on the crudest of deinterlacing algorithms, but even then it's hard to tell. any deinterlacer worth its weight will be imperceptible
[16:25:21 CET] <alexpigment> 1080i sample: http://s000.tinyupload.com/index.php?file_id=57441411385003363132
[16:25:31 CET] <alexpigment> 1080p60 sample: http://s000.tinyupload.com/index.php?file_id=56286925003591748010
[16:25:48 CET] <alexpigment> make sure and view on a player that does hardware deinterlacing (Windows Media Player, Kodi, or your TV)
[16:27:24 CET] <robertfoss_> relaxed: raw hastebin: https://hastebin.com/raw/gigorareme
[16:27:42 CET] <robertfoss_> relaxed: raw hastebin config: https://hastebin.com/raw/jexilezoso
[17:03:06 CET] <hexhaxtron> Hi! I paid to have VHS tapes converted to DVD. What should I do to convert those DVDs to a format easy-to-view in Windows?
[17:03:50 CET] <hexhaxtron> avi, mkv, mp4?
[17:04:08 CET] <therage3> extract them as mkv's and then put them through handbrake or ffmpeg to transcode them to a format/codec and container of your choice
[17:04:22 CET] <sfan5> rip them using handbrake to an mp4 (H.264 + AAC)
[17:04:36 CET] <hexhaxtron> Thanks! :)
[17:05:12 CET] <furq> you shouldn't even need to rip them to be able to play them in windows
[17:05:24 CET] <furq> just use makemkv or something
[17:13:06 CET] <durandal_1707> keep original video format
[17:14:32 CET] <therage3> that's to ensure maximum quality, but with ffmpeg or handbrake you can compress it lossily yet still keep visual transparency, if space is an issue
[17:44:09 CET] <wouterstreamit> I am building Chromium with the proprietary-codecs flag for an embedded ARM linux system and that uses ffmpeg internally for, amongst other things, demuxing video data. However, I get a crash with mp4 video files. I have traced it back to happening at a call to avformat_find_stream_info but I am not sure what is going wrong. A signal 4 illegal instruction crash is triggered when avformat_find
[17:44:09 CET] <wouterstreamit> _stream_info calls try_decode_frame which calls avcodec_send_packet which calls av_bsf_send_packet which calls av_packet_move_ref. In that very simple method, which doesnt even look like it dynamically calls a function (a typical cause of signal 4 errors) the program crashes. If I disable the call to try_decode_frame, the audio stream decodes just fine. Webm streams work just fine as well. Is
[17:44:09 CET] <wouterstreamit> this a known issue, or am I doing something stupid?
[17:49:50 CET] <teratorn> "I am building Chromium with the proprietary-codecs flag for an embedded ARM linux system..."
[17:49:58 CET] <teratorn> you tell me
[17:50:33 CET] <wouterstreamit> Tell you what?
[17:52:20 CET] <thebombzen> You're doing something proprietary, we can't see your code
[17:53:20 CET] <thebombzen> as for illegal instruction? sounds like configure options
[17:53:58 CET] <wouterstreamit> It's not proprietary? proprietary-codecs is just a flag in chromium to make it compile with support for mp4, h264 and some other codecs. Ubuntu compiles their chromium with that flag as well
[17:56:50 CET] <wouterstreamit> "sounds like configure options" - I thought it would be related to that, as Chromium compiles its ffmpeg dependency with a custom build tool that does not directly use configure - but while tracing back the source of the error I cannot see how such a crash can happen in av_packet_move_ref
[18:02:39 CET] <iive> all assembler code is guarded by cpu capability checks, so if there is illegal instruction it must be generated by the c compiler.
[18:04:02 CET] <iive> it could also be memory corruption (by out of bound write).
[18:04:56 CET] <iive> i think there is valgrind for arm, it might be overkill, but it should do the job
[18:05:30 CET] <wouterstreamit> That option sounds more likely as no assembly code is touched anywhere near the source of the crash - simply commenting out the body of the av_packet_move_ref function prevents the crash (but obvioulsy causes a lot of things to break so doesnt help at all)
[18:07:09 CET] <dw> hi. is there a better solution to live transcoding with VLC client as a target than tcp://....?listen ?  I'm presently in a bandwidth starved country, and realtime resize+x265 transcode pretty much solves the probelm, but raw tcp:// lacks e.g. seeking, or resume on connection failure.  Right now I additionally want to transcode another live stream (CCC conference), so something that works just for files is not
[18:07:15 CET] <dw> suitable. any ideas?
[18:07:34 CET] <dw> I can of course resume with -ss ...., but it's a pain in the ass :)
[18:08:32 CET] <bencoh> is that an ffmpeg question or a vlc one in the end? :]
[18:08:50 CET] <bencoh> ah, nevermind, got it
[18:08:55 CET] <dw> I'm not sure :)  maybe it's a "third party media servers" question :)
[18:09:27 CET] <bencoh> indeed :)
[18:09:37 CET] <dw> this setup works well, but it's just the lack of seeking and resume drives me a bit crazy
[18:10:39 CET] <dw> it's one of those cases where I know exactly how to solve this by writing code, and usually when that happens, it means someone has already written said code :P
[18:15:02 CET] <Roksyk> hi
[18:16:31 CET] <Roksyk> i'm having a bit of trouble, because all i'm trying to do is convert a handful of .flac files into .mp3, and i'm trying to figure out what the best, and easiest way to use ffmpeg for that is
[18:17:52 CET] <DHE> for INPUT in *.flac; do ffmpeg -i $INPUT $(basename $INPUT .flac).mp3 ; done
[18:18:06 CET] <DHE> add options for quality if you like
[18:18:28 CET] <Roksyk> alright
[18:18:44 CET] <Roksyk> is INPUT for the filepath?
[18:19:35 CET] <Roksyk> like, i do $(filepath)?
[18:20:54 CET] <bencoh> dw: err, how would you "solve" it?
[18:29:12 CET] <DHE> INPUT is my shell variable iterating over all *.flac
[18:29:18 CET] <relaxed> Roksyk: run the command in the dir containing the flac files.  for i in *flac; do ffmpeg -i "$i" -q:a 0 "${i%.*}".mp3; done
[18:29:29 CET] <furq> relaxed's is better
[18:29:49 CET] <furq> you can also use find+xargs if you want to have it run multiple jobs in parallel (the flac encoder is singlethreaded)
[18:29:56 CET] <furq> but if this is just a handful then that's probably overkill
[18:30:05 CET] <relaxed> you can use /path/to/*flac as well
[18:35:44 CET] <dw> bencoh: the naive solution is to restart the pipeline with the equivalent of -ss ... -i ... matching the ui's seek command and concatenate it on the existing output stream
[18:36:07 CET] <dw> bencoh: pretty sure if i dig deeper, i can just reuse whatever mechanisms for seeking exist internally rather than restarting everything
[18:36:51 CET] <dw> bencoh: hence expecting this to already exist somewhere :)  it looks like ffserver + rtsp://  will do it at least for files.  but it should be possible to do it for any seekable input stream too
[18:37:06 CET] <dw> (such as DASH or HLS or whatnot)
[18:38:02 CET] <dw> its pretty much just the software equivalent of one of those IR repeaters for controlling a DVD player from another room ;)
[18:38:56 CET] <bencoh> except that there is another transcode operation in the middle of the chain
[18:39:25 CET] <dw> yep
[18:40:13 CET] <Roksyk> well, i'm not sure if i'm doing it right, but it's telling me "permission denied"
[18:45:14 CET] <relaxed> Roksyk: you're using the bash shell?
[18:46:40 CET] <Roksyk> idk what that is
[18:47:11 CET] <nico__> if I use "ffmpeg -i inputvideo.mp4 frame%03d.png" will ffmpeg will extract every single individual frame of the video regardless of the original framerate of the video ?
[18:47:25 CET] <Roksyk> i'm just using the 20171225-613f789 version
[18:47:28 CET] <Roksyk> in cmd
[18:49:02 CET] <therage3> yes, but note that it will output weird things for variable framerate videos
[18:49:18 CET] <therage3> so if you have a constant framerate video, it should work as intended
[18:50:07 CET] <Roksyk> sorry, i'm still kind of confused
[18:51:13 CET] <therage3> sorry, that was for nico__, not you, Roksyk
[18:51:50 CET] <Roksyk> i know
[18:51:51 CET] <Roksyk> lol
[18:54:33 CET] <relaxed> Roksyk: which OS are you using?
[18:54:48 CET] <Roksyk> windows 7
[18:54:54 CET] <Roksyk> 64bit version
[18:55:00 CET] <relaxed> Oh :)
[18:55:05 CET] <Roksyk> yeah
[18:55:11 CET] <Roksyk> ..should i have said that at first?
[18:55:14 CET] <relaxed> I gave you a linux command
[18:55:18 CET] <Roksyk> whoops
[18:55:26 CET] <Roksyk> that's my fault for not specifying
[18:56:16 CET] <relaxed> google windows ffmpeg for loop
[18:56:25 CET] <Roksyk> loop?
[18:58:14 CET] <relaxed> yes- a "for" loop, you want to run a command that loops through each file, converting it to mp3
[19:01:22 CET] <relaxed> For windows it would look something like,  for %%g in (*.flac) do ( ffmpeg.exe -i "%%g" -q:a 0 "%%g".mp3 )
[19:03:52 CET] <Roksyk> well..uh
[19:04:03 CET] <Roksyk> my friend kinda made a windows batch file for me, anyway
[19:04:13 CET] <Roksyk> that does exactly what i needed it to
[19:04:18 CET] <relaxed> ok
[19:04:48 CET] <Roksyk> well, i still need to ask something real quick
[19:05:31 CET] <Roksyk> is it really possible to change the bitrate and everything of a sound file, and get rid of the crackles and fix the quality of it?
[19:06:30 CET] <alexpigment> crackles... is this a vinyl rip?
[19:06:39 CET] <Roksyk> well no, but
[19:06:44 CET] <Roksyk> i mean, they aren't loud, but
[19:06:54 CET] <alexpigment> digital clipping?
[19:07:19 CET] <Roksyk> sometimes when the pitch and loudness gets to a certain point, it crackles a tiny bit
[19:07:24 CET] <alexpigment> there are intelligent filters available to help with these sort of things, but they're imperfect by nature
[19:07:38 CET] <alexpigment> what you're probably talking about is digital clipping caused by hard mastering
[19:07:41 CET] <Roksyk> i mean, what i always do is go out to download better versions
[19:07:50 CET] <therage3> I don't know if this is a solution, but things like Audacity do allow you to load the file into it and then fix some stuff
[19:08:02 CET] <therage3> A certain point...
[19:08:09 CET] <therage3> That sounds like clipping/distortion
[19:08:18 CET] <therage3> Like, when it gets to 0 dB and tries to go over
[19:08:33 CET] <Roksyk> i could try to find a song as an example
[19:08:41 CET] <therage3> sorry if I didn't scroll up, but what's the source of these songs?
[19:08:50 CET] <alexpigment> Roksyk: how about any red hot chili peppers album since 1999 ;)
[19:09:04 CET] <therage3> that band is the worst offender as far as the loudness war is concerned
[19:09:10 CET] <therage3> Californication has ATROCIOUS mastering
[19:09:23 CET] <therage3> damn shame, because the album per se is fine
[19:09:28 CET] <alexpigment> haha. i personally don't mind it that much on that album, but yes, the clipping is certainly there
[19:09:30 CET] <Roksyk> wait
[19:09:37 CET] <Roksyk> i did notice it with that, yeah
[19:09:39 CET] <Roksyk> hang on
[19:09:47 CET] <therage3> listen to the end of Parallel Universe, when John kicks up the overdrive
[19:09:49 CET] <therage3> it sounds so grating
[19:09:50 CET] <alexpigment> yep
[19:10:23 CET] <alexpigment> although, that clipping in particular could have come from any point in the chain. he's clearly got a heavy phaser going into a loud amp. the *mics* could have been clipping for all we know ;)
[19:11:11 CET] <therage3> I dunno, I just think Rick Rubin was like, "fuck it, turn it up turn it up"
[19:11:22 CET] <alexpigment> when had rick ever *not* said that? lol
[19:11:38 CET] <Roksyk> actually
[19:11:40 CET] <therage3> for all we know, the band themselves would have been opposed to it personally, but contracts would force them to deal with it
[19:11:48 CET] <Roksyk> another example is the album smash by the offspring
[19:12:05 CET] <alexpigment> the mastering stage, and to some degree the mixing, is often out of the hands of the band
[19:12:45 CET] <therage3> well, yes, but producers/engineers that are more approachable may welcome input from the band. maybe this wasn't one of those cases
[19:12:46 CET] <alexpigment> Roksyk: yeah, that most likely has a lot of digital clipping. it's a loud album, especially by 1994's standards
[19:13:15 CET] <therage3> i'm not too familiar with that band's material, with the exception of Pretty Fly (For a White Guy) and then one other song they did, One Fine Day
[19:13:31 CET] <therage3> oh, and Why Don't You Get a Job
[19:13:35 CET] <alexpigment> Roksyk: having said that, have you checked the files on multiple playback devices? there could be some additional factor that's making the clipping more noticeable on your computer
[19:14:10 CET] <Roksyk> not really, cause WMP is the only thing i use, plus my sony walkman, and i don't care to change
[19:14:20 CET] <Roksyk> but if i can't fix it in the end, it's not a big deal
[19:14:23 CET] <alexpigment> well, that's two devices
[19:14:40 CET] <alexpigment> WMP has some "loudness" settings under the hood though.  i'd make sure there are no enhancements turned on
[19:14:59 CET] <alexpigment> it took me several years to realize dolby digital audio is treated by one of 3 settings that determines the output volume in WMP
[19:15:09 CET] <Grobo> Is there a way to use a BD subtitle stream in an MP4 container?
[19:15:53 CET] <alexpigment> Roksyk: just as a safety measure, right click on WMP while it's playing audio, then go to Enhancements
[19:16:06 CET] <alexpigment> turn off auto volume leveling
[19:16:12 CET] <therage3> Roksyk: get rid of all filters, DSP, and whatnot
[19:16:17 CET] <alexpigment> set the eq to flat
[19:16:30 CET] <alexpigment> k
[19:16:42 CET] <alexpigment> man, WMP really makes it annoying to check all these filters, i'm noticing
[19:16:49 CET] <alexpigment> they're in like 10 different places
[19:17:10 CET] <therage3> or, better yet, turn the EQ off, if there's a setting to just turn it off. even if all frequencies are flat, if it's on, some preamp setting may be messing with the output
[19:19:53 CET] <Roksyk> i don't see auto volume leveling in enhancements but i think i already messed with that before
[19:20:05 CET] <Roksyk> https://i.imgur.com/pe3YDRu.png this is what's under the dolby settings
[19:20:19 CET] <alexpigment> the dolby settings don't apply here
[19:20:22 CET] <alexpigment> it's the other settings
[19:20:52 CET] <Roksyk> oh, and i have the eq set to something custom
[19:20:57 CET] <Roksyk> since i can't listen to music flat
[19:21:14 CET] <therage3> this is compounded by the fact that sometimes, depending on soundcard and how the Windows mixer interfaces with it, it may be applying some bullshit dithering
[19:21:38 CET] <alexpigment> roksyk: well if you have the EQ pushes up on any band and the gain is still the same, that introduces clipping inherently
[19:21:46 CET] <therage3> that's why a lot of people try to bypass the Windows mixer and try to give the sound playing program exclusive access to the soundcard
[19:22:22 CET] <Roksyk> alright
[19:22:28 CET] <alexpigment> fyi, here are the WMP settings I see: https://imgur.com/a/udRdf
[19:23:03 CET] <Roksyk> okay
[19:23:12 CET] <Roksyk> i have the same, and auto leveling is off
[19:23:13 CET] <alexpigment> crossfading and volume leveling, graphic eq, quiet mode, and SRS WOW effects all can play a part in the volume of the track, and therefore the clipping
[19:23:23 CET] <Roksyk> i just saw crossfading first and didn't notice it next to that
[19:23:23 CET] <alexpigment> ok, turn the EQ off, check the clipping again
[19:24:30 CET] <Roksyk> nope, still the same
[19:24:52 CET] <alexpigment> k, i just figured I'd ask
[19:25:04 CET] <alexpigment> do you have a sample file by chance?
[19:25:27 CET] <Roksyk> https://dl.dropboxusercontent.com/s/wm1pxqrezb8z1du/09%20It%27ll%20Be%20a%20Long%20Time.mp3
[19:25:33 CET] <alexpigment> i just want to make sure there's not another factor here, because digital clipping is bad, but most people don't really notice the actual distortion. they usually just notice the lack of dynamics
[19:25:34 CET] <Roksyk> this is from the smash album
[19:25:55 CET] <Roksyk> from '94
[19:26:54 CET] <alexpigment> i mean it's definitely very loud, but i don't hear constant clipping artifacts per se
[19:27:05 CET] <therage3> Roksyk: I loaded it into Audacity, and while there's no _actual_ clipping (the waveform never reaches 0dB), it's close
[19:27:07 CET] <therage3> and it seems very compressed
[19:27:10 CET] <alexpigment> right
[19:27:23 CET] <Roksyk> that's odd
[19:27:30 CET] <therage3> what year is this album from...?
[19:27:36 CET] <Roksyk> 1994
[19:27:47 CET] <therage3> what. that's really early for this loudness war stuff
[19:27:49 CET] <therage3> ???
[19:27:54 CET] <alexpigment> well, the clipping is hardcoded into the tracks. the actual CDs are never over 0db
[19:28:13 CET] <furq> it's never too early for bad mastering
[19:28:18 CET] <alexpigment> therage3: punk has always been loud
[19:28:30 CET] <furq> you get it on a lot of electronic stuff
[19:28:34 CET] <furq> japanese stuff is particularly bad
[19:28:47 CET] <alexpigment> listen to "little red corvette" by prince
[19:28:52 CET] <alexpigment> tell me *that* isn't distorted as hell
[19:29:02 CET] <furq> you can probably find a better master of that these days
[19:29:04 CET] <alexpigment> i love the song, but prince really screwed the pooch on that one
[19:29:27 CET] <alexpigment> furq: i've looked
[19:29:30 CET] <Roksyk> i'm gonna go find another example
[19:29:52 CET] <alexpigment> furq: there are active "pops" happening at the loud parts of that song
[19:30:05 CET] <kazuma_> peaking
[19:31:09 CET] <Roksyk> okay, here's a good example of what i'm talking about
[19:31:16 CET] <Roksyk> you can hear it right away
[19:31:27 CET] <Roksyk> https://dl.dropboxusercontent.com/s/8c38alanxf6rp10/08%20-%20Suffer.mp3
[19:31:34 CET] <furq> i actually don't see a good recent remaster of it so you might be right
[19:31:46 CET] <kazuma_> the distortion?
[19:31:55 CET] <Roksyk> this bitrate is at 251kbps
[19:31:59 CET] <Roksyk> and yeah
[19:32:00 CET] <alexpigment> Roksyk: yeah, that's baked in there, but this could very well just be the fact that this is a dual rec with a mic in front of it
[19:32:20 CET] <alexpigment> anyway, i'm not surprised that a nu metal song clips ;)
[19:32:23 CET] <therage3> Roksyk: how was this mp3 obtained? through a properly done rip of the CD? do you know what was used
[19:32:25 CET] <pos> so, i've got these rtsp sources which, when using ffmpeg with -vcodec copy, end up with funky files. let's say i've captured 15 seconds of video, i get a video file sized about 5MB but all players think it's 50 minutes long
[19:32:45 CET] <pos> mplayer/mpv complain about invalid timestamps, vlc crashes
[19:32:50 CET] <Roksyk> through pirating
[19:33:12 CET] <pos> i've tried -fflags +gentps and -vsync drop to no avail
[19:33:17 CET] <alexpigment> Roksyk: i'm listening to it via Spotify. don't hear exactly the same spikes tbh
[19:33:39 CET] <kazuma_> was it a vinyl rip source ?
[19:33:41 CET] <alexpigment> still loud, but that's expected for staind
[19:33:41 CET] <kazuma_> or cd
[19:33:51 CET] <kazuma_> bad rip from vinyl with audacity could cause that imo
[19:34:13 CET] <alexpigment> or a bad CD rip with some sort of normalizer setting enabled
[19:34:23 CET] <alexpigment> like if someone set the normalizer to 101% or something
[19:34:41 CET] <alexpigment> i can imagine some idiot being like "my rips sound the best beacuse they're louder"
[19:34:47 CET] <Roksyk> from cd, i'm pretty sure
[19:34:55 CET] <kazuma_> out amp's go to 11
[19:34:55 CET] <alexpigment> and sadly, they would probably be right for a lot of listeners
[19:34:58 CET] <kazuma_> our*
[19:35:05 CET] <alexpigment> it's one more really...
[19:35:16 CET] <alexpigment> *one louder
[19:35:48 CET] <alexpigment> ok, i'm going to stop listening to staind. it really is a distorted as hell song in general
[19:36:03 CET] <alexpigment> very grating through headphones
[19:36:40 CET] <Roksyk> yeah
[19:36:56 CET] <Roksyk> i got a couple other torrents ready, and i tested the one with 320kbps
[19:36:57 CET] <alexpigment> Roksyk: anyway, assuming the ripping itself is not the source of the problem (the jury is still out), see this: http://manual.audacityteam.org/man/clip_fix.html
[19:36:58 CET] <Roksyk> same thing
[19:37:24 CET] <Roksyk> i'll keep this in mind, thanks
[19:37:43 CET] <kazuma_> the best thing to do Roksyk is buy your own cd's and rip them yourself
[19:37:48 CET] <alexpigment> imperfect science, obviously, but it can help
[19:37:54 CET] <Roksyk> i'd rather not
[19:37:55 CET] <kazuma_> and buy jpop because it's bestest
[19:37:57 CET] <alexpigment> also ^^^^ re kazuma
[19:37:57 CET] <Roksyk> unless i have to
[19:38:00 CET] <Roksyk> and it's worth it
[19:38:24 CET] <alexpigment> Roksyk: well, when your favorite artists get fast food jobs, we'll know who's to blame...
[19:38:34 CET] <Roksyk> but i'm still curious about what ffmpeg can do
[19:38:52 CET] <Roksyk> because if i have a track that's at a low bitrate, like 180 or 160
[19:39:06 CET] <Roksyk> how would it affect the audio if i changed it to 320?
[19:39:31 CET] <kazuma_> gigo Roksyk
[19:39:33 CET] <alexpigment> bitrate does nothing for clipping
[19:39:44 CET] <alexpigment> bitrate introduces a different kind of audible distortion
[19:39:46 CET] <Roksyk> i meant in general
[19:39:49 CET] <alexpigment> rather, the lack thereof
[19:39:52 CET] <Roksyk> not just clipping
[19:40:00 CET] <kazuma_> https://en.wikipedia.org/wiki/Garbage_in,_garbage_out
[19:40:15 CET] <alexpigment> wait, are you asking about converting *from* 160 to 320kbs?
[19:40:24 CET] <kazuma_> increasing the bitrate of a lower bitrate source is achives nothing
[19:40:26 CET] <alexpigment> or just about re-ripping the source to 320kbps
[19:40:29 CET] <kazuma_> and just wastes cpu cycles
[19:40:53 CET] <Roksyk> i'm asking about the option ffmpeg has to change a bitrate
[19:41:07 CET] <alexpigment> didn't you choose a quality level of 0 above?
[19:41:26 CET] <alexpigment> either way, if you're ripping and not at all concerned about size, sure, set -b:a to 320000
[19:41:55 CET] <alexpigment> it makes a difference, but the difference from 128kbps to 192kbps is much more noticeable than the difference between 192kbps and 320kbps
[19:42:01 CET] <alexpigment> so definitely rule of diminishing returns
[19:42:13 CET] <alexpigment> i'm not saying use something lower than 320kbps - just don't expect a miracle
[19:42:20 CET] <Roksyk> i don't rip anymore, so that's not that important
[19:43:54 CET] <Roksyk> i think i'll just stick to trying to pirate a better version of an album
[19:44:15 CET] <Roksyk> oh, also
[19:44:45 CET] <Roksyk> this is the batch my friend made
[19:44:47 CET] <Roksyk> FOR /R  %%G IN (.\*.flac) DO ffmpeg -i "%%G" -ab 320k -map_metadata 0 -id3v2_version 3 "%%~dG%%~pG%%~nG.mp3"
[19:44:59 CET] <Roksyk> thought i'd share it before leaving
[19:45:17 CET] <Roksyk> idk how he did it, but it works perfectly
[19:45:42 CET] <alexpigment> yep, looks simple enough
[19:45:44 CET] <kazuma_> it's a for loop
[19:45:57 CET] <kazuma_> just takes whatever .flac and encodes to whatever.mp3
[19:47:05 CET] <furq> it's 2017, you should really be using v0 and not 320 cbr
[19:47:18 CET] <furq> granted you should also be using opus and not mp3
[19:47:30 CET] <Roksyk> i don't know what you just said
[19:48:56 CET] <Roksyk> idk what v0, 320 cbr, and opus is
[19:51:13 CET] <TheRock2> guys
[19:51:22 CET] <TheRock2> is it possible to put a 1gb movie
[19:51:27 CET] <TheRock2> to a 200 mb
[19:51:28 CET] <TheRock2> file
[19:51:31 CET] <TheRock2> without loss
[19:51:33 CET] <klaxa> no
[19:51:50 CET] <klaxa> unless you have special circumstances
[19:51:52 CET] <Roksyk> well, anyway, thanks for your guys' help
[19:51:53 CET] <alexpigment> TheRock2: it depends on if the source is truly uncompressed, but no
[19:52:00 CET] <klaxa> like you have a 1 gb full black movie
[19:52:05 CET] <alexpigment> haha :)
[19:52:24 CET] <TheRock2> lets say, i can take some loss
[19:52:31 CET] <TheRock2> i got a movie 1gb good quality
[19:52:34 CET] <TheRock2> what could i archive
[19:52:40 CET] <TheRock2> 500mb?
[19:52:51 CET] <sfan5> archive the original
[19:53:03 CET] <alexpigment> yeah, no point in compressing a 1GB movie
[19:53:04 CET] <another> depenfs on the video content
[19:53:08 CET] <alexpigment> sounds starved already
[19:53:53 CET] <alexpigment> maybe a cartoon could be 1gb...
[19:54:28 CET] <TheRock2> i made a movie from mysel and i want to upload it, but 1gb is too big for the pattform
[19:55:47 CET] <kazuma_> encode to x264 and see what the output is
[19:55:56 CET] <sfan5> ffmpeg -i input_file -c:v libx264 -preset slow -c:a copy -y output.mp4
[19:56:02 CET] <sfan5> then see whether the output quality is fine
[19:56:05 CET] <kazuma_> ^this
[19:56:28 CET] <TheRock2> the command converts the movie to h264 ?
[19:56:44 CET] <alexpigment> yes
[19:56:48 CET] <alexpigment> at a default quality level
[19:56:58 CET] <TheRock2> i see good, but i heard h265 exists, isn't it better?
[19:56:59 CET] <sfan5> the default quality is pretty low already
[19:57:08 CET] <sfan5> encoding to h265 is slow
[19:57:26 CET] <alexpigment> TheRock2: yes, but it's much slower and compatibility is still an issue on many devices
[19:57:29 CET] <sfan5> if you can take it, substitute libx264 for libx265
[19:57:29 CET] <kazuma_> very slow*
[19:58:08 CET] <kazuma_> i did some tests last year and it was 8times slower to go to x265 with comparable settings as it was to go to x264
[19:58:11 CET] <TheRock2> is there a way to convert it in less than a minute?
[19:58:21 CET] <kazuma_> also everying including your toaster can decode x264
[19:58:21 CET] <alexpigment> haha
[19:58:23 CET] <alexpigment> no
[19:58:39 CET] <alexpigment> 1hr in 1 minute is not possible in any format
[19:58:46 CET] <TheRock2> do you have multithreaded command
[19:58:53 CET] <alexpigment> it's multithreaded by default
[19:59:03 CET] <alexpigment> but if you want to specifically specify it, use -threads 0
[20:00:10 CET] <TheRock2> ok, ty
[20:00:24 CET] <TheRock2> i realized zipping it in an archive will be same size :)
[20:00:39 CET] <alexpigment> yep
[20:00:46 CET] <alexpigment> lossy video doesn't zip hardly at all
[20:01:23 CET] <TheRock2> I had to cut one video a little bit, but had no editor on my computer
[20:01:41 CET] <TheRock2> so i opened the file and removed stuff at the end
[20:01:44 CET] <TheRock2> it still plays
[20:01:48 CET] <TheRock2> is that any bad?
[20:02:08 CET] <sfan5> "removed stuff"?
[20:02:16 CET] <TheRock2> yeah opened in .txt editor
[20:02:18 CET] <alexpigment> well, it's not *good*
[20:02:19 CET] <TheRock2> and removed the end
[20:02:33 CET] <alexpigment> but if it plays, then I guess you achieved your result
[20:02:39 CET] <alexpigment> generally speaking, you shouldn't do that
[20:02:53 CET] <TheRock2> it stil has same length but video stops 3 minutes before end
[20:03:10 CET] <alexpigment> right
[20:03:11 CET] <kazuma_> you can use -t in ffmpeg to cut properly
[20:03:19 CET] <therage3> <Roksyk> through pirating <<<< that's the problem right there. Some of these warez/pirating scene groups do have stringent requirements, but some don't, especially back in the day, so all bets are off as to what was done with this before you ended up with it
[20:03:21 CET] <alexpigment> because the length is in the moov atom at the beginning
[20:03:22 CET] <kazuma_> and it will cut on iframes and not randomly
[20:03:50 CET] <kazuma_> the scene has very strict rules therage3
[20:03:58 CET] <kazuma_> p2ptards do not on the other hand
[20:04:32 CET] <therage3> kazuma_: they tend to, yes -- but note that this album is from 1994, so who knows when it was ripped, by what group, and if it was "nuked" or not by others
[20:04:46 CET] <TheRock2> how does youtube actually have the same video availble in hd and low quality
[20:04:51 CET] <alexpigment> i'm just glad i'm old enough and have the resources to not have to deal with pirating and the dumb decisions they make (even if they are indeed stringent)
[20:05:12 CET] <therage3> TheRock2: when you upload your video to youtube, they reencode it in different formats and sizes
[20:05:17 CET] <kazuma_> well that info is stored in databases therage3 but i take your point
[20:05:21 CET] <furq> alexpigment: it's not so bad these days
[20:05:33 CET] <alexpigment> furq: they still can't get 1080i right...
[20:05:50 CET] <furq> tv was always the one where they made baffling decisions
[20:05:58 CET] <furq> that's improved a lot but it's still not perfect
[20:06:00 CET] <kazuma_> tv scene rules?
[20:06:04 CET] <furq> yeah
[20:06:09 CET] <kazuma_> heh
[20:06:16 CET] <kazuma_> they are pretty good imo
[20:06:28 CET] <alexpigment> needless to say, i rip my own stuff from TV, and i don't trust any "scene" to do it correctly, because they never have
[20:06:40 CET] <kazuma_> :O
[20:06:43 CET] <TheRock2> i see, so youtube has the right to modify my uploaded material
[20:06:46 CET] <TheRock2> its not good
[20:06:55 CET] <therage3> have to agree with alexpigment here.
[20:06:57 CET] <therage3> i do wonder when these scene groups will move from mp3 to something else. Opus seems to be a better choice these days
[20:07:00 CET] <furq> pdtv stuff is pretty much fine now, although a lot of that is web sourced anyway
[20:07:07 CET] <sfan5> therage3: muh hardware support
[20:07:12 CET] <furq> a lot of music groups are ripping flac now which is nice
[20:07:31 CET] <alexpigment> furq: and a lot of people have given up on tv rips and just to web sources, which are often terrible
[20:07:33 CET] <furq> some of them are even including eac logs and cues which was unheard of until lately
[20:07:35 CET] <kazuma_> pdtv stuff is all from tv furq
[20:07:50 CET] <furq> well yeah i mean a lot of stuff that would have had pdtv rips is now web-dl
[20:07:55 CET] <kazuma_> web has a diff ruleset and is tagged .web. for native downloads and .webrip. for captures and encodes
[20:08:00 CET] <kazuma_> oh yeah
[20:08:03 CET] <therage3> sfan5: i think Android 5.0 started including it, so it isn't _that_ much of an issue nowadays, and with time it'll be more supported
[20:08:07 CET] <furq> on account of you can just use youtube-dl instead of having to buy a capture card
[20:08:20 CET] <therage3> what furq said
[20:08:22 CET] <kazuma_> well tuner but yes
[20:08:35 CET] <kazuma_> capture card is ahdtv or apdtv and discouraged
[20:08:36 CET] <therage3> youtube-dl -F https://youtube.link.here    is your friend
[20:08:39 CET] <therage3> And choose the best format
[20:08:41 CET] <alexpigment> kazuma_: depending on your cable co, capture is necessary sometimes
[20:08:46 CET] <kazuma_> no
[20:08:51 CET] <therage3> alexpigment: why
[20:09:01 CET] <kazuma_> the encryption
[20:09:05 CET] <alexpigment> therage3: because spectrum, for example, sets the CCI flag to copy-once
[20:09:09 CET] <kazuma_> but it can be circumvented therage3
[20:09:09 CET] <therage3> I see
[20:09:29 CET] <alexpigment> and the encryption, of course, but a cablecard could solve that part
[20:09:53 CET] <alexpigment> i guess a CCI flag is its own type of encryption too
[20:10:05 CET] <kazuma_> we don't get that in europe
[20:10:12 CET] <kazuma_> the cci stuff
[20:10:13 CET] <flydev3> EPG metadata injection to transport stream, from ffmpeg? Anyone?
[20:10:14 CET] <alexpigment> kazuma_: i know, and you're lucky
[20:10:39 CET] <therage3> btw
[20:10:49 CET] <furq> pdtv rules still forbid anamorphic don't they
[20:10:54 CET] <kazuma_> nope
[20:10:56 CET] <alexpigment> flydev3: are you actually making .ts files from ffmpeg? i've never had good experiences with that. it'll make the file, but usually not without problems
[20:10:59 CET] <furq> that's not as big of a deal since anything worth the extra resolution is hd now
[20:11:01 CET] <therage3> https://i.imgur.com/J9rups9.jpg   this is the spectrum of the file from before
[20:11:09 CET] <therage3> not too shabby i guess
[20:11:17 CET] <kazuma_> anamophic is fine, but the sd rules are quite old now
[20:11:24 CET] <kazuma_> will likely never get an update
[20:11:26 CET] <furq> maybe i'm thinking of dvdrip rules
[20:11:40 CET] <flydev3> I'm getting TS from various places, some are Multicast from ISP, some from DVB cards, all of those have EPG, some from other places (re-encoded) and have no EPG
[20:12:49 CET] <alexpigment> flydev3: i'll go ahead and say "i don't know", but ffmpeg is the last option i'd try for making ts files anyway
[20:12:50 CET] <kazuma_> flydev3 you could do
[20:12:57 CET] <kazuma_> -metadata title=epg info here
[20:13:06 CET] <kazuma_> but why do you want to add it to .ts
[20:13:42 CET] <flydev3> I want to add it to the actual stream and get it back to the servers, I don't wanna save it to the disk (record), I just want to inject the EPG data that is lost back to the stream
[20:14:22 CET] <kazuma_> if you actually record the transport stream instead of the program stream the data will be there to begin with
[20:15:05 CET] <kazuma_> progdvb's record transponder mode for example
[20:15:18 CET] <kazuma_> dvbviewer lets you do it through it's transedit app
[20:15:50 CET] <flydev3> yeah, or just a wget ;) or a stupid relay, it keeps the data, but I want to get it back to the stream from someone who already did throw it out
[20:16:07 CET] <therage3> btw pro-tip for youtube-dl since it was mentioned before... quite often the best video option doesn't come with the best audio; the best audio is often a standalone audio file in webm container, in 160kbps Opus
[20:16:30 CET] <therage3> so you can mux the best video with the best audio locally after downloading
[20:16:43 CET] <flydev3> I have the EPG generated from WebGrab in XML file and probably can find some way to read the data I need but I don't know how ffmpeg can get it in there
[20:18:45 CET] <kazuma_> flydev3 https://www.ffmpeg.org/ffmpeg-all.html
[20:18:53 CET] <kazuma_> ctrl + f for -metadata
[20:19:23 CET] <kazuma_> you could stick the data under comment or descriptions
[20:21:21 CET] <flydev3> https://pastebin.com/fGSYrEAQ so this with the correct input file (that changes based on current metadata) will work?
[20:21:45 CET] <kazuma_> no
[20:22:57 CET] <kazuma_> ffmpeg -i your.ts -metadata descriptions"your epg info here" -vcodec copy -acodec copy out.ts
[20:23:33 CET] <kazuma_> like that, it your epg info is stored in a text file you could stick it into a variable and just stick %epg% in the line or whatever
[20:24:09 CET] <flydev3> yeah, but will ffmpeg keep reading this file when it is changed, while the live stream is being re-encoded?
[20:24:53 CET] <kazuma_> well you would add -metadata descriptions"your epg info here" to your live stream encoding line
[20:24:54 CET] <flydev3> i'll dump some metadata now and see what kind of content is generated in the file and will try to match it when inserting it back
[20:25:09 CET] <kazuma_> and it will be in the media info of the output
[20:25:22 CET] <kazuma_> be it hls segments or whatever
[20:26:16 CET] <flydev3> ffmpeg -i udp://239.1.1.77:22077 -i /home/epg/clublanduk/live.xml -map_metadata 1 -codec copy OUTPUT ...... (back to multicast output)
[20:27:00 CET] <flydev3> or whatever the variations, will try this with the file and update it in realtime
[20:27:14 CET] <kazuma_> heh
[20:27:25 CET] <kazuma_> i built a script for streaming uk tv over lan
[20:27:33 CET] <kazuma_> it would work online also though i guess
[20:28:01 CET] <flydev3> nice ;) that's how it all began, but UK TV is hard to get here - needs huge dish and... HD's are out of the question :(
[20:28:39 CET] <furq> most of the channels worth watching have passable streams that you can rip
[20:28:41 CET] <flydev3> AFAIK you can get all the channels and stream them via LAN from your Virgin coax cable
[20:29:19 CET] <furq> actually i think channel 4's vod stuff is still unbroken
[20:29:27 CET] <furq> although i'm sure someone who knows what they're doing could get in
[20:29:32 CET] <kazuma_> https://pastebin.com/Ntv025Uk
[20:29:38 CET] <kazuma_> yes flydev3
[20:29:52 CET] <kazuma_> also furq, channel4's vods are sd only
[20:30:02 CET] <furq> i know that but a lot of the stuff i'd like was only ever shot in sd
[20:30:04 CET] <kazuma_> they use brightcove drm iirc
[20:30:13 CET] <furq> it's something else now i think
[20:30:15 CET] <furq> it's still all flash
[20:30:26 CET] <furq> afaik uktv uses brightcove and youtube-dl works just fine with that
[20:30:40 CET] <flydev3> channel 4 is geoblocked here, the whole thing, and UK proxies are a no-no, we get blocked by ISP instantly, only a good VPN helps
[20:30:57 CET] <furq> you could probably get a cheap vps
[20:31:38 CET] <flydev3> I get all the channels ,transcoded, but with no EPG, and this gets me in trouble when using my cable box (no EPG info, it gets EPG from in-stream)
[20:33:42 CET] <furq> i went to a football match for the first time in years yesterday and every pub we went in before the match had a different illegal stream of the afternoon matches on
[20:33:48 CET] <furq> one was chinese, one was arabic and one was polish
[20:33:57 CET] <kazuma_> lol yep
[20:34:02 CET] <furq> not shy about it either, one of them had it on about six different screens and a projector
[20:34:03 CET] <kazuma_> some are legal too though
[20:34:15 CET] <BtbN> If you'd do this here they'd get shut down and sued within days.
[20:34:22 CET] <BtbN> Sky sends inspectors around all the time
[20:34:30 CET] <kazuma_> they use forign ca cards which was declared legal a few years ago
[20:34:35 CET] <kazuma_> and dish's with motors
[20:34:43 CET] <BtbN> Yeah, that's fine.
[20:34:55 CET] <BtbN> But if you show a Sky stream without paying Sky, you _will_ get in trouble.
[20:35:00 CET] <kazuma_> yeah
[20:35:03 CET] <furq> the chinese one was definitely illegal but that was a smaller pub nowhere near the ground
[20:35:06 CET] <flydev3> But it's not watchable anymore via SAT, only Cable TV in the UK, for the HD's that is
[20:35:12 CET] <furq> the ones in town seemed to be actual satellite streams
[20:35:24 CET] <kazuma_> you on about sports flydev3?
[20:35:33 CET] <alexpigment> what's the breakdown of cable vs satellite in the UK? i thought most people were on Sky
[20:35:40 CET] <kazuma_> if so you can get them all on backhaul
[20:35:43 CET] <furq> mostly satellite but still plenty of cable
[20:35:58 CET] <kazuma_> alexpigment all the channels are the same between the two platforms apart from 1 channel
[20:36:01 CET] <furq> the cable provider has most of the same channels including sky and bt sport
[20:36:08 CET] <flydev3> Nah, don't care much about them, but have the channels since I can't stand local commentaries during any of the sports, and prefer UK comment/quality UK audio and video
[20:36:24 CET] <kazuma_> skys nds encryption is secure atm for hd channels, virgins nagravision 3 is not
[20:36:24 CET] <BtbN> Football is unwatchable via Satelite, since people on Cable/Terrestrial will start shouting around you 5 seconds in advance
[20:36:32 CET] <furq> lol
[20:36:38 CET] <kazuma_> so users can decode everything in hd on cable but not on sky, thats the tl:dr
[20:36:46 CET] <furq> well we solved that by simply having no football on terrestrial tv
[20:37:04 CET] <furq> and you tend to get cable vs satellite hotspots
[20:37:19 CET] <furq> cable coverage is pretty spotty
[20:37:42 CET] <BtbN> I'll only ever move into a house which has cable. It's an absolute must
[20:37:44 CET] <kazuma_> yeah, they are expanding but their rollout is very slow
[20:37:46 CET] <BtbN> Not for TV though
[20:37:52 CET] <alexpigment> cable in the US is pretty ubiquitous, because people have to get internet, and so most elect to not do cable+sat or whatever+sat
[20:38:06 CET] <kazuma_> yeah virigns internet is spot on hehe
[20:38:17 CET] <alexpigment> the cable quality in the US sucks because they put too many HD channels in a single channel's bandwidth allotment
[20:38:25 CET] <furq> it's better than the fttc+vdsl shit that BT are scandalously allowed to call "fibre"
[20:38:33 CET] <furq> although i notice VM have started calling their cable "fibre" as well
[20:38:44 CET] <kazuma_> it's hfc
[20:38:53 CET] <kazuma_> fibre to the cabinette
[20:38:57 CET] <kazuma_> coax to the home
[20:38:58 CET] <furq> right
[20:39:08 CET] <furq> it's still cable or vdsl in my book
[20:39:16 CET] <furq> only fttp should be called fibre
[20:39:19 CET] <BtbN> They do that here as well
[20:39:21 CET] <kazuma_> yeah
[20:39:33 CET] <therage3> uh
[20:39:37 CET] <BtbN> ADSL16 is now "Fiber-Power". As the DSLAM is connected via Fiber.
[20:39:44 CET] <furq> lol
[20:39:49 CET] <therage3> wait. so how do I know if I have true "fiber" or not now
[20:39:52 CET] <therage3> jeez, now I'm paranoid
[20:39:56 CET] <flydev3> Oh, that.... we have the same, DOCSIS via coax, fibre in the buiding or in the area, and 200 mbps down with 2 mbps up.
[20:40:02 CET] <furq> therage3: is it synchronous
[20:40:02 CET] <BtbN> If there is an actual fiber coming out of your wall. you have fiber.
[20:40:03 CET] <alexpigment> therage3: well, if your internet speeds are good, who cares?
[20:40:05 CET] <flydev3> And it's called Fiber Power :D
[20:40:05 CET] <BtbN> Otherwise, you don't.
[20:40:14 CET] <furq> flydev3: 200/2?
[20:40:15 CET] <therage3> i see...
[20:40:21 CET] <alexpigment> if you can get 1gbps down/up, you're on good fiber
[20:40:28 CET] <BtbN> 2Mbps up is not even enough to sustain a 200MBps TCP stream
[20:40:29 CET] <furq> our cable isp offers 200/12 and i thought that was ridiculous
[20:40:36 CET] <kazuma_> i got 200 down 20 up with cable
[20:40:38 CET] <furq> 200/2 is fucked
[20:40:42 CET] <kazuma_> and it costs a lot
[20:40:51 CET] <BtbN> alexpigment, actual Fiber from Deutsche Telekom you get 200 down, 50 up. 100 up if you pay extra.
[20:40:52 CET] <furq> i need to ring VM to see if they'll give me a discount on 200/20
[20:40:53 CET] <kazuma_> wish the up was faster
[20:41:01 CET] <alexpigment> yeah, we get 100/10 or 300/30 here for cable. they used to have a 200/20 but got rid of it
[20:41:03 CET] <flydev3> yeah, 200 down, 2 up if you do only up, if you download and do up you can get to the hard limit 7 mbps
[20:41:13 CET] <kazuma_> i bay 40 a month for it furq and my dad pays for the tv and phone
[20:41:13 CET] <therage3> LOL
[20:41:22 CET] <kazuma_> alltogether it's about 70 to 80 a month
[20:41:24 CET] <flydev3> and it's more like 165-180 mbps real world speed
[20:41:31 CET] <furq> that's a lot considering you have a tv and phone package
[20:41:38 CET] <kazuma_> yeah
[20:41:47 CET] <furq> i pay 37.50 for 200/12 and no tv or phone
[20:41:58 CET] <furq> and i'm going to try and get a discount lol
[20:42:10 CET] <therage3> LOL good luck
[20:42:16 CET] <alexpigment> furq: most companies *will* if you talk to them long enough and don't threaten to leave
[20:42:18 CET] <furq> they're legendarily easy to get discounts from
[20:42:27 CET] <furq> i'm out of contract
[20:42:30 CET] <therage3> i wish mine were as easy
[20:42:52 CET] <furq> i should be able to get a discount if i phone them up and renew for 12 months
[20:42:52 CET] <flydev3> Okay, will try not to get anyone mad regarding this - we do have a lot of cheap internet, but also some scumbags with ADSL and the Coax stuff.. that limit upload
[20:42:58 CET] <alexpigment> therage3: once spectrum took over time warner, no more discounts for anyone. they're brutal
[20:43:02 CET] <therage3> alexpigment: the threatening option is always there, but a lot of hardnosed ISPs will call your bluff and say "ok sucker cancelled see ya"
[20:43:05 CET] <kazuma_> yeah if you ring up and say you want to cancel you account with them, they put you through to "retentions" who offer you sweet deals to try and stay
[20:43:19 CET] <therage3> oh sweet
[20:43:20 CET] <furq> well that sometimes works and sometimes doesn't
[20:43:23 CET] <alexpigment> therage3: that's why you never threaten to leave. just keep talking until you get to retentions
[20:43:29 CET] <therage3> alexpigment: right
[20:43:32 CET] <furq> i'm not in an fttc area so my only alternative is adsl2
[20:43:38 CET] <furq> and they'll know that from my postcode
[20:43:50 CET] <furq> but yeah if you're out of contract it's much easier
[20:44:38 CET] <furq> they're actually advertising half price for 12 months if i renew and upgrade on their site
[20:44:48 CET] <furq> but i suspect "upgrade" means "please buy a tv package"
[20:45:07 CET] <flydev3> okay guys, will have to leave shortly, if anyone can help out with the UK TV with some technical info I'll be really grateful, I have something to offer in exchange :)
[20:45:10 CET] <therage3> that upgrade may also include no-severance clauses
[20:45:12 CET] <therage3> so be careful
[20:45:16 CET] <furq> well i had that before
[20:45:24 CET] <kazuma_> btw furq, if you add a splitter to your coax line, and hook the other end up to enigma2 box or pci dvb cable tuner
[20:45:26 CET] <furq> i have no intention of switching
[20:45:31 CET] <kazuma_> there are some fta cable channels
[20:45:37 CET] <furq> nice
[20:45:45 CET] <furq> i've got no shortage of sources for tv shows though
[20:45:55 CET] <kazuma_> they are required by law to make some fta, bbc 1, 2, itv, channel 4 and bbc news and politics i think
[20:46:00 CET] <kazuma_> ahh :p
[20:46:24 CET] <furq> i wouldn't buy a tuner just for the fta channels
[20:46:29 CET] <furq> i'd want to be capturing shit
[20:46:34 CET] <flydev3>  kazuma_ AFAIK there's also sharing for the virgin cable TV and it works, since I got many enigma boxes via my last scan, all with working sky channels and the rest of the "cable" TV :)
[20:46:51 CET] <kazuma_> well yeah a dvb tunner and unauthorised decryption and you get the lot :p
[20:47:02 CET] <kazuma_> yes flydev3
[20:47:56 CET] <flydev3> kazuma_ and a gigabit fiber fromhyperoptic and things get interresting ;) we do this a lot here and share channels in between, this way we got a lot of TV to choose from :)
[20:48:29 CET] <kazuma_> hehe
[20:48:47 CET] <kazuma_> i also have a 1m dish with a usals motor flydev3 so i can get all of europes tv also
[20:48:56 CET] <kazuma_> but mainly just use the setup for sport and feeds
[20:49:24 CET] <flydev3> I also have this, along with some cable tv's from here and there - usually they are better quality :)
[21:40:21 CET] <diverdude> durandal_1707: hi, will avcodec_decode_video2 be able to decode any video?
[21:41:30 CET] <durandal_1707> from which version is that?
[21:45:14 CET] <diverdude> durandal_1707: here: https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/transcoding.c#L549
[21:45:50 CET] <durandal_1707> diverdude: thats old api
[21:51:20 CET] <diverdude> durandal_1707: is it advisiable to use the new api?
[21:51:41 CET] <durandal_1707> yes
[22:04:23 CET] <diverdude> durandal_1707: i see...and if i just download latest build the new api is available?
[22:07:56 CET] <durandal_1707> diverdude: not in that particular example
[22:09:11 CET] <durandal_1707> someone needs to update it
[22:12:42 CET] <diverdude> durandal_1707: i dont mind trying to update it if you can guide me a bit
[22:13:27 CET] <diverdude> durandal_1707: wanna help me on that?
[22:14:05 CET] <Ahti333> is it possible to generate mllt tags (http://id3.org/id3v2.3.0#sec4.7) for vbr mp3s using ffmpeg?
[22:14:51 CET] <durandal_1707> diverdude: look at other examples that use new api
[22:15:19 CET] <diverdude> durandal_1707: can you point me to examples that use new api which i can use?
[22:15:20 CET] <durandal_1707> receive packet, send frame iirc
[22:15:35 CET] <diverdude> durandal_1707: or let me know how i can see if its new or old api
[22:16:42 CET] <durandal_1707> diverdude: the new api doesnot use decode_videoX
[22:18:40 CET] <diverdude> durandal_1707: i dont see any examples called recieve packet or send frame. where are those? I looked here: https://github.com/FFmpeg/FFmpeg/tree/master/doc/examples
[22:21:46 CET] <durandal_1707> diverdude: decode_video.c
[22:22:04 CET] <durandal_1707> its other way around
[22:22:16 CET] <durandal_1707> send packet ...
[22:23:02 CET] <diverdude> so this is new api? https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/decode_video.c
[22:23:53 CET] <durandal_1707> diverdude: new api is to send packet and receive frame
[22:24:25 CET] <diverdude> durandal_1707: can i read about that anywhere?
[22:26:09 CET] <durandal_1707> there is doxy, you can see how oother programs use it
[22:26:26 CET] <durandal_1707> its trivial if you understand c
[22:27:37 CET] <diverdude> but even if i understand c its kinda difficult to know what is what when there are different api versions flying around and not described anywhere how each api works, why it was changed where its applied
[22:30:57 CET] <durandal_1707> diverdude: comments are in function source code
[22:32:06 CET] <Cork> i have a stream i have downloaded with youtube-dl, but when i play it i get "co located POCs unavailable" a few times in the movie
[22:32:17 CET] <Cork> anyone know if it is possible to correct the error?
[00:00:00 CET] --- Thu Dec 28 2017



More information about the Ffmpeg-devel-irc mailing list