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

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


[00:29:32 CEST] <ParoXoN> Is it normal for some encoders to use a great deal of CPU for say, the first 10 minutes of transcoding, then dip down to basically 0 afterwards? I'm ingesting multicast mpegts and outputting hls [ https://pastebin.com/iY3bwRHH ] and CPU usage is very high (~30%) for several minutes (longer than the ffmpeg spin up time; it's happily chugging along converting the video for this time) then the cpu usage drops down to <1% and stays there.
[00:30:39 CEST] <ParoXoN> Some info about the incoming stream: it's basically a music channel; nearly static video with an ac3 audio channel that I'm converting to aac.
[00:31:19 CEST] <AndrewMock> could it be just writing to disk?
[00:32:25 CEST] <ParoXoN> I wondered about that, but the disk IO should be nearly constant for the duration of the transcoding. Plus the CPU usage stays high for much longer than it takes to create the initial output files.
[01:12:40 CEST] <haroldp> So I'm using ffmpeg and nginx to grab a stream from a shitty webcam and publish it with a protocal that I can use to embed it in a web page.  I got RTMP working in Flash, but it's choppy and throws errors occaisonaly.  I'd like to try HLS or Dash foran html5 player.  What do I need to add to my nginx config: https://pastebin.com/Eq5uZ09L
[01:14:32 CEST] <haroldp> I tried to follow the example on this page: https://docs.peer5.com/guides/setting-up-hls-live-streaming-server-using-nginx/
[01:14:50 CEST] <haroldp> but I'm just getting 404s when I test in VLC
[09:19:31 CEST] <Mandevil> Why does video in VLC look so much worse than in mpv.
[09:19:42 CEST] <Mandevil> It looks as if VLC skips deblocking or something.
[09:28:17 CEST] <durandal_170> Mandevil: ask in #mpv this is channel about ffmpeg/ffplay
[09:29:16 CEST] <Mandevil> Right.
[11:10:53 CEST] <flux> though it seems like a reasonable step to try what ffplay does with it?-)
[11:24:01 CEST] <Mandevil> flux: Good idea.
[11:25:28 CEST] <Mandevil> ffplay shows it without the blocking artifacts.
[11:25:45 CEST] <Mandevil> [concat @ 0000000000658500] Unsafe file name
[11:25:45 CEST] <Mandevil> 'd:\Video\Home-video\2017-01-22-backed-hd14,17\source\01\GOPR1003.MP4'
[11:25:45 CEST] <Mandevil> list.txt: Operation not permitted
[11:25:51 CEST] <Mandevil> What is 'unsafe file name'?
[11:29:58 CEST] <Mandevil> Never mind, -safe 0 solves it.
[13:37:19 CEST] <acamargo> morning guys. I'm sending a rtmp stream to akamai and after some hours sending I get: Abr 13 01:39:17 arte2.ir7.com.br r7coder-stream2.service[16761]: Error writing trailer of rtmp://***:***@b.ep***.i.akamaientrypoint.net/EntryPoint/***@***: Broken pipeframe=1110667 fps= 30
[13:39:15 CEST] <acamargo> What can it cause that "broken pipe"?
[13:40:23 CEST] <BtbN> Any kind of connection issue to the target
[13:45:06 CEST] <acamargo> BtbN, "any kind" is hard to trace :-)
[13:45:41 CEST] <BtbN> Well, yes, it is.
[13:46:09 CEST] <acamargo> BtbN, so it couldnt be some trouble on encoding. it seems to be a unstable network connection, right?
[13:46:37 CEST] <BtbN> yes, it's an issue with the outgoing tcp connection
[14:02:46 CEST] <acamargo> BtbN, thanks, I'll chat with netadmins
[14:43:09 CEST] <nightlingo> hello!
[14:51:25 CEST] <pihpah> Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 341 kb/s (default)
[14:51:35 CEST] <pihpah> What is fltp?
[14:51:44 CEST] <JEEB> float, planar
[14:51:51 CEST] <JEEB> lossy formats are decoded into float
[14:51:57 CEST] <JEEB> since they don't have an inherent bit depth
[14:52:37 CEST] <JEEB> and planar just means that each channel is in its separate buffer when decoded, instead of you having L/R/BLAH/BLAH/BLAH one after another in a single buffer
[15:56:37 CEST] <pihpah> JEEB: thanks, I have another question. What exactly this parameter stands for in '-ac 2'. I convert 5.1 audio stream to stereo by mean of that.
[15:57:06 CEST] <pihpah> Something like this: fmpeg -t '00:30' -ss '00:25:00' -i original.mkv -map 0:0 -map 0:2 -c:v libx264 -c:a aac -b:a 192k -ac 2 -crf 28 -strict -2 -vf scale=426:240 sample1.mp4
[16:03:08 CEST] <DHE> pihpah: -ac 2 means 2 audio channels targetted. some codecs can provide the number of channels requested, otherwise ffmpeg will add an audio filter
[16:09:22 CEST] <nightlingo> any idea on how to extract the codec settings used in an x264 stream ?
[16:09:45 CEST] <furq> mediainfo will do it
[16:09:58 CEST] <furq> or just strings
[16:10:20 CEST] <nightlingo> I tried mediainfo but some videos are missing the Encoding settings
[16:11:00 CEST] <nightlingo> any idea on how to deal with those videos?
[16:11:11 CEST] <nightlingo> for example, youtube videos
[16:11:55 CEST] <acamargo> BtbN, I found on another server some "Abr 13 00:29:18 qarte1.ir7.com.br r7coder-stream5.service[3478]: av_interleaved_write_frame(): Broken pipe" too
[16:13:08 CEST] <furq> nightlingo: https://github.com/aizvorski/h264bitstream
[16:13:15 CEST] <acamargo> BtbN, do you know what "av_interleaved_write_frame" does? is it related to -deinterlace? the captured signal is interlaced and I'm transforming to progressive
[16:13:46 CEST] <furq> it has nothing to do with deinterlacing
[16:14:17 CEST] <furq> "broken pipe" generally means you got disconnected
[16:15:30 CEST] <nightlingo> furq: this library will be able to extract encoding settings from x264 streams that are missing the SEI message containing encoding settings?
[16:16:47 CEST] <acamargo> furq, alright ;-)
[16:25:39 CEST] <furq> nightlingo: not all of them
[16:26:06 CEST] <furq> the sps/pps nalus contain the encoding settings that the decoder needs to care about
[16:26:22 CEST] <nightlingo> furq: I just tried it on a youtube-downloaded video and it said: !! Did not find any NALs between offset 0 (0x0000), size 2154053 (0x20DE45), discarding
[16:26:43 CEST] <furq> did you demux it
[16:27:18 CEST] <nightlingo> furq: no, should I try it on an .mp4 with a single video stream?
[16:27:25 CEST] <furq> no
[16:27:34 CEST] <furq> demux the h264 elementary stream and run it on that
[16:27:44 CEST] <furq> ffmpeg -i foo.mp4 -c copy out.264
[16:27:49 CEST] <nightlingo> furq: that means that I should convert it into an .x264 file?
[16:27:51 CEST] <nightlingo> ah ok thank you
[16:28:13 CEST] <furq> fwiw it's probably not going to have the settings you want
[16:30:00 CEST] <nightlingo> furq: it gives tones of data now :)
[16:30:24 CEST] <nightlingo> furq: why do you say that?
[16:59:20 CEST] <Threads> !filter safe
[17:00:59 CEST] <durandal_170> !filter copy
[17:00:59 CEST] <nfobot> durandal_170: http://ffmpeg.org/ffmpeg-filters.html#copy
[19:09:52 CEST] <zap0> how do i make a webm  from a gif?
[19:10:41 CEST] <zap0> or from a set of  numbered .BMP frames
[19:21:51 CEST] <zap0> why does making a webm change the background colour of my black images to green?
[19:25:18 CEST] <zap0> why would ffmpeg not be able to make a webm without corruption?
[19:25:41 CEST] <durandal_170> zap0: pastebin full cmd output
[19:26:10 CEST] <BtbN> are you sure they are black, and not transparent?
[19:28:07 CEST] <zap0> 1.  its a BMP. (there is no transparency).  2. i set it to black.   3.  making a GIF shows black.   4. webm is a format for the web?!?  so what would be the most trusted source to test it on?  surely Firefox and a chrome-based browser.  FF says 'corrupt file', the chromy just plays all the black background as green
[19:28:48 CEST] <BtbN> I think BMP does support transparency. It's unusual though
[19:29:30 CEST] <BtbN> by webm you mean theora? Or vp8?
[19:30:45 CEST] <zap0> i have  -i files%d.bmp out.webm   and it chooses: encoder         : Lavf57.67.100       Stream #0:0: Video: vp9 (libvpx-vp9), gbrp,
[19:31:41 CEST] <BtbN> try vp8 instead, or h264
[19:32:04 CEST] <durandal_170> also change pix fmt to yuv420p
[19:32:17 CEST] <zap0> durandal_170, 3.3. out?  is there a changelog?     any news of webm fixes?!?
[19:32:36 CEST] <BtbN> Pretty sure webm is not broken.
[19:32:39 CEST] <durandal_170> webm works fine
[19:32:42 CEST] <BtbN> It's just a container after all
[19:33:06 CEST] <BtbN> gbrp vp9 does sound like a good reason for stuff to misplay
[19:34:22 CEST] <zap0> why would the defaults for auto-guessing webm format  be some weird choice that is likely not to play on "the web" ?
[19:35:55 CEST] <durandal_170> it picks pixel format which is best to keep quality as source
[19:37:16 CEST] <BtbN> bmp is rgb
[19:37:18 CEST] <BtbN> so it keeps it
[19:37:30 CEST] <BtbN> If it's possible, that is
[19:37:40 CEST] <BtbN> And aparently vp9 can do rgb, but players don't handle it well?
[19:37:46 CEST] <evgeniy> Hey, i recorded a video with obs, and I used a close to lossless preset
[19:37:52 CEST] <evgeniy> How can I compress the video
[19:37:56 CEST] <evgeniy> Losslessly if possible
[19:38:06 CEST] <zap0> ok, what command like switch sets the encoder for vp8?
[19:38:16 CEST] <evgeniy> Current result is 7GB/hour
[19:38:27 CEST] <BtbN> But you are already losslessly compressing it?
[19:38:43 CEST] <BtbN> zap0, vp9 should be fine, just make it use yuv420
[19:38:52 CEST] <zap0> ok
[19:39:33 CEST] <evgeniy> BtbN: i'm not sure if i'm losslessly compressing it, but the preset says it uses less cpu but created a bigger file
[19:39:42 CEST] <BtbN> What did you set?
[19:39:45 CEST] <evgeniy> so i figured after i need the cpu power i could compress it further
[19:40:07 CEST] <BtbN> re-encoding something will never make the quality better, only worse
[19:40:12 CEST] <BtbN> unless you do a lossless encode
[19:40:14 CEST] <evgeniy> Recording quality: indistinguishable quuality, large file size
[19:40:25 CEST] <evgeniy> encoder: x264 low cpu usage preset
[19:40:32 CEST] <BtbN> You can set that in OBS like that?
[19:40:35 CEST] <BtbN> Not seeing that option
[19:40:52 CEST] <zap0> BtbN, thanks!  that worked..  definetly see it's 420..  some of the 1pixel wide lines fall in-out of focus.     background is black again.
[19:41:31 CEST] <BtbN> can also try yuv444, but compatiblity for that is also questionable
[19:41:31 CEST] <evgeniy> BtbN: well that's how it's set
[19:41:51 CEST] <zap0> when i used GIF, i was getting 1:1 pixels.. so the 1-line-wide lines show nice...   you think any browser is going to support 444 ?
[19:42:00 CEST] <BtbN> there is no "low" preset, and nothing that says near-lossless
[19:42:39 CEST] <evgeniy> 20:40 < evgeniy> Recording quality: indistinguishable quuality, large file size
[19:42:39 CEST] <evgeniy> 20:40 < evgeniy> encoder: x264 low cpu usage preset
[19:42:49 CEST] <BtbN> That's still not any setting that exists.
[19:43:51 CEST] <evgeniy> BtbN: https://i.imgur.com/fZdTV2i.png
[19:44:34 CEST] <BtbN> That's not an x264 setting. You'll have to ask the OBS authors what it translates to
[19:44:50 CEST] <BtbN> I'd guess it's crf with a low factor
[19:46:02 CEST] <furq> evgeniy: check mediainfo, it should show you the x264 settings used
[19:46:42 CEST] <evgeniy> mediainfo?
[19:46:48 CEST] <BtbN> But I'm still not sure what you want. If you want to compress it further, do so, but you won't be able to do that without quality loss
[19:46:58 CEST] <evgeniy> Okay
[19:46:59 CEST] <evgeniy> I do
[19:47:08 CEST] <evgeniy> What's the "best" format
[19:47:23 CEST] <dystopia_> you probably don't want best
[19:47:23 CEST] <evgeniy> to get it at about 3.5GB/hour 30fps 1366x768
[19:47:27 CEST] <zap0> even with 444  there are complete 2x2 pixel blocks missing.. some of my lines are not even complete
[19:47:28 CEST] <dystopia_> crf 0 would be lossless
[19:47:35 CEST] <dystopia_> but also pointless and cripple your cpu
[19:47:51 CEST] <BtbN> if you have a finished clip, the best mode to hit an exact bitrate is a 2 pass cbr encode.
[19:48:08 CEST] <BtbN> *exact filesize
[19:48:15 CEST] <durandal_170> zap0: lossy codecs sucks
[19:48:58 CEST] <furq> evgeniy: if you don't have mediainfo then just `strings foo.mp4 | grep Copyleft`
[19:48:58 CEST] <zap0> durandal_170, yeah :(      and there is no good lossless for web  other than gif
[19:49:15 CEST] <BtbN> There is h264 lossless. Pretty sure browsers would play that
[19:49:20 CEST] <BtbN> But it's huge
[19:49:26 CEST] <furq> http://vpaste.net/d4X74
[19:50:29 CEST] <zap0> i need a RLE encoder  that works on the web
[19:50:32 CEST] <evgeniy> x264/MPEG-4 AVC codec
[19:51:09 CEST] <BtbN> Why would you want RLE compression? h264 does better than that.
[19:51:59 CEST] <evgeniy> I don't have an idea which compression does what
[19:51:59 CEST] <EvilRoey> hi.
[19:52:08 CEST] <zap0> cause this type of image, RLE would be fine.. like GIF is doing an acceptable visual job too..    just that it's filesize is big
[19:52:20 CEST] <evgeniy> I just want to get the file from 7gb to 3.5gb as losslessly as possible
[19:52:25 CEST] <BtbN> gif is already quite aggressively compressed
[19:52:32 CEST] <BtbN> better than a plain RLE would ever be able to
[19:52:35 CEST] <evgeniy> CPU time is not an issue, since i'm not compressing it on the go
[19:52:36 CEST] <EvilRoey> I thought that by giving avconv an output file with .mp3 in the name, then it would convert my .webm -> .mp3.  But no, it converted it to ISO Media MPEG4.. how do I explicitly tell it to use .mp3 for the output file?
[19:52:42 CEST] <EvilRoey> I looked at the manual and it confusedx me
[19:53:01 CEST] <BtbN> evgeniy, if you want to hit a specific filesize at best quality possible, 2pass cbr it is.
[19:53:08 CEST] <BtbN> with the slowest CPU preset
[19:53:27 CEST] <evgeniy> mind helping me with the use of ffmpeg to achieve that?
[19:53:58 CEST] <BtbN> https://trac.ffmpeg.org/wiki/Encode/H.264#twopass
[19:54:00 CEST] <BtbN> first google hit...
[19:57:51 CEST] <zap0> BtbN,  gif 6.5Meg,  h264-lossless 9Meg.    :(
[19:58:21 CEST] <BtbN> Yeah, paletted 256 colors is quite small
[19:58:30 CEST] <BtbN> but also looks horrible
[19:58:49 CEST] <zap0> it's a diagram more than it is video... so looks acceptable
[19:59:01 CEST] <zap0> .. (with 256 crushed colours)
[20:00:49 CEST] <nightlingo> is it possible to increase the key frames without re-encoding?
[20:01:02 CEST] <nightlingo> *increase the number of key frames
[20:01:17 CEST] <zap0> no
[20:01:57 CEST] <nightlingo> zap0: there is this program, called VideoRedo that apparently does that
[20:02:51 CEST] <nightlingo> its so weird
[20:02:51 CEST] <zap0> they sounds like a complete and utter lie.
[20:03:02 CEST] <nightlingo> zap0: I have just tested it
[20:03:26 CEST] <nightlingo> zap0: the stts table of the original is: [1, 153, 305, 457, 609, 771, 921, 1046, 1203, 1354, 1492, 1621, 1778, 1930, 2061, 2187, 2339, 2491, 2612, 2769, 2924, 3076, 3198]
[20:04:01 CEST] <nightlingo> zap0: and after cutting out the first 50 frames of the video using that program, the resulting stts was: [1, 16, 31, 46, 61, 76, 91, 103, 152, 255, 358, 407, 434, 559, 608, 645, 721, 812, 871, 981, 996, 1128, 1153, 1262, 1304, 1363, 1442, 1443, 1571, 1662, 1728, 1829, 1880, 2011, 2012, 2137, 2138, 2289, 2348, 2441, 2459, 2562, 2563, 2717, 2807, 2835, 2872, 3024, 3089, 3146]
[20:04:32 CEST] <BtbN> and how would it have managed that without re-encoding?
[20:04:42 CEST] <nightlingo> BtbN: thats what Im trying to understand
[20:05:33 CEST] <nightlingo> BtbN: it also looks like the sample sizes (stsz) have changed
[20:06:28 CEST] <TD-Linux> zap0, I believe both firefox and chrome now support 444 webm.
[20:07:10 CEST] <furq> yeah they do
[20:07:18 CEST] <zap0> TD-Linux, yeah... got 444 working in FF and a chromy..  but the visual quality was still like 420 quality
[20:07:22 CEST] <nightlingo> and the process was instantaneous, like 2-3 seconds, for a 1:44 video
[20:07:38 CEST] <nightlingo> so it couldnt have been complete re-encoding, right?
[20:07:46 CEST] <TD-Linux> zap0, you can control visual quality with -crf. a lower value = higher quality
[20:07:48 CEST] <furq> is the resulting file bigger
[20:08:29 CEST] <zap0> TD-Linux, yeah.. tried that  for the lossless test... result file exceeded GIF.. so i'd just use GIF instead.
[20:08:43 CEST] <nightlingo> furq: yes, its 16498259 while the original is 16299400
[20:08:58 CEST] <TD-Linux> zap0, yeah gif will outperform vp9 for some content
[20:09:08 CEST] <TD-Linux> especially if it has a small palette and no antialiasing
[20:09:26 CEST] <nightlingo> furq: which is weird cause, since I cut the first 50 frames it should had gotten smaller, not bigger
[20:09:49 CEST] <furq> did you mean the stss table
[20:10:37 CEST] <nightlingo> furq: both the stss and the stsz tables have changed
[20:10:47 CEST] <furq> right
[20:10:55 CEST] <furq> you said stts which definitely shouldn't have got bigger
[20:11:54 CEST] <nightlingo> furq: oh Im sorry, that was a typo
[20:12:02 CEST] <nightlingo> I meant stss
[20:12:10 CEST] <nightlingo> the key frames table
[20:12:16 CEST] <furq> right
[20:12:22 CEST] <furq> well sadly i still have no idea what it's actually doing
[20:12:47 CEST] <nightlingo> furq: it seems like all the sample sizes have been increased by 7 bytes
[20:13:23 CEST] <nightlingo> some kind of dark magic taking place
[20:13:44 CEST] <Threader> voodoo!
[20:14:59 CEST] <BtbN> it probably just re-encoded the whole thing
[20:15:24 CEST] <nightlingo> BtbN: is it possible to re-encode a 1:44 video in 2 seconds?
[20:15:35 CEST] <furq> and only increase the filesize by 200KB
[20:15:42 CEST] <zap0> ggrrrr..  html5 <video>  tag doesn't do GIF..   wtf are you supposed to do for lossless web then?
[20:15:46 CEST] <furq> i assume it's visually identical
[20:15:53 CEST] <BtbN> use gif in an img tag?
[20:16:10 CEST] <furq> that question hurt my mind
[20:16:18 CEST] <zap0> that's going to load automatically :(
[20:16:33 CEST] <BtbN> Well, a video will do so as well?
[20:16:47 CEST] <furq> <video> doesn't autoplay by default
[20:16:52 CEST] <BtbN> but load
[20:16:58 CEST] <furq> i assume he means play
[20:17:10 CEST] <furq> i'm excited to find out
[20:17:15 CEST] <BtbN> Can always put a play-button with JavaScript or something
[20:20:37 CEST] <zap0> aarrggh... how tediuos.
[20:21:50 CEST] <Threads> google!!
[20:29:27 CEST] <thebombzen> furq: video does autoplay if you set it to
[20:29:31 CEST] <thebombzen> you just need to set the html to do so
[20:29:46 CEST] <furq> yes that is what "by default" means
[20:36:07 CEST] <BtbN> it's about disabling auto-play for a gif
[20:41:51 CEST] <CFS-MP3> I need to process a stream and for each generate segments of 10 seconds each, and a frameshot for each segment
[20:41:53 CEST] <CFS-MP3> I'm doing this:
[20:41:54 CEST] <CFS-MP3> ffmpeg -i udp://127.0.0.1:7316 -deinterlace -filter_complex "[0:v]split=2[in1][in2];[in1]fps=12,scale=416:-2:flags=lanczos[out1];[in2]fps=1/10[out2]" -map '[out1]' -codec:v libx264  -f segment -segment_time 10 -segment_list_type m3u8 -segment_list segments.m3u8  segments%06d.mp4 -map '[out2]' images_%06d.jpg
[20:42:27 CEST] <CFS-MP3> Which seems to work, except that segments start counting and 0 and images at 1...
[20:45:57 CEST] <CFS-MP3> Actually no it doesn't work, the mp4 are not even playable individually
[20:54:01 CEST] <nadermx> when doing -metadata, if i want to do the artist and title i would do -metadata title='hello' but not sure what i need to do to add artist as well
[20:55:13 CEST] <ChocolateArmpits> nadermx, multiple metadata parameters
[20:55:36 CEST] <ChocolateArmpits> add more -metadata
[20:55:47 CEST] <nadermx> do i have to do anything specific though, or would say -metadata title=hello&artist=cool
[20:56:07 CEST] <ChocolateArmpits> I don't see any example for using &
[20:56:08 CEST] <nadermx> or is it '-metadata title='hello' -metadata artist='cool'
[20:56:14 CEST] <ChocolateArmpits> ^
[20:56:27 CEST] <nadermx> thank you
[20:56:40 CEST] <ChocolateArmpits> You can look up this doc https://wiki.multimedia.cx/index.php/FFmpeg_Metadata
[21:11:08 CEST] <djk> I'm doing an x11grab of 1266x700 but want the stream output to be 1280x720 is there away to set the output with padding I don't want to scale or change the image format
[21:12:37 CEST] <klaxa> djk: see https://ffmpeg.org/ffmpeg-filters.html#pad-1
[21:20:38 CEST] <Tatsh> anyone have opinions on the best deinterlacing filter for DV?
[21:20:44 CEST] <Tatsh> i'm trying them all including nnedi
[21:21:06 CEST] <Tatsh> and/or settings for DV transcoding
[21:24:36 CEST] <furq> Tatsh: qtgmc through vapoursynth is excellent for sd
[21:25:36 CEST] <durandal_1707> furq: not really
[21:25:50 CEST] <ChocolateArmpits> quite really though
[21:25:58 CEST] <furq> is this where you tell me that it's only good for animes
[21:27:10 CEST] <ChocolateArmpits> motion vectors can make the video end up looking like jello, but there are parameters that alleviate this somewhat at performance cost
[21:27:39 CEST] <ChocolateArmpits> imo anything up to the medium preset in qtgmc is good enough without tweaking
[21:27:58 CEST] <ChocolateArmpits> after that it's oversmoothed jello
[21:28:33 CEST] <Fenrirthviti> I have a user (for OBS) where swscale is failing on trying to record losses (which uses ffmpeg and utvideo). I've never done utvideo via command line, is there a simple way of verifying the issue (i.e. run a test encode through ffmpeg direct) isn't on ffmpegs side?
[21:28:42 CEST] <Fenrirthviti> failing = segfault
[21:28:45 CEST] <evgeniy> Hello, I was having issues recording lossless with OBS
[21:29:04 CEST] <evgeniy> And after debugging with the help of someone at OBS's irc
[21:29:08 CEST] <Fenrirthviti> oh he showed up.
[21:29:11 CEST] <evgeniy> Got to the conclusion it was ffmpeg's fault
[21:29:24 CEST] <evgeniy> Can someone help debug it?
[21:29:31 CEST] <ChocolateArmpits> Tatsh, as for ffmpeg, bwdif is my go to deinterlacer. It's a combination of yadif and w3fdif with better quality than both and better performance
[21:29:38 CEST] <durandal_1707> valgrind output?
[21:29:55 CEST] <JEEB> ChocolateArmpits: oh, have you actually tested it?
[21:29:59 CEST] <JEEB> I've been thinking of testing it
[21:30:10 CEST] <ChocolateArmpits> JEEB, I've been using it constantly
[21:30:24 CEST] <ChocolateArmpits> Perforamnce is better than yadif and image quality too
[21:30:25 CEST] <JEEB> since the concept is interesting, but I wasn't sure if it was actually giving better results
[21:30:28 CEST] <JEEB> hmm
[21:30:32 CEST] <JEEB> I will have to give it a try
[21:30:47 CEST] <furq> i'll try it out next time i have some 1080i
[21:30:53 CEST] <djk> klaxa: Thank you that seems to resolve YouTube Live's complaint. Now to tweak for more efficient streaming so it doesn't drop
[21:30:54 CEST] <ChocolateArmpits> performance is better because of simd optimizations
[21:31:02 CEST] <furq> since qtgmc is a bit of a waste on hd stuff
[21:31:04 CEST] <JEEB> well yadif already has SIMD
[21:31:18 CEST] <JEEB> I guess w3fdif also has?
[21:31:32 CEST] <JEEB> ChocolateArmpits: btw do you know if any project has implemented the text side in DVB subtitles?
[21:31:37 CEST] <JEEB> since that's theoretically a possible thing
[21:31:47 CEST] <JEEB> if I recall my DVB specs correctly
[21:31:52 CEST] <ChocolateArmpits> I don't know what you're asking about
[21:33:37 CEST] <JEEB> if you knew if any OSS project had already implemented the text DVB subtitles (not teletext which is more commonly used)
[21:34:22 CEST] <ChocolateArmpits> I certainly have no idea on this
[21:34:26 CEST] <JEEB> ok
[21:35:01 CEST] <evgeniy> ffmpeg has some bug, someone mind helping me report the issue?
[21:35:15 CEST] <JEEB> trac.ffmpeg.org
[21:38:03 CEST] <CFS-MP3> what's the text side of DVB subtitles?
[21:38:17 CEST] <CFS-MP3> DVB subtitles are bitmaps
[21:38:33 CEST] <JEEB> http://www.dvb.org/resources/public/standards/A009_DVB-Subtitling.pdf => "there are two types of objects, graphical objects and *text* objects"
[21:38:40 CEST] <lindylex> I am trying to log in and create an account here: http://ffmpeg.gusari.org/index.php   and the board does not send me a email.  Who do I contact for help?
[21:38:54 CEST] <JEEB> unless that somehow talks of DVB teletext but it seems to be talking about DVB subtitles with a quick look
[21:41:38 CEST] <CFS-MP3> Thanks JEEB
[21:41:47 CEST] <CFS-MP3> I've never seen those text objects in the wild
[21:42:42 CEST] <JEEB> I wouldn't be surprised that people wouldn't notice them even if they were there
[21:42:49 CEST] <JEEB> due to the lack of support from pretty much everything
[21:45:31 CEST] <CFS-MP3> JEEB do TVs or something support them? :-) The specs say
[21:45:41 CEST] <CFS-MP3> "one byte per characeter" I think I saw
[21:45:48 CEST] <CFS-MP3> so that's pretty much makes it useless in Europe
[21:46:08 CEST] <evgeniy> I'm trying to report a bug of libswscale, but i experience it in OBS, while recording lossless.
[21:46:15 CEST] <CFS-MP3> "while a text object carries a string of one character codes;"
[21:46:23 CEST] <CFS-MP3> well maybe not.
[21:46:30 CEST] <evgeniy> Can someone provide a command that would do the same, so that I can gdb and valgrind output?
[21:46:44 CEST] <evgeniy> provide gdd and val... *
[21:46:50 CEST] <evgeniy> gdb*
[21:49:35 CEST] <CFS-MP3> Is it possible to specify the initial counter value when segmenting into several files?
[21:49:48 CEST] <CFS-MP3> ffmpeg -i udp://127.0.0.1:7316 -deinterlace -filter_complex "[0:v]split=2[in1][in2];[in1]fps=12,scale=416:-2:flags=lanczos[out1];[in2]fps=1/10[out2]" -map '[out1]' -codec:v libx264  -f segment -segment_time 10 -segment_list_type m3u8 -segment_list segments.m3u8  segments%06d.ts -map '[out2]' images_%06d.jpg
[21:50:14 CEST] <CFS-MP3> segments there start at 0 while images start at 1.
[21:50:29 CEST] <JEEB> latest spec it seems http://www.etsi.org/deliver/etsi_en/300700_300799/300743/01.05.01_60/en_300743v010501p.pdf
[21:58:11 CEST] <djk> I think I have a working live stream to Facebook but look to the pro's here to suggest any tweaks to be more efficient on CPU and crisp image.
[21:58:11 CEST] <djk> ffmpeg  -thread_queue_size 2048 -probesize 1024M -framerate 30 -r 30 -f x11grab -s 1200x700  -i :0.0+1280,0 -f lavfi -i anullsrc -c:v libx264 -pix_fmt yuv420p -g 5 -b:v 2500k -c:a libmp3lame -ar 44100 -b:a 128k -vf "pad=width=1280:height=720:x=0:y=0:color=black" -crf 18 -r 30 -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/[KEY]"
[22:00:03 CEST] <BtbN> 1GB probesize seems a slight bit exzessive
[22:01:09 CEST] <BtbN> you also don't want to stream in crf mode, but with "cbr"
[22:01:30 CEST] <ChocolateArmpits> djk, why aren't you using aac ?
[22:01:49 CEST] <djk> where is the one 1GB?
[22:02:34 CEST] <ChocolateArmpits> >-probesize 1024M
[22:02:35 CEST] <BtbN> And why are you using audio at all, if you are using anullscr anyway
[22:02:55 CEST] <djk> aac instead of ?
[22:03:06 CEST] <ChocolateArmpits> instead of libmp3lame
[22:03:39 CEST] <ChocolateArmpits> Facebook live suggests using aac, I would rather follow their directions, their live setup isn't exactly the best
[22:03:55 CEST] <djk> well there isn't any audio so what would be the right way to have silent track? Youtube wants audio I don't about Facebook
[22:04:17 CEST] <ChocolateArmpits> I've ran into numerous problems compared to youtube live
[22:04:22 CEST] <ChocolateArmpits> when using facebook live
[22:04:49 CEST] <djk> so far the FB is seeming happier than YT
[22:05:28 CEST] <lindylex> I am trying to fade three images and tried this https://pastebin.com/wph1XfjJ  I got it to work but how I modified the numbers does not make sense.
[22:05:42 CEST] <djk> would the aac be less taxing on the CPU?
[22:06:03 CEST] <djk> ChocolateArmpits: what size would you recommend
[22:07:40 CEST] <ChocolateArmpits> djk, mp3 will be less taxing, but audio encoding isn't exactly the most demanding thing here
[22:08:11 CEST] <ChocolateArmpits> djk, Why do you need to define probesize to begin with? Is your input not getting recognized correctly?
[22:08:36 CEST] <djk> ffmpeg suggestion when I didn't have it
[22:08:47 CEST] <ChocolateArmpits> with that value?
[22:08:51 CEST] <djk> but it didn't suggest a size
[22:08:58 CEST] <djk> just to use it
[22:09:12 CEST] <ChocolateArmpits> djk, is the input rgb ?
[22:09:24 CEST] <furq> isn't x11grab always rgb
[22:09:51 CEST] <djk> are the lossless values the same on cbr vs crf?
[22:10:08 CEST] <furq> that doesn't make any sense
[22:10:12 CEST] <djk> so just a swap for crf to cbr?
[22:10:32 CEST] <thebombzen> furq: it's bgr0
[22:10:35 CEST] <thebombzen> but yes
[22:10:39 CEST] <djk> I am grabbing a browser session of the streaming web cam
[22:10:39 CEST] <furq> oh
[22:10:40 CEST] <furq> djk: no
[22:10:50 CEST] <ChocolateArmpits> djk, you can set it to 128M, that'll be just above 1 second of uncompressed frames
[22:11:43 CEST] <furq> there's nothing wrong with crf mode for streaming but you'll probably want to set a maxrate and bufsize
[22:12:56 CEST] <thebombzen> furq: cbr is better actually
[22:13:08 CEST] <thebombzen> better than vbr with maxrate
[22:13:31 CEST] <BtbN> Non-CBR for streaming is bad, thanks to TCP
[22:13:31 CEST] <djk> so cbr 18?
[22:13:42 CEST] <furq> still no
[22:13:44 CEST] <thebombzen> I mean crf will use few bits if it doesn't need it but cbr will throw bitrate at it anyway
[22:13:57 CEST] <thebombzen> the short reason is "networking shenanigans"
[22:14:07 CEST] <BtbN> x264 does not support cbr. It will happily use less if it doesn't need as much
[22:14:18 CEST] <thebombzen> BtbN: it does
[22:14:22 CEST] <thebombzen> you need to set the minrate option
[22:14:26 CEST] <furq> there is no minrate option
[22:14:29 CEST] <thebombzen> what
[22:14:29 CEST] <BtbN> x264 does not support a minrate
[22:14:35 CEST] <thebombzen> I thought there was
[22:14:35 CEST] <thebombzen> what
[22:14:39 CEST] <thebombzen> wuuuut
[22:14:41 CEST] <BtbN> there is a minrate option in ffmpeg
[22:14:45 CEST] <BtbN> but x264 does not use it
[22:14:47 CEST] <furq> the way to do cbr is nal-hrd=cbr
[22:14:47 CEST] <thebombzen> oh
[22:14:48 CEST] <thebombzen> hm
[22:14:50 CEST] <furq> but that's fake cbr
[22:14:57 CEST] <furq> it just pads each nalu to the same size
[22:14:57 CEST] <thebombzen> how does one encode with x264 cbr
[22:14:58 CEST] <BtbN> you still want that for streaming
[22:15:02 CEST] <BtbN> one doesn't
[22:15:06 CEST] <BtbN> x264 has no true cbr mode
[22:15:06 CEST] <thebombzen> i.e. how does one use x264 for streaming
[22:15:13 CEST] <BtbN> By padding with null-NALs
[22:15:22 CEST] <thebombzen> null-NALs?
[22:15:28 CEST] <thebombzen> wut
[22:18:04 CEST] <BtbN> It just adds null-bytes until it reaches the desired bitrate
[22:18:09 CEST] <lindylex> furq: I got further with the crossfade affect https://pastebin.com/wph1XfjJ  I modified it for thee images and I do not know what the numbers are doing since it look very hackish.
[22:32:42 CEST] <djk> so what discussion on crf use with streaming what is the final decision on the best thing to do to retain best quality does this make sense or should I drop it completely or replace it with something else?
[22:32:42 CEST] <djk> -crf 18 -maxrate 1024k -bufsize 1024k
[22:52:56 CEST] <thebombzen> wait
[22:53:01 CEST] <thebombzen> if you use -crf 0 -maxrate
[22:53:07 CEST] <thebombzen> will that emulate CBR in x264
[22:53:30 CEST] <thebombzen> because even low-motion video is still going to be more than, say, 1 Mbps
[22:53:38 CEST] <thebombzen> if you're encoding it in true lossless that is
[22:54:51 CEST] <djk> I want the crisps video possible from the x11grab with the least CPU taxing
[22:54:55 CEST] <furq> x264 lossless isn't intra-only, so no
[22:54:58 CEST] <djk> crispest
[22:55:12 CEST] <furq> also i don't know the technical reasons why but that generally seems like something that is bad
[22:59:27 CEST] <djk> furq: are you meaning the crf or what I am doing in general?
[22:59:34 CEST] <furq> i mean the thing thebombzen said
[23:01:26 CEST] <djk> I am low on video understanding but the very little I am learning it does seem like the crf 0 maxrate would a hit
[23:05:54 CEST] <djk> for those trying to follow along I am trying to put together a live with limited time to pull it together. Using a raspberry Pi 3 with a usb webcam wide angle and wired ethernet using Hawkeye webcam which is based part on mpeg-streamer. I have an out server grabbing images for a time-lapse video creation. There is a desire to have the stream live and rPi is not up to the ffmpeg process as well I would have to clone the /dev/video
[23:05:57 CEST] <alexpigment> i haven't used -crf 0 in a while, but doesn't that force 4:4:4 encoding?
[23:06:05 CEST] <alexpigment> or at least the High 4:4:4 profile?
[23:06:55 CEST] <djk> So I am using a box with the hawkeye stream running in the browser and ffmpeg to live stream to Facebook
[23:07:18 CEST] <djk> not the prettiest solution but looking like it might work
[23:09:24 CEST] <djk> This is the current state with the suggestion from the first
[23:09:24 CEST] <djk> ffmpeg  -thread_queue_size 2048 -probesize 128M -framerate 30 -r 30 -f x11grab -s 1200x700  -i :0.0+1280,0 -f lavfi -i anullsrc -c:v libx264 -pix_fmt yuv420p -g 5 -b:v 2500k -c:a mp3 -ar 44100 -b:a 128k -vf "pad=width=1280:height=720:x=40:y=10:color=black" -crf 18 -maxrate 2560k -bufsize 1024k -r 30 -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/[KEY]
[23:10:36 CEST] <djk> any recommended tweaks to improve quality and reduce CPU load welcome
[23:10:45 CEST] <djk> Thank you for the help
[23:22:27 CEST] <djk> so far the CPU load staying below 9.0
[23:29:06 CEST] <Tatsh> furq, qtgmc does not handle DV
[23:29:14 CEST] <Tatsh> DV is yuv411
[23:29:23 CEST] <Tatsh> qtgmc only supports a range and yuv411 is not one of them
[23:29:28 CEST] <furq> shame
[23:29:33 CEST] <Tatsh> yea i tired
[23:29:34 CEST] <Tatsh> tried*
[23:29:39 CEST] <Tatsh> i wish it were so, but we have nnedi though
[23:29:55 CEST] <furq> that's only ntsc dv though isn't it
[23:29:58 CEST] <furq> pal dv is 4:2:0
[23:30:08 CEST] <Tatsh> yea i guess
[23:30:21 CEST] <Tatsh> btw is there a way to encode multiple outputs but only encode one audio output for all of them?
[23:30:24 CEST] <Tatsh> -map option?
[23:30:46 CEST] <furq> probably the tee muxer
[23:38:32 CEST] <djk> that is interesting would tee muxer let me stream to several live sites?
[23:39:31 CEST] <Tatsh> yes
[23:39:43 CEST] <Tatsh> stream to facebook, youtube and younow all at once
[23:39:46 CEST] <Tatsh> and periscope?
[23:39:52 CEST] <Tatsh> hope you have that kind of bandwidth :P
[23:39:56 CEST] <djk> periscope would be neat
[23:40:02 CEST] <djk> 100/100
[23:41:05 CEST] <Tatsh> it's possible
[23:41:10 CEST] <Tatsh> http://codexc.com/blog/2017/01/periscope-how-to-start-a-producer-broadcast-through-wowza-or-using-ffmpeg/
[23:42:54 CEST] <djk> interesting since they original only supported phone app
[23:43:34 CEST] <djk> thanks for the link
[23:44:00 CEST] <djk> now to figure out the best low resource browser to use with this
[23:44:03 CEST] <Tatsh> i have to rewrite my script for tee multi-encoding
[23:45:28 CEST] <Tatsh> will you get banned from periscope is the real question :P
[23:45:44 CEST] <Tatsh> this is public API though, so i doubt it
[23:45:54 CEST] <Tatsh> thought they might want to encourage amateur footage
[23:47:49 CEST] <djk> I would think so
[23:48:06 CEST] <djk> ban only if content is illegal etc
[23:51:21 CEST] <klaxa> >low resource browser
[23:51:25 CEST] <klaxa> sorry it's not 1999 anymore :(
[23:55:43 CEST] <MonkeyofDoom> haha
[23:57:24 CEST] <djk> yeah
[00:00:00 CEST] --- Fri Apr 14 2017


More information about the Ffmpeg-devel-irc mailing list