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

burek burek021 at gmail.com
Fri Apr 28 03:05:01 EEST 2017


[00:06:02 CEST] <Jalebe> wondering if you know of any example API for subtitle + video encoding (H264)?
[00:09:20 CEST] <kepstin> Mista_D: are you sure that your hardware wants to see the mp4 codec tag set to "h264" (or "H264")? I can't find any references that uses those in mp4 container or mov
[00:10:03 CEST] <matej_k> is there any way to tell from codecpar whether h264 stream will be in annex.b or avc?
[00:12:38 CEST] <kepstin> Mista_D: that said, you should be able to override the checks by using the "-strict" option with a setting below normal
[00:13:21 CEST] <kepstin> (e.g. "-strict unofficial")
[00:13:48 CEST] <Mista_D> kepstin: thanks!  -2 worked
[00:18:15 CEST] <Jalebe> kepstine: wondering if you know of any example API for subtitle + video encoding (H264)?
[00:19:18 CEST] <klaxa> https://www.ffmpeg.org/doxygen/trunk/examples.html
[00:19:22 CEST] <klaxa> here are some examples
[00:19:39 CEST] <klaxa> you probably want to look at encoding_video.c
[00:19:59 CEST] <klaxa> it should be fairly similar for subtitles, although i guess that's more of a muxing issue
[00:20:16 CEST] <klaxa> unless you are really generating or converting subtitles
[00:21:40 CEST] <Jalebe> klaxa: does vide_encoding has subtitle example in it!
[00:22:15 CEST] <Jalebe> I would like to generate subtitle which is changing by each frame
[00:22:26 CEST] <klaxa> doesn't look like it
[00:22:38 CEST] <klaxa> hmm... no clue tbh
[00:22:43 CEST] <klaxa> as to how to achieve that
[00:52:42 CEST] <Jalebe> anyone ? is there anyway to generate subtitle file for each frame while encoding using API?
[00:54:29 CEST] <Jalebe> like a .smi file
[01:59:09 CEST] <kuroro> by any chance, is anyone in need of web/mobile dev ? im available for some part-time work. i've done ruby/javascript, and published native apps on ios/android.
[02:06:00 CEST] <klaxa> not really the best place to look for work i think, especially web/mobile
[02:13:34 CEST] <kuroro> haha. i see. just thought id give a shout and would rather help cool ffmpeg peeps than some generic contract work out there
[02:43:32 CEST] <james999> lol
[02:43:47 CEST] <james999> hey i also have experience with javascript and uh, lots of the ios stuff
[02:43:52 CEST] <james999> so yeah give me moneyz
[02:44:25 CEST] <klaxa> james999: with some tests i had 5 seconds latency between recording and player with my server
[02:45:59 CEST] <james999> using udp over wifi like my LAN?
[02:46:19 CEST] <klaxa> http over localhost
[02:46:20 CEST] <klaxa> good point
[02:46:26 CEST] <klaxa> i'll see how the latency is over wifi
[02:48:16 CEST] <klaxa> yep, on my phone with mx player also about 5 seconds
[02:50:17 CEST] <klaxa> audio is actually quite choppy...
[02:53:56 CEST] <klaxa> with a few tweaks got to 5 seconds without choppy audio
[02:54:21 CEST] <klaxa> and throughput is also a lot lower
[02:55:01 CEST] <klaxa> a bit more than 5 seconds like 6 or 7 now
[02:57:16 CEST] <klaxa> but quite stable and smooth
[03:19:23 CEST] <thebombzen> 5 second latency isn't particularly difficult to achieve
[03:19:33 CEST] <thebombzen> it's hard to get it below 200 ms
[03:21:26 CEST] <klaxa> yee
[04:00:01 CEST] <k_sze[work]> If I understand correctly, the native pixel format of data stored in JPEG is YCbCr?
[04:03:10 CEST] <james999> your point being...?
[04:03:19 CEST] <furq> k_sze[work]: usually
[04:03:28 CEST] <furq> there is such a thing as rgb jpeg but i've never seen one
[04:06:22 CEST] <k_sze[work]> I see.
[04:08:40 CEST] <k_sze[work]> I have this USB camera that seems to return JPEG data, but the library I use converts decodes it as RGB. But I don't need RGB. In fact, my use case would immediately convert the RGB data back to YCbCr. I think I can make a fork of the library to just return YCbCr data to save some conversion time.
[04:08:49 CEST] <k_sze[work]> Since I have the source code anyway.
[04:14:18 CEST] <james999> can you find a different library?
[04:14:28 CEST] <james999> and is conversion time that big of an issue to bother optimizing it?
[04:23:57 CEST] <k_sze[work]> james999: It's not just a speed issue. I'm also a bit worried about colour errors introduced by converting back and forth between RGB and YCbCr.
[04:26:48 CEST] <k_sze[work]> And yes, efficiency is a concern because I'm running this on an embedded SoC platform. Every bit of CPU time saved helps. I need to save enough CPU time for other, more meaningful processing steps.
[04:49:28 CEST] <james999> ah ok
[04:49:54 CEST] <james999> when you say you have acces to the library... is it free as in free software?
[04:58:18 CEST] <kepstin> just to note... ffmpeg/libavcodec can decode jpeg to yuv...
[05:36:35 CEST] <diverdude> hi, i am trying to run the example provided with the binaries called : decode_video. When i try to run it on some files i just get an error saying: [mpeg1video @ 0x7fc4c8802600] Invalid frame dimensions 0x0.   Does this mean that the mpeg codec is not supported?
[05:58:00 CEST] Last message repeated 1 time(s).
[05:59:44 CEST] <teratorn> diverdude: are you giving an mpeg1 encoded video file?
[06:05:34 CEST] <teratorn> diverdude: the fact that it prints [mpeg1video @ 0x7fc4c8802600] indicates that you have mpeg1video codec supported. but it's reading invalid data.
[07:45:30 CEST] <diverdude> teratorn: But i dont understand because i can playback the file just file in my videoplayer
[07:46:30 CEST] <diverdude> teratorn: for example in VLC it playes fine
[08:02:46 CEST] <diverdude> teratorn: the video is : Format                                   : MPEG-4
[08:03:31 CEST] <diverdude> teratorn: this is info about the file: http://paste.ubuntu.com/24465079/
[08:22:42 CEST] <diverdude> Hello, i am trying to use decode_video.c from examples directory on a video with the following properties: http://paste.ubuntu.com/24465156/   But I am getting an error message: [mpeg1video @ 0x7fd72e002600] Invalid frame dimensions 0x0. Error while decoding frame 0. Why is this error coming? Can my ffmpeg not decode mpeg4?
[08:25:36 CEST] <ritsuka> you are trying to decode h.264 with the mpeg1 decoder
[08:31:59 CEST] <diverdude> ritsuka: oh..i see....so thats because this example has the mpeg1 decoder hardcoded?
[08:32:26 CEST] <ritsuka> yes
[08:33:17 CEST] <diverdude> ritsuka: yeah ok...i see that now : avcodec_find_decoder(AV_CODEC_ID_MPEG1VIDEO);
[08:33:58 CEST] <diverdude> ritsuka: is it difficult to make a system which automatically detects which codec is used in the video, and then instantiates the appropriate decoder?
[08:41:35 CEST] <diverdude> ritsuka: are you there?
[08:44:30 CEST] <ritsuka> if you use libavformat to open the file, it will give you all the info you need
[10:15:02 CEST] <termos> if I set 2x FPS on my AVCodecContext when encoding I get the correct framerate but if I set the same as the input (no fps filter) then the output runs at what looks like half speed of real-time
[10:28:51 CEST] <termos> yes, ffplay is detecting it as having 12.5 FPS, I'm thinking the fault is in some pts rescaling
[11:04:01 CEST] <cryptodechange> My anime settings are currently:
[11:04:07 CEST] <cryptodechange> deblock=-1,-1:psy-rd=0.9,0.1:aq-strength=0.6
[11:04:15 CEST] <cryptodechange> for bluray
[11:10:31 CEST] <termos> the problem i'm having is that the codec time_base is {1, 50} instead of {1, 25}, the input framerate being 25
[11:10:43 CEST] <termos> codec tiembase of the decoder that is
[11:11:16 CEST] <BtbN> 1/50 should be fine for 25 fps though
[11:15:18 CEST] <termos> true, so my timebase looks like this: 1/1000 (container) -> 1/50 (decoder codec) -> 1/25 (encoder codec) -> 1/1000 container
[11:15:43 CEST] <termos> I think the problem is that the decoder and encoder differ, so either I force the decoder to 1/25 or change my encoder to 1/50
[11:16:54 CEST] <termos> is it possible to use AV_TIME_BASE_Q as the timebase for everything between the two containers?
[11:17:47 CEST] <BtbN> decoders/encoders don't usually care about timestamps or timebases at all
[11:18:00 CEST] <BtbN> They just pass through timestamps and maybe re-order them
[11:21:37 CEST] <termos> hmm I see, I tried changing the encoder codec and muxing stream time_base to match the decoder of 1/50 and then I get realtime video as well
[11:24:07 CEST] <termos> "decoding: the use of this field for decoding is deprecated. Use framerate instead." interesting
[11:31:37 CEST] <termos> using av_inv_q(stream.context->framerate) as the codec time_base I scale to with av_packet_rescale_ts seems fine, but only for video. it's 1/0 for audio
[12:22:38 CEST] <MichaelOF> hi all. I want to convert .ogg into .flac. read the man page, but didn't find: How can I set the compression level for FLAC?
[12:54:26 CEST] <Mandevil> MichaelOF: compression_level option.
[12:54:40 CEST] <Mandevil> MichaelOF: https://ffmpeg.org/ffmpeg-all.html#Options-7
[12:55:40 CEST] <Mandevil> I am reencoding 5DmarkII footage with libx264 and I am getting subtle color shift in the result. Why would that happen? https://pastebin.com/YuLkuAFX
[12:58:56 CEST] <MichaelOF> Mandevil: thank you !!!
[13:02:46 CEST] <Mandevil> Here's example (before/after): https://voyager.lupomesky.cz/misc/ffmpeg_color_shift.png
[13:03:23 CEST] <Mandevil> The source is yuvj420p and it is encoded as such.
[13:04:44 CEST] <ritsuka> your source has got a specific color space, maybe ffmpeg doesn't write it to the output
[13:05:06 CEST] <Mandevil> It says it does.
[13:05:15 CEST] <ritsuka> there should be an option to set it, but it's been too long since I used it
[13:05:36 CEST] <ritsuka> smpte170m/bt709/bt709
[13:05:37 CEST] <ritsuka> does it says the same in the output?
[13:06:10 CEST] <Mandevil> Hm, it doesn't.
[13:06:33 CEST] <Mandevil> Why doesn't it just carry over to the destination.
[13:14:45 CEST] <Mandevil> OK, I'm trying to add -color_primaries bt709 -color_trc bt709 -colorspace bt709
[13:14:53 CEST] <Mandevil> Let's see if it changes anything.
[13:15:53 CEST] <Mandevil> Still bad.
[13:17:33 CEST] <Mandevil> Changed colorspace to smpte170m...
[13:17:37 CEST] <ritsuka> your source has smpte170m , dunno in which of the three is
[13:17:45 CEST] <Mandevil> It's colorspace.
[13:18:44 CEST] <Mandevil> And yes, that fixes it!
[13:19:01 CEST] <Mandevil> ritsuka: Thanks for the hint.
[13:44:42 CEST] <cryptodechange> ffmpeg is outputting 2 q=* during encoding
[13:45:16 CEST] <cryptodechange> q=21.0 q=0.0, how should I interpret these numbers?
[14:02:01 CEST] <Mandevil> cryptodechange: My guess would be that q=21 is quantization parameter, but what do I know...
[14:02:21 CEST] <Mandevil> For my x265 encodes it output q=-0.0...
[14:05:19 CEST] <cryptodechange> Is it to do with crf? I'm using crf=16
[14:06:09 CEST] <Mandevil> Yeah.
[14:06:46 CEST] <Mandevil> CRF is akin to QP, but it adjusts the quantization according to motion in the picture.
[14:07:04 CEST] <Mandevil> So it uses bits more efficiently.
[14:07:39 CEST] <cryptodechange> I'm pretty much using a modified placebo preset, getting 1.2fps on a 6 core
[14:07:51 CEST] <Mandevil> That's slow.
[14:07:53 CEST] <cryptodechange> -x264-params me=tesa:level=4.1:vbv-maxrate=62500:vbv-bufsize=78125:merange=64:b-adapt=2:ref=16:bframes=16:rc-lookahead=150:trellis=2:subme=10:direct=auto:analyse=all:deblock=-3,-3:psy-rd=1,0.0:aq-strength=0.8
[14:07:54 CEST] <Mandevil> Why placebo?
[14:08:22 CEST] <Mandevil> ref=16?
[14:08:30 CEST] <Mandevil> You sure you know what you're doing?
[14:09:01 CEST] <cryptodechange> :D
[14:09:10 CEST] <cryptodechange> Going by thus
[14:09:12 CEST] <cryptodechange> this*
[14:09:34 CEST] <cryptodechange> http://dev.beandog.org/x264_preset_reference.html
[14:10:23 CEST] <Mandevil> Yeah, but are you aware that using that many ref frames probably means non-compliant encode?
[14:10:38 CEST] <Mandevil> I think x264 should even warn you.
[14:12:51 CEST] <ecraven> greetings ;) I'm piping frames into ffmpeg via stdin, but not at a constant framerate (something between 30 and 60 fps). is there a way to have ffmpeg just use vfr at whatever speed I send the data?
[14:13:38 CEST] <cryptodechange> [libx264 @ 0x221acc0] DPB size (16 frames, 96000 mbs) > level limit (5 frames, 32768 mbs)
[14:14:12 CEST] <Mandevil> Yeah, that.
[14:14:43 CEST] <cryptodechange> So 5 should be considered the ceiling?
[14:15:01 CEST] <Mandevil> It's dependend on framerate/resolution/bit depth.
[14:15:11 CEST] <Mandevil> dependent
[14:15:26 CEST] <Mandevil> The best is actually to not specify number of ref frames.
[14:15:31 CEST] <Mandevil> x264 will do it for you.
[14:15:55 CEST] <cryptodechange> so remove it from -x264-params all together?
[14:16:13 CEST] <Mandevil> I would.
[14:16:20 CEST] <cryptodechange> If I was going to use the veryslow preset, it apparently would set it to 16 anyway?
[14:16:23 CEST] <Mandevil> But then, I would simply use -crf NN -preset veryslow.
[14:16:33 CEST] <Mandevil> The x264 defaults are reasonable.
[14:16:58 CEST] <Mandevil> No, it will set it so it complies with selected profile/level.
[14:17:50 CEST] <cryptodechange> ffmpeg -i input.mkv -map 0:v -map 0:a -map 0:s -c:v libx264 -preset veryslow -crf 16 -x264-params me=tesa:level=4.1:vbv-maxrate=62500:vbv-bufsize=78125:merange=64:b-adapt=2:ref=16:bframes=16:rc-lookahead=150:trellis=2:subme=10:direct=auto:analyse=all:deblock=-3,-3:psy-rd=1,0.0:aq-strength=0.8 -c:a copy -c:s copy -filter:v:0 "crop=1920:800:0:140" output.mkv
[14:18:11 CEST] <cryptodechange> so I'm using the veryslow preset, but overriding the values in x264-params
[14:18:17 CEST] <cryptodechange> So I can/should just remove ref all together?
[14:18:19 CEST] <Mandevil> Understood.
[14:18:32 CEST] <Mandevil> But are you changing the params to some purpose?
[14:18:48 CEST] <Mandevil> Yes, you can just remove it.
[14:19:04 CEST] <Mandevil> You can of course encode with 16 ref frames.
[14:19:06 CEST] <cryptodechange> I've just observed and compared some scene encodes and applied it to my personal library
[14:19:11 CEST] <Mandevil> If you only play the videos on PC, it's probably fine.
[14:19:31 CEST] <Mandevil> There might be trouble playing them on phones, TV sets etc.
[14:19:36 CEST] <cryptodechange> And then using Plex, so compatibility is useful whilst having the encode being super efficient
[14:20:10 CEST] <cryptodechange> I have enough space to store my library remuxed, but Plex transcodes at veryfast presets so it can be live
[14:21:11 CEST] <cryptodechange> So a 32gb file trancoded to 12mbps will look worse than a pre-encoded 12-15mbps file
[14:22:32 CEST] <cryptodechange> So I can slowly encode my bluray library so the conversion is the most efficient it can be (for filesize/bitrate)
[14:23:34 CEST] <cryptodechange> I suppose if I didn't care about compatibility, I would just use x265 instead
[14:24:40 CEST] <cryptodechange> (though that would pretty much render my server useless when 1 transcode is in use)
[14:24:52 CEST] <cryptodechange> useless for anything else*
[14:26:51 CEST] <heeen> hi, I have an application that uses vaapi, libavcodec and libavutil. it works on one build but not the other
[14:27:10 CEST] <heeen> the recipe for ffmpeg is the same, so I am guessing some header or dependency iw different
[14:27:26 CEST] <heeen> [h264 @ 0x7fd158021980] decode_slice_header error
[14:27:57 CEST] <heeen> if I drop in those two libraries from the other build it starts to work
[14:28:39 CEST] <cryptodechange> Mandevil, found this https://planetcalc.com/3321/
[14:29:01 CEST] <Mandevil> Nice.
[14:29:32 CEST] <Mandevil> Hm, so you can use 16 ref frames at level 5.1
[14:29:55 CEST] <Mandevil> I guess my memory is for UHD.
[14:30:02 CEST] <Mandevil> Which maxes at 5 ref frames.
[14:30:11 CEST] <Mandevil> Anyway, I'm out for a while.
[14:30:31 CEST] <cryptodechange> ok thanks for the help
[15:06:23 CEST] <cryptodechange> hm, going from ref=16 to ref=5 saves ~400kbits/s
[15:08:14 CEST] <JEEB> wrong
[15:08:46 CEST] <JEEB> x264 being limited to less refs happens to give you somewhat lower average bit rate with the same CRF value
[15:08:51 CEST] <JEEB> that does *not* mean the same quality
[15:08:57 CEST] <JEEB> thus it doesn't mean you saved something
[15:09:06 CEST] <cryptodechange> I'm going by the bitrate in the transcode output
[15:09:17 CEST] <JEEB> CRF results are dependant on settings
[15:10:03 CEST] <Mandevil> Wait, how does -refs affect quality?
[15:10:12 CEST] <Mandevil> In crf mode.
[15:10:23 CEST] <JEEB> any settings change affects the CRF algo
[15:10:34 CEST] <Mandevil> Oh.
[15:10:44 CEST] <JEEB> (other than those that are only related to metadata like colormatrix etc)
[15:11:04 CEST] <Mandevil> I thought CRF is basically constant quantizer with some tweaks.
[15:11:17 CEST] <JEEB> well it's the general x264
[15:11:20 CEST] <cryptodechange> My source is ref=4 apparently (makemkv)
[15:11:20 CEST] <Mandevil> Like lowering the quant for high motion scenes etc.
[15:11:33 CEST] <cryptodechange> And i'm encoding with ref=5 (going by this http://planetcalc.com/3321/?license=1)
[15:11:34 CEST] <JEEB> cryptodechange: that doesn't matter
[15:11:56 CEST] <cryptodechange> Though there's no explanation in that calculator
[15:12:18 CEST] <JEEB> refs in calculation only matter for levels
[15:12:24 CEST] <JEEB> although libx264 already handles that
[15:12:37 CEST] <JEEB> if you set level 4 it will limit refs to level 4
[15:12:55 CEST] <JEEB> (or well, not libx264 strictly but libavcodec's libx264 wrapper does it
[15:12:59 CEST] <cryptodechange> I read somewhere that the veryslow preset uses ref=16?
[15:13:28 CEST] <cryptodechange> so ref=16 is the 'limit', it doesn't use that
[15:13:32 CEST] <cryptodechange> set it to that*
[15:14:31 CEST] <cryptodechange> If so, I don't really need to worry? I get a faster encode using ref=6 vs. ref=16, so I suppose I should set it to save on time costs
[15:14:50 CEST] <cryptodechange> 3.5fps vs. 1.2fps
[15:16:07 CEST] <JEEB> if you want a faster encode it's one way to make it faster but just setting the preset to something faster generally gives you less chances to play with random variables
[15:16:17 CEST] <JEEB> I mean, that's why the presets are there :P
[15:17:37 CEST] <Mandevil> Some people love micromanaging :)
[15:18:51 CEST] <Mandevil> cryptodechange: If you want atrociously slow encodes, you should be using libx265 anyway.
[15:20:10 CEST] <Mandevil> My 1080p encode is running at 0.9 fps.
[15:20:36 CEST] <Mandevil> Wonder how Intel QSV compares to x265 in quality.
[15:22:13 CEST] <JEEB> if you're looking for quality any ASIC is not for you, they're made for speed and low latency
[15:22:48 CEST] <cryptodechange> My params so far
[15:22:50 CEST] <cryptodechange> -x264-params me=tesa:level=4.1:vbv-maxrate=62500:vbv-bufsize=78125:merange=64:b-adapt=2:ref=5:bframes=16:rc-lookahead=150:trellis=2:subme=10:direct=auto:analyse=all:deblock=-3,-3:psy-rd=1,0.0:aq-strength=0.8
[15:23:00 CEST] <Mandevil> JEEB: Intel MSS HEVC encoder bested x265 in MSU shootout.
[15:23:39 CEST] <JEEB> then that's most likely not ASIC unless they picked rather fast settings. that said, x265 is nowhere close to x264 in community or such development.
[15:23:41 CEST] <Mandevil> (not quite sure if it's actually the same thing as QSV).
[15:23:56 CEST] <cryptodechange> 3.2 fps on a 6 core 3.2ghz cpu
[15:23:59 CEST] <cryptodechange> bit slow
[15:24:28 CEST] <cryptodechange> After comparing with other encodes and reading as much as I can fathom, this is still me
[15:24:28 CEST] <cryptodechange> https://candlesandherbs.files.wordpress.com/2015/02/d6a1143f571184db25f94613edd43b40af6d3a629221aba00d9efdcfef5efd84.jpg
[15:25:03 CEST] <cryptodechange> But generally I have this so far
[15:25:09 CEST] <cryptodechange> 1080p bluray film: deblock=-3,-3:psy-rd=1,0.0:aq-strength=0.8
[15:25:13 CEST] <Mandevil> JEEB: BTW, I just tried to compare the exact frames in source and encode ... and it looks like geometry is slighly different (one of the frames is slightly stretched).... how the hell is this even possible?
[15:25:16 CEST] <cryptodechange> anime: deblock=-1,-1:psy-rd=0.9,0.1:aq-strength=0.8
[15:33:20 CEST] <thebombzen> anime should have a higher aq strength afaik
[15:33:32 CEST] <thebombzen> also 16 bframes seems unnecessary
[15:34:20 CEST] <Mandevil> Isn't there -tune anime or something?
[15:34:49 CEST] <Mandevil> thebombzen: 16 bframes don't hurt anything.
[15:34:59 CEST] <thebombzen> tune animation
[15:35:11 CEST] <thebombzen> and it doesn't hurt anything other than encoding time
[15:35:37 CEST] <thebombzen> there's a reason they say -preset placebo
[15:36:03 CEST] <Mandevil> Hm, I think using more B frames doesn't really incur much cost...
[15:36:26 CEST] <Mandevil> And you're unlikely to ever use that many anyway.
[15:36:26 CEST] <thebombzen> -preset placebo is much slower than -preset veryslow and doesn't have a noticable difference
[15:36:35 CEST] <cryptodechange> i was reading discussions about how a lower aq-strength is better for edging
[15:36:39 CEST] <cryptodechange> or outlines
[15:36:49 CEST] <Mandevil> thebombzen: That's very true.
[15:36:57 CEST] <thebombzen> I'm prety sure higher aq strength is better for edges
[15:37:41 CEST] <cryptodechange> blasphemy I know, but handbrake states higher values take bits away from edges for areas with finer detail
[15:37:57 CEST] <thebombzen> edges are areas with finer details
[15:38:31 CEST] <thebombzen> depends on the source though I guess
[15:38:42 CEST] <thebombzen> with animation edges are the most detailed parts
[15:38:51 CEST] <thebombzen> with noisy film, probably not
[15:39:02 CEST] <cryptodechange> encoding needs for digitalised anime vs. older, fuzzier anime would be different I suppose
[15:39:25 CEST] <iive> not really
[15:39:34 CEST] <sfan5> oh are we still discussing anime encoding params
[15:39:39 CEST] <thebombzen> but at least with anime edges are where most of the high frequency detail is
[15:39:42 CEST] <iive> all animation have shap edges
[15:39:55 CEST] <thebombzen> to be honest you have such nuclear encoding settings that it doesn't really matter
[15:40:12 CEST] <cryptodechange> the default animation preset is apparently deblock=1,1:psy-rd=0.4,0:aq-strength=0.6
[15:40:20 CEST] <thebombzen> if you just throwing bitrate and encoding time at the problem it'll go away
[15:40:27 CEST] <thebombzen> which is what it appears you're doing
[15:41:05 CEST] <sfan5> cryptodechange: any reason why you aren't just using -tune animation -preset veryslow ?
[15:41:39 CEST] <cryptodechange> I'm nonchalant about the encoding time, so I've thrown in placebo numbers
[15:42:14 CEST] <cryptodechange> I'm curious as to why 'scene' encoders use pretty different settings, vs. the presets
[15:42:30 CEST] <cryptodechange> I've grabbed a load of scene params and compared
[15:42:48 CEST] <cryptodechange> e.g. from about half a dozen film encodes, I came up with deblock=-3,-3:psy-rd=1,0.0:aq-strength=0.8
[15:43:40 CEST] <sfan5> that seems much closer to -tune film
[15:43:50 CEST] <sfan5> which as discussed yesterday is not what you want
[15:44:15 CEST] <cryptodechange> Yeah that's for film
[15:44:24 CEST] <cryptodechange> About half of the anime encodes I found use the animation preset, or similar
[15:45:26 CEST] <cryptodechange> or deblock=-1,-1... psy-rd=0.8-1.0, 0-0.1.. aq-strength=0.7-1.0
[16:19:42 CEST] <bwe> Hi, I want to turn a couple of images and an audio narration into a video (slidecast). https://trac.ffmpeg.org/wiki/Slideshow#Framerates covers the basics. I read -framerate 25 sets the seconds for each image. How can I make it individual for each image?
[16:26:56 CEST] <kepstin> I wouldn't be surprised if some high-bitrate anime encodes use settings closer to -tune film in order to preserve slightly more grain, be it artificial (like on a lot of new HD anime, used to hide banding), or natural, like seen on modern high-def film scans of older shows.
[16:30:38 CEST] <termos> not sure why i'm getting "[aac @ 0x7feafc004c00] Specified sample format s16 is invalid or not supported" when using fdk_aac, as far as I know S16 samples are the only ones supported
[16:43:59 CEST] <kepstin> termos: that's not the fdk aac encoder tho, that's the internal aac encoder (which only accepts fltp)
[16:45:17 CEST] <termos> hm that's what I though, I'm installing through homebrew and it seems to not respect my --with-fdk-aac option
[16:45:19 CEST] <kepstin> (if you want to use the fdk encoder, you have to explicitly load it by name, "libfdk_aac"
[16:45:21 CEST] <kepstin> )
[16:45:46 CEST] <termos> ohh I see, I can't just use the AV_CODEC_ID_AAC enum I guess
[16:46:32 CEST] <kepstin> yeah, that'll just use whatever ffmpeg decides is the default encoder for that format, which will always be the internal encoder if there is one (unless the internal encoder is marked as experimental)
[16:47:13 CEST] <kepstin> using the CODEC_ID enum is like saying "I want to make aac, I don't care how you do it"
[16:47:42 CEST] <termos> ah thanks!
[17:19:52 CEST] <teratorn> bwe: well, I've done something like that but it's a little complicated
[17:21:46 CEST] <teratorn> bwe: you can use an image file as a separate ffmpeg input. then connect that input to a series of filters: setsar=sar=1/1,fps=30,loop=999999999:start=0:size=1,trim=start=0:end=10
[17:23:08 CEST] <teratorn> bwe: that duplicates the frame at 30 fps and trims 10 seconds of that... you would do a similar thing for each of your images, and use a concat filter to plug them all together
[17:25:08 CEST] <teratorn> bwe: using -filter_complex :) it's very powerful once you get how it works
[17:28:23 CEST] <bwe> teratorn: Thanks for your answer. The key is to split the audio for each image, right?
[17:28:58 CEST] <teratorn> bwe: you want different audio track for each image?
[17:29:41 CEST] <bwe> teratorn: No. It's a presentation of which I have the slides as images and the narration as a voice recording (single mp3). I want to create a slidecast.
[17:30:15 CEST] <teratorn> bwe: well if you have one input audio track then just include that with -i and ffmpeg will include it unmodified in the output
[17:31:11 CEST] <bwe> True. What is the easiest way te determine the right time point to switch to the next image?
[17:31:58 CEST] <bwe> setsar=sar=1/1,fps=30,loop=999999999:start=0:size=1,trim=start=0:end=10 # how would I do the second image with that filter?
[17:32:09 CEST] <teratorn> bwe: well using a filter setup like I described you just decide what order you want the images to appear, and how long you want each one to appear for...
[17:32:32 CEST] <bwe> Howdy, this could be simplified by some shell script...
[17:32:38 CEST] <teratorn> bwe: so I guess it depends on when you start talking about them in your audio :)
[17:43:24 CEST] <teratorn> bwe: something like this: ffmpeg -y -i 'image1.png' -i 'image2.png' -filter_complex '[0:v]setsar=sar=1/1,fps=30,loop=999999999:start=0:size=1,trim=start=0:end=10[image1];[1:v]setsar=sar=1/1,fps=30,loop=999999999:start=0:size=1,trim=start=0:end=20[image2];[image1][image2]concat=n=2[out]' -map [out] 'output.mp4'
[17:49:21 CEST] <durandal_1707> use loop=size=-1 insteaf of 99999
[17:50:01 CEST] <teratorn> durandal_1707: ah, thanks :)
[17:51:13 CEST] <rictan> Hello all, I know I asked this question before (build small binary of ffmpeg for h.264 to .mp4) but I am wondering how to do the same with regards to fragmented mp4 to .mp4
[17:51:30 CEST] <bwe> to which precision can I specify the timings, seconds or is there a finer granularity?
[17:51:45 CEST] <rictan> I know the command for both muxing h.264 to .mp4 and fragmented mp4 to mp4 are the same, so i figured i can have one binary of ffmpeg -- reduced size of course, do the same thing
[17:52:07 CEST] <rictan> I am using l-smash for muxing h.264 to .mp4 but it does not solve my case for handling fragmented mp4 to mp4
[17:52:15 CEST] <rictan> any and all help is greatly appreciated!
[17:54:44 CEST] <rictan> for reference, the command --> ffmpeg -i <insert file type> -c copy <output file type>    handles both fragmented mp4 to mp4 and h.264 to mp4 conversion
[17:55:19 CEST] <rictan> having a smaller binary to handle the two scenarios I explained would be great
[17:57:39 CEST] <teratorn> bwe: it will accept any style of ffmpeg timespec... check out the filter documentation for the trim filter
[18:18:06 CEST] <bigHugeSky> can someone explain to me "difference between GRAY8 and MONO8" raw?
[18:31:30 CEST] <bigHugeSky> no one? an someone explain to me "difference between GRAY8 and MONO8" raw?
[18:33:08 CEST] <durandal_1707> there is no mono8 just monoblack and monowhite
[18:33:43 CEST] <durandal_1707> they are bits representing pixels
[18:34:03 CEST] <durandal_1707> unlike bytes for gray8
[18:36:33 CEST] <diverdude> what tools are used to create configure and makefiles for ffmpeg?
[18:36:59 CEST] <furq> keyboards and hands
[18:37:10 CEST] <diverdude> lol
[18:37:18 CEST] <diverdude> why were autoconf not used?
[18:37:20 CEST] <furq> and probably a text editor
[18:37:50 CEST] <furq> the handwritten configure script is nearly 7kloc
[18:37:59 CEST] <furq> i can't imagine what kind of non-euclidean nightmare that would be with autotools
[18:38:01 CEST] <diverdude> it seems really really difficult to compile programs that use ffmpeg :/
[18:39:02 CEST] <furq> i've never noticed that
[18:43:43 CEST] <james999> what's the point of using auto tools?
[18:43:58 CEST] <james999> sometimes i have to type autogen.sh instead of ./configure and that's all i know
[18:44:35 CEST] <furq> it's supposed to automate the job of making your shit run on various arcane platforms
[18:44:38 CEST] <BtbN> autogen is used to generate configure
[18:44:46 CEST] <BtbN> it's a script the project make, not part of autotools
[18:44:52 CEST] <james999> oh like cross-compiling?
[18:44:55 CEST] <BtbN> Some decide to make it call configure after it's done.
[18:45:15 CEST] <BtbN> but autotools is a mess
[18:45:17 CEST] <furq> not so much cross compiling as building on s370 or whatever some guy on a mailing list is running
[18:45:39 CEST] <furq> or on some old unix
[18:45:41 CEST] <james999> t can be difficult to make a software program portable: the C compiler differs from system to system; certain library functions are missing on some systems; header files may have different names. One way to handle this is to write conditional code, with code blocks selected by means of preprocessor directives (#ifdef);
[18:46:30 CEST] <james999> it says auto tools makes this problem more "manageable"
[18:46:56 CEST] <furq> well the project's website would say that
[18:47:04 CEST] <james999> i'm reading from wikipedia lol
[18:47:13 CEST] <furq> i've checked all of cmake's website and nowhere does it say "cmake is a huge piece of shit"
[18:47:16 CEST] <furq> but it is
[18:47:18 CEST] <james999> the next paragraph has a huge complicated flow chart of how the tools combine
[18:47:30 CEST] <BtbN> cmake is probably the most sane out of all the various build systems
[18:47:40 CEST] <BtbN> they just decided to go with the most horrible language one could come up with
[18:47:55 CEST] <BtbN> Should have done the same in Python or something
[18:49:50 CEST] <james999> first autoscan makes configure.ac, which is used by aclocal o produce aclocal.m4. Then autoconf combines the two files to produce configure
[18:50:50 CEST] <furq> BtbN: you say that like there's no such thing as a ruby build system which replaces an xml build system
[18:51:03 CEST] <furq> developed by apache, obviously
[18:51:16 CEST] <tdr> omg ruby, stab it fast before it catches on
[18:51:25 CEST] <BtbN> just look at what blink has come up with
[18:51:28 CEST] <furq> it already caught on and then fell off again
[18:51:29 CEST] <furq> thankfully
[18:51:46 CEST] <BtbN> you need ruby, python, perl, bash and go to build it
[18:51:48 CEST] <tdr> furq, a hundred million rooted webservers cant be wrong :)
[18:52:15 CEST] <furq> although i don't think you can stab a ruby. it has a mohs hardness of 9
[18:52:27 CEST] <tdr> (yes thats rails but its still ruby ... and it can be stabbed, just use a sledge)
[18:52:40 CEST] <furq> i don't think that qualifies as stabbing
[18:52:52 CEST] <james999> I never knew this existed before: Autoheader, a tool to manage C header files.
[18:53:06 CEST] <tdr> furq, my toolkit is limited, i substituted
[18:53:15 CEST] <james999> I need autocar to manage my car and drive me to work amirite
[18:53:23 CEST] <furq> BtbN: i feel like you ordered that list the wrong way round
[18:53:27 CEST] <furq> it should go from best to worst
[18:53:49 CEST] <furq> although i guess in the context of "build systems" go is arguably the worst thing on that list
[18:54:34 CEST] <BtbN> don't worry, they also ship binaries of that, so you don't need go to build
[18:54:50 CEST] <furq> i have go ;_;
[18:55:02 CEST] <furq> i'd rather use that in general than anything else on the list
[18:55:23 CEST] <BtbN> go is the container-disease turned into a programming language
[18:55:26 CEST] <furq> granted it's not a very auspicious list
[18:55:28 CEST] <BtbN> only links statically
[18:56:04 CEST] <james999> this wiki article ends by pointing out that the 31,085 lines of code in the libtool configure check for sys/stat.h
[18:56:12 CEST] <james999> even though the system that lacked them couldn't run unix to begin with
[18:56:40 CEST] <james999> er *libtool to begin with
[18:57:51 CEST] <furq> one thing i will say is that autotools tends to be fairly end-user friendly
[18:57:58 CEST] <furq> but you can achieve that without autotools
[18:58:18 CEST] <BtbN> autotools for the user is fine, best experience out of all the tools probably
[18:58:21 CEST] <BtbN> if you're not on windows
[18:58:24 CEST] <furq> yeah
[18:58:36 CEST] <BtbN> But for the one writing the build system? Fucking hell
[18:59:10 CEST] <furq> i genuinely can't imagine what that would look like for something as complex as ffmpeg
[18:59:30 CEST] <furq> i'm also a big fan of the fact that the current configure script is human readable
[18:59:47 CEST] <BtbN> .ac files are also not too hard to read
[19:00:21 CEST] <BtbN> I think cmake would be a better fit for ffmpeg than autotools, given all the platforms and compilers it supports
[19:00:47 CEST] <furq> cmake ;_;
[19:01:20 CEST] <james999> the only criticism of autotools was this linked article discussing how it takes this guy a day to compile freebsd: https://queue.acm.org/detail.cfm?id=2349257
[19:04:36 CEST] <furq> he's not talking about autotools
[19:05:04 CEST] <BtbN> autotools is a huge hell of different tools
[19:05:17 CEST] <BtbN> automake, autoconf, autoheader, libtool, aclocal, ...
[19:08:16 CEST] <james999> Yeah I got to the bottom of the article
[19:08:35 CEST] <james999> he's mostly talking about a book criticizing Eric S Raymond and releasing Unix from AT&T
[19:08:48 CEST] <james999> "But to anyone who has ever wondered whether using m4 macros to configure autoconf to write a shell script to look for 26 Fortran compilers in order to build a Web browser was a bit of a detour, Brooks offers well-reasoned hope that there can be a better way"
[19:40:22 CEST] <Fenrirthviti> Anyone know a simple way to simulate an interlaced video feed to a directshow device?
[19:42:30 CEST] <Fenrirthviti> or rather, a directshow device sending an interlaced video feed
[19:49:43 CEST] <BtbN> a capture card capturing an interlaced source
[19:54:54 CEST] <teratorn> Fenrirthviti: why do you need to specifically fabricate input on a directshow device?
[19:55:23 CEST] <Fenrirthviti> I'm trying to debug an issue in OBS where our lossless preset crashes when used with interlaced video
[19:55:28 CEST] <Fenrirthviti> something in swscale blows up, but no idea what
[19:55:49 CEST] <Fenrirthviti> I've seen.. 4 reports now, and in all cases it was with a directshow device that has interlaced video input
[19:56:02 CEST] <Fenrirthviti> but I don't have anything to hook up to my capture card that does interlaced
[19:58:56 CEST] <BtbN> why would the encoder care though?
[20:00:08 CEST] <Fenrirthviti> That's what I'm trying to figure out.
[20:01:06 CEST] <thebombzen> have you considered trying to capture interlaced and save it to a file
[20:01:09 CEST] <thebombzen> and then debug on that
[20:01:44 CEST] <Fenrirthviti> I dunno how to generate a proper interlaced video
[20:02:37 CEST] <Fenrirthviti> BtbN: And not sure. It works fine with x264 and other encoders, but ffmpeg utvideo explodes. This is the same crash that guy submitted a bug report on with 0 details, trying to see if I can replicate better
[20:02:57 CEST] <BtbN> Does it pass the interlaced video to utvideo?
[20:03:02 CEST] <BtbN> Or does it try to deinterlace?
[20:03:19 CEST] <BtbN> I don't think OBS can output interlaced video out of its render pipeline
[20:03:20 CEST] <Fenrirthviti> It should just be passing it to utvideo
[20:03:48 CEST] <Fenrirthviti> There's deinterlace options on individual sources
[20:04:00 CEST] <Fenrirthviti> but not sure what the actual output is run through if a filter isn't applied beforehand
[20:04:12 CEST] <BtbN> Yeah, but even if you don't deinterlace them, the output of the compositing pipeline will always be progressive
[20:04:26 CEST] <BtbN> It will just weave "deinterlace" them and render them
[20:04:56 CEST] <Fenrirthviti> Applying a deinterlace filter on the source makes no difference on the crash, either.
[20:05:07 CEST] <BtbN> And with that, it makes even less sense that it would crause a crash with a specific encoder
[20:05:19 CEST] <Fenrirthviti> right, that's the part I can't figure out.
[20:05:21 CEST] <BtbN> I doubt the crash has anything to do with interlaced content at all
[20:05:29 CEST] <Fenrirthviti> x264 I guess makes more sense because we're not going through ffmpeg for that
[20:05:53 CEST] <Fenrirthviti> Seems to be the only common trigger I can find :\
[20:06:03 CEST] <Fenrirthviti> But you're right that I am kind grasping at straws on this one.
[20:06:44 CEST] <BtbN> The pipeline from the OBS renderer, to output should be entirely unchanged
[20:06:53 CEST] <BtbN> I blame capture card drivers
[20:07:50 CEST] <Fenrirthviti> https://gist.github.com/anonymous/88d996041b4c7f75077e7393f9b5f25b is the crash we get in OBS if that says anything
[20:08:17 CEST] <Fenrirthviti> I'm leaning that way to, it's been primarily Elgato that's causing this
[20:08:20 CEST] <BtbN> would need debug symbols in ffmpeg
[20:09:42 CEST] <Fenrirthviti> Wonder if my dreamcast will output interlaced, I can bust that out later and test
[20:09:59 CEST] <furq> it will over rca
[20:10:06 CEST] <BtbN> isn't that still 240p?
[20:10:12 CEST] <furq> i think it outputs 480i
[20:10:14 CEST] <BtbN> Which is sent as 480i and needs to be line-doubled
[20:11:45 CEST] <furq> i've literally never plugged mine in with anything but the vga cable
[20:11:51 CEST] <furq> but i'm pretty sure the analog output is 480i
[20:13:05 CEST] <Fenrirthviti> I'll poke around with it later. I'm guessing it's not going to crash, since my card is a IP4k, which has not-shit drivers.
[20:14:26 CEST] <furq> the ps2 does 1080i over component if you have one of those and the few games that support it
[20:19:03 CEST] <BtbN> you can also set a PS4 or PS3 to output 1080i
[20:19:12 CEST] <BtbN> or a Wii U
[20:19:15 CEST] <BtbN> or a normal Wii
[20:19:50 CEST] <dystopia_> wii cannot
[20:20:07 CEST] <BtbN> of course it can, need a component cable for progressive, and even then you can still set it to interlaced
[20:20:17 CEST] <dystopia_> it's highest output is edtv 480p
[20:20:27 CEST] <BtbN> but the not-highest is 480i
[20:20:41 CEST] <dystopia_> yeah but i thought your were saying it could do 1080i
[20:20:55 CEST] <dystopia_> but yeah it can output an interlaced image
[20:21:31 CEST] <dystopia_> ps2 could do 1080i heh
[20:21:52 CEST] <dystopia_> had 4 games i think that supported the video mode
[20:22:04 CEST] <furq> yeah it is four, and one of them is "jackass the game"
[20:22:24 CEST] <furq> also it's obviously not really 1080i, it's 480p upscaled
[20:22:30 CEST] <cryptodechange> I have some DVDs I remuxed that have Scan type: Interlaced, Scan order: top field first. What's the best way to filter this?
[20:22:46 CEST] <furq> all dvds are tff interlaced
[20:23:01 CEST] <furq> that doesn't necessarily mean they're not really progressive or telecinede
[20:23:04 CEST] <furq> -e
[20:23:28 CEST] <cryptodechange> I remember playing it in VLC, and seeing lines, only when scaling the window though
[20:23:50 CEST] <furq> i mean i'm not saying it isn't interlaced
[20:23:52 CEST] <furq> it probably is
[20:24:03 CEST] <furq> but you can't just rely on what mediainfo says for dvd
[20:27:13 CEST] <james999> random question, but is it a goal of ffmpeg to eventually have a decoder/encoder for each media type?
[20:27:29 CEST] <james999> i noticed ffmpeg -decoders some are decode only
[20:28:56 CEST] <james999> hmm or which command was it that showed that...'
[20:29:06 CEST] <cryptodechange> furq, what's a sure fire way if you can't really tell?
[20:29:16 CEST] <cryptodechange> I suppose if you can't tell, it isn't?
[20:29:16 CEST] <kepstin> james999: ffmpeg -codecs probably
[20:30:11 CEST] <james999> oh yes thank you
[20:31:23 CEST] <james999>  D.A.L. pcm_zork             PCM Zork
[20:31:30 CEST] <kepstin> james999: there's no real intent to be able to encode everything with ffmpeg - a lot of the codecs in there it really doesn't make sense to make any new content in that format, it's mostly just to keep old stuff accessible.
[20:31:33 CEST] <james999> is an example. most have decoders though
[20:31:57 CEST] <james999> like some format that was used in another country20 years ago and isn't used now?
[20:32:01 CEST] <kepstin> that's not to say that an encoder wouldn't be accepted as a patch, if someone worked up a properly licensed one
[20:32:19 CEST] <cryptodechange> Definitely interlaced https://imgur.com/a/2WLvj
[20:32:29 CEST] <james999> oh yeah are some encoders against patents or something?
[20:33:30 CEST] <kepstin> james999: re patents, read the patent mini faq on https://ffmpeg.org/legal.html
[20:33:40 CEST] <kepstin> it's more about the software (copyright) license
[20:35:15 CEST] <furq> cryptodechange: that could also be telecined
[20:35:40 CEST] <kepstin> that looks like animation, so probably telecined
[20:35:42 CEST] <furq> step through a high motion scene frame by frame with deinterlacing off
[20:35:52 CEST] <furq> if every frame has combing then it's interlaced
[20:36:40 CEST] <kepstin> if you see a pattern where 2 frames have combing artifacts, then 3 frames look fine, that's a standard NTSC telecine pattern.
[20:36:43 CEST] <furq> if two out of every five have combing then it's telecined
[20:36:49 CEST] <furq> yeah, what he said
[20:37:41 CEST] <furq> https://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/32pulldown.svg/314px-32pulldown.svg.png
[20:38:19 CEST] <dystopia_> is that to get 24fps stuff to 25fps?
[20:38:25 CEST] <dystopia_> ntsc to pal conversions?
[20:38:47 CEST] <kepstin> no, that's to get 24 frames per second to 60 fields per second (film to ntsc video)
[20:39:01 CEST] <james999> isn't it 24 to 29.97?
[20:39:47 CEST] <kepstin> james999: technically, 24000/1001 frames per second to 60000/1001 fields per second
[20:40:02 CEST] <cryptodechange> mediainfo says NTSC
[20:40:07 CEST] <kepstin> sometimes 24fps content is slowed down to 24000/1001 first, but that's not really noticable :)
[20:40:58 CEST] <james999> that's an intersting way to write 24/1.001
[20:41:27 CEST] <james999> but what i mean is to get 59.9 you have to make 29.97 first
[20:41:31 CEST] <james999> then double it
[20:42:22 CEST] <kepstin> james999: no, you go directly from 24ish frames per second to 60ish fields per second
[20:43:00 CEST] <james999> 24ish is where you divide by 1.001 right
[20:43:25 CEST] <kepstin> (it just happens that in computer video, usually both fields from the 60ish fields per second video are stored together in a "30ish frames per second" video where each frame contains 2 fields.
[20:43:28 CEST] <kepstin> )
[20:43:47 CEST] <james999> supposedly tvs can do 120hz and higher now too lol so i idk how far that scales
[20:44:31 CEST] <kepstin> 120hz video output is nice, because it means you can display 24p, 30p, and 60p content without switching modes, and without judder.
[20:44:33 CEST] <cryptodechange> Is there a way to automate this telecine/interlaced stuff?
[20:44:54 CEST] <kepstin> cryptodechange: there's ffmpeg filters for detelecining video to progressive, which usually work ok most of the time
[20:45:16 CEST] <james999> hmm is that because 120 is the lcm of 24,30, and 60?
[20:45:19 CEST] <james999> nice
[20:45:36 CEST] <kepstin> but telecined video - particularly old telecined video from 2000s dvds - is a real mess, with bad cuts, fades, etc., so it often needs manual cleanup to look at its best.
[20:47:35 CEST] <cryptodechange> So check manually for x out of x frames, how would I break that down into a filter for the command?
[20:48:17 CEST] <kepstin> cryptodechange: the first thing you could just try is "-vf pullup", and see if the result looks progressive. If that worked, great! done.
[20:49:05 CEST] <kepstin> (you might also want to use an fps=24000/1001 filter after to clean up the frame timestamps)
[20:54:58 CEST] <furq> you could also just try and get hold of a pal dvd
[20:55:08 CEST] <diverdude> When you guys write ffmpeg programs, do you create your own configure file?
[20:55:56 CEST] <furq> i normally just write a makefile
[20:59:56 CEST] <diverdude> furq: hmm ok i see...can you help me understand why i am getting missing symbols error in this program: http://paste.ubuntu.com/24468359/   (compile command and error message is also there) I have pretty much included everything i can include from ffmpeg
[21:03:09 CEST] <furq> myplayer.c should be before all the libs
[21:04:00 CEST] <furq> the linker goes left to right and it only uses the symbols that it needs
[21:04:20 CEST] <furq> with static libs
[21:04:27 CEST] <diverdude> furq: the did not make any difference
[21:04:27 CEST] <furq> so you need to put the source before the libs it depends on
[21:06:30 CEST] <furq> well you have all the libs so i'd put money on it being linker order
[21:07:05 CEST] <furq> but it's hard to tell what's actually going on in that line between the 90 instances of -framework QuartzCore
[21:07:45 CEST] <diverdude> ugh....so this is why i mean ffmpeg is very very hard to compile :( I have to try all combinations of linking orders....
[21:08:05 CEST] <furq> technically you only have to try the one which is correct
[21:08:17 CEST] <dystopia_> :p
[21:08:21 CEST] <diverdude> lol
[21:08:31 CEST] <dystopia_> this is why i like windows and pre compiled stuff
[21:08:40 CEST] <dystopia_> less faffing about
[21:08:45 CEST] <furq> i also like software that someone else wrote
[21:08:53 CEST] <diverdude> dystopia_: order is irrellevant on windows?
[21:08:54 CEST] <dystopia_> yep, thats the best kind
[21:09:04 CEST] <james999> hmm when i use youtube-dl video -F it mostly lists audio only and video only options
[21:09:15 CEST] <furq> that's what youtube uses
[21:09:17 CEST] <james999> does that mean if I download with youtube-dl I have to use ffmpeg to mux the audio and video together?
[21:09:18 CEST] <dystopia_> diverdude i think it's harder to compile on windows but there are pre built binaries available you can just run
[21:09:19 CEST] <BtbN> yes, they are separate now
[21:09:23 CEST] <llogan> dystopia_: late to the party, but there are pre compiled ffmpegs available for Linux and macOS too
[21:09:26 CEST] <furq> james999: it does that for you
[21:09:38 CEST] <dystopia_> nice llogan, i dind't know
[21:09:51 CEST] <james999> well i picked the 1920x1080 video only 5 Gib download option
[21:09:56 CEST] <james999> so we'll see what happens
[21:10:00 CEST] <diverdude> dystopia_: well...what if you want to write a program which uses ffmpeg libs?
[21:10:01 CEST] <furq> well yeah you need to pick an audio format as well
[21:10:07 CEST] <llogan> dystopia_: see FFmpeg download page for links
[21:10:10 CEST] <furq> -f 254+143 or whatever
[21:10:28 CEST] <james999> oh ok. the help page didn't make that clear when i did youtube-dl -h
[21:10:47 CEST] <furq> the format selection stuff is necessarily complex because it deals with hundreds of different sites
[21:10:54 CEST] <furq> there's a whole section in the manpage on it
[21:12:08 CEST] <james999> must have been truncated
[21:12:15 CEST] <james999> all of this is opus and vorbis wtf
[21:12:26 CEST] <james999> i thought aac and mp3 and that were the ones ytube useed
[21:12:57 CEST] <furq> it uses h264/aac and vp9/opus
[21:13:02 CEST] <furq> and also vp8/vorbis for compat
[21:14:31 CEST] <james999> oh i see vp9 in the list now
[21:14:33 CEST] <james999> mp4        1920x1080  DASH video 4397k , avc1.640028, 24fps, video
[21:14:39 CEST] <james999> is what it shows on command line
[21:17:05 CEST] <james999> wiki says mpeg-dash is some steraming technology for tcp
[21:17:23 CEST] <furq> for http
[21:17:28 CEST] <james999> does that mean I can do -f mpegdash with -listen 1 to stream from ffmpeg?
[21:17:39 CEST] <furq> no
[21:18:15 CEST] <james999> well i got mpegts to work with udp earlier as long as i limited packet size so i guess no big deal
[21:19:46 CEST] <james999> hmm i guess there was something wrong with my choice of formats. it says they cannot be "merged" so will be muxed into an MKV file: WARNING: Requested formats are incompatible for merge and will be merged into mk
[21:19:46 CEST] <james999> v.
[21:20:34 CEST] <diverdude> furq: i have cleaned up the compile command now : http://paste.ubuntu.com/24468499/    but its still not working :(
[21:21:27 CEST] <furq> what's the error now
[21:22:21 CEST] <diverdude> the same
[21:22:50 CEST] <diverdude> http://paste.ubuntu.com/24468511/
[21:25:23 CEST] <kepstin> I think by default, youtube-dl will pick the "best" format, which it usually decides is either h264 or vp9 video with opus audio
[21:27:43 CEST] <diverdude> furq: any idea?
[21:31:15 CEST] <james999> is there any reason you can't have h264 and opus audio in an mp4?
[21:31:26 CEST] <james999> i think that's what the message is saying. it has to be mkv.
[21:38:23 CEST] <kepstin> james999: the standards for putting opus in mp4 are very new and not widely supported. I dunno if it's even been accepted as a public registration yet
[21:38:26 CEST] <cheese> how to force h264 encoding to zero B frame ?
[21:39:03 CEST] <BtbN> -bf 0
[21:39:24 CEST] <kepstin> also note that -tune zerolatency does that (among other things)
[21:41:16 CEST] <cryptodechange> [19:49] <kepstin> (you might also want to use an fps=24000/1001 filter after to clean up the frame timestamps)
[21:41:18 CEST] <cryptodechange> The source is 30000/1001, so I should keep it a that right?
[21:41:29 CEST] <kepstin> cryptodechange: the detelecining process creates 4 output frames from 5 input frames (10 input fields), so there's a frame rate change.
[21:42:02 CEST] <cryptodechange> Oh that makes sense, so it merges frames to hide the perceived scan lines
[21:42:14 CEST] <kepstin> the telecine went from 24fps to 60 fields per second (30fps), so detelecine obviously does the reverse
[21:42:59 CEST] <cryptodechange> Was that a fault of whoever pressed the DVDs, or is it down to the DVD standard?
[21:43:55 CEST] <dystopia_> lots of dvd's have mastering issues
[21:44:06 CEST] <kepstin> dvds were designed to store video for playback on analog tv systems, which are fixed rate interlaced 50 or 60 fields per second depending on region
[21:44:29 CEST] <dystopia_> i bought some pal dvd's of japanese anime and it was a very poor conversion to pal
[21:44:40 CEST] <dystopia_> that led to unrecoverable ghosting
[21:45:19 CEST] <dystopia_> i srestored till i could srestore no more :(
[21:45:54 CEST] <kepstin> yeah, pal dvds of anime content are usually gonna suck, they're either sped up from 24 to 25fps or "framerate converted"
[21:46:44 CEST] <kepstin> (if the framerate conversion was done with a 222222222223 "Euro pulldown" pattern it's recoverable, but other than that... :/
[21:46:57 CEST] <cryptodechange> 29.97 FPS NTSC for mine
[21:48:24 CEST] <cryptodechange> so a pulldown ratio would be
[21:48:41 CEST] <cryptodechange> progressive(normal looking):interlaced(scanlines)
[21:49:16 CEST] <cryptodechange> and I just go frame by frame to figure that out, do a veryfast encode with -vf "pullup,fps=24000/1001" to see if problem is solved
[21:49:30 CEST] <kepstin> anime is almost always done with a 2:3 pulldown pattern, it's not a ratio exactly, it's more complicated than that
[21:54:44 CEST] <cryptodechange> This seems useful https://lists.ffmpeg.org/pipermail/ffmpeg-user/2015-December/029683.html
[21:55:17 CEST] <cryptodechange> now to actually figure out what source needs what treatment, as I have non-anime titles
[21:55:27 CEST] <cryptodechange> Original x-men!
[21:58:03 CEST] <furq> film to pal is usually the best thing you can get
[21:58:12 CEST] <furq> but a lot of studios will cheap out and do film to ntsc to pal
[21:58:32 CEST] <furq> and generally if they've skimped on that then they're also not spending a lot of time and energy on making that not suck ass
[21:58:57 CEST] <furq> i've seen some really appalling film to ntsc to pal stuff
[22:00:47 CEST] <cheese> how to force h264 encoder to not use B frame ?
[22:00:53 CEST] <james999> hmm kepstin when I download an mp4 with a ytube downloader it's usually aac audio with h264 video
[22:01:07 CEST] <james999> so i wonder why youtube-dl didn't give it as an option for the one i'm donwloading now
[22:01:28 CEST] <cryptodechange> So all 5 frames have lines it is interlaced, a mix of full frames with split frames is telecine?
[22:01:38 CEST] <furq> yeah
[22:01:45 CEST] <BtbN> cheese, asking that again over and over again without reading the answers won't get you anywhere.
[22:02:02 CEST] <furq> at least until you get into the fun of hybrid film and video
[22:02:18 CEST] <cryptodechange> https://lists.ffmpeg.org/pipermail/ffmpeg-user/2015-December/029683.html
[22:02:20 CEST] <furq> or interlaced text overlays on telecined footage
[22:02:32 CEST] <cheese> BtbN: sorry i didn't saw it
[22:02:35 CEST] <cryptodechange> So the telecine vs. interlace method can solve 2 and 3
[22:02:40 CEST] <cheese> thanks BrbN
[22:03:16 CEST] <cryptodechange> dang, so many possible scenarios
[22:03:33 CEST] <furq> i was going to say animation probably won't be that bad
[22:03:57 CEST] <furq> but the one animated dvd i've ripped has got interlaced overlays on telecine
[22:04:01 CEST] <furq> in the opening credits
[22:04:14 CEST] <kepstin> animation stuff is full of bad cuts, interlaced effects, and interlaced overlays, yeah
[22:04:25 CEST] <cryptodechange> ;_;
[22:04:42 CEST] <furq> and yeah you might get shit like the telecine pattern changing on a scene change
[22:04:57 CEST] <kepstin> the "Last Exile" show was so bad that when they did the Blu-Ray release, they released it as 1080i with an interlaced upscale from the 480i video :/
[22:05:21 CEST] <cryptodechange> the 4k version is going to be fun
[22:05:28 CEST] <furq> in spite of the occasional dogshit film to ntsc to pal transfer, i'm really lucky to live in a pal region
[22:05:38 CEST] <furq> the worst i have to deal with is interlacing overlaid on progressive
[22:05:52 CEST] <furq> which you can just deinterlace and it'll look fine
[22:07:53 CEST] <furq> https://0x0.st/vWE.mp4
[22:08:02 CEST] <furq> in case you were wondering what the animated dvd in question was
[22:09:23 CEST] <cryptodechange> It reminds me of how old school emulated games apply the scanlines to try and mimic CRT displays
[22:09:38 CEST] <cryptodechange> but more subtle
[22:10:35 CEST] <furq> it's hard to say whether interlacing or fake scanlines are more evil
[22:20:30 CEST] <matsaman> looking for the docs on -1 & -2, etc. as regarding -vf scale
[22:21:58 CEST] <dystopia_> the dub is off putting furq
[22:22:12 CEST] <dystopia_> i guess kids show's don't often get subbed versions
[22:22:38 CEST] <dystopia_> dub would be fine if you couldnt hear original dub
[22:48:43 CEST] <schelleursli> hi there, I'm trying to deinterlace and resize some 1080i dvb footage with h264_cuvid to save some cpu power, but I struggle to get a usable file out of it. The problem seems to be related to the deinterlace to 50 fps from the 1080i 25 fps source file. If I resize and deinterlace without hwaccel using yadif I get the proper 50 fps file I want. Any idea what may go wrong with cuvid? I've uploaded the source file plus to output of
[22:48:43 CEST] <schelleursli> ffmpeg to my onedrive if anyone feels like having a look https://1drv.ms/f/s!At6cEyJzE4-RjG1eMMLRqISoo2UL I've tried plenty of different combinations trying to get the correct framerate and seem to be most throughly stuck.
[23:41:06 CEST] <AndrewMock> Google's no help. How do I force a certain DEcoder to be used? (want libopenjpeg instead of native jpeg2000 decoder)
[23:41:43 CEST] <BtbN> -c
[23:42:21 CEST] <AndrewMock> that's how i am choosing my encoder.
[23:42:44 CEST] <AndrewMock> how would it know that i am doing -c:v for the decoder and not the encoder?
[23:43:06 CEST] <BtbN> it chooses the codec, depending on if used on an input or output option, it's for the de- or encoder.
[23:43:52 CEST] <AndrewMock> "if used on an input or output option" is there a certain order of options that I am missing?
[23:44:02 CEST] <AndrewMock> does the decoder -c:v go before -i then?
[23:44:09 CEST] <BtbN> all options apply to the next input or output on the commandline
[23:44:30 CEST] <AndrewMock> looks like it thanks
[23:48:33 CEST] <iH2O> I have a mp4 file with a fixed image throughout. how can I convert it to mp3 while keeping the image
[23:54:15 CEST] <james999> hmm iH2), you mean where it embeds the image into the mp3 file?
[00:00:00 CEST] --- Fri Apr 28 2017


More information about the Ffmpeg-devel-irc mailing list