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

burek burek021 at gmail.com
Sat Dec 10 03:05:01 EET 2016


[00:28:30 CET] <kocoten1992> is any body home?
[00:28:59 CET] <DHE> home, yes. coherent, maybe
[00:29:44 CET] <kocoten1992> :D
[00:38:59 CET] <kocoten1992> @DHE Hi DHE, I want to read a video from second 5 -> 10, the output will be raw binary to a file, is that possible?
[00:40:52 CET] <DHE> so, dump the indicated time range to a raw RGB stream?
[00:42:33 CET] <kocoten1992> I guess so, I kinda new with ffmpeg ( > < )
[00:42:58 CET] <DHE> but I don't understand what it is you want, which is why I'm asking. "raw binary" is a bit vague
[00:43:29 CET] <kocoten1992> I want to mimic youtube behavior
[00:43:59 CET] <kocoten1992> when the connection get slow, somehow it will read from 144p
[00:44:49 CET] <kocoten1992> uhm, you followed me?
[00:45:44 CET] <kocoten1992> the video will running at 720p until connection slow (144p), but how is that possible > <
[00:46:02 CET] <kocoten1992> I have snip it http package
[00:46:29 CET] <kocoten1992> It send something like fseek and fread in php, but it use byte length
[00:46:39 CET] <thebombzen> well, ffmpeg transcodes video from a file or a grab device and cannot detect your connection speed
[00:46:47 CET] <thebombzen> given that it doesn't see the data until it already gets to you.
[00:46:53 CET] <kocoten1992> but here I want from second to second
[00:47:12 CET] <thebombzen> so if you're transcoding video from t=5 seconds to t=10 seconds, then I'm not sure how that's relevant to downsampling the video in a slow connection.
[00:47:53 CET] <kocoten1992> I'll explain
[00:48:33 CET] <kocoten1992> I have snip youtube http request, It have something like s=20, e=45 (I dont remember)
[00:48:38 CET] <kocoten1992> s = start, e = end
[00:49:14 CET] <kocoten1992> that is possible if s and e unit was byte length
[00:49:43 CET] <kocoten1992> I could simply read file from byte length, but it second here
[00:50:11 CET] <kocoten1992> so I think I will have 3 4 file, the same content
[00:50:33 CET] <kocoten1992> but different quality (720p, 480p, 144p ...)
[00:51:13 CET] <kocoten1992> when connection get slugging, it will read from second 5 of 144p to second 10 of 144p and send raw output to user
[00:52:20 CET] <llamapixel> How do you detect the moment of lag, how do you request a new http media file when the bandwidth just isn't there due to congestion?
[00:52:45 CET] <llamapixel> You are assuming all cases of lag are still transmitting there.
[00:52:57 CET] <thebombzen> kocoten1992: if you're looking to cut between 20 seconds and 45 seconds of a youtube video, you should download the youtube video first.
[00:53:13 CET] <thebombzen> in this case, you can use youtube-dl do download the video.
[00:53:47 CET] <llamapixel> If the server downloaded both locally you still have the client congestion problem
[00:53:48 CET] <thebombzen> once you download the video, you can just do ffmpeg -ss 20 -i input_video -t 25 output.mp4 or something like that
[00:54:06 CET] <llamapixel> Is it assumed there won't be congestion from server to client?
[00:54:44 CET] <kocoten1992> @llamapixel, no I guess it work like this
[00:55:14 CET] <kocoten1992> client will use js interval to keep checking connection between server and client
[00:55:44 CET] <kocoten1992> when ping too high, or banwith too low
[00:56:05 CET] <kocoten1992> then when it request next part of the video, it will request as 144p
[00:56:17 CET] <kocoten1992> but all that irrevelent =.=
[00:56:37 CET] <llamapixel> Good luck with that project, you are not thinking it through mate.
[00:57:33 CET] <kocoten1992> @llamapixel why ?
[00:58:04 CET] <llamapixel> Read above
[01:00:48 CET] <kocoten1992> not understand all you said, but I'm trying to solve each one problem first
[01:01:53 CET] <kocoten1992> @llamapixel, so is there any how dump a vido file from second 5 to 10 ?
[01:17:53 CET] <llamapixel> https://usercontent.irccloud-cdn.com/file/tipXHRAw/Screenshot%202016-12-09%2011.17.34.png
[01:17:57 CET] <llamapixel> Lets use this as the diagram kocoten1992
[01:18:27 CET] <llamapixel> Making another http request when there is not path wont magically pull a smaller file
[01:18:32 CET] <llamapixel> no*
[01:19:05 CET] <llamapixel> You will have to assume the network is always going to be constant and have a trickle of bandwidth in your assumption
[01:19:49 CET] <llamapixel> If the client had been caching both files before there was a hiccup in connections you could do it and I agree in that principle
[01:20:48 CET] <kocoten1992> :D wow thank you
[01:21:11 CET] <llamapixel> I hope that makes sense mate, in case I am not reading what you are saying correctly.
[01:22:20 CET] <kocoten1992> I've save your pic, gonna digest it later, I'm off to work now
[01:22:25 CET] <llamapixel> cya
[01:22:33 CET] <kocoten1992> wait
[01:22:45 CET] <llamapixel> look up what something like faster fox does and pre-emptively gets all files
[01:22:57 CET] <llamapixel> https://addons.mozilla.org/en-US/firefox/addon/rsccmanfasterfox/
[01:23:09 CET] <llamapixel> How aggressive you want the pre fetching to be is another headache.
[01:23:30 CET] <llamapixel> Or look at something like a squid proxy
[01:23:41 CET] <llamapixel> http://www.squid-cache.org/
[01:24:03 CET] <kocoten1992> ye, but do you have any docs about
[01:24:11 CET] <kocoten1992> spliting video
[01:24:55 CET] <llamapixel> thebombzen answered that part above.
[01:25:29 CET] <kocoten1992> No I think he misunderstand me
[01:25:45 CET] <kocoten1992> I'm the server <- , I split video and then send to user
[01:26:15 CET] <llamapixel> That is a different layout completely to what I just explained :P
[01:26:35 CET] <llamapixel> The issue still arises when the client cannot get the next http request however.
[01:26:41 CET] <kocoten1992> https://trac.ffmpeg.org/wiki/Seeking#no1
[01:27:05 CET] <llamapixel> come back after work if you have better time.
[01:27:14 CET] <kocoten1992> Not sure that will help me, but gotta go
[01:27:16 CET] <kocoten1992> bb :D
[01:27:17 CET] <llamapixel> cutting media is not sending the media
[01:27:36 CET] <llamapixel> ok
[02:29:12 CET] <Phi> back tomorrow, maybe
[02:29:20 CET] <Phi> thanks again for the help thus far :3
[02:36:41 CET] <luminarys> Can audio/video be transcoded without the use of avfilter?
[02:37:27 CET] <luminarys> I seem to run into issues with stuff like formats just plugging in decoded frames into an encoder
[02:47:01 CET] <DHE> if you mean the API, the scale filter is just a wrapper around libswscale and you can use it directly for format and resolution conversions
[02:47:42 CET] <luminarys> yea I'm talking about using the api, not cli tool
[02:48:48 CET] <luminarys> I'm specifically working with audio stuff and run into the issue of the sample formats being incompatible
[02:49:12 CET] <DHE> same thing, but libswresample
[02:50:02 CET] <luminarys> Thanks, I'll take a look
[03:08:36 CET] <luminarys> So using swr_convert_frame seems to solve the issue of the frame format
[03:08:48 CET] <luminarys> but now I end up with an error from the encoder codec "more samples than frame size"
[03:09:13 CET] <luminarys> which googling seems to be nontrivial to fix
[03:09:35 CET] <luminarys> I guess I may be better off just using an anull filter since at this point using swresample more or less equates to the same style of code
[03:09:36 CET] <DHE> codecs have a 'frame size' which is how many samples it wants per AVFrame. there's an example program that does audio transcoding that deals with this
[03:10:13 CET] <luminarys> resampling_audio?
[03:10:31 CET] <DHE> transcode_aac
[03:10:39 CET] <DHE> where you may have to deal with variations in frame sizes from input and output
[03:13:53 CET] <cnote> what is best audio codec these days?
[03:13:55 CET] <luminarys> Ok so you end up having to use a queue to handle the sample per frame issue
[03:14:45 CET] <luminarys> Thanks for all the help that clarifies alot
[03:14:58 CET] <DHE> cnote: depends what you're doing with it
[03:15:32 CET] <cnote> music/podcast/movies
[03:15:59 CET] <DHE> playing back on phones? car stereo with builtin USB disk reader?
[03:16:20 CET] <cnote> mostly on playing back on computers
[03:46:05 CET] <k_sze[work]> Is it generally OK to mux two video streams of different codecs, different resolution, different pixel formats into the same container?
[04:04:30 CET] <DHE> if the container supports two video streams, yes
[04:06:00 CET] <autofsckk> hello, im trying to put a logo over an animated gif, i tried with this  ffmpeg -i dreams-reality.gif -i ~/00ttnk/logo/logo.png -filter_complex '[0:v]scale=150:-1[1:v]overlay=W-w-5:H-h-5' -codec:a copy dreams-reality-output.gif , im a newbie and im reading the man and documentation online but i can not find how to position correctly the png, can you tell me please where to find that and where to read
[04:06:06 CET] <autofsckk> about the format of the command? thanks
[04:07:36 CET] <autofsckk> i get this error by the way   [AVFilterGraph @ 0x8e50220] Unable to parse graph description substring: "overlay=W-w-5:H-h-5"
[04:28:45 CET] <k_sze[work]> I need help with using ffmpeg and vlc together.
[04:29:39 CET] <k_sze[work]> What I want to do is use the ffmpeg *library* to encode some video, and send (pipe?) the encoded data to vlc so vlc can act as the live streaming server.
[04:30:06 CET] <k_sze[work]> right now I don't even know how to do that from the command line.
[04:31:36 CET] <k_sze[work]> e.g. I tried `ffmpeg -re -i my_video.nut -c:v copy -f nut pipe:1 | vlc -vvv - --sout '#rtp{dst=0.0.0.0,port=1234,sdp=rtsp://0.0.0.0:8080/test.sdp}'`
[04:31:58 CET] <k_sze[work]> But that just spits out lots of garbage in the terminal.
[04:32:23 CET] <k_sze[work]> my_video.nut is a NUT file that contains a single H.264 stream.
[04:48:03 CET] <cnote> what is best audio codec these days?
[07:46:06 CET] <JerryT> Is there a way to select 5 frames every 60 seconds of video?
[07:46:54 CET] <c_14> sure
[07:47:39 CET] <c_14> use the select filter
[07:48:11 CET] <c_14> https://ffmpeg.org/ffmpeg-filters.html#fps-1
[07:51:03 CET] <c_14> eh
[07:51:06 CET] <c_14> that's the wrong link
[07:51:20 CET] <c_14> I meant https://ffmpeg.org/ffmpeg-filters.html#select_002c-aselect
[07:51:59 CET] <c_14> If you want the output as individual images use the image2 muxer
[08:00:34 CET] <llamapixel> JerryT: I think that question came up a couple of times of me watching this stream and it involves the mod. https://ffmpeg.org/ffmpeg-utils.html
[08:03:13 CET] <c_14> if you want them evenly spaced, it'd be mod 12 yes
[08:04:12 CET] <c_14> eq(mod(n\,12),0) or something
[08:05:08 CET] <JerryT> Interesting
[08:05:53 CET] <c_14> not(mod(n\,12)) should work as well
[08:06:02 CET] <c_14> or eq of any number between 0 and 11
[08:11:52 CET] <llamapixel> I thought so as well JerryT
[08:19:39 CET] <k_sze[work]> Does anybody know if rtsp can do multiple video streams?
[08:20:39 CET] <k_sze[work]> e.g. muxing an H.264 and an FFV1 stream together and serve over RTSP.
[08:25:08 CET] <k_sze[work]> btw, is there any streaming transport that can carry FFV1?
[08:25:13 CET] <k_sze[work]> It seems that RTP cannot.
[08:25:32 CET] <JerryT> c_14, Actually I want it to go 60 seconds into the video, select 5 frames then go to 120 seconds and select 5 more frames...
[08:25:57 CET] <c_14> k_sze[work]: rtp can definitely do it
[08:27:09 CET] <c_14> JerryT: lt(mod(n\,60),5)
[08:27:25 CET] <c_14> That'll take the first 5 and then 60-64 etc
[08:27:37 CET] <c_14> the second comma also needs a \
[08:27:43 CET] <c_14> and I'm not sure the order is right
[08:27:46 CET] <c_14> but basically that
[08:29:07 CET] <k_sze[work]> c_14 maybe it's just VLC's implementation that doesn't work.
[08:29:47 CET] <c_14> k_sze[work]: when playing rtp?
[08:29:48 CET] <k_sze[work]> This is what I see when I try to get VLC to serve FFV1 over rtsp
[08:29:49 CET] <k_sze[work]> [0x7fbf8c000e88] stream_out_rtp stream out error: cannot add this stream (unsupported codec: FFV1)
[08:30:14 CET] <c_14> Ah, rtp doesn't support ffv1
[08:30:31 CET] <c_14> I thought you were referring to 2 video streams
[08:31:37 CET] <k_sze[work]> Well, yes, at some point I'll want to mux a H.264 stream and a FFV1 stream together, and then serve the whole thing over a network streaming protocol that supports it.
[08:31:52 CET] <k_sze[work]> I might also throw in a custom data stream at some point.
[08:32:37 CET] <k_sze[work]> but right now I can only get H.264 served over RTSP. FFV1 doesn't seem to work, so it looks like I might need to look into another network streaming transport/protocol.
[08:34:00 CET] <nonex86> its not a problem to incapsulate any payload into rtp, but you need a software what understand it and play
[08:34:58 CET] <k_sze[work]> nonex86: right now VLC refuses to mux FFV1 into rtp, and I don't know how to use just ffmpeg and no vlc to achieve the same effect.
[08:35:32 CET] <k_sze[work]> VLC *might* support playback.
[08:36:36 CET] <k_sze[work]> Or if I use ffmpeg on the client end.
[08:37:35 CET] <nonex86> vlc uses live555 as rtp engine
[08:38:01 CET] <nonex86> live555 is terrible (used it by myself) and it certainly will not support custom payload afair
[08:38:36 CET] <k_sze[work]> Can I use *just* ffmpeg? That would be great.
[08:38:36 CET] <nonex86> but you can patch the sources of rtp plugin in vlc
[08:39:07 CET] <nonex86> not sure about ffmpeg and custom payload, never used it in such cases
[08:39:26 CET] <k_sze[work]> Well, can I at least make ffmpeg act as an rtsp server?
[08:40:15 CET] <nonex86> guess so, but the support of ffserver is dropped afaik
[08:40:27 CET] <k_sze[work]> I know.
[08:40:32 CET] <nonex86> everyone here will tell you - don not use ffserver :)
[08:40:50 CET] <k_sze[work]> Well, I *think* ffserver is still in 3.2.2
[08:41:09 CET] <k_sze[work]> but it certainly won't stick around.
[08:41:28 CET] <nonex86> sometimes deprecated functionality remains for some time :)
[08:42:57 CET] <k_sze[work]> But even then, I have no idea how to make ffserver work.
[08:44:04 CET] <JerryT> c_14, not quite sure
[08:44:19 CET] <JerryT> That works, creates the frames but it's generating a ton
[08:45:38 CET] <c_14> JerryT: add -vsync vfr as an output option
[08:46:11 CET] <JerryT> ffmpeg -i input.mp4 -f image2 -vf "select='lt(mod(n\,60)\,5)'",scale=320:240 -vsync vfr thumb_%03d.png
[08:46:17 CET] <JerryT> That's what I have
[08:46:28 CET] <JerryT> Movie is 2:50
[08:46:43 CET] <JerryT> Created 364 thumbs
[08:47:07 CET] <JerryT> 2 Minutes, 50 seconds that is
[08:48:58 CET] <c_14> eh, right
[08:49:00 CET] <c_14> sec
[09:01:37 CET] <c_14> JerryT: ffmpeg -i out.mkv -f image2 -vf "select='eq(mod(t-start_t\,60)\,0)+lt(mod(prev_selected_n\,5)\,4)'",scale=320:240 -vsync vfr thumb_%03d.png
[09:01:59 CET] <c_14> (the previous command was doing frames not seconds)
[09:02:18 CET] <llamapixel> patreon him $5 JerryT  :)
[09:02:36 CET] <c_14> This command selects frames either when the time (in seconds) mod 60 is 0 or it hasn't selected a multiple of 5 yet
[09:03:59 CET] <JerryT> patreon?
[09:04:43 CET] <JerryT> Nice c_14
[09:05:00 CET] <JerryT> Thank you, testing now...
[09:05:48 CET] <c_14> hmm
[09:06:31 CET] <JerryT> Appears to be working correctly.
[09:06:36 CET] <JerryT> That's awesome
[09:06:55 CET] <llamapixel> https://www.patreon.com/
[09:07:38 CET] <JerryT> Oh neat, c_14 do you have one of these?
[09:07:43 CET] <llamapixel> One bitcoin bots will be apart of irc help conversation
[09:07:57 CET] <c_14> nah, I'm not doing this to get paid anyway
[09:08:21 CET] <JerryT> Gotcha, well it's much appreciated.
[09:08:52 CET] <systemsgotyou> how do I record my mono mic for playback as stereo?
[09:08:57 CET] <llamapixel> I was pointing out we work in a cool evironment since finland invented irc
[09:09:43 CET] <systemsgotyou> i am using simplescreenrecorder and the audio inpute works, but in the finished video it only plays on the left speaker
[09:09:53 CET] <c_14> -ac 2
[09:10:02 CET] <JerryT> Finland really invented IRC?
[09:10:07 CET] <JerryT> Didn't know that
[09:10:12 CET] <systemsgotyou> ffmpeg -f alsa -ac 2?
[09:10:19 CET] <c_14> output option
[09:10:31 CET] <systemsgotyou> the output would be a file
[09:10:38 CET] <systemsgotyou> from the screen recording app
[09:10:45 CET] <c_14> ffmpeg -f alsa -i blah -ac 2 out.mkv
[09:10:57 CET] <c_14> that'll upmix the audio to stereo
[09:11:15 CET] <systemsgotyou> but how do I do that when im using a screenrecorder
[09:11:21 CET] <systemsgotyou> its another app
[09:11:52 CET] <c_14> check the options?
[09:12:01 CET] <systemsgotyou> it has pulse/alsa
[09:12:11 CET] <c_14> You can also run it over the output if you don't mind reencoding the audio
[09:12:30 CET] <systemsgotyou> anything i select records as mono
[09:12:47 CET] <c_14> You can probably convince alsa/pulse to upmix the capture device to stereo internally
[09:13:06 CET] <systemsgotyou> yeah thats what im thinking
[09:13:08 CET] <systemsgotyou> but how
[09:13:29 CET] <c_14> Not sure if ttable works on inputs
[09:13:42 CET] <c_14> anyways, seems like a question for #alsa or #pulse
[09:14:15 CET] <llamapixel> JerryT: https://en.wikipedia.org/wiki/Jarkko_Oikarinen
[09:15:00 CET] <llamapixel> dnmiac
[09:16:29 CET] <areg> hello, I have  problem with ffmpeg encoding, receiver is pushing stream to my encoder, but ffmpeg cannot see it. Firewall is turned of, also I can see traffic by tcpdump
[09:16:53 CET] <areg> Also when I am connecting a windows machine, I can see steram via vlc
[09:17:24 CET] <c_14> What command are you using?
[09:18:03 CET] <areg> ffmpeg -i udp://@:1018 -preset fast -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -vcodec libx264  -b:v 1500k -maxrate 1500k -bufsize 8000k -g 60 -f flv rtmp://192.168.17.11/CNN_236/CNN
[09:18:40 CET] <c_14> add ?listen
[09:18:44 CET] <c_14> to the input url
[09:18:45 CET] <c_14> at the end
[09:19:50 CET] <areg> added, same, freezes, no output
[09:21:21 CET] <areg> also when trying -loglevel debug
[09:21:33 CET] <areg> only have the following output
[09:21:36 CET] <areg> [udp @ 0x52d8820] No default whitelist set [udp @ 0x52d8820] end receive buffer size reported is 131072
[09:22:13 CET] <c_14> can you receive the output using something like netcat?
[09:25:12 CET] <areg> nc stream_ip udp_port?
[09:25:36 CET] <c_14> I think it's nc -lU stream_ip port
[09:25:55 CET] <areg> OK, thank you, let me try
[09:25:59 CET] <c_14> -u
[09:26:22 CET] <c_14> (though it probably depends on which netcat version you have)
[09:28:00 CET] <areg>  nc -u 192.168.17.12 1018 and nc -lU 192.168.17.12 1018, both freezes no output
[09:28:49 CET] <c_14> -l -u
[09:29:26 CET] <areg> nc -l -u 192.168.17.12 1018
[09:29:41 CET] <areg> no output again
[09:30:16 CET] <c_14> but tcpdump shows output?
[09:31:09 CET] <areg> root at en-ye2:/home/encoder2# tcpdump -i any port 1018 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes 12:30:43.752815 IP 10.14.25.10.20007 > 192.168.4.12.1018: UDP, length 1316
[09:31:15 CET] <areg> yes
[09:32:08 CET] <c_14> >192.168.4.12
[09:32:12 CET] <c_14> why are you listening on 17.12?
[09:33:44 CET] <areg> sorry, I wrote my second inteface IP, but same for 4.12
[09:34:00 CET] <areg> root at en-ye2:/home/encoder2# nc -lU 192.168.4.12 1018 ^C root at en-ye2:/home/encoder2# nc -u 192.168.4.12 1018 ^C root at en-ye2:/home/encoder2# nc -l -u 192.168.4.12 1018 ^C
[09:36:12 CET] <c_14> Can you run the last netcat command again and then check it's actually listening on the correct port? (using ss -ulpen or something)
[09:36:19 CET] <c_14> to make sure the syntax is correct
[09:44:12 CET] <areg> sure
[09:45:48 CET] <areg> UNCONN     0      0                                             192.168.4.12:1018                                                                 *:*                   users:(("nc",pid=6472,fd=3)) ino:107555191 sk:5 <->
[09:49:10 CET] <c_14> try setting tcpdump to explicitly listen on the interface that has the ip instead of any
[09:50:25 CET] <c_14> you said the firewall is turned off, how did you verify that?
[09:55:12 CET] <areg> iptables -L -nv --line
[09:55:16 CET] <areg> no rules there
[09:55:31 CET] <areg> before that I did iptables -F
[09:55:36 CET] <areg> to flush all rules
[09:57:22 CET] <areg> root at en-ye2:/home/encoder2# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: p1p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
[09:57:39 CET] <areg> root at en-ye2:/home/encoder2# tcpdump -i p1p1 port 1018 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on p1p1, link-type EN10MB (Ethernet), capture size 262144 bytes 12:56:48.897196 IP 10.14.25.10.20007 > 192.168.4.12.1018: UDP, length 1316
[10:01:43 CET] <c_14> that ip a output doesn't list any addresses for p1p1
[10:05:25 CET] <areg> root at en-ye2:/home/encoder2# ifconfig p1p1 p1p1      Link encap:Ethernet  HWaddr 18:a6:f7:01:a4:8a           inet addr:192.168.4.12  Bcast:192.168.4.255  Mask:255.255.255.0           inet6 addr: fe80::1aa6:f7ff:fe01:a48a/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:1012551043 errors:0 dropped:33398 overruns:0 frame:0           TX packets:9891 errors:0 dropped:0 overruns:0 carrier:0     
[10:10:21 CET] <c_14> how about ffmpeg -i udp://192.168.4.12:1018?listen -f null - ?
[10:15:21 CET] <areg> I solve the problem, encoder has no back route to stream pushong device
[10:16:47 CET] <areg> I thought that if device is pughing via udp it doesn't need back route
[10:18:52 CET] <areg> thank you very much c_14
[10:21:12 CET] <xpheres> hello
[10:29:07 CET] <jcelerier> hello :)
[10:30:49 CET] <jcelerier> the documentation mentions the HAP video codec, but when I try "ffmpeg ... -c:v HAP ..." I get "unknown encoder 'HAP'". I also tried with hap, Hap... anybody knows what is necessary to do if I want to encode using this codec ?
[10:31:28 CET] <nonex86> check ffmpeg -encoders
[10:31:43 CET] <nonex86> and see the list available encoders in your ffmpeg build
[10:32:44 CET] <jcelerier> doesn't seems to be in it :( do you know if the release builds on the ffmpeg website have a maximal set of codecs ? or should I go for the recompile route
[10:32:47 CET] <nonex86> if its not listed in output, but you know its really exists, you should rebuild ffmpeg with the hap support
[10:33:51 CET] <nonex86> jcelerier: for which host os?
[10:45:48 CET] <jcelerier> nonex86: hopefully all the major ones ?
[10:46:01 CET] <jcelerier> linux, macos, win..
[10:47:00 CET] <nonex86> i mean which one you plan to run on :) or all of them?
[10:52:25 CET] <jcelerier> yep, all of them :p
[10:58:11 CET] <nonex86> guess its better to build ffmpeg yourself ;p
[10:58:25 CET] <thebombzen> so... I did a quick comparison of hevc_nvenc and it appears that hevc_nvenc is worse than libx264 in terms of quality per bitrate, at least according to my "I just looked at it" standards
[10:58:58 CET] <thebombzen> but hevc is a newer codec than h.264 by like a decade... so I'm just wondering... does nvenc's hevc encoder just suck? or am I missing something
[10:59:57 CET] <thebombzen> oops
[11:00:05 CET] <Pandela> I didnt build mine and I have " DEVIL: hap  Vidvox Hap decoder" in the listed codecs when I enter ffmpeg -codecs
[11:00:33 CET] <Pandela> So maybe you need another version?
[11:01:58 CET] <thebombzen> as for numbers, I have a 1920x1080 video stream at 60 frames per second... if I encode it with libx264 and hevc_nvenc at 10 Mbps, the x264 one looks significantly better (albeit far slower)
[11:02:48 CET] <thebombzen> this is not quite fair because I'm not actually using 10 Mbps but I used the crf that gives me 10 Mbps - in this case, it's crf 21.
[11:03:40 CET] <thebombzen> am I missing something? or is hevc_nvenc just awful
[11:04:05 CET] <jkqxz> No, you aren't missing anything.  All hardware H.265 encoders are awful.
[11:06:34 CET] <jkqxz> Making a good H.265 stream requires testing many variations on everything in the encode, and speed-oriented hardware is just no good at that.
[11:08:48 CET] <BtbN> nvenc is also especialy bad with CBR
[11:09:01 CET] <BtbN> you can tune it a bit, by using a diffrent preset and its obscure 2pass mode tho
[11:09:13 CET] <BtbN> But it will always be worse than a software encoder
[11:09:35 CET] <BtbN> At least you can get decent quality out of the hevc encoder, so as an intermediate stream it's more than useful now
[11:15:18 CET] <thebombzen> BtbN: I found the 2pass mode and it's slightly better, but it's just worse than x264
[11:16:33 CET] <jkqxz> Well, what do you want out of it?  You use hardware encoders because they are fast.  If you care about quality, you don't use them.
[11:18:18 CET] <thebombzen> I was wondering why I would ever use a hardware encoder given how crappy quality it is
[11:18:21 CET] <thebombzen> but you're right, it's very fast
[11:19:26 CET] <thebombzen> I think that the most realistic use case here is hevc_nvenc -preset lossless, which my minimal data shows is larger than libx264 -preset veryfast -crf 0 but not by much (150 Mbps to 200 Mbps)
[11:19:37 CET] <thebombzen> although it encodes it in something like 3 to 4 times realtime without a heavy cpu load
[11:21:06 CET] <BtbN> There are a lot of scenarios where you don't care about it producing bigger files
[11:21:18 CET] <BtbN> Or where a quality hit is ok
[11:21:32 CET] <BtbN> Or is non existent anyway, because you are recording yourself playing chess.
[11:25:34 CET] <Pandela> Is there a command to set the keyframe interval on any codec? Or is it codec specific?
[11:26:01 CET] <Pandela> like
[11:26:10 CET] <Pandela> -x264opts keyint=99999:min-keyint=999999 for example ;p
[11:26:58 CET] <llamapixel> BtbN: You are either taking rendered content from less compressed content and exporting, or trying to recover a certain quality for export ;)
[11:27:29 CET] <BtbN> what?
[11:28:04 CET] <BtbN> You seem to have missed a lot of the recent things people do with videos.
[11:28:23 CET] <BtbN> For example the Steam Remote-Play uses hardware encoders like nvenc
[11:28:24 CET] <llamapixel> [1] You can render the content from produced material [2] You are trying to improve the content with the current format you have.
[11:28:42 CET] <BtbN> it doesn't matter that it's 50Mbit/s, as it's streamed over local LAN only anyway
[11:28:51 CET] <BtbN> But it does matter that it doesn't occupy the CPU for the game.
[11:29:12 CET] <llamapixel> So you realise this is where you dont understand the problem right?
[11:29:21 CET] <BtbN> And there are a lot of other cases where hardware encoders make sense.
[11:29:46 CET] <BtbN> There is no Problem to realize, you just want to use a hardware encoder for something it's not meant for.
[11:30:10 CET] <llamapixel> no encoder will improve what you have that is compressed mate.
[11:30:26 CET] <BtbN> true, but unrelated to hardware encoders.
[11:30:29 CET] <llamapixel> Would you like a little lesson?
[11:30:50 CET] <BtbN> same goes for libx264, and any other lossy encoder.
[11:31:03 CET] <llamapixel> words...
[11:31:56 CET] <BtbN> And your desktop or gameplay you are capturing is usually not compressed.
[11:32:11 CET] <llamapixel> please stop now.
[11:32:36 CET] <llamapixel> You have some very basic elements that are way off target.
[11:32:49 CET] <BtbN> No, you just seem to have missed the point entirely.
[11:32:58 CET] <llamapixel> ok sure :)
[11:33:28 CET] <llamapixel> You know that uncompressed really means compressed to a degree right?
[11:34:35 CET] <BtbN> I'm talking about desktop/game capture... It's not even YUV420. Just plain perfect RGB.
[11:35:03 CET] <BtbN> And I think that's one of the most common usecases for hardware encoders like nvenc.
[11:35:18 CET] <llamapixel> idiots live in this day an age.
[11:35:38 CET] <llamapixel> You clearly have no comprehension of what I am trying to explain to you.
[11:35:59 CET] <llamapixel> Shall I continue or do you need to vent?
[11:43:20 CET] <llamapixel> Do we all agree that true uncompressed content is composed of the universe and uncompressed video is a slither of that mark ;)?
[11:44:02 CET] <llamapixel> at some point you have to capture the content in a constraint. colour/time
[11:44:43 CET] <thebombzen> [10:33:26] <llamapixel> You know that uncompressed really means compressed to a degree right?
[11:44:44 CET] <thebombzen> no
[11:44:48 CET] <thebombzen> that's not what uncompressed means.
[11:45:00 CET] <thebombzen> it means not compressed. it's not "compressed to a degree"
[11:45:53 CET] <thebombzen> if you're going on about how the universe doesn't have a framerate or a colorspace, that doesn't actually matter. because while the universe doesn't... the digital signal to your monitor does, and that's what we care about.
[11:46:20 CET] <llamapixel> you should listen to this idiot as well
[11:46:33 CET] <llamapixel> at some stage all codec are compressed mate
[11:46:59 CET] <llamapixel> animation codec which has an alpha channel is still compressed...
[11:47:10 CET] <thebombzen> BtbN is there a process for dealing with people like this
[11:47:22 CET] <BtbN> ignoring them usually works
[11:47:22 CET] <furq> have you tried not talking to him
[11:47:29 CET] <llamapixel> ignorance wins
[11:47:36 CET] <thebombzen> I'm not talking about misunderstanding or being wrong. I'm talking about like people who call each other idiots
[11:47:56 CET] <thebombzen> I mean there's probably some "don't be a jerk" rule here but I've never needed to ask about it ^_^
[11:48:00 CET] <llamapixel> dont use the compression word for things that are not true compression.
[11:48:35 CET] <llamapixel> everything you use in any video standard is compressed at some stage right?
[11:48:38 CET] <thebombzen> welp it's really late. I need to go to bed
[11:48:44 CET] <thebombzen> US user over here
[11:48:47 CET] <thebombzen> peace out
[11:48:49 CET] <llamapixel> murica
[11:49:58 CET] <llamapixel> If you guys cant understand a basic principle like that we have nothing to discuss. no video codec is going to capture real time or real colour.
[11:50:19 CET] <llamapixel> everything is compressed to a degree, uncompressed is for luddites.
[11:52:09 CET] <llamapixel> you left a little early thebombzen
[11:52:28 CET] <thebombzen> well I forgot that IRC has no server-side chat logs so if I want to answer a question in the morning it's nice to have the backlog
[11:52:34 CET] <thebombzen> so I started up my client again
[11:52:37 CET] <llamapixel> I was trying to explain that reality verse captured content is not a uncompressed.
[11:52:45 CET] <thebombzen> have fun. I'm going to bed.
[11:52:55 CET] <llamapixel> ignorance is bliss
[11:54:04 CET] <llamapixel> At the moment thebombzen we live in a world where a camera and the signal, including the capture rate cannot match reality. It is compressed at some stage...
[11:54:44 CET] <llamapixel> therefore everything in video is best described as compressed content...
[11:54:57 CET] <llamapixel> super simple...
[11:55:38 CET] <llamapixel> uncompressed content is for luddites who think we have reached that stage of capture.
[11:56:35 CET] <llamapixel> we know you haz data mate ;) https://thebombzen.github.io/
[11:58:48 CET] <llamapixel> You know leo that a render and a camera capture is compressed through a module of technology or a codec right?
[12:00:10 CET] <llamapixel> oh dear a shaker leo?
[12:00:11 CET] <llamapixel> http://shakerite.com/lifestyle/2016/01/29/a-qa-with-a-famous-shaker-alum/
[12:00:26 CET] <llamapixel> god will save you from reality mate.
[12:06:24 CET] <llamapixel> irccloud is a server side chat log thebombzen
[12:06:34 CET] <llamapixel> more derp and god mate
[12:26:45 CET] <Pandela> Is there a universal way to change the keyframe interval on specific codecs? I've tried to find documentation but I only see -keyint working with x264 and x265
[12:27:03 CET] <JEEB> -g is the GOP length parameter
[12:27:09 CET] <JEEB> in libavcodec globally
[12:31:06 CET] <Pandela> Thanks, hope it works :0
[12:37:15 CET] <Pandela> JEEB: So if I use -g 999999 I get "x265 [info]: Keyframe min / max / scenecut       : 24 / 250 / 40"
[12:37:35 CET] <Pandela> JEEB: But if I use -x265-params keyint=999999:min-keyint=999999 I get "x265 [info]: Keyframe min / max / scenecut       : 999999 / 999999 / 40"
[12:40:40 CET] <Pandela> I basically want to increase that incriment on any codec ffmpeg can encode, is that possible? I tried "-h encoder=libx264" and it didnt even list keyint even though its an option. So ya I'm kinda at a loss
[12:44:37 CET] <JEEB> -x264/265-params just passes things to libx264|x265
[12:44:52 CET] <JEEB> so libavcodec's libx264/5 wrapper can't know what it takes in
[12:45:09 CET] <JEEB> and you should check if the libx265 wrapper even uses the value for GOP length ;)
[12:45:37 CET] <JEEB> because while that is the global option, if someone just doesn't use the value that's a whole different issue :)
[12:47:27 CET] <c_14> it doesn't appear to
[12:49:35 CET] <Pandela> Thanks for the heads up
[12:49:48 CET] <c_14> (Patches Welcome)
[12:50:57 CET] <Pandela> I'm ultimately trying to change the keyframe interval on codecs like cavs and such but -g doesnt seem to be working on that one either
[12:53:02 CET] <c_14> Does that have an encoder?
[12:53:09 CET] <c_14> (in libavcodec)
[12:53:18 CET] <Pandela> libxavs I believe
[12:53:23 CET] <Pandela> ah
[12:53:39 CET] <c_14> that uses -g though
[12:58:03 CET] <Pandela> c_14: I used "ffmpeg -video_size 1280x720 -framerate 30 -f dshow -pixel_format yuv420p -i video="Logitech HD Webcam C525" -b:v 124k -vcodec cavs -g 99999 -r 24 -an -s 360x240 -f avi udp://192.168.1.222:1337"
[12:58:18 CET] <Pandela> And still got a butt load of keyframes in ffprobe :c
[12:58:26 CET] <c_14> well
[12:58:29 CET] <c_14> -g sets keyframe_max
[12:58:32 CET] <c_14> not min
[12:58:41 CET] <c_14> eh, keyint_max
[12:59:09 CET] <c_14> And many codecs insert keyframes on scene changes
[12:59:36 CET] <Pandela> Right right
[12:59:47 CET] <Pandela> I'm trying to have the least amount possible lol
[13:01:47 CET] <c_14> you'll have to do that per codec
[13:01:58 CET] <c_14> for libx264 you'll have to disable scenecut and a couple of other things
[13:02:02 CET] <c_14> And it'll differ per codec/encoder
[13:04:53 CET] <Pandela> Makes sense..So then where should I look for that info? libxavs for example doesnt have any documentation anywhere that lists it options
[13:05:33 CET] <c_14> ffmpeg -h encoder=libxavs
[13:05:53 CET] <c_14> not that there's anything interesting in there
[13:06:56 CET] <Pandela> Tried it lol, didnt see anything pertaining to keyframes
[13:07:04 CET] <c_14> You might need to check the libxavs API docs and possibly add options to the libavcodec wrapper
[13:07:46 CET] <c_14> libavcodec options are usually whatever the developer considered useful and by no means a complete superset of all available options
[13:08:08 CET] <Pandela> Ahhh okay, probably should have considered that
[13:08:17 CET] <Pandela> Thanks mate
[13:12:27 CET] <cnote> what is better codec  aac or opus or vorbis ?
[13:18:59 CET] <c_14> opus is better than vorbis, but aac vs opus is debatable
[13:19:06 CET] <c_14> very opinionated no clear answer
[13:20:00 CET] <furq> opus has better compression but aac is more widely supported
[13:20:31 CET] <furq> although at >=128kbps you'd have trouble spotting any difference
[13:23:05 CET] <c_14> AAC quality will also depend a lot on the encoder, bitrate and mode.
[13:59:50 CET] <kerio> c_14: but not opus?
[14:00:04 CET] <kerio> or do we also refer to a specific encoder when talking about opus?
[14:00:53 CET] <cnote> furq   what has problem play opus?
[14:00:56 CET] <cnote> playing*
[14:34:01 CET] <shersk> I have a problem, can't use the '-s' option when encoding.
[14:34:25 CET] <shersk> when using the vid.stab filter
[14:35:17 CET] <shersk> if I don't specify the pixel size of the video, the result is bad. too large pixels. that's why I need to specify the size.
[14:35:34 CET] <furq> what's the error
[14:35:37 CET] <DHE> are you using it properly? where you specify options on the command-line matters
[14:36:06 CET] <shersk> ffmpeg version N-82094-g0515176
[14:36:58 CET] <shersk> furq: thnx, I will check that
[14:37:16 CET] <shersk> DHE:  thnx, I will check that
[14:37:45 CET] <shersk> furq: "Option video_size not found."
[14:37:54 CET] <furq> are you specifying -s before -i
[14:37:59 CET] <furq> it should go after
[14:38:27 CET] <shersk> Ah, I see.
[14:38:42 CET] <shersk> It seems to be running now.
[14:38:55 CET] <DHE> called it
[14:40:57 CET] <shersk> thanks guys
[14:50:25 CET] <shersk> It runs, but the result is still very pixelated
[14:51:13 CET] <shersk> I have a file that is 1920x1088 but the result looks very pixelated after running it through two-pass vid.stab
[14:56:06 CET] <shersk> what am I doing wrong?
[14:57:10 CET] <DHE> please pastebin the full commandline and full output of ffmpeg to the pastebin of your choosing (as long as it doesn't suck :) so we can see it
[15:08:11 CET] <trfl> hey guys, trying to implement an rtsp server, almost managed to get ffmpeg and vlc to start playing my streams (i think...) ffmpeg is however complaining that the pixel format is unspecified when decoding the rtp stream
[15:08:32 CET] <trfl> how do you usually indicate the pixfmt to the client over rtp/rtsp?
[15:12:18 CET] <shersk> Enjoy: http://paste2.org/WtWbsFDb
[15:14:25 CET] <DHE> 4.2 megabits of mpeg4 (part-2) at 1080p isn't very high. normally I would suggest that kind of bitrate for h264. also the q value is quite high. I think you're just starving the codec for bitrate/quality
[15:15:19 CET] <DHE> suggestions would be to use libx264 instead (H264, aka mpeg4 part-10), raise the bitrate, or run in qp mode, probably with a setting of 10 as a starting point
[15:16:17 CET] <shersk> I don't have libx264
[15:16:40 CET] <DHE> also the input material is already 1920x1088 so using -s is redundant
[15:19:20 CET] <DHE> actually even the audio is the same. you might just want -c:a copy for the output
[15:20:39 CET] <CruX|> hi i'm transcoding from flac to ogg
[15:20:47 CET] <CruX|> flac gave vorbis tag
[15:20:54 CET] <CruX|> *have
[15:21:26 CET] <CruX|> and in ogg tag is doubled separated by ;
[15:21:29 CET] <CruX|> why ?
[15:25:18 CET] <shersk> DHE: You're right. I increased the bitrate, and it worked. thanks
[15:53:49 CET] <ringo_> Hello
[15:54:11 CET] <ringo_> what is the best latest version of ffmpeg to use? n3.2.2?
[15:56:20 CET] <__jack__> the best is the last stable: 3.2.2 !
[15:58:18 CET] <ringo_> that is what I thought ... thanks ... in git it is n3.2.2
[15:58:19 CET] <ringo_> the tag
[16:00:39 CET] <CruX|>     TITLE           : Flute;Flute
[16:00:40 CET] <CruX|>     ARTIST          : Barcode Brothers;Barcode Brothers
[16:05:12 CET] <FlyingBot> How to create some thubnails from a video file given a list of specific seconds (e.g. 15, 34, 102, etc) with a single ffmpeg call?
[16:05:47 CET] <c_14> kerio: when referring to opus, you're usually referring to libopus
[16:08:06 CET] <c_14> FlyingBot: do you care that it'll be much slower than using several calls?
[16:09:03 CET] <FlyingBot> Why would that happen?
[16:09:53 CET] <c_14> Because of the way seeking interacts with cmdline ffmpeg
[16:10:34 CET] <c_14> You can either seek while demuxing or while decoding, if you only want a shot at one point you can seek while demuxing which is fast if you want several then all but the first are while decoding which is slow
[16:11:33 CET] <FlyingBot> Thanks for the info. I'll try that.
[16:12:02 CET] <DHE> unless you need very precise frames, it would still be faster to run ffmpeg several times, one for each frame you want
[16:14:04 CET] <__jack__> (depends on IO, on the source storage; if you have to download the file, or are using a relatively slow device with a relatively big file, reading the whole dataset once may be faster)
[16:14:49 CET] <c_14> not really
[16:14:55 CET] <DHE> true. I tend to assume a local file on disk which will have some kind of index and would have said info cached in RAM once loaded for the first time.
[16:15:00 CET] <c_14> as long as the data storage supports byte seeks it'll still be faster
[16:15:22 CET] <c_14> http does with byteranges (assuming the server supports it)
[16:16:09 CET] <c_14> you'd only need the headers and the part with the image
[16:16:35 CET] <c_14> and if your IO is really so terribly slow it'll be much slower than the decoding and therefore definitely worth only grabbing parts and not the whole file
[16:19:39 CET] <DHE> the http transport supports that? nice
[16:21:54 CET] <c_14> Though I'm not sure ftp does, so if you're using that doing it once might be faster.
[17:57:52 CET] <nicolas> Hi, I need help. I'm using ffmpeg to record a website with phantom.js and stream that to Facebook Live, but I'm having trouble streaming at 30fps constantly, the fps progressively drops down to 10 fps.
[17:59:12 CET] <nicolas> hi ?
[17:59:38 CET] <nicolas> Could somebody help me?
[18:00:54 CET] <__jack__> feeling: CPU or IO saturation
[18:05:15 CET] <nicolas> HI Jack, thanks, I will try it immediately with a VPS with more resources
[19:43:42 CET] <styler2go> Hi, i have an folder on my HDD where i store many mp4 files i record (gameplay footage) and now i am lookign for a way to archivate them. What do you think? Is it better to just zip them up or convert them using ffmpeg? The file all have the same format: https://p.styler2go.de/8637390/
[19:45:17 CET] <styler2go> Oh, and the videostream bitrate is 32497kbit/s
[19:46:15 CET] <blb> styler2go: are they too big?
[19:46:39 CET] <styler2go> one has aroudn 1,14gb and there are a lot of them
[19:46:45 CET] <JerryT> "select='eq(mod(t-start_t\,60)\,0)+lt(mod(prev_selected_n\,5)\,4)'"  This grabs 5 frames every 60 seconds.  c_14 helped me with it late last night.  I'm curious though, is there a way to select 60 frames?
[19:46:47 CET] <styler2go> it's always 5 minute snippets
[19:47:15 CET] <JerryT> I believe the 5,4 go hand in hand, but I don't think it's as simple as 60,59
[19:47:39 CET] <blb> styler2go: it'd probably be better to convert, lowering the bitrate, than zipping
[19:48:43 CET] <t4nk910> Urghhh noob here. I installed FFMPEG with nvenc enabled using this guide https://github.com/lutris/ffmpeg-nvenc OBS works an absolute treat, but Tragtor seems to have defaulted to an older build of ffmpeg, so I assume I have two versions of FFMPEG installed.. the pre-installed version and the one I built... what is the way forward? Thanks in advance.
[19:49:00 CET] <styler2go> Ok.. i'll try to make me a script which converts them in background
[20:27:42 CET] <nicolas_> Hi, I need help. I'm using ffmpeg to record a website with phantom.js and stream that to Facebook Live, but I'm having trouble streaming at 30fps constantly, the fps progressively drops down to 10 fps.
[20:28:24 CET] <blb> which part is slow?
[20:29:49 CET] <nicolas_> this is the command ->      phantomjs runner.js | ffmpeg -threads 0 -y  -c:v png -r 30 -framerate 30 -thread_queue_size 512 -f image2pipe -i - -f lavfi -i anullsrc -acodec aac -strict experimental -ac 1 -ar 44100 -b:a 128k -c:v libx264 -s 800x480 -bufsize 512k -b:v 512k -pix_fmt yuv420p -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/715353888628280?ds=1&s_l=1&a=ATgRoW5_wucXf6NP" >> stream.log 2>&1
[20:31:14 CET] <nicolas_> but fps its too low i needd 30fps   -> frame= 1869 fps= 10 q=12.0 size=    1215kB time=00:01:00.56 bitrate= 164.4kbits/s
[20:32:25 CET] <blb> nicolas_: how about adding -preset veryfast
[20:33:17 CET] <blb> nicolas_: also, what rate does phantomjs write frames?
[20:34:44 CET] <nicolas_> its a interval  1000/30
[20:35:20 CET] <nicolas_> window.setInterval(function () {page.render('/dev/stdout', { format: 'png' });}, 1000/framerate);
[20:43:32 CET] <furq> JerryT: if you know the framerate you can simplify that to something like lt(mod(n\, 1500)\, 5)
[20:43:42 CET] <furq> 1500 for 25fps, 1800 for 30fps etc
[20:45:45 CET] <furq> then just change the 5 as needed
[20:47:41 CET] <furq> if you need it to work with any framerate then that's going to get complicated
[20:47:51 CET] <furq> the command you pasted only works when frames to grab < fps
[20:52:47 CET] <nicolas_> is this correct?  ->  window.setInterval(function () {page.render('/dev/stdout', { format: 'png' });}, 1800);
[22:34:41 CET] <cnote> is there any advantage of using "very slow" over "slow"
[22:35:21 CET] <furq> yes
[22:38:05 CET] <cnote> which is
[22:38:16 CET] <DHE> there is. you may save some file size and/or gain quality, but it will take a lot longer to process
[22:38:45 CET] <cnote> i noticed slower settings create bigger file size though
[22:39:01 CET] <furq> if they do then the file will look better
[22:39:44 CET] <DHE> if file size matters, use bitrate targetting mode
[22:42:13 CET] <cnote> dhe i don't think you should recommend people to use bitrate mode
[22:43:28 CET] <DHE> I would agree most of the time, but here you are complaining about file size. bitrate mode is the answer
[22:43:39 CET] <furq> fwiw i normally use -preset slower -bf 5 -subq 10
[22:43:47 CET] <DHE> that's a lot of bframes
[22:43:54 CET] <furq> veryslow uses 8
[22:44:01 CET] <cnote> dhe  yes i am complaining about file size,  but not really
[22:44:04 CET] <DHE> wow. do hardware players support that?
[22:44:07 CET] <furq> no idea
[22:44:15 CET] <furq> bluray players obviously don't
[22:44:28 CET] <cnote> i am not really complaining about filesize,   but i am complaining that  slower setting creates bigger file size
[22:44:50 CET] <cnote> because i would expect slower = smaller file size
[22:44:53 CET] <furq> crf isn't a constant between presets
[22:45:04 CET] <furq> crf 23 will look much worse with preset ultrafast than with veryslow
[22:45:43 CET] <cnote> furq  true, but  what about this:    crf 23 verslow  compared to crf 22 veryfast
[22:45:54 CET] <furq> shrug
[22:45:56 CET] <furq> try it and find out
[22:47:25 CET] <cnote> i would need pure uncompressed video  if i do such a test
[22:49:59 CET] <cnote> furq what does  -bf 5 -subq 10  do
[22:51:16 CET] <furq> http://dev.beandog.org/x264_preset_reference.html
[22:51:27 CET] <furq> bframes 5, subq 10
[22:51:46 CET] <furq> every other difference between slower and veryslow is less important in my experience
[22:52:06 CET] <furq> s/subq/subme/
[22:54:08 CET] <wodim> bframes = keyframes?
[22:54:16 CET] <furq> no
[22:54:39 CET] <furq> https://en.wikipedia.org/wiki/Video_compression_picture_types#Bi-directional_predicted_frames.2Fslices_.28B-frames.2Fslices.29
[23:00:48 CET] <thebombzen> what would be the reason to use a hardware decoder for something like H.264
[23:01:06 CET] <thebombzen> given that the native ffmpeg software decoder is already very good
[23:04:01 CET] <furq> it doesn't hit the cpu
[23:04:05 CET] <furq> that's the only reason
[00:00:00 CET] --- Sat Dec 10 2016



More information about the Ffmpeg-devel-irc mailing list