Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
January 2019
- 1 participants
- 62 discussions
[01:02:57 CET] <cone-092> ffmpeg 03Paul B Mahol 07release/2.8:8abdfe8392d0: avfilter/af_silenceremove: fix possible crash if supplied duration is negative
[01:02:57 CET] <cone-092> ffmpeg 03Paul B Mahol 07release/3.0:bdcbe9296a43: avfilter/af_silenceremove: fix possible crash if supplied duration is negative
[01:02:57 CET] <cone-092> ffmpeg 03Paul B Mahol 07release/3.1:7653e8db4deb: avfilter/af_silenceremove: fix possible crash if supplied duration is negative
[01:03:00 CET] <cone-092> ffmpeg 03Paul B Mahol 07release/3.2:4321092be3e3: avfilter/af_silenceremove: fix possible crash if supplied duration is negative
[01:03:02 CET] <cone-092> ffmpeg 03Paul B Mahol 07release/3.3:3d5762380d7d: avfilter/af_silenceremove: fix possible crash if supplied duration is negative
[01:03:05 CET] <cone-092> ffmpeg 03Paul B Mahol 07release/3.4:15b385efca6a: avfilter/af_silenceremove: fix possible crash if supplied duration is negative
[10:05:47 CET] <cone-712> ffmpeg 03Zhong Li 07master:74cf2dc3ac40: lavc/qsvenc: enable QVBR mode
[10:05:47 CET] <cone-712> ffmpeg 03Zhong Li 07master:260f1960e7e2: lavf/vaapi_deinterlace: return error if mode unsupported
[14:11:17 CET] <thardin> is there a good word for transforming data between planar and interleaved?
[14:12:08 CET] <thardin> "transposing" is all I can come up with
[14:13:25 CET] <nevcairiel> a single word that describes the process in both directions equally?
[14:14:52 CET] <ubitux> splitplane one way, interleave the other way, "packing" for both?
[14:16:17 CET] <Compn> parser ?
[14:16:36 CET] <Compn> bitstream filter?
[14:16:42 CET] <Compn> colorspace matrix
[14:16:51 CET] <Compn> no not colorspace
[14:17:08 CET] <nevcairiel> 4 lines, 4 times nonsense, you're on a roll =p
[14:20:26 CET] <thardin> I just put "planar vs interleaved" to describe my thinking
[14:20:47 CET] <thardin> this is for optimizing compression of some space science data
[14:25:49 CET] <kurosu> thardin: bobbing/weaving ?
[14:26:25 CET] <thardin> oh yeah, weaving works
[14:26:34 CET] <thardin> you can like imagine a needle or something going through the data
[14:26:49 CET] <kurosu> weaving is one of the classical words used there
[14:26:55 CET] <BBB> atomnuker: do you want to review patch !524 in dav1d? need someone who understands the arithcoder
[14:45:43 CET] <atomnuker> BBB: I've looked at it before, it looks fine
[14:47:58 CET] <BBB> atomnuker: can you leave a comment in the bugtracker so it's noted there as a reason for me to merge it?
[14:48:24 CET] <BBB> it's useful to have a written record of the approval chain etc. etc. bla bla
[19:06:44 CET] <kierank> durandal_1707: can you review https://ffmpeg.org/pipermail/ffmpeg-devel/2019-January/239279.html
[00:00:00 CET] --- Sat Jan 26 2019
1
0
[02:11:14 CET] <Hello71> does ffserver still compile? is it likely that it will stop compiling?
[09:00:37 CET] <BazookaJoe> Does anyone know where to find lgpl pre-compiled dlls of ffmpeg?
[09:01:35 CET] <JEEB> nope, although thankfully compiling FFmpeg with either mingw-w64 or new enough MSVC isn't too hard
[09:02:28 CET] <JEEB> (I think we still support MSVC 2013+ as long as latest updates are applied)
[09:05:05 CET] <BazookaJoe> I tried using media-autobuild_suite, but couldn't find way to compile tagged version
[09:05:26 CET] <BazookaJoe> it just builds master
[09:05:53 CET] <JEEB> usually those things build a whole crapload of dependencies, you should generally decide on which libraries you want based on which encoders you need
[09:06:04 CET] <JEEB> since 99% of all decoders are built-in
[09:07:33 CET] <BazookaJoe> Is there 'dependencies' I should be aware of? I mean, if I will checkout some tag of ffmpeg, make sure the script will not checkout master again, I can assume that there will be no dependencies errors?
[09:10:05 CET] <JEEB> if it has built already then you have the basics, such as "some shell to run the configure script and make to run the makefiles with the compiler that configure script sets/gets configured with"
[09:10:20 CET] <JEEB> and then a C compiler and nasm for x86(_64)
[09:10:42 CET] <JEEB> you can look at the console output of running configure during a build
[09:11:11 CET] <JEEB> and then when you want to build a binary that you actually want to utilize, you add --disable-autodetect and specifically add --enable-* for what you exactly need
[09:12:49 CET] <BazookaJoe> (thanks for the help!)
[09:12:54 CET] <JEEB> generally dependencies are stuff like encoder libraries (although some are specifically requiring enable-gpl and/or enable-version3
[09:13:16 CET] <BazookaJoe> so does the 'core' of ffmpeg is just that one build of ffmpeg, without all the mess around it?
[09:14:05 CET] <JEEB> --disable-autodetect disables the enablement of most libraries, except some that are considered "system" things not sure which were such, but the list is really short
[09:15:09 CET] <furq> i can't imagine you need that for windows
[09:15:23 CET] <JEEB> yes you do, if you care about what you're depending on
[09:15:38 CET] <furq> well you're not going to accidentally pull in any gpl libs
[09:15:56 CET] <JEEB> I generally think of disable-autodetect as a good way of not enabling random things I didn't request :P
[09:16:13 CET] <furq> if you're trying to strip stuff out beyond that then sure
[09:17:20 CET] <JEEB> I just think disable-autodetect is a good default measure if you plan on distributing your binaries :P since everything can always be enabled
[09:18:02 CET] <JEEB> I think the most common things I enable are zlib,the windows schannel TLS and dxva2 and d3d11va hwaccels
[11:07:05 CET] <egrouse> so i have a script that randomly plays videos and sends them to a stream, but at the end of each video when it cycles to the next one it disconnects for like half a second until the next process starts. is there any way i can kind of just send a black image in this time? so theres no 'downtime' in between
[11:07:26 CET] <egrouse> i thought perhaps if i use the image as source 1 (background) and then brought in the 'stream' as source 2 then when the stream is down it would fallback to the image
[11:07:30 CET] <egrouse> but i dont know if thats logical?
[11:07:42 CET] <egrouse> /if what i want is possible
[11:08:10 CET] <furq> there's not really a good way to do that with ffmpeg unless you have an ordered list of all the videos in advance
[11:08:45 CET] <furq> and even then it's annoying because they all need to be the same format, dimensions etc
[11:12:22 CET] <egrouse> furq, yeah i thought that may be the case - concat filter?
[11:12:30 CET] <egrouse> i did look at that, but it threw issues due to conflicting formats
[11:12:45 CET] <egrouse> i can get a list easy enough; suppose i could just pre process everything to be the same in advance..
[11:12:53 CET] <egrouse> hmm
[13:51:27 CET] <egrouse> if my video is already in x264 and my audio is already in aac can i use copy automatically and otherwise reencode? or will i have to check it first, and then run a different command dependant on result
[13:51:39 CET] <egrouse> i.e. can it fallback to reencoding if copy would not result in 264/aac
[13:56:55 CET] <furq> yeah but ffmpeg won't do it for you
[13:56:57 CET] <BtbN> *h264
[13:56:58 CET] <furq> it's easy enough to automate with ffprobe
[13:58:17 CET] <furq> [ $(ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nk=1:nw=1 foo.mkv) == h264 ]
[14:05:16 CET] <egrouse> furq, thank you - looks to be exactly what i need
[14:05:27 CET] <egrouse> not seen ffprobe before, seems handy
[14:05:44 CET] <furq> http://vpaste.net/Dk1EP
[14:05:49 CET] <furq> you might want to steal that for your bashrc
[14:05:51 CET] <furq> i use it a lot
[14:06:51 CET] <egrouse> perfect - thanks so much :)
[14:53:42 CET] <bendikrb> Hi everybody! I'm making a video clip where I've put a semi-transparent black bar at the bottom of the frame. so far, so good. But now I want to animate the height of this bar (the bottom part of it should stay in place, and the top should animate upwards to its final height)
[14:54:04 CET] <bendikrb> any ideas on how I could do that anyone? ;)
[15:54:34 CET] <atbd> hi, how do you handle mpegts rollover when using ffmpeg api ? For now i have timestamps and DTS error and nothing is written after that
[15:55:32 CET] <JEEB> in input lavf in theory should be making your timestamps constantly rising, but it seems to bork after the first wrap-around
[15:55:42 CET] <JEEB> in output you just keep rising the values and the muxer *should* do the right thing
[15:56:52 CET] <DHE> but the demuxer will return the raw bits. so it's on you to add (1UL<<33) to all DTS values every time they wrap. (See also pts_wrap_bits in AVStream (?))
[15:57:07 CET] <DHE> also correct the PTS with the rule PTS >= DTS
[15:57:09 CET] <JEEB> DHE: uhh
[15:57:15 CET] <JEEB> lavf has wrap-around code
[15:57:30 CET] <JEEB> so the demuxer will return the original timestamp yes
[15:57:34 CET] <DHE> JEEB: it breaks when it comes back around to its original values
[15:57:37 CET] <JEEB> but lavf utils will handle it *once*
[15:57:43 CET] <DHE> yep. for mpegts that's 26.5 hours
[15:57:45 CET] <JEEB> yes, I said that exactly just now
[15:57:59 CET] <JEEB> > but it seems to bork after the first wrap-around
[15:58:53 CET] <DHE> yeah. I actually did write a transcoder app for 24/7 handling of mpegts which handles all of this
[15:58:54 CET] <JEEB> so technically no the demuxer (for an API user) will not be returning raw bits (as in, that is not the spec of it). It will start doing it *after* the first time it happens, but that is a bug. so I'd like it being noted like that
[15:59:06 CET] <JEEB> I only herped a derp at your wording :P
[15:59:31 CET] <JEEB> it's likely there's an option in lavf to disable the lavf utility from happening, but not sure :P
[15:59:37 CET] <Mavrik> mpegts isn't quite linear anyway and ffmpeg will bork on it
[15:59:43 CET] <Mavrik> so manual fixing tends to be required :)
[15:59:49 CET] <JEEB> quite likely
[15:59:52 CET] <Mavrik> (assuming that its a live stream)
[15:59:55 CET] <DHE> av_dict_set_int(&dict, "correct_ts_overflow", 0, 0); av_dict_set(&dict, "avoid_negative_ts", "disabled", 0); // this is what I'm doing
[15:59:57 CET] <JEEB> (but there are some really stable streams)
[16:01:10 CET] <analogical> how do I extract only the audio from a file without any re-encoding?
[16:01:23 CET] <JEEB> DHE: for the record I'm not at all trying to ridicule your experience or anything, just noting that telling someone that the demuxer returns original timestamps as-is by default is kind of... not true
[16:01:30 CET] <JEEB> you will not get the original bits *by default*
[16:01:47 CET] <JEEB> and yea, the ts_overflow thing probably
[16:01:51 CET] <DHE> yeah that's probably my fault for using this app so long with these settings I've forgotten the default behaviour
[16:02:16 CET] <JEEB> avoid_negative_ts is mostly used in muxing I think
[16:02:21 CET] <JEEB> (movenc) etc
[16:03:00 CET] <DHE> maybe it's not required. I just took every setting I could find that might tamper with the source inputs
[16:03:13 CET] <JEEB> nah, it's a good one
[16:04:27 CET] <JEEB> DHE: and yea, as an API user I 100% understand stopping lavf from poking the timestamps :D
[16:04:36 CET] <JEEB> esp. since mpeg-ts handling tends to be abrupt
[16:05:00 CET] <JEEB> (I have one patch for that around from Japan which I should post on ML)
[16:30:40 CET] <atbd> JEEB DHE: thanks! I will try those settings + check correct pts/dts as you said. If you have examples of this i could take a look ^^'
[16:33:35 CET] <DHE> I don't think I can share large code segments on this one. I have a function aptly named fix_timestamps(AVPacket*) which will ensure the video stream has a rule-abiding consistent DTS, and that all other streams are as close to its values as possible. then PTS >= DTS to settle on the PTS wrapping position.
[16:37:04 CET] <atbd> okay i will make a function like this to check input AVPackets
[16:37:06 CET] <atbd> thank you
[17:12:00 CET] <sn00ker> hi all
[17:16:59 CET] <sn00ker> https://nopaste.linux-dev.org/?1191882
[17:17:05 CET] <sn00ker> can everyone helped me?
[17:17:33 CET] <pink_mist> no; I certainly can't
[17:17:46 CET] <pink_mist> so everyone can't
[17:18:24 CET] <sn00ker> sry
[17:18:27 CET] <sn00ker> anyone :)
[17:18:34 CET] <egrouse> sn00ker, this is a rather insane coincidence but im pretty much attempting to do exactly the same thing
[17:18:41 CET] <egrouse> you've got it further than me, though
[17:18:46 CET] <egrouse> im still just accepting the rtmp drops
[17:20:08 CET] <sn00ker> that's interesting :) then we can develop together:) everything runs perfectly for me. about another script I can even connect to my own "software" with obs what I can then live in the stream
[17:20:48 CET] <sn00ker> I have only the problem that the sound is not syncron. may I ask on which rtmp server to set? I had some worries at the beginning but now it works perfectly
[17:22:46 CET] <egrouse> wow we are doing the same thing
[17:22:47 CET] <egrouse> haha
[17:22:58 CET] <egrouse> i am using nginx-rtmp
[17:24:02 CET] <sn00ker> OK. I found "mistserver" after a long search. nice graphic surface. especially when operating on a server where not everyone should play around on the bash is very great and runs very stable
[17:26:23 CET] <sn00ker> I have to say to me though. that my problem occurs only with a virtual sound card. With a real sound card everything works wonderfully. even if sound card is real and the video is a virtual interface. So it has to be on the audio loop
[17:40:23 CET] <brimstone> i'm having problems with ffmpeg burning in subtitles. I'm not getting any errors, it seems like ffmpeg is reading the subtitles file, but the output doesn't have the subtitles burned into it. https://pastebin.com/8R3Epjzj
[18:22:07 CET] <kepstin> brimstone: the issue is due to the seeking, the subtitles filter doesn't see the original timestamps with that command so they're not lined up right
[18:23:14 CET] <kepstin> brimstone: try this command: `ffmpeg -copyts -ss 00:00:59 -to 00:01:04 -i input.mp4 -vf "subtitles=f=input.srt:charenc=latin1" -y test.mp4`
[18:24:11 CET] <kepstin> although note this might run into other issues, since the output timestamps won't start at 0; you might be able to fix that by adding additional filters to edit the timestamps.
[18:24:35 CET] <kepstin> sticking `,setpts=PTS-STARTPTS` on the end of your video filter, and adding `-af asetpts=PTS-STARTPTS`
[18:26:22 CET] <kepstin> i kinda wish the subtitles filter had a timestamp offset option
[19:03:48 CET] <brimstone> kepstin: nice! thanks
[19:03:56 CET] <brimstone> seems like -copyts helps, they actually show up now
[19:04:20 CET] <brimstone> i don't need any audio, so i can ignore the -af, right?
[19:05:10 CET] <kepstin> Well, if you don't want audio you should turn it off, either use -an or the map options
[19:05:54 CET] <brimstone> ah, right
[19:43:31 CET] <tempaccount1987> Hey guys this may be the wrong channel but in c# the only way I can run ffmpeg is through cli (starting the process and passing arguments) I can't get ffmpeg nightly to work, anyone have any suggestions on how I can get around not passing to CLI?
[19:44:34 CET] <JEEB> see doc/examples and the doxygen for API usage?
[19:45:39 CET] <tempaccount1987> @JEEB are you speaking to me?
[19:45:54 CET] <pink_mist> yes he is
[19:46:03 CET] <tempaccount1987> The issue is I can get it to work, it's just the speed is killing me.
[19:46:10 CET] <tempaccount1987> Is there any other options for C#?
[19:46:51 CET] <tempaccount1987> Sorry I should have been more specific, I have the stand alone build working through CLI.
[19:47:14 CET] <tempaccount1987> I'm just looking for C# libraries or other ways I can speed up Av1 encoding / decoding.
[19:48:25 CET] <kepstin> av1 is just gonna be slow
[19:48:29 CET] <kepstin> no way around that
[19:51:19 CET] <tempaccount1987> Daaarn.
[19:51:42 CET] <tempaccount1987> I'm doing research into moving from webp to Av1
[19:51:58 CET] <tempaccount1987> Should I just suggest that the current state it will be slower to encode/decode.
[19:52:33 CET] <JEEB> decoding is fast enough with dav1d
[19:52:35 CET] <JEEB> but encoding, yes
[19:52:36 CET] <JEEB> it's slow
[19:52:59 CET] <tempaccount1987> I've been looking at Dav1d, what is offered?
[19:53:03 CET] <tempaccount1987> c++ libs?
[19:53:06 CET] <JEEB> C
[19:53:11 CET] <JEEB> also FFmpeg has a wrapper for it
[19:53:11 CET] <tempaccount1987> oof
[19:53:20 CET] <tempaccount1987> Would it be faster~
[19:53:20 CET] <JEEB> so you can just use it through FFmpeg's libavcodec
[19:53:27 CET] <JEEB> faster than libaom's decoder? yes
[19:53:35 CET] <tempaccount1987> I'm currently using libaom for ffmpeg
[19:53:38 CET] <JEEB> http://www.jbkempf.com/blog/post/2018/dav1d-toward-the-first-release
[19:54:03 CET] <JEEB> libaom is the reference implementation, dav1d is a project sponsored by AOM to make a *fast* decoder
[19:55:08 CET] <tempaccount1987> I really appreciate all your help, a few last questions, do you guys have any metrics on decoding av1 to raw pixel data RGB?
[19:55:28 CET] <JEEB> most video is not RGB so that would also add a YCbCr->RGB conversion there
[19:55:40 CET] <JEEB> whihc you probably didn't mean to imply :P
[19:56:16 CET] <JEEB> also that blog post has some performance numbers for dav1d
[19:56:25 CET] <JEEB> not all of them are percentages
[19:57:59 CET] <JEEB> so yea, playing AV1 is possible but encoding is a bit more uhhh
[19:59:10 CET] <tempaccount1987> Building out Dav1d will still only offer cli?
[19:59:27 CET] <JEEB> uhh
[19:59:33 CET] <Hello71> createprocess is not *that* slow
[19:59:38 CET] <Hello71> even though windows sucks
[19:59:55 CET] <JEEB> dav1d will have a test cli application as well as a library, but you generally use it through the library :P
[19:59:56 CET] <tempaccount1987> This is for images,
[20:00:02 CET] <JEEB> like FFmpeg does if you enable libdav1d
[20:00:20 CET] <tempaccount1987> I should have stated it's for images not video
[20:00:33 CET] <JEEB> at least you only have a single image to encode then :P
[20:00:52 CET] <tempaccount1987> _The only issue is starting those CLI processes :P_
[20:01:06 CET] <JEEB> then use the API?
[20:01:17 CET] <JEEB> C# has an OK C interface if I recall correctly
[20:08:37 CET] <BtbN> The C# C insterface has a few major annoyances
[20:08:49 CET] <BtbN> Like, it doesn't have proper types that match up with C types correctly
[20:09:23 CET] <BtbN> And as C# code can be either run as 32 or 64 bit depending on the platform, that makes for some "fun" workarounds
[20:09:52 CET] <BtbN> If the C api uses only types with a fixed size, so, uint32_t and the like, it's very straight forward though
[20:10:45 CET] <BtbN> Or you end up using an IntPtr for a lot of non-pointer-variables, just because the size happens to match up
[20:19:21 CET] Action: meredydd waves to durandal_1707
[20:20:46 CET] <meredydd> Thanks for your help last week. It put me on the right track to work out that what I really wanted was a "delay" filter to match the existing "adelay". I now have it working - patch incoming :)
[20:38:54 CET] <sn00ker> no one can me help?
[23:18:28 CET] <SpeakerToMeat> Hello all
[23:18:49 CET] <SpeakerToMeat> I have an audio file I'm remuxing untranscoded from a wav into an mxf op1a.
[23:19:32 CET] <SpeakerToMeat> My question is, the original file has 1 stream with 2 channels (stereo). on the mxf I would like them to be on two streams, first channel (left) on the first stream, second (right) on the second... how do I achieve that? map?
[23:28:04 CET] <furq> SpeakerToMeat: -map_channel
[23:31:58 CET] <SpeakerToMeat> Hmm it's not including the audio... : ffmpeg -i video.mxf -i audio.wav -map 0:v -map_channel 1.0.0 -map_channel 1.0.1 -codec copy output.mxf
[23:32:06 CET] <SpeakerToMeat> Is producing only a video stream (0:0)
[23:32:55 CET] <SpeakerToMeat> Though it IS listed in the inputs: Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
[23:34:15 CET] <SpeakerToMeat> sigh for now I'll pre split the file and do it that way
[23:39:38 CET] <SpeakerToMeat> Until I learn what my mistake is
[00:00:00 CET] --- Sat Jan 26 2019
1
0
[00:14:36 CET] <cone-215> ffmpeg 03Mark Thompson 07master:26ce3a43a35f: vaapi_encode: Allocate picture-private data in generic code
[00:14:37 CET] <cone-215> ffmpeg 03Mark Thompson 07master:5fdcf85bbffe: vaapi_encode: Convert to send/receive API
[00:14:38 CET] <cone-215> ffmpeg 03Mark Thompson 07master:494bd8df782e: vaapi_encode: Let the reconstructed frame pool be sized dynamically
[00:14:39 CET] <cone-215> ffmpeg 03Mark Thompson 07master:25c0ede93b9c: vaapi_encode_h264: Support more complex reference structures
[00:14:40 CET] <cone-215> ffmpeg 03Mark Thompson 07master:362992e94bcc: vaapi_encode_h265: Support more complex reference structures
[00:14:41 CET] <cone-215> ffmpeg 03Mark Thompson 07master:916b3b9079f7: vaapi_encode_vp9: Support more complex reference structures
[00:30:38 CET] <cone-215> ffmpeg 03Zachary Zhou 07master:b8ebce4f84b6: libavfilter: add transpose_vaapi filter
[12:55:53 CET] <cone-548> ffmpeg 03Carl Eugen Hoyos 07master:406f8d9c9a10: lavf/movenc: Mention video_track_timescale as option to fix the timescale.
[13:10:18 CET] <cone-548> ffmpeg 03Carl Eugen Hoyos 07master:93b967157d27: lavf/supenc: Remove some unneeded casts.
[16:08:24 CET] <cone-548> ffmpeg 03Guo, Yejun 07master:e0ad7d57415b: avcodec/libx265: add support for ROI-based encoding
[17:39:41 CET] <cone-548> ffmpeg 03Gyan Doshi 07master:3224d6691cdc: avfilter/afade+acrossfade: allow skipping fade on inputs
[00:00:00 CET] --- Fri Jan 25 2019
1
0
[00:11:26 CET] <Zexaron> oh
[00:14:34 CET] <Zexaron> I also get warning:
[00:14:35 CET] <Zexaron> Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (DCS 2019-01-23 21-50-35-16.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[00:18:09 CET] <Zexaron> something wrong with the file, it's buggy, doesn't want to play or finish, i'll fiddle it next time
[00:20:58 CET] <MichaelJoel> is there some options I need to set when converting a .mov to .mp4 to get it to work right in windows media player? Possibly something everyone else knows that I dont?
[00:28:37 CET] <relaxed> MichaelJoel: ffmpeg -i input.mov -c copy -movflags +faststart output.mp4
[00:29:03 CET] <relaxed> you mean it won't play at all?
[00:31:23 CET] <MichaelJoel> it plays the audio with a black screen. if I run it with ffplay it works or if I play it over html5 video tag it works, just not windows media player
[00:31:41 CET] <relaxed> windows version?
[00:32:46 CET] <relaxed> pastebin.com the ffmpeg -i output on the file that won't play
[00:33:51 CET] <MichaelJoel> 7
[00:38:58 CET] <relaxed> MichaelJoel: pastebin ^^
[00:42:46 CET] <MichaelJoel> https://parksandsonspiano.com/ffmpeg.html
[00:43:39 CET] <Mavrik> 4:2:2 ? What was that captured on? :)
[00:44:19 CET] <MichaelJoel> lower cost digital camera
[00:44:19 CET] <MichaelJoel> :D
[00:44:30 CET] <relaxed> yeah, ffmpeg -i input.mov -c copy -c:v libx264 -pix_fmt yuv420p -crf 18 -movflags +faststart output.mp4
[00:44:31 CET] <Mavrik> Neat.
[00:44:54 CET] <Mavrik> Yeah, you'll have to reencode to YUV 4:2:0 for maximum compatibility. What relaxed posted :)
[00:45:07 CET] <MichaelJoel> ok thanks
[00:45:20 CET] <relaxed> https://trac.ffmpeg.org/wiki/Encode/H.264
[00:45:27 CET] <MichaelJoel> I'll put this information somewhere safe :D
[00:46:15 CET] <Mavrik> mhm, maybe even check camera settings if you can just record to 420 by default
[02:08:02 CET] <Lightsword> anyone know why Im not able to get ffmpeg to write mjpeg to v4l2loopback? Im trying ffmpeg -f v4l2 -input_format mjpeg -video_size 1280x720 -framerate 30 -i /dev/ffcamera -codec copy -f v4l2 /dev/ffrtpcam but I get this error https://0bin.net/paste/Wv4U9qS5kP8E6wFr#WuSWyia+FRcX0cQBNxYsOJBp4HxImuhRNcW…
[02:10:02 CET] <Lightsword> sending YUV with this command does work ffmpeg -f v4l2 -input_format mjpeg -video_size 1280x720 -framerate 30 -i /dev/ffcamera -codec rawvideo -pix_fmt yuv420p -f v4l2 /dev/ffrtpcam however it seems to have significant CPU overhead that I would like to eliminate by not having to transcode
[06:48:41 CET] <TheDcoder> I am looking for a way to capture the screen/desktop in my program easily, I came across a stackoverflow answer mentioning that ffmpeg is capable of doing that. I looked into the library documentation but I cannot find anything in particular, but I imagine ffmpeg would have some special devices for the screen which I can use
[06:49:11 CET] <TheDcoder> My question is, is ffmpeg good at recording the screen in a cross-platform manner? I am targeting Windows, Linux and macOS
[06:50:22 CET] <furq> TheDcoder: https://www.ffmpeg.org/ffmpeg-devices.html
[06:50:38 CET] <furq> avfoundation on osx, dshow/gdigrab on windows, x11grab/xcbgrab/kmsgrab on linux
[06:51:33 CET] <furq> and alsa/pulse/jack for audio on linux
[06:51:53 CET] <TheDcoder> very nice
[06:51:59 CET] <TheDcoder> thanks furq!
[06:52:04 CET] <TheDcoder> :)
[08:50:50 CET] <nadermx> I'm having a weird error, when I make a mp4 with two inputs, if I have a redirect in each input, the mp4 is unplayble, using quickstart. But if I use the inputs without a redirect, it works fine
[08:52:20 CET] <nadermx> it also is unplayable if one has a redirect and the other does not
[09:32:59 CET] <trysten> So, i've got a video that plays properly in vlc, but in firefox it has the wrong aspect ratio
[09:35:54 CET] <trysten> dang! it plays correctly in chrome!
[09:36:50 CET] <JEEB> you can check with L-SMASH's boxdumper regarding the values in the mp4 file itself (`boxdumper --box file.mp4`)
[09:37:11 CET] <JEEB> and then if there's nothing weird in there you can poke the firefox people on where they're parsing the aspect ratio from
[09:45:24 CET] <trysten> I don't have boxdumper (debian testing) but I got some info from `ffprobe -show_streams`. Where to get boxdumper?
[09:46:15 CET] <furq> https://github.com/l-smash/l-smash
[09:54:46 CET] <trysten> Ok it looks like firefox video player is ignoring the aspect ratio of 16:9 and displaying it at 5:4. To work around this, how should I re-encode at 5:4? Am I thinking about this right?
[09:57:27 CET] <JEEB> no
[10:26:49 CET] <trysten> :| JEEB, where can I learn more about DAR?
[10:29:39 CET] <trysten> You were right, firefox seems to be ignoring the mp4's DAR.
[10:30:05 CET] <trysten> Fine, I will compile lsmash >.>
[10:43:00 CET] <trysten> Alright, the file has to be scaled to look right. it's actual resolution is 5:4 but it must be displayed at 16:9. How do I un-noob myself here?
[10:43:12 CET] <trysten> I mean, where do I go to learn about this stuff so I know what I'm doing?
[10:43:51 CET] <Mavrik> So you have anamorphic video? :)
[10:44:11 CET] <Mavrik> Pastebin ffprobe output for your file and we can continue from there :)
[10:45:46 CET] <trysten> http://paste.debian.net/1062251
[10:46:23 CET] <trysten> Note the time stamp, I was being shy :) Thank you for answering
[10:47:06 CET] <furq> that ought to work just fine in firefox
[10:47:24 CET] <furq> i've never had issues with it respecting the container dar flag
[10:47:38 CET] <furq> and i don't think h264 has a stream dar flag, only sar
[10:47:51 CET] <furq> you might want to just remux it to ensure it's set everywhere though
[10:48:02 CET] <furq> -i foo.mp4 -map 0 -c copy -aspect 16:9 bar.mp4
[10:49:43 CET] <Mavrik> Yeah... or reencode to 1:1 pixels? :)
[10:50:04 CET] <furq> ew
[10:51:59 CET] <trysten> furq: remuxing with your command didn't seem to work. Here is the result if you want to try: http://tube.sleepyowl.com/aspect.mp4
[11:00:26 CET] <trysten> It would be cool if I could figure it out without re-encoding. I bet it's something weird with my source encoding
[11:01:39 CET] <th3_v0ice> What goes into the header of an x264 I frame?
[11:05:32 CET] <furq> trysten: that was unexpectedly annoying
[11:05:55 CET] <furq> -i foo.mp4 -map 0 -c copy -bsf:v h264_metadata=sample_aspect_ratio=16/11 bar.mp4
[11:06:52 CET] <trysten> furq: what was annoything, the video clip? Sorry, if so
[11:07:07 CET] <furq> no just figuring it out
[11:07:19 CET] <furq> i only watched the first two seconds
[11:07:27 CET] <trysten> oh! Did you?! *trying remux*
[11:08:43 CET] <trysten> You did it! Great job! So how did you find h264_metadata? Where did you get 16/11?
[11:09:23 CET] <furq> 16:11 is just the correct PAR for pal widescreen
[11:10:11 CET] <furq> i normally flake out and just set -aspect but setting the sar is the "correct" way to do it
[11:13:02 CET] <trysten> So thought something like "we need to change the stream properties. bsf does that, so let's use the h264 bsf"?
[11:13:45 CET] <furq> sure
[11:13:57 CET] <trysten> Then you ran ffmpeg -h bsf=h264_metadata and saw the option, and knew from your wisdom check roll that the PAL PAR was 16/11
[11:14:03 CET] <furq> that should really have been the first thing i did but i was too lazy to look up the correct par
[11:16:48 CET] <trysten> Thank you so much furq! Your experience is invaluable. I set the silly 64/45 PAR from the source file and now get the exact same dimensions that the video plays with in chrome. Problem solved!
[11:17:55 CET] <furq> oh right yeah
[11:18:00 CET] <furq> 64:45 is correct for 720 width
[11:18:05 CET] <furq> 16:11 is for 704 width
[11:18:15 CET] <furq> you probably wouldn't notice any difference but it's good to be accurate
[11:19:52 CET] <trysten> :) long live the tube! haha
[12:10:59 CET] <th3_v0ice> Is there a specific option while opening x264 encoder that will set pic_init_qp_minus26 ?
[12:17:17 CET] <DHE> what's that? I don't see it in the x264 source
[12:20:01 CET] <DHE> at the end of the day you can always do av_dict_set(&dict, "x264-params", "args that the x264 binary accepts", 0); avcodec_open2(context, x264codec, &dict); // and set any x264 option you want
[13:07:03 CET] <th3_v0ice> Its a parameter in PPS of an I frame. For some reason ZIXI broadcaster is changing it for my particular stream, I am not sure why. Thought that someone might have a hint
[14:24:24 CET] <atbd> hi, i'm using ffmpeg api to add metadata to AVFrame and side-data to AVPacket. It seems to work ok but when i'm reading the file i just generated i do not found my metadata and side data. I'm using av_dict_set to add metadata to AVFrame and av_packet_new_side_data for AVPacket
[14:24:37 CET] <atbd> Is there a specific moment to do it or method?
[14:27:04 CET] <DHE> it does depend on the codec involved. I don't think there's really an "arbitrary data alongside existing data" feature in, say, h264.
[14:27:58 CET] <atbd> i'm using h264 and libfdk_aac
[14:41:23 CET] <atbd> the lifetime of AVPacket::side_data depends on the format too?
[14:45:07 CET] <DHE> it rather depends. for example the A53 Closed Captions side data has a specific format inside h264 and the encoder will insert them appropriately. but that's only 1 of 2 types of side data it understands
[14:49:37 CET] <sn00ker> hi all
[14:50:28 CET] <sn00ker> how calculate the REAL target size? i have a script .. that runs fine.. but the movie dont have my target filesize
[14:51:46 CET] <sn00ker> https://nopaste.linux-dev.org/?1191832
[14:51:52 CET] <sn00ker> line 10, i set the target size
[14:52:18 CET] <sn00ker> 82 - 102 i calculate the bitrate
[15:28:29 CET] <atbd> thanks, i just read ffmpeg code/examples and it seems to be no way to add private data/metadata to AVPacket :/
[15:39:13 CET] <DHE> atbd: it may be possible to add your own private stream and then build your own AVPackets in the first place, but you can't reliably put your own metadata into existing AVFrames
[15:46:45 CET] <BtbN> That's a weird way of calculating the bitrate. Why do you multiply by 8192?
[15:46:50 CET] <BtbN> What unit is SSIZE?
[15:47:17 CET] <sn00ker> BtbN, SSIZE is du -m so size im MB
[15:47:38 CET] <BtbN> And why do you multiply that by 8192?
[15:47:41 CET] <sn00ker> BtbN, the 8192 i have from an website...
[15:48:52 CET] <BtbN> your two commandslines are also not very identical
[15:48:58 CET] <BtbN> particularily the first one is missing -c:v
[15:49:08 CET] <BtbN> and you are using different -map
[15:50:49 CET] <BtbN> 8192 might actually be correct, since you are passing ${bitrate}k. So from megabyte * 8 * 1024 you get kilobit
[15:52:59 CET] <sn00ker> ok, yes so the result is almost yes. So the video size is right but just the size plus the audio stream. So I have to subtract somehow the audio size of my SSIZE
[15:53:25 CET] <sn00ker> and map ... I need video 0: 0 and then I want only the German audio track
[15:55:19 CET] <BtbN> It's probably easier to just substract the audio bitrate from your final bitrate, since audio usually has fixed constant rate
[15:56:00 CET] <BtbN> Is the resulting movie larger or smaller than your target size?
[15:56:10 CET] <BtbN> Cause smaller is very well possible, if x264 can get by with less, it will
[15:56:44 CET] <sn00ker> So my wish would be that I then have the new video just with audio + video = $ SIZE and not like now video = $ SIZE + audio
[15:57:54 CET] <sn00ker> So there is still one missing. if file is larger than SSIZE then shrink to SSIZE else skip file and take the next one
[15:58:39 CET] <sn00ker> so at the end all files are less than or equal to SSIZE
[15:59:35 CET] <sn00ker> and the quality. yes, I'm currently playing with preset. So ultrafast is cruel. medium, I think ok. takes at 40min film but good 2 hours
[16:01:36 CET] <sn00ker> and before I forget it. ffmpeg creates yes ffmpeg.log ... and ffmpeg.log.mbtree but always where I start the script. how can I have them written in my $ WORKDIR?
[16:02:51 CET] <pink_mist> cd $WORKDIR; ffmpeg ...; cd - # :P
[16:03:07 CET] <sn00ker> xD
[16:06:15 CET] <atbd> DHE: okay thanks, i may try that
[17:10:38 CET] <sn00ker> how can i use snd_aloop with ffmpeg?
[17:12:02 CET] <sn00ker> ffmpeg -f alsa -ac 2 -i hw:0,0
[17:12:12 CET] <sn00ker> is ok.. but how i "send" audio to it?
[18:13:32 CET] <sn00ker> [alsa @ 0x561084dff640] sample format 0x15001 is not supported
[18:13:32 CET] <sn00ker> Could not write header for output file #1 (incorrect codec parameters ?): Function not implementedStream mapping:
[18:13:32 CET] <sn00ker> Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
[18:13:32 CET] <sn00ker> Stream #0:1 -> #1:0 (aac (native) -> mp3 (libmp3lame))
[18:13:36 CET] <sn00ker> i dont understand the error
[18:13:40 CET] <sn00ker> everyone can help?
[18:19:06 CET] <tdr> you'd need to paste the command you tried etc
[18:26:14 CET] <sn00ker> ok, so it works now .. so half .. now I have no sound and get such errors
[18:26:33 CET] <sn00ker> Past duration 0.898170 too large
[18:26:33 CET] <sn00ker> Past duration 0.932686 too large 11071kB time=00:03:20.78 bitrate= 451.7kbits/
[18:26:33 CET] <sn00ker> [alsa @ 0x557e58d46200] ALSA buffer xrun.
[18:26:33 CET] <sn00ker> Past duration 0.953667 too large 11080kB
[18:26:39 CET] <sn00ker> and the stream lags
[18:27:48 CET] <sn00ker> ffmpeg -f video4linux2 -i /dev/video0 -f alsa -acodec pcm_s32le -i hw:0 -f flv -vcodec libx264 -acodec aac -r 25 -s 640x260 rtmp://XXXXXXXXX:1935/live/test
[18:27:51 CET] <sn00ker> thats my command
[18:56:01 CET] <th3_v0ice> Are these two flags mutualy exclusive AV_CODEC_FLAG2_LOCAL_HEADER and AV_CODEC_FLAG_GLOBAL_HEADER?
[18:56:31 CET] <th3_v0ice> Their description hints at that, but they are set at flags2 and flags respectivly
[19:28:24 CET] <sn00ker> ok now it runs :)
[19:28:45 CET] <sn00ker> but next....im .... head -> table ...
[19:34:27 CET] <tdr> set the spike on the table, it helps to dull the pain
[19:59:40 CET] <sn00ker> ffmpeg -re -y -i "$DATEI" -c:v libx264 -vf "fps=25,scale=640:480,setdar=4:3" -map 0:0 -f v4l2 -vcodec rawvideo /dev/video0 -f alsa default
[19:59:56 CET] <sn00ker> i want add an watermark.. but then error with -vf ....
[20:12:52 CET] <oerg866> Hi
[20:13:11 CET] <oerg866> got a quick question, how can I maximise CPU optimization when encoding wiht libx264?
[20:13:29 CET] <oerg866> i cant make it exceed 60% on this here 16c32t threadripper
[20:13:41 CET] <oerg866> even with -threads 32
[20:14:34 CET] <ritsuka> x264 can't use that many threads
[20:14:59 CET] <ritsuka> but you can run two or more encodes simultaneously
[20:16:32 CET] <sn00ker> Past duration 0.603035 too large
[20:16:35 CET] <sn00ker> wat is this?
[20:18:47 CET] <oerg866> hm but then for example why doesn't it saturate by making each thread encode like a 32nd of the file
[20:19:22 CET] <oerg866> my previous system had 10 cores / 20 threads and i managed to max out ffmpeg encoding x264 there
[20:19:31 CET] <oerg866> though I can't remember how
[20:33:19 CET] <w1kl4s> i maxed x264 as well but that was a meme encode from /dev/random
[20:48:36 CET] <hans__> w1kl4s, that must have been slow
[20:48:51 CET] <w1kl4s> not really
[20:49:04 CET] <hans__> do you have a hardware rng or something? :o
[20:49:30 CET] <w1kl4s> a lot of entropy
[20:49:41 CET] <hans__> o i c (or running mac/bsd?)
[20:50:00 CET] <hans__> (iirc mac & bsd just alias /dev/random to /dev/urandom)
[20:51:00 CET] <w1kl4s> i regularly dump random to files for some testing
[20:51:28 CET] <w1kl4s> after few months of running i saw the folder reached over 100GB so it needs to be cleaned
[21:19:18 CET] <tdr> keeping your radomness so none is wasted? ;)
[21:27:01 CET] <maudd> hello people, i have a question about ffmpeg filters, and specifically minterpolate, can anyone here answer such a question?
[21:33:00 CET] <maudd> in essence, my question is this: i have a video that's at say 30 fps @ 600 kb/s~ and i want to use minterpolate to make it 60 fps..
[21:33:36 CET] <maudd> do i in this case double my bitrate to have it maintain it's quality?
[21:35:01 CET] <maudd> https://pastebin.com/hPNDSVK0
[21:35:12 CET] <maudd> basically i use this script to calculate the bitrate right now
[21:36:47 CET] <maudd> but what's confusing me, i used to just use: ffmpeg -i $f -c:a copy -filter:v "minterpolate=fps=60:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1" "output.mp4"
[21:37:50 CET] <maudd> and there's no visible quality difference, and i think the ffmpeg uses the average bitrate of the input stream when none is supplied?
[21:50:41 CET] <maudd> anyone? ;_;
[21:57:02 CET] <JEEB> maudd: default rate control is 100% dependant on the encoder
[21:58:07 CET] <JEEB> the default bit rate in AVCodecContext in FFmpeg is 200 (!) kbps, so if it's looking good I have a hunch that it might be libx264 that's getting used, which has its own default in the module as CRF (not bit rate constrained rate control) at value 23 (which can look OK depending on how much your eyes can see artifacts, as well as how zoomed you're watching the content)
[22:04:45 CET] <maudd> hmm okay
[22:05:20 CET] <JEEB> it really doesn't make sense to look at anything in the input for the output compression, since the two generally aren't in any way or form related
[22:05:38 CET] <JEEB> using the same average bit rate will not help you keep the same quality level, etc etc
[22:05:46 CET] <JEEB> thus rate control modes like CRF are much more useful
[22:06:39 CET] <maudd> I see
[22:07:25 CET] <maudd> it's just strange to me that a lot of the files i changed from 30 fps to 60 fps only have like 10-20% higher filesize
[22:07:49 CET] <maudd> when it used the CRF 23 value
[22:08:14 CET] <maudd> when it has double the frames
[22:08:27 CET] <maudd> from the original
[22:09:04 CET] <hollyx82> hello @all, can anybody tell me if the ffserver and ffplay programms included to the sources i can download from the ffmpeg.git?
[22:09:43 CET] <JEEB> ffplay is part of the main code repo, ffserver was removed due to issues with it
[22:12:34 CET] <hollyx82> ok, thats not a good news. is there an other way to stream an ffmpeg output like ffserver?
[22:13:08 CET] <hollyx82> or can i install ffserver seperatly?
[22:19:36 CET] <JEEB> hollyx82: you can do multicast etc with just ffmpeg.c or the libraries themselves, or for stuff like HLS or DASH you can just output to a web server with HTTP POST output with ffmpeg.c or the libraries
[22:19:51 CET] <JEEB> since generally I don't think you want an *encoder* to be doing your media serving :P
[22:25:23 CET] <hollyx82> ok thats new for me. I did my streaming in the past from my capture device by using ffmpeg to encode to h264 and send it to ffserver. is there any manpage where i can read what i have to do?
[22:26:15 CET] <JEEB> ffmpeg-all.html is the man page fully as a web page on ffmpeg.org
[22:26:22 CET] <hollyx82> the output with HTTP POST is very interesting
[22:26:36 CET] <JEEB> yea, check the parameters for the hls and dash muxers
[22:26:56 CET] <hollyx82> thanks for the useful hints.
[22:27:28 CET] <JEEB> and then generally setting the output URL to your web server that does accept POST from the encoder
[22:27:31 CET] <JEEB> generally should do it
[22:27:48 CET] <JEEB> (and then on the "other side" you can share that through the same web server)
[22:30:42 CET] <hollyx82> ok, i try. I hope my small hardwaresetup can handle this.
[22:30:56 CET] <maudd> JEEB thank you for helping me
[22:31:00 CET] <maudd> i figured out my stuff
[22:57:04 CET] <hollyx82> JEEB: thx for help, it looks like more comfortable then the way trough ffserver.
[22:57:25 CET] <JEEB> np
[00:00:00 CET] --- Fri Jan 25 2019
1
0
[00:15:16 CET] <pross> Compn: i think it is!
[01:56:22 CET] <rcombs> so, what's the thinking on my TLS patch series
[01:56:34 CET] <rcombs> particularly around enabling verification by default (except on mbedTLS)
[01:56:54 CET] <rcombs> should that be some kind of version bump?
[01:58:24 CET] <rcombs> (I don't think any of the other changes should be controversial; maybe enabling default CA paths in OpenSSL? that's just bringing its behavior in line with the other wrappers, but I suppose one could argue it's a significant enough behavior change to warrant a version bump)
[02:00:15 CET] <rcombs> last I'd seen, cehoyos was against and michaelni was for
[02:46:23 CET] <Compn> rcombs : enabling verification on tls where now ?
[02:46:47 CET] <Compn> for http streams ?
[02:47:28 CET] <rcombs> Compn: in the tls proto in general, which is mostly used for https streams yeah
[02:47:48 CET] <Compn> rcombs : is there a stream that requires it ?
[02:47:56 CET] <rcombs> huh?
[02:48:32 CET] <Compn> usually what happens when we change defaults is that it breaks a bunch of streams :D
[02:49:37 CET] <rcombs> I'm not sure what you mean by "stream" here
[02:50:19 CET] <rcombs> this is at the protocol level; it isn't affected by content at all
[02:50:28 CET] <rcombs> (in fact this all happens before we even see the first byte of content)
[03:20:28 CET] <rcombs> Compn: anything I can do to clear up what the change does for you?
[03:22:53 CET] <Compn> rcombs : i mean if verification fails does it do anything
[03:22:54 CET] <Compn> :P
[03:23:04 CET] <Compn> sorry i was thinking of crc checking in ac3 or so
[03:23:34 CET] <rcombs> if verification fails then the connection is aborted under the assumption that it's being MITM'd, as is standard behavior for TLS clients (e.g. curl, web browsers, etc)
[03:23:49 CET] <rcombs> this is verification of the server's certificate, not of anything in the content
[03:47:02 CET] <rcombs> is it even possible for aarch64 not to have the NEON CPU flag?
[03:47:18 CET] <rcombs> oh, I guess if it's forced off for testing
[03:49:23 CET] <Compn> right thats what i'm saying
[03:49:29 CET] <Compn> if a server has a bad cert
[03:49:31 CET] <Compn> which a lot do
[03:49:33 CET] <Compn> then ffmpeg will die
[04:07:18 CET] <rcombs> Compn: well that's why there's still a flag to disable it
[04:07:35 CET] <rcombs> as in pretty much all TLS clients
[04:08:27 CET] <rcombs> lavf is very unusual in having verification be off by default; AFAICT it's primarily like that because historically there hasn't been a reliable way to load the system trust store on all platforms
[04:08:53 CET] <rcombs> (particularly macOS and Windows, where there's no single .pem file or dir of them to use)
[04:09:38 CET] <rcombs> but these days we've got code to load the system trust store in those cases (by using the system's TLS implementation)
[06:47:03 CET] <rcombs> &why does this code shift 2 values right by 1, _then_ take the max of the 2 (and discard the other)
[07:00:48 CET] <Compn> rcombs : just sounds like a nightmare on windows :p
[07:01:18 CET] <rcombs> Compn: windows has a built-in TLS implementation and we use that there; it provides the system trust store out of the box with no configuration
[07:01:23 CET] <rcombs> (same with mac)
[07:02:22 CET] <Compn> vista tls is not compatable with w7 implementation
[07:02:35 CET] <Compn> or are you suggesting we kill vista support too?
[07:03:17 CET] <Compn> i ran into this on a vista box when a video game updated their tls ahhaha
[07:04:15 CET] <Compn> video game was rocket league
[07:04:25 CET] <rcombs> [citation needed]
[07:05:27 CET] <rcombs> AFAIK SChannel has been around since at least XP
[07:05:31 CET] <Compn> i think it was tls 1.3
[07:05:46 CET] <Compn> was not supported in vista
[07:05:49 CET] <rcombs> (I personally don't care about anything older than 7 since it's not even supported by the vendor anymore, but whatever)
[07:06:10 CET] <rcombs> that's a protocol version; it's got nothing to do with whether we verify certs or not
[07:06:24 CET] <rcombs> (and 1.3 is _very_ recent; I'm pretty sure 7 doesn't have it either)
[07:07:48 CET] <Compn> https://blogs.msdn.microsoft.com/kaushal/2011/10/02/support-for-ssltls-prot…
[07:07:59 CET] <Compn> TLS 1.1 & TLS 1.2 are enabled by default on post Windows 8.1 releases. Prior to that they were disabled by default. So the administrators have to enable the settings manually via the registry.
[07:08:16 CET] <Compn> ok i've confused everything then
[07:08:19 CET] <Compn> ignore me rcombs
[07:08:51 CET] <Compn> all i know is that tls is not easy on vista :D
[07:09:39 CET] <Compn> vista is garbage anyway
[07:47:28 CET] <j-b> 'morning
[09:21:04 CET] <rcombs> okay I hate the manual but otherwise writing aarch64 SIMD is AMAZING
[09:21:24 CET] <rcombs> feel like I'm drowning in registers
[09:21:41 CET] <rcombs> and the calling convention actually uses them effectively
[09:31:03 CET] <wbs> rcombs: yes
[09:32:16 CET] <wbs> rcombs: the manual is a bit hard to browse, but I'm often using ARMv8_ISA_PRD03-GENC-010197-30-0.pdf instead which is a super-brief version, and has got good mappings between armv7 and aarch64 forms of instructions as well
[09:32:44 CET] <rcombs> wbs: is there anything that actually includes definitions of the operations, like intel usually gives
[09:32:52 CET] <rcombs> like, I had to look up wtf a "zip" is separately
[09:36:40 CET] <wbs> rcombs: the brief overview (ARMv8_ISA_PRD03-GENC-010197-30-0.pdf aka "ARMv8 Instruction Set Overview" doesn't have that, but that one is great for easily finding out what instructions exist), but the ARM ARM (e.g. DDI0487A_a_armv8_arm.pdf) defines everything, but it's pretty scattered. for e.g. the zip1 instruction, it describes this:
[09:36:45 CET] <wbs> for p = 0 to pairs-1
[09:36:48 CET] <wbs> Elem[result, 2*p+0, esize] = Elem[operand1, base+p, esize];
[09:36:50 CET] <wbs> Elem[result, 2*p+1, esize] = Elem[operand2, base+p, esize];
[09:37:18 CET] <rcombs> sure, that's reasonable enough
[09:39:26 CET] <wbs> the armv7 versions of instructions sometimes have better descriptions as well - if you look for the vzip instruction, it shows an example of register contents before and after the operations
[09:39:39 CET] <rcombs> also I'm not clear on what does and doesn't set flags
[09:40:05 CET] <rcombs> and the aarch64 manual seems to just assume I'm already familiar with armv7 predicate syntax
[09:40:18 CET] <wbs> as far as I know, nothing normally sets flags, except for explicit compare instructions, or instructions with 's' suffix
[09:40:24 CET] <rcombs> like, it mentions that that syntax only works on jumps now, but doesn't actually explain it at all
[09:40:55 CET] <wbs> I'm pretty sure it is _somewhere_ there, but browsing it from start to end through all 5158 pages is a bit much
[09:41:49 CET] <wbs> C1.2.3 Condition Code explains them
[09:42:36 CET] <wbs> in practice I mostly only ever use eq/ne/gt/lt/ge/le out of them
[09:42:51 CET] <wbs> very occasionally hi/ls
[09:43:58 CET] <rcombs> I must be looking at a different document 'cause I don't have a 1.2.3
[09:44:01 CET] <rcombs> (or even a 1.2)
[09:45:08 CET] <wbs> DDI0487A_a_armv8_arm.pdf - that's a must-have
[09:45:22 CET] <wbs> you get it behind a registration wall at http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.architec…
[09:45:38 CET] <wbs> or enter the filename into google and you'll find a copy elsewhere
[09:46:02 CET] <rcombs> oh a registration wall
[09:46:10 CET] <rcombs> that probably explains why I hadn't stumbled across it yet
[09:46:14 CET] <wbs> and then the other one, ARMv8_ISA_PRD03-GENC-010197-30-0.pdf, is a nice complement for easier browsing
[09:46:46 CET] <rcombs> also helps that several other sites host convenient googleable HTML versions of intel's docs
[09:46:58 CET] <wbs> that one is also available without registration on https://www.element14.com/community/servlet/JiveServlet/previewBody/41836-1…
[09:47:00 CET] <rcombs> like, the ones you get if you google most x86 instructions that aren't also common english words
[09:47:20 CET] <wbs> then you finally need http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055b/IHI0055B_aapcs64.… occasionally
[09:47:31 CET] <wbs> for descriptions about calling conventions, what registers you can/can't clobber etc
[09:47:41 CET] <rcombs> thanks
[09:48:04 CET] <rcombs> oh that one, yeah, I actually already had a tab open to that
[09:48:23 CET] <rcombs> ("registers you can clobber: most of them!")
[09:48:52 CET] <wbs> yup, with x0-x15 free for clobbering you very very seldom need anything else, unless you do nested calls and need to backup x30
[09:49:07 CET] <wbs> and for neon, don't use v8-v15 unless you're starved
[09:49:16 CET] <rcombs> and it's hard to be starved
[09:49:53 CET] <wbs> the vp9/av1 inverse transforms use as much registers as you have, and more :P
[09:50:12 CET] <wbs> or if you work on many rows in parallel etc
[09:50:16 CET] <rcombs> yeah but those are hard :P
[09:50:19 CET] <wbs> lol
[09:50:37 CET] <wbs> and tedious as fuck
[14:06:45 CET] <Compn> why rawpcm in avi
[14:06:46 CET] <Compn> whyyy
[23:17:26 CET] <cone-215> ffmpeg 03caohui 07master:ee1c63eb8218: lavf/hlsproto: Replace a wrong eol comma with a semicolon.
[23:26:55 CET] <cone-215> ffmpeg 03Carl Eugen Hoyos 07master:cf81284b1c14: lavc/g723_1enc: Set the default bitrate to 6300.
[23:41:36 CET] <cone-215> ffmpeg 03Andreas Rheinhardt 07master:992532ee3122: h2645_parse: Make ff_h2645_packet_split reference-compatible
[23:41:37 CET] <cone-215> ffmpeg 03Andreas Rheinhardt 07master:8ca55a2b9e95: cbs_h2645: Avoid memcpy when splitting fragment #2
[00:00:00 CET] --- Thu Jan 24 2019
1
0
[00:18:37 CET] <sn00ker> hi all
[00:18:59 CET] <sn00ker> how can i pipe the audio from ffmpeg in screen one to ffmpeg in screen two?
[00:33:10 CET] <another> named pipe?
[00:34:21 CET] <sn00ker> but how?
[00:55:51 CET] <another> mkfifo
[01:03:12 CET] <kevinnn> Hi! Does anyone have a link to a basic example of how to record desktop audio on a windows machine in c++
[01:21:23 CET] <sn00ker> another, jey i have it
[01:21:35 CET] <sn00ker> but the mux is wrong.. i only have audio
[01:22:45 CET] <sn00ker> ffmpeg -f video4linux2 -s 640x360 -i /dev/video0 -r 30 -i \\audiopipe -c:a copy -f flv rtmp://XXXXXX:1935/live/test
[01:46:59 CET] <another> -map 0 -map 1
[02:56:51 CET] <hendry> I'm trying to convert https://media.dev.unee-t.com/2019-01-22/B06C6A3A-DB9E-4A4F-876A-C2ADFA56801… into an MP4, but conversation fails https://media.dev.unee-t.com/2019-01-23/B06C6A3A-DB9E-4A4F-876A-C2ADFA56801…
[02:56:56 CET] <hendry> Should I file a bug report?
[02:57:32 CET] <hendry> media is from IOS screencast
[03:12:07 CET] <iive> hendry, not really sure, but it looks like vaapi hw acceleration might be causing problems
[03:12:19 CET] <iive> first see if you can play the input file with `ffplay`
[03:19:02 CET] <hendry> iive: ffplay / mpv works on the source file fine
[03:19:37 CET] <iive> then try recoding without using hw acceleration. the input seems to be h264, so it could be supported.
[03:19:50 CET] <iive> i really cannot see what is wrong from the log.
[03:20:16 CET] <iive> too many packets
[03:21:09 CET] <iive> hum, 0:0 is audio, so it says that the audio steam is not consumed.
[03:21:35 CET] <iive> just for the test, try recoding without audio (-an) see if that works.
[03:22:36 CET] <iive> the audio is already aac.
[03:23:28 CET] <furq> too many packets buffered when stream copying normally means the issue is with the other stream not filling its buffer
[03:23:31 CET] <iive> hendry, why not just stream copy the content , no decoding, encoding, just -c copy.
[03:23:58 CET] <iive> furq, i don't see copy.
[03:24:06 CET] <furq> Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'aac'.
[03:24:12 CET] <furq> oh nvm i misread that
[03:24:33 CET] <iive> ;)
[03:24:36 CET] <iive> gtg
[03:24:52 CET] <furq> -an is worth trying but it's still probably the video
[04:03:44 CET] <hendry> furq: there are two audio streams in IOS screencasts, one capturing App audio IIUC, and another capturing naration through the microphone (which I've enabled)
[04:03:54 CET] <hendry> but audio shouldn't make it choke, surely
[04:06:30 CET] <hendry> https://s.natalian.org/2019-01-23/without-hw-accel-B06C6A3A-DB9E-4A4F-876A-…
[04:06:40 CET] <hendry> Too many packets buffered for output stream 0:0
[04:07:18 CET] <hendry> https://trac.ffmpeg.org/ticket/6375
[04:41:15 CET] <hendry> damn trac is slow for me
[08:32:56 CET] <kensanata> I have a jingle.mp3 that is 8s long and a podcast episode.wav and I'd like the two to overlap for 2s. I'm currently using -filter_complex [0:a][1:a]concat=n=2:v=0:a=1 to concat the two, so no overlap. I think I need delay and amerge to get the episode to start playing sooner but can't get it to work. Any ideas?
[08:35:08 CET] <friendofafriend> kensanata: Do you want them overlaid or to crossfade?
[08:36:05 CET] <friendofafriend> kensanata: You'll find lots of discussion about various options here. https://stackoverflow.com/questions/14498539/how-to-overlay-two-audio-files…
[08:36:12 CET] <kensanata> friendofafriend: overlaid is fine because the jingle fades out and the episode starts with a greeting, so when I tried crossfade it didn't sound good (fading in the greeting).
[08:37:48 CET] <furq> kensanata: adelay and merge won't work because merge stops as soon as the shortest input ends
[08:38:00 CET] <furq> which is annoying because most (all?) video filters let you configure that behaviour
[08:38:55 CET] <friendofafriend> What do you think about this? ffmpeg -y -i ./jingle.mp3 -i ./episode.wav -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame ./output.mp3
[08:39:15 CET] <kensanata> The stackoverflow link has amix using duration=longest which sounds interesting, but none of the examples seem to help me delay my episode by 6s, so effectively the jingle and the episode start playing at the same time?
[08:39:20 CET] <kensanata> Ah! Exactly.
[08:39:25 CET] <furq> not sure if amix works
[08:39:29 CET] <furq> if it does then yeah that'll be perfect
[08:39:35 CET] <furq> oh
[08:39:42 CET] <furq> yeah it will work. that was easy
[08:40:06 CET] <furq> that's cool that amix lets you configure that and amerge doesn't, and also that they have different defaults
[08:40:11 CET] <furq> very simple
[08:41:11 CET] <kensanata> I still need a way to delay the onset of the episode?
[08:41:31 CET] <friendofafriend> I think you'd use [1:a]adelay=6000[a1]
[08:42:03 CET] <furq> -i jingle.mp3 -i episode.wav -filter_complex "[1:a]adelay=6000|6000[tmp];[0:a][tmp]amix" out.wav
[08:42:17 CET] <kensanata> Thanks!
[08:42:26 CET] <furq> also i forgot what amerge actually does so i retract my complaint from earlier
[08:42:31 CET] <furq> sorry ffmpeg i love you really
[08:42:44 CET] <friendofafriend> ffmpeg is just the bee's knees.
[08:43:51 CET] <kensanata> Given that bees have 6 legs and befuddling number of knee joints...
[09:10:43 CET] <hans> why isn't my ffmpeg command working?
[09:11:34 CET] <friendofafriend> You could post the command you're using and the output to a paste site like http://paste.debian.net .
[09:11:41 CET] <hans> "ffmpeg -i test.mkv -ss 00:00:3 -vframes 1 -c:v png -" gives the error "[NULL @ 0000000002c00040] Unable to find a suitable output format for 'pipe:'" - how can i tell ffmpeg that the output format is png? *
[09:12:12 CET] <hans> (the first message was a joke, the 2nd isn't)
[09:13:08 CET] <friendofafriend> I think you'd want a "-f png" before the pipe.
[09:14:03 CET] <hans> "ffmpeg -i test.mkv -ss 00:00:3 -vframes 1 -c:v png -f png -" doesn't work either, ends with "[NULL @ 0000000002b60040] Requested output format 'png' is not a suitable output format \n pipe:: Invalid argument"
[09:15:45 CET] <friendofafriend> There is a format called "png_pipe" that might be more suitable.
[09:16:57 CET] <hans> "-c:v png_pipe -f png_pipe -
[09:16:57 CET] <hans> " says "Requested output format 'png_pipe' is not a suitable output format \n pipe:: Invalid argument",
[09:17:22 CET] <friendofafriend> I see someone trying to do a similar thing here. https://superuser.com/questions/1047660/ffmpeg-pipe-images-extracted-from-v…
[09:18:47 CET] <hans> oh great that worked, thanks; ffmpeg -i test.mkv -ss 00:00:3 -vframes 1 -c:v png -f image2pipe -
[09:19:07 CET] <hans> ("-f image2pipe" was suggested in the comments of that thread, and it worked!)
[09:19:12 CET] <friendofafriend> Hey, awesome! What a handy command, I'll make a note of it.
[09:19:45 CET] <friendofafriend> And you're always welcome. Best of luck!
[13:02:30 CET] <Fyr> guys, what is "GPAC ISO Hint Handler"?
[13:03:08 CET] <Fyr> ffprobe says:
[13:03:08 CET] <Fyr> Stream #0:2(und): Data: none (rtp / 0x20707472), 167 kb/s (default)
[13:03:08 CET] <Fyr> Stream #0:3(und): Data: none (rtp / 0x20707472), 9 kb/s (default)
[13:03:19 CET] <Fyr> I've never seen something like this.
[13:04:27 CET] <furq> it's an rtp hint track
[13:04:41 CET] <furq> it's some mp4 peculiarity iirc
[13:05:24 CET] <Fyr> ffprobe says that it's unsupported codec.
[13:05:50 CET] <furq> are you planning on streaming the file using quicktime streaming server
[13:05:58 CET] <furq> because otherwise you can probably just discard it
[13:06:05 CET] <Fyr> ok, thanks
[13:06:18 CET] <furq> -ignore_unknown if ffmpeg is bailing out on it
[13:06:30 CET] <furq> or -copy_unknown if you really want to
[13:07:00 CET] <Fyr> thanks
[13:07:32 CET] <Fyr> furq, does GPAC add them by default?
[13:07:50 CET] <furq> no
[13:08:29 CET] <furq> https://gpac.wp.imt.fr/mp4box/#cont_deli
[13:10:41 CET] <Fyr> thanks
[13:11:26 CET] <Fyr> the two files have identical video stream, but one of them contains this RTP stuff.
[13:27:12 CET] <sn00ker> hi all
[13:51:25 CET] <PhantomOfNyx> Morning lovely people in here, I was wondering if anyone could probably give me a quick course in how sliced threads work ( mixer is strongly trying to push real time streaming and recommends Tune: Zerolatency ) which I happen to know enables sliced threads to some degree
[13:52:06 CET] <furq> slice threading splits each frame into multiple slices and encodes them separately
[13:52:27 CET] <furq> it's both slower and less efficient than frame threading
[13:52:44 CET] <furq> you shouldn't use it or zerolatency unless you're actually aiming for sub-second latency
[13:52:51 CET] <PhantomOfNyx> but decodes faster then ?
[13:53:01 CET] <PhantomOfNyx> like there have to be some point in them trying to push it
[13:53:07 CET] <furq> it makes no difference to decode speed
[13:53:20 CET] <furq> but frame threading buffers multiple frames in the encoder
[13:53:40 CET] <PhantomOfNyx> Ahhhh that's why they are doing UDP and trying to get rid of any buffer
[13:54:03 CET] <furq> right
[13:54:52 CET] <furq> there's also -tune fastdecode and you can use them together
[13:54:57 CET] <furq> -tune fastdecode,zerolatency
[13:55:25 CET] <PhantomOfNyx> So weird question, I'm sitting on 32 threads clocked at 4.1ghz roughly ( is there any thing I can do to optimize the stream for using a high thread count )
[13:55:31 CET] <PhantomOfNyx> wait you can mix tunes O_O
[13:55:41 CET] <furq> you can mix tunes that don't change psy settings
[13:55:47 CET] <furq> which is pretty much just those two
[13:55:48 CET] <PhantomOfNyx> furq I remember you from last time I stopped by you're seriously a goldmine of information
[13:56:48 CET] <Mavrik> I've had nothing but strange video artifacts and segfaults when I was trying to use slice threading on FFMPEG ~3.x
[13:56:54 CET] <PhantomOfNyx> So this might be a dumb question but lets say just for arguments sake I'm trying to use sliced threads instead of frame threading
[13:57:04 CET] <furq> there isn't really anything you can do to optimise for slice threading other than increasing the output dimensions
[13:57:12 CET] <furq> (that's not a recommendation)
[13:57:25 CET] <PhantomOfNyx> are the sliced threads based of the total amount of set threads
[13:57:55 CET] <PhantomOfNyx> like you would set threads=24 and then Sliced-threads=14
[13:57:59 CET] <furq> i believe it uses -threads if you enable slicing but idk
[13:58:09 CET] <PhantomOfNyx> or would that result in total 34 threads used
[13:58:18 CET] <furq> threads is specifically for frame threading
[13:58:25 CET] <furq> so if you set slice-threads it probably just gets ignored
[13:58:58 CET] <furq> also slices have minimum dimensions so there's a maximum number of threads you can use for given input dimensions
[13:59:05 CET] <PhantomOfNyx> ah so essentially I would want to replace threads=24 with sliced-threads=24 ?
[13:59:12 CET] <furq> yeah
[14:00:05 CET] <PhantomOfNyx> Ah thanks a bunch, do I have to set slices as an additional option or ? :)
[14:00:12 CET] <furq> zerolatency will set it for you
[14:00:53 CET] <furq> actually never mind sliced-threads is a bool
[14:01:03 CET] <furq> so -threads will work for both
[14:01:14 CET] <PhantomOfNyx> ._. sliced-threads:1 it is then
[14:02:13 CET] <furq> The maximum number of sliced threads is MIN( (height+15)/16 / 4, 128 )
[14:02:16 CET] <furq> so i guess that's 17 for 1080p
[14:02:27 CET] <PhantomOfNyx> I read something about the non-deterministic parameter could help your encoding if you're running a lot of threads
[14:02:57 CET] <PhantomOfNyx> wait what would it be for 900p then ?
[14:03:11 CET] <furq> 915/16/4
[14:04:02 CET] <furq> also i think non-deterministic would only affect frame threading
[14:04:07 CET] <furq> there's no harm in enabling it though
[14:04:37 CET] <PhantomOfNyx> Now I'm a bit confused as you just mentioned sliced-threads is a bool
[14:04:52 CET] <PhantomOfNyx> would it do that calculation and etc by itself and enable it
[14:04:57 CET] <PhantomOfNyx> or do I have to set it somewhere?
[14:05:07 CET] <furq> it'll probably just clamp it
[14:05:30 CET] <furq> iirc non-deterministic does something with lookahead, and zerolatency disables lookahead
[14:05:40 CET] <furq> so i don't know that it'd do anything
[14:05:46 CET] <furq> maybe it does other stuff though
[14:06:08 CET] <PhantomOfNyx> that was exactly why i was trying to avoid using zero tune and just add what mixer wants without zerotune ;)
[14:06:22 CET] <furq> i take it you are actually aiming for sub-second latency
[14:06:26 CET] <PhantomOfNyx> Hence why I'm trying to figure how sliced threads and stuff functions
[14:06:34 CET] <furq> otherwise all of this stuff is just harmful to video quality
[14:06:38 CET] <PhantomOfNyx> yeah they are on mixer
[14:06:41 CET] <furq> fair enough
[14:06:49 CET] <PhantomOfNyx> <_< they are very obsessed with sub second
[14:07:06 CET] <PhantomOfNyx> and their servers decoding capabilities is... no offense terrible
[14:07:20 CET] <furq> well zerolatency and fastdecode will also coincidentally ensure it's using baseline profile
[14:07:21 CET] <PhantomOfNyx> if you throw too high ress or too high an encoding at it it poops out on their end
[14:07:31 CET] <furq> so maybe they're just trying to save money on h264 licensing
[14:07:55 CET] <PhantomOfNyx> they are using webrtc, I am still very puzzled as to why they didn't go vp9
[14:08:04 CET] <furq> yeah webrtc needs baseline
[14:08:12 CET] <furq> you might want to try just using -profile baseline
[14:08:47 CET] <furq> to clarify, webrtc needs baseline because everyone uses openh264 for it, which is currently baseline only
[14:08:53 CET] <PhantomOfNyx> 2 sec for once I'm actually taking notes
[14:09:31 CET] <PhantomOfNyx> I swear they recommend setting high as profile on their site
[14:09:46 CET] <furq> nice
[14:09:47 CET] <PhantomOfNyx> but then again twitches bitrate recommendation of 6k for 1080p 60 is also a bit iffy
[14:10:02 CET] <furq> yeah this stuff is always ropey
[14:10:10 CET] <furq> youtube's recommendations used to be completely insane
[14:10:16 CET] <PhantomOfNyx> I have no clue what monster you need to pull that off I know I am murdering my machine
[14:10:19 CET] <furq> although i guess someone who works there hangs out in here because they fixed it now
[14:10:26 CET] <PhantomOfNyx> 8.5k for 1080p60 is actually relistic
[14:10:29 CET] <PhantomOfNyx> though
[14:10:31 CET] <PhantomOfNyx> *realistic
[14:10:46 CET] <PhantomOfNyx> ...... given you have a very high end dedicated render machine
[14:10:57 CET] <PhantomOfNyx> 6k though ... that's just insanity
[14:11:08 CET] <furq> depends on the game and the encoder
[14:11:24 CET] <furq> a twitchy fps will need way more bitrate
[14:11:43 CET] <PhantomOfNyx> true but I meant for games like overwatch or MMORPG's
[14:11:51 CET] <PhantomOfNyx> hearthstone should probably be fine xD
[14:11:56 CET] <sn00ker> Hello. As some have got here I am currently building a streaming server. I had the problem that the stream had always disconnected when changing the input files.
[14:11:56 CET] <sn00ker> I have now found a way that the stream is not canceled.
[14:11:56 CET] <sn00ker> # run.sh
[14:11:56 CET] <sn00ker> https://nopaste.linux-dev.org/?1191752
[14:11:56 CET] <sn00ker> with a second script, I send the whole thing to an rtmp server
[14:11:58 CET] <sn00ker> # send_stream.sh
[14:12:00 CET] <sn00ker> https://nopaste.linux-dev.org/?1191753
[14:12:02 CET] <sn00ker> That with the audio is nasty, but I'll be right there.
[14:12:04 CET] <sn00ker> If now the input is exchanged (run.sh) then one can recognize in the window of send_stream.sh how the frames go very slowly from fps = 30 on fps = 0. only at 0 is the script terminated. however, since this takes 10 - 20 seconds, you can also stop the stream by hand and start streaming from run.sh or something else without the stream breaking off.
[14:12:09 CET] <sn00ker> perfect, I thought to myself.
[14:12:11 CET] <sn00ker> the stream has no audio. Unfortunately, I have no experience with pipe. can someone help me as I get the audio output from the ffmpeg of run.sh to the audio input of ffmpeg in send_stream.sh?
[14:12:14 CET] <sn00ker> depending on what triggers the initial video in run.sh has the video jerky. can someone help me with this as well?
[14:14:36 CET] <PhantomOfNyx> Also the last point is I don't think there exist a streaming service of any of the major players that doesn't use x264 ( h.264 ) even when twitch rolls out vp9 is it only going to be for internal use to try to save bandwidth by recoding all x264 streams into vp9 at a lower bitrate
[14:15:42 CET] <PhantomOfNyx> So there I think you can only expect a bit better quality transcode of your stream but that's about it, they don't plan on adding ingests for vp9
[14:16:23 CET] <sn00ker> So the stream is created directly on a server and passed on to local
[14:18:22 CET] <sn00ker> if I send the run.sh but directly on a rtmp it does not matter then nothing jerky but then breaks the stream when switching together
[14:24:24 CET] <sn00ker> and how i can pipe the audio?
[14:40:25 CET] <PhantomOfNyx> furq is there anything further I can do to increase multithreaded performance than the non-deterministic parameter ?
[15:43:10 CET] <Phantomofnyx> I deeply apologize my pc rebooted so lost potential answers. But I was wondering if there is any suggestions as for how I can increase Multithreadeded performance in x264 <3
[15:44:04 CET] <pink_mist> there was no answer to your last question
[15:44:14 CET] <pink_mist> so far
[15:44:28 CET] <Phantomofnyx> Ah, I'll keep waiting then ;)
[15:44:52 CET] <DHE> you're still using sliced threads? doesn't regular (aka frame) threads for x264 work better anyway?
[15:45:06 CET] <DHE> or maybe that's mainly a quality thing
[15:50:28 CET] <Phantomofnyx> Yeah I got rid of the sliced threads as I didn't see any performance difference with it
[15:51:30 CET] <Phantomofnyx> but i'm still hiccuping a tiny bit I could ofcourse just lower all my settings but I'm so close to a profile I'm happy with, I noticed the dissonate thingie I mentioned above I have totally forgotten how to spell helped quite a bit
[15:51:49 CET] <Phantomofnyx> and I was wondering if there was more like that which could help high thread count performance
[15:51:51 CET] <DHE> using "veryfast" preset or such?
[15:52:16 CET] <Phantomofnyx> I'm sitting with a ryzen Threadripper 2950x on a dedicated render rig clocked at approx 4ghz
[15:52:26 CET] <Phantomofnyx> So 16 cores, 32 threads
[15:52:41 CET] <DHE> yeah I know the specs...
[15:53:12 CET] <Phantomofnyx> yeah I know everyone keeps saying use 1 thread for ultimate performance, but I can't even run veryfast if I do that
[15:53:13 CET] <Phantomofnyx> xD
[15:53:38 CET] <DHE> while I only have a ryzen7 1700 (non-X) to compare with, I wonder if you'll have better luck if you try to treat it as a NUMA system and run x264 on one half of it with only 16 threads enabled
[15:53:55 CET] <Phantomofnyx> already tried
[15:54:11 CET] <Phantomofnyx> 16threads SMT performs better than 16threads without SMT
[15:54:16 CET] <Phantomofnyx> I don't exactly know why
[15:54:38 CET] <DHE> memory locality. threadripper isn't really quad channel. it's 2 dual-channel ryzen chips glued together.
[15:54:54 CET] <DHE> mind you it's pretty good glue, but still
[15:55:25 CET] <Phantomofnyx> Yeah I setup a linux enviroment with NUMA enabled, but it only shattered any hope of decent performance with x264
[15:56:05 CET] <Phantomofnyx> so I came to conclude that x264 does not like numa ._.
[16:01:12 CET] <Phantomofnyx> Whelp so overclocking the ram to be a bit speedier seemed to do the trick ._.
[16:02:00 CET] <DHE> x264 loves numa. but you have to set it up properly
[16:02:49 CET] <DHE> numactl --cpunodebind=0 -p 0 ffmpeg ... # syntax may vary by version of numactl
[16:03:38 CET] <Phantomofnyx> wait x264 got NUMA support O_O
[16:05:15 CET] <DHE> nope. you launch it with a numa profile set by the OS
[16:06:36 CET] <Phantomofnyx> Lets say that OS is windows, could you guide me on how to set that up because just switching to numa, completely murdered the performance last time i tried
[16:06:54 CET] <DHE> can't help you on windows, sorry
[16:07:07 CET] <Phantomofnyx> but you would on linux ?
[16:07:18 CET] <DHE> see the numactl command above
[16:07:35 CET] <DHE> you can also use numactl --hardware to see what linux thinks of your hardware layout, make sure it looks sane
[16:08:36 CET] <Phantomofnyx> Give me a moment I need to boot into linux, I had no clue there were any performance to gain from it and well stuff like lack of capture card support just made me go back to windows
[16:10:06 CET] <Phantomofnyx> derp back to windows it is, did you know you need windows on your machine to activate numa for the 2950x ?
[16:10:41 CET] <Phantomofnyx> there is no bios option for it so you need the ryzen master tool thingie and do it from there
[16:10:46 CET] <Phantomofnyx> which .... requires windows
[16:17:30 CET] <Phantomofnyx> Quick question, does the speed at which the CPU processes the encoding affect the quality ?
[16:18:04 CET] <Phantomofnyx> because I just lost around 50% quality from clocking my ram at a higher speed a long with a bigger OC for the cpu ( same profile same settings )
[16:42:01 CET] <zerodefect> Using the C-API is it possible to get to the private user data or user data bits in the mpeg2 video? I have a clip which I believe has 708 embedded captions.
[17:05:29 CET] <DHE> zerodefect: captions are exported into the Side Data of the AVFrames
[17:07:45 CET] <zerodefect> Thanks. So it must be 'AV_FRAME_DATA_A53_CC' ? Not familiar with term/standard A53. Research to do!
[17:30:35 CET] <sn00ker> hi aöö
[17:30:36 CET] <sn00ker> all
[17:30:41 CET] <sn00ker> i have this script...
[17:30:42 CET] <sn00ker> https://nopaste.linux-dev.org/?1191757
[17:31:02 CET] <sn00ker> it reencode i see on terminal but i dont bekame an output file
[18:43:24 CET] <iive> sn00ker, the script seems to run ffmpeg twice, first time it outputs to /dev/null, so no output is produced.
[18:44:00 CET] <iive> the second one should produce output. however if there is some error with it...
[18:44:38 CET] <iive> hum...
[18:45:28 CET] <iive> the first ffmpeg does not call libx264 explicitly, like the second one. ffmpeg used to default to xvid like mpeg4,
[18:45:54 CET] <iive> if you use different codecs for the first and second pass... that would explain why it fails.
[19:23:13 CET] <hans> have you tried turning it off and then on again?
[19:31:04 CET] <sn00ker> yes
[19:31:42 CET] <sn00ker> iive, i have copyed from another script that runs fine on another machine
[19:39:38 CET] <sn00ker> on 1pass i bacame this output
[19:39:39 CET] <sn00ker> 00007520 9a 22 9b 7e a1 19 7a e9 69 83 52 10 41 0e c5 99 .".~..z.i.R.A...
[19:39:39 CET] <sn00ker> 00007530 1c df f9 46 ef ca 12 36 a7 0a 13 18 58 fd f3 99 ...F...6....X...
[19:41:58 CET] <MichaelJoel> trying to convert an mov to mp4. I must need to change some flag. If I open in ffplay it is ok. If I open it in windows media player I just get audio and a black screen.
[19:41:59 CET] <MichaelJoel> ?
[20:22:09 CET] <MichaelJoel> how would one join two video files into one?
[20:23:01 CET] <BtbN> https://trac.ffmpeg.org/wiki/Concatenate
[20:23:10 CET] <BtbN> If you just want to concat them, that is
[20:38:08 CET] <MichaelJoel> yes thanks
[20:49:25 CET] <sn00ker> when i run ffmpeg in a script
[20:49:48 CET] <sn00ker> how i can make an if [ FFMPEG HAS an ERROR ] then doo this ELSE do this fi ?
[20:50:02 CET] <JEEB> exit codes?
[20:50:41 CET] <sn00ker> JEEB, you mean $? ?
[20:50:58 CET] <JEEB> or you have to get it in a more funky way in case of pipes being utilized, but yes
[20:51:10 CET] <JEEB> for ffmpeg.c that's the only way to get "errors"
[20:51:22 CET] <JEEB> any more detailed error detection requires API usage
[20:51:49 CET] <sn00ker> JEEB, i need after ffmpeg in script if error yes or no
[20:52:41 CET] <JEEB> you clearly know of exit codes
[20:52:53 CET] <JEEB> thus you already have answered the question you have asked
[21:49:16 CET] <Kadigan> Here's a question... can you build ffmpeg w/ support for both 8bit and 10bit x264?
[21:49:25 CET] <relaxed> yes
[21:49:30 CET] <Kadigan> Is it hard to do?
[21:49:34 CET] <relaxed> no
[21:50:03 CET] <Kadigan> I'm using a "helper script" because I failed a number of times... and the helper script works, but trying to encode yuv420p gives me the error that ffmpeg was not built w/ 8-bit support...
[21:50:50 CET] <Kadigan> I can see that if I enable "high bitdepth", it configures as "--bit-depth=10"
[21:51:15 CET] <DHE> actually the latest (git) version of x264 does support that, and the git version of ffmpeg does support it. this is over a year old now so I suspect there's some release version that just supports it as well...
[21:51:35 CET] <relaxed> Kadigan: --bit-depth=all
[21:51:39 CET] <Kadigan> Thanks.
[21:52:09 CET] <relaxed> my builds it: https://www.johnvansickle.com/ffmpeg/
[21:52:14 CET] <relaxed> have it*
[21:53:03 CET] <Kadigan> Do you also nonfree? Because IIRC if you do, you can't distribute...
[21:53:13 CET] <relaxed> I do not
[21:53:30 CET] <Kadigan> Then I guess thanks, but no thanks. I use libfdk-aac. ^^
[21:54:01 CET] <Kadigan> Thank you for offering, though.
[21:54:46 CET] <Kadigan> And most importantly, thank you for telling me how to enable both. Much appreciated.
[21:59:07 CET] <relaxed> you're welcome
[23:34:53 CET] <Zexaron> Hello
[23:35:01 CET] <Zexaron> so -pix_fmt yuv420p isn't valid anymore ?
[23:35:10 CET] <Zexaron> I get warning about deprecation about this
[23:37:57 CET] <BtbN> You propaly mean yuvj420p
[00:00:00 CET] --- Thu Jan 24 2019
1
0
[01:21:22 CET] <cone-814> ffmpeg 03FeRD (Frank Dana) 07master:8133921ad2d8: avcodec/tests: Add codec_desc to .gitignore
[01:21:22 CET] <cone-814> ffmpeg 03Shiyou Yin 07master:6d1916481137: avcodec/mips: [loongson] optimize put_hevc_qpel_hv_8 with mmi.
[01:21:22 CET] <cone-814> ffmpeg 03Shiyou Yin 07master:83aa2cd7575e: avcodec/mips: [loongson] optimize put_hevc_qpel_bi_hv_8 with mmi.
[03:59:13 CET] <cone-814> ffmpeg 03Zhong Li 07master:87c165c2379a: lavc/qsvenc: set BRCParamMultiplier to aviod BRC overflow
[10:15:41 CET] <pross> i wonder, did anyone test the vp6 decoder patches?
[12:10:33 CET] <durandal11707> pross: why? something is wrong?
[15:25:23 CET] <j-b> durandal_1707: cool.
[15:48:01 CET] <durandal_1707> j-b: what?
[15:50:32 CET] <j-b> durandal_1707: ARBC
[15:57:23 CET] <Compn> seems that j-b likes your decoder
[15:57:32 CET] <j-b> I do
[15:57:47 CET] <j-b> I find it easier to read than the previous one that you RE'd
[15:58:27 CET] <Compn> reverse engineering is tough work :D
[15:58:33 CET] <Compn> i want to learn one day
[15:58:33 CET] <durandal_1707> j-b: not every codec is nice looking like AV1
[15:59:40 CET] <durandal_1707> for this one, most work was done by kostya, i just connected blocks into one
[16:00:24 CET] <j-b> AV1 is everything but-nice-to-read
[16:00:42 CET] <Compn> it was sarcasm
[16:00:44 CET] Action: Compn afk
[17:25:24 CET] <durandal_1707> j-b is evil: proof - deletes vlc bug reports
[17:30:31 CET] <j-b> durandal_1707: you needed proof of that?
[17:30:38 CET] <j-b> durandal_1707: I'm the evil incarnated
[17:48:46 CET] <Taripe> j-b, you should get a new hat then: https://i.imgur.com/Atsl63c.png
[17:55:17 CET] <j-b> :D
[20:35:35 CET] <cone-366> ffmpeg 03Marton Balint 07master:0a98622cbef1: avformat/concatdec: factorize the duration calculating function
[20:35:36 CET] <cone-366> ffmpeg 03Marton Balint 07master:679cbd8f1871: avformat/concatdec: fix cur_dts based duration calculation with nonzero stream start_time
[20:35:37 CET] <cone-366> ffmpeg 03Marton Balint 07master:1b126ec4087a: avformat/concatdec: always re-calculate start time and duration
[21:18:06 CET] <cone-366> ffmpeg 03Lou Logan 07master:d92f06eb6663: avformat/img2enc: mention -frames:v in error message
[21:53:30 CET] <pross> durandal_1707: no really a problem, its just that the vp6 fix involves rehashing the affected fate test data. a second pair of eyes would make me feel more comfortable.
[21:53:37 CET] <pross> *not
[22:23:42 CET] <Compn> is it bitexact with binary codec ?
[22:24:05 CET] Action: Compn skulks back under his rock
[00:00:00 CET] --- Wed Jan 23 2019
1
0
[01:56:52 CET] <cluelessperson> is there a way to have ffmpeg display directly to a display device without a window?
[03:05:31 CET] <DHE> cluelessperson: if it's supported, it'll be ffplay not ffmpeg. but even then I'd recommend a better dedicated player app like mpv
[03:36:01 CET] <cluelessperson> DHE: for example, with gstreamer, I'm able to display video pretty direclty to the display.
[03:36:36 CET] <cluelessperson> or an image
[03:39:14 CET] <furq> mpv has drm output
[03:40:59 CET] <cluelessperson> drm?
[03:41:07 CET] <DHE> linux hardware acceleration
[03:41:42 CET] <cluelessperson> I'm looking for an easy way to display content programmatically
[03:42:00 CET] <pink_mist> link to libmpv
[03:42:37 CET] <kepstin> do you actually want to output directly to hardware, or do you just want a window without any window borders? Or are you looking to have a video area embedded in a gui app?
[03:43:23 CET] <cluelessperson> kepstin: honestly, all the above.
[03:43:42 CET] <cluelessperson> thinking about several applications.
[03:45:24 CET] <furq> yeah it sounds like you want libmpv
[05:10:05 CET] <b0bby__> hello
[05:10:26 CET] <b0bby__> So I have a bunch of files from 0-24.flv
[05:12:08 CET] <b0bby__> I need to live stream these(using the -re option) to an rtmp stream
[05:12:31 CET] <b0bby__> is there a way of doing that?
[05:13:47 CET] <friendofafriend> Tried a playlist, b0bby__?
[05:14:14 CET] <b0bby__> friendofafriend: in ffmpeg? I never knew about such a thing
[05:14:41 CET] <b0bby__> friendofafriend: how would I make a playlist
[05:21:02 CET] <friendofafriend> b0bby__: You'd use the concat demuxer! You can read about it here. https://trac.ffmpeg.org/wiki/Concatenate
[05:21:36 CET] <friendofafriend> Basically just a list of: file '/the/absolute/path/to/0.flv'
[05:21:47 CET] <friendofafriend> (And so on.)
[05:21:49 CET] <b0bby__> friendofafriend: ok
[05:21:57 CET] <b0bby__> and I can use this with re?
[05:23:10 CET] <friendofafriend> Yep, that should work fine with -re .
[05:24:18 CET] <friendofafriend> Alternatively, you could just cat your files into a FIFO, and give ffmpeg the FIFO as input.
[05:25:01 CET] <b0bby__> friendofafriend: I'm interested, how would you do that?
[05:25:23 CET] <b0bby__> friendofafriend: thanks for the help so far btf
[05:25:27 CET] <b0bby__> btw
[05:25:33 CET] <friendofafriend> You're more than welcome, b0bby__. Anytime.
[05:25:52 CET] <b0bby__> friendofafriend: how would I go about the fifo thing
[05:26:06 CET] <friendofafriend> You'd mkfifo ./foo ; cat 0.flv 1.flv 2.flv (etc.) > ./foo.
[05:26:19 CET] <friendofafriend> And then you'd execute ffmpeg with foo as the input.
[05:26:32 CET] <friendofafriend> Maybe call it foo.flv to make things more obvious.
[05:27:41 CET] <friendofafriend> So even if ffmpeg didn't have concat, you could do it another way. But concat is a lot cleaner, and all in one command.
[05:30:38 CET] <b0bby__> cool
[05:30:41 CET] <tdr> flv files dont have some kind of header or similar you'd be shoving into the fifo mid "stream" when the second file hits?
[05:31:17 CET] <b0bby__> tdr: thats what I thought
[05:31:28 CET] <tdr> or would the ffmpeg capturing from the fifo know how to handle it?
[05:31:34 CET] <b0bby__> also, how would you create a playlist loop
[05:31:34 CET] <friendofafriend> ffmpeg tends to cope well with just shoving things into FIFO, but try it out and see if it works for you.
[05:32:44 CET] <friendofafriend> That's a -stream_loop -1
[11:13:35 CET] <sn00ker> hi all
[11:14:44 CET] <sn00ker> is it possible to send a video to a / dev / video0 (v4l2loopback) with ffmpeg twice at the same time?
[11:15:14 CET] <BtbN> You mean to two separate loopbacks?
[11:15:22 CET] <sn00ker> no
[11:15:33 CET] <sn00ker> two fmpeg to one v4l loopback
[11:16:07 CET] <BtbN> That does not sound like it would produce something sensible.
[11:16:21 CET] <BtbN> What do you want to achive with that?
[11:16:40 CET] <sn00ker> moment. i must translate with google... one moment please
[11:17:40 CET] <sn00ker> I have a v4l2loopback. I send the input to a rtmp server. as soon as I send but no more input ended ffmpeg synonymous send to the rtmp because no frame is there anymore
[11:18:57 CET] <sn00ker> now I thought. I send in a loop permanently a transparent image to the loopback. so the stream stays online permanently without interruptions. and if I then send a picture / video, I send that with a second ffmpeg command synonymous to the loopback
[11:19:08 CET] <BtbN> That doesn't work, no.
[11:19:34 CET] <sn00ker> hhmm
[11:19:35 CET] <BtbN> You'll have to write your own client based on the libav* libs that dynamically injects a static image when the input stream goes down
[11:21:16 CET] <sn00ker> you mean as soon as I do not send anything anymore a script jumps in and sends a picture
[11:22:08 CET] <BtbN> That can't be scripted. You need to write it yourself.
[11:24:22 CET] <sn00ker> OK. So I'm looking for a ready solution
[11:24:38 CET] <BtbN> There's nothing like that I'd be aware of.
[11:25:58 CET] <sn00ker> how do all tv servers do that? they also mix the streams digitally and and and ....
[11:26:16 CET] <furq> well they don't use ffmpeg
[11:26:17 CET] <BtbN> They use highly complex and expensive custom-built software
[11:26:24 CET] <BtbN> (And Hardware)
[11:26:28 CET] <furq> it doesn't need to be highly complex, but yeah
[11:26:39 CET] <BtbN> Well, tv broadcast stuff usually is
[11:26:51 CET] <BtbN> Combinding dozens of sources, smooth transitions between them and all that
[11:26:59 CET] <BtbN> -d
[11:27:25 CET] <sn00ker> yes a lot of sources where mixed
[11:28:05 CET] <BtbN> Maybe you are looking for OBS? Hard to tell from your explanation.
[11:28:50 CET] <sn00ker> but there i need X or VNC
[11:29:03 CET] <sn00ker> is an root server not a local machine with monitor
[11:29:23 CET] <BtbN> You'll need to roll your own then
[11:30:44 CET] <sn00ker> obs over vnc?
[11:31:02 CET] <BtbN> hm?
[11:31:19 CET] <BtbN> There is no readily made solution for what you plan to do.
[11:34:00 CET] <sn00ker> my english is not really good
[11:34:05 CET] <sn00ker> and google translate.....
[11:34:12 CET] <sn00ker> i have found this
[11:34:13 CET] <sn00ker> https://github.com/mpromonet/v4l2rtspserver
[18:41:27 CET] <Jan-> hihi
[18:41:38 CET] <Jan-> does ffmpeg have the ability to convert HEIC files shot on iphones to say jpegs?
[18:41:51 CET] <Jan-> I tried ffmpeg -i foo.heic foo.jpg but it complains "moov atom not found" among other things.
[18:43:04 CET] <JEEB> not yet because it's a mess to think of how that fits the FFmpeg APIs. because the HEIF stuff (which I think .heic is) is basically multiple separate HEVC images put into an mp4 file, except it's a nonstandard one and all that jazz
[18:43:13 CET] <JEEB> I think someone made a basic patch for the early iOS HEIF Files
[18:43:16 CET] <Jan-> bleh
[18:43:26 CET] <JEEB> but I don't think it stitches the parts together
[18:43:45 CET] <Jan-> the problem is that these files tend to come from apple users who barely understand what a file is
[18:43:47 CET] <JEEB> the best part is that HEVC actually has a feature of having separate coded blocks
[18:43:49 CET] <Jan-> and don't understand what grief they're creating
[18:44:01 CET] <JEEB> and the HEIF people decided that nope, they won't use that
[18:44:18 CET] <JEEB> instead they will encode 100% separate "frames" which the device will then have to handle
[18:44:42 CET] <JEEB> anyways, let me see if I can find the patch
[18:45:00 CET] <JEEB> https://ffmpeg.org/pipermail/ffmpeg-devel/2017-August/215003.html
[18:45:01 CET] <JEEB> there
[18:47:38 CET] <c0re`> hey guys, I'm trying to output a stream via the icecast protocol through ffmpeg.
[18:47:53 CET] <c0re`> the thing is my mountpoint is literally "/"
[18:48:04 CET] <c0re`> in return I get "no mountpoint (path) specified"
[18:49:00 CET] <c0re`> https://ffmpeg.org/doxygen/2.5/icecast_8c_source.html
[18:49:41 CET] <c0re`> line 158 to 162 looks to me like it performs a check for mountpoint with any name but "/"
[18:50:56 CET] <c0re`> am I being wrong here or can you confirm that the icecast implementation of ffmpeg wont let me stream to a mountpoint that's exactly "/"?
[18:51:13 CET] <JEEB> that's what it seems to be, and that limitation seems to have been ever since e3dc2c86fc4178b100484c54f12c88705cdf6724
[18:51:18 CET] <JEEB> which is the commit that added the protocol
[18:51:26 CET] <c0re`> oof
[18:51:43 CET] <JEEB> if you think that limitation is incorrect you can prod trac or ffmpeg-devel mailing list
[18:52:22 CET] <c0re`> it's either that or pinging the dev of the radio-suite that I'm running to allow me to change the livestreaming mountpoint name
[18:52:40 CET] <c0re`> anyway, thank's for the quick answer!
[18:52:55 CET] <JEEB> np
[20:33:02 CET] <c0re`> well.. here goes my very first mailing-list contribution ever ^^, JEEB
[20:38:53 CET] <JEEB> c0re`: cheers. since you linked version 2.5's stuff I /bet/ someone will ask if it does the same in current master (which it does unless I'm already behind git master magically)
[21:34:23 CET] Action: Hello71 hacks JEEB's git connection
[21:53:27 CET] <sn00ker> hi all
[21:53:57 CET] <sn00ker> how i can send video to /dev/video and auto to /dev/audio ?
[21:54:38 CET] <friendofafriend> sn00ker: What do you want to do?
[21:55:45 CET] <sn00ker> split a video file and send video to /dev/video (v4l) and audio to and (i search now) an virtual audio device
[21:56:13 CET] <sn00ker> i have create a "switcher" noch i need the audio and video self
[22:00:30 CET] <friendofafriend> I think what you're describing is something like v4l2loopback. Have you seen that?
[22:01:09 CET] <sn00ker> friendofafriend, yes.. i have run an v4l2loopback device /dev/video but now i need another fpr audio
[00:00:00 CET] --- Wed Jan 23 2019
1
0
[10:27:30 CET] <cone-385> ffmpeg 03Karthick J 07master:b6d96a6bcc53: avformat/dashenc: Format xs:datetime in millisecond precision
[10:27:30 CET] <cone-385> ffmpeg 03Karthick J 07master:306cc261158d: avformat/dashenc: Added documentation for $ext$ identifier in filenames
[12:21:21 CET] <cone-385> ffmpeg 03Andreas Rheinhardt 07release/4.1:ac50246cc49a: h264_redundant_pps: Fix logging context
[12:21:22 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:b66152a4e5e5: avcodec/imm4: Use ff_set_dimensions()
[12:21:23 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:98a9d868d19b: avcodec/shorten: Fix integer overflow with offset
[12:21:24 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:e69bb0fb0555: fftools/ffmpeg: Repair reinit_filter feature
[12:21:25 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:89d65915cf6e: avcodec/pngdec: Check compression method
[12:21:26 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:ab744447e141: avcodec/truemotion2: fix integer overflows in tm2_low_chroma()
[12:21:27 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:ee349bd0fd5a: avcodec/tiff: Limit filtering to decoded data
[12:21:28 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:4fe90900d82a: avcodec/diracdec: Check component quant
[12:21:29 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:90db1e441fcd: avcodec/truemotion2rt: Fix rounding in input size check
[12:21:30 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:eee0cf487aad: avcodec/msmpeg4dec: Skip frame if its smaller than 1/8 of the minimal size
[12:21:31 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:1a5db666ace6: avcodec/wmv2dec: Skip I frame if its smaller than 1/8 of the minimal size
[12:21:32 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:558ba71de5c7: avcodec/msvideo1: Check for too small dimensions
[12:21:33 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:55c36d249811: avcodec/ppc/hevcdsp: Fix build failures with powerpc-linux-gnu-gcc-4.8 with --disable-optimizations
[12:21:34 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:219cbc55277a: avcodec/dxv: Check that there is enough data to decompress
[12:21:35 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:9b5a6bb67ba3: avcodec/rasc: Check input space before reading chunk
[12:21:36 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:228f17ced3bd: avcodec/clearvideo: Check remaining input bits in P macro block loop
[12:21:37 CET] <cone-385> ffmpeg 03chcunningham 07release/4.1:54fbdacc3791: lavf/mov: ensure only one tkhd per trak
[12:21:38 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:f5859d4a8ee2: avformat/nutenc: Document trailer index assert better
[12:21:39 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:321c418b8715: avcodec/rasc: Check that the number of moves is less than or equal the number of pixels
[12:21:40 CET] <cone-385> ffmpeg 03chcunningham 07release/4.1:45f5f2086ebe: lavf/id3v2: fail read_apic on EOF reading mimetype
[12:21:41 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:e1f40f0dae68: avcodec/mjpegdec: Fix indention of ljpeg_decode_yuv_scan()
[12:21:42 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:2f75965c47da: tests/fate/filter-video: increase fuzz for fate-filter-refcmp-psnr-rgb
[12:21:43 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:e3fbbb7d18b6: avformat/mpegts: Fix side data type for stream id
[12:21:44 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:42357b37cb9d: avcodec/avcodec: Document the data type for AV_PKT_DATA_MPEGTS_STREAM_ID
[12:21:45 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:4c0be3a60cf8: avcodec/rpza: Move frame allocation to a later point
[12:21:46 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:c22b67feaae9: avcodec/rpza: Check that there is enough data for all the blocks
[12:21:47 CET] <cone-385> ffmpeg 03Jacob Trimble 07release/4.1:73c90818b116: libavformat/mov: Fix NULL-dereference read for some encrypted content.
[12:21:48 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:69f50eb9150c: postproc/postprocess_template: Avoid using %4 for the threshold compare
[12:21:49 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:daef9d438287: postproc/postprocess_template: remove FF_REG_sp from clobber list
[12:21:50 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:5550946ff4bd: avcodec/ilbcdec: fix integer overflow in energy
[12:21:51 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:5ed024e40bdb: avcodec/fic: Fail on invalid slice size/off
[12:21:52 CET] <cone-385> ffmpeg 03gxw 07release/4.1:929b5519d8e9: avcodec/mips: Fix failed case: hevc-conformance-AMP_A_Samsung_* when enable msa
[12:21:53 CET] <cone-385> ffmpeg 03David Bryant 07release/4.1:ea279bd160d9: avformat/wvdec: detect and error out on WavPack DSD files
[12:21:54 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:33b4aba5bdf4: avcodec/mjpegbdec: Fix some misplaced {} and spaces
[12:21:55 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:41ee513c81a3: avcodec/v4l2_m2m: fix cant typo
[12:21:56 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:6b6c85465866: avformat/libopenmpt: Fix successfull typo
[12:21:57 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:15857674c51d: avcodec/4xm: Fix returned error codes
[12:21:58 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:e385fc45dddc: doc/indevs: fix upto typo
[12:21:59 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:99576bf034ce: avfilter/vf_tonemap_opencl: Make static tables const
[12:22:00 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:1623f42d993a: avcodec/exr: Check for duplicate channel index
[12:22:01 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:9239d58b3653: avcodec/exr: set layer_match in all branches
[12:22:02 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:c694273feb81: avcodec/h264_slice: Fix integer overflow in implicit_weight_table()
[12:22:03 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:792df36f42ab: avcodec/gdv: Optimize and factorize scaling loops
[12:22:04 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:3a52cae2c70a: avcodec/tests/rangecoder: initialize array to avoid valgrind warning
[12:22:05 CET] <cone-385> ffmpeg 03James Almer 07release/4.1:29d978c91e8e: configure: bump year
[12:22:06 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:cb6af7dfa149: avutil/mem: Optimize fill32() by unrolling and using 64bit
[12:22:07 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:a8b5990f4594: avutil/imgutils: Optimize memset_bytes() by using av_memcpy_backptr()
[12:22:08 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:552733d48ba5: avcodec/tiff: Check for 12bit gray fax
[12:22:09 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:31fa50f3d97c: avcodec/prosumer: Error out if decompress() stops reading data
[12:22:10 CET] <cone-385> ffmpeg 03Michael Niedermayer 07release/4.1:bcfd82b0be0a: Update for 4.1.1
[13:37:56 CET] <ubitux> eta on the sub branch for those interested: i finally managed to get fate subtitles pass, so the big part is done, remaining is to deal with the heartbeat mechanism and write the equivalent of sub2video in a filter
[13:38:28 CET] <JEEB> ugh, the sub2video heartbeat stuff. I tried to improve on it and ended up just making it only go realtime or so
[13:38:33 CET] <ubitux> it will take a little while to this done though, but there's progress
[13:38:50 CET] <ubitux> well it's currently a hack so&
[13:39:18 CET] <JEEB> basically separating flushing and the other action, which seemed to fix sub2video over filter chain reinits
[13:39:26 CET] <ubitux> btw, FF_API_ASS_TIMING removal was postponed last bump?
[13:39:43 CET] <JEEB> buut then I noticed live things just didn't go fast enough if close enough to the edge
[13:39:46 CET] <JEEB> :P
[13:39:54 CET] <ubitux> not that i mind much, but the pile of retro compat hack is starting to get in the way
[13:40:18 CET] <ubitux> JEEB: you have a latency issue with sub2video?
[13:40:43 CET] <JEEB> I'm not 100% sure what it was but it did go slow at the end of the day. it's possible it's just latency spikes
[13:40:59 CET] <JEEB> and since the whole thing grinds to a halt for a while that might be the slowness
[13:41:24 CET] <JEEB> you'd be able to find the sub2video patch from latter part of last year since there's not exactly many patches mentioning sub2video xD
[13:41:44 CET] <ubitux> 22ebbda63 damn, we still haven't bumped?
[13:41:52 CET] <JEEB> the issue I was fixing was filter chain re-inits causing flushes that would then EOS the overlay
[13:42:01 CET] <JEEB> aka "I lost sub2video after XYZ happened"
[13:42:10 CET] <ubitux> ah, that's unfortunate
[13:42:55 CET] <JEEB> the easiest way to repro that is to use filter_complex for both video and audio, and then play a subtitled stream where the audio config changes
[13:43:04 CET] <JEEB> suddenly post change you lose subtitles
[13:43:10 CET] <atomnuker> ubitux: we bumped last year, and it was less than 2 years after that deprecation
[13:43:41 CET] <ubitux> JEEB: i suggest to look at this stuff after it's not a hack anymore
[13:44:03 CET] <JEEB> true
[13:44:16 CET] <JEEB> then it itself probably wouldn't be feeding EOS values to the overlay ;)
[13:44:52 CET] <ubitux> atomnuker: ooh, and indeed the file was starting to set major < 59 while being at 57
[13:44:54 CET] <ubitux> ok
[13:45:25 CET] <JEEB> and subtitle wise I'm still not sure which time base to use with muh subtitle decoder :D
[13:45:32 CET] <JEEB> pkt_timebase and avctx time base
[13:45:35 CET] <JEEB> delicious dilemmas
[13:45:50 CET] <JEEB> I know input packets come with pkt_timebase
[13:46:01 CET] <JEEB> avctx time base is unset by default {0, 1}
[13:46:47 CET] <ubitux> JEEB: ah, this is a nightmare
[13:46:54 CET] <ubitux> because you have at least 3 tb
[13:47:03 CET] <ubitux> the tb of the stream, "ms" decoder side
[13:47:11 CET] <ubitux> and the ff timebase
[13:47:32 CET] <ubitux> in my branch, there is a clusterfuck of conversions for the compat layer
[13:47:36 CET] <atomnuker> there's only one tb which makes sense for a given set of pts though
[13:47:37 CET] <ubitux> a real pain to get right
[13:50:46 CET] <ubitux> my biggest problem so far was subtitles with delay
[13:51:02 CET] <ubitux> so i couldn't use the avpkt info to fill the AVFrame.pkt_* fields
[13:51:16 CET] <ubitux> i had to reconstruct them based on the scaled versions in AVSubtitle
[13:51:40 CET] <ubitux> (scaled at least twice, in the decoder itself, then in the decoding framework in the legacy function)
[13:51:50 CET] <ubitux> that kind of madness
[13:52:07 CET] <ubitux> when everything will be in place, we will be able to make a second pass to drop the intermediate layers
[13:52:15 CET] <ubitux> and drop these random rescales
[13:52:18 CET] <ubitux> but until then, meh.
[22:54:35 CET] <durandal_1707> michaelni: please tell nicolas to stop blocking my patches for no reason
[00:00:00 CET] --- Tue Jan 22 2019
1
0
[00:08:44 CET] <mateothegreat> g1itch: you *may* need to pass the stream path (at the end of the url)
[00:08:58 CET] <mateothegreat> I have to do that with some of the older rtsp cameras connected to my platform
[00:47:43 CET] <g1itch> mateothegreat this one doesn't have a stream path i don't think - at least when i plug it into shinobi / vlc it doesn't require one
[00:51:07 CET] <sn00ker> hi all
[00:51:18 CET] <sn00ker> i want convert a movie in two pass
[00:52:48 CET] <markweston> Hi, I want to play a movie with ffplay but left/right stereo audio is out of balance; How do I fix that? "ffplay -af amix movie.mp4" makes it mute
[00:52:57 CET] <sn00ker> and than i see this
[00:52:57 CET] <sn00ker> 00000350 29 10 ca 79 5e 0f 3e d3 c9 ad a8 ae dc b6 2d f7 )..y^.>.......-.
[00:52:57 CET] <sn00ker> 00000360 2b 62 42 69 60 19 32 10 fc 1e 77 44 e9 55 04 61 +bBi`.2...wD.U.a
[00:53:49 CET] <markweston> with error "Input pad "input0" with type audio of the filter instance "Parsed_amix_0" of amix not connected to any source"
[00:58:06 CET] <markweston> Maybe try amerge instead?
[00:59:54 CET] <Hello71> use mpv?
[01:00:45 CET] <markweston> Actually I know why it's bad. It uses 5.1 audio
[01:07:00 CET] <markweston> so I need to amerge it to mono/stereo
[01:07:15 CET] <markweston> how can I do that with -af and not with -filter_complex?
[01:11:31 CET] <markweston> FOUND IT
[01:11:32 CET] <markweston> https://superuser.com/questions/852400/properly-downmix-5-1-to-stereo-using…
[01:52:55 CET] <ariyasu> the default crf value for x264 is 23 and x265 is 28
[01:53:15 CET] <ariyasu> would these values produce an encode of comparable quality?
[01:53:30 CET] <ariyasu> not factoring in bitrate and filesizes
[02:10:12 CET] <relaxed> encode some samples and decide for yourself
[02:10:41 CET] <maxrazer> Does ffmpeg have a good waveform visual generator? The examples I saw didn't look that good. I'm looking for a program. I know Adobe After Effects can do it. I also just learned of a linux program called Natron, which maybe can.
[02:12:13 CET] <maxrazer> I want to take a video file and replace the video with a background image and a waveform animation as output.
[02:36:51 CET] <ariyasu> yeah im doing that relaxed but x265 encodes at 0.01x realtime so it takes long time to see the results
[02:40:04 CET] <Hello71> are you setting -preset placebo or something
[02:50:17 CET] <ariyasu> -preset slow
[03:24:47 CET] <sn00ker> hi all
[03:27:49 CET] <friendofafriend> Hello, sn00ker.
[03:28:47 CET] <sn00ker> I despair of ffmpeg. So I want to send / dev / video0 to a rtmp server. ffmpeg also sends but the video can not be played
[03:30:47 CET] <sn00ker> Dequeued v4l2 buffer contains 339968 bytes, but 338040 were expected. Flags: 0x00000001.
[03:30:52 CET] <sn00ker> hhmmpppffff...
[04:07:01 CET] <trysten> silly question, where is the documentation for the -b option? I looked all through the man page. like ffmpeg -b:v 1M
[04:32:42 CET] <hendry> hi, I'm trying to encode https://media.dev.unee-t.com/2019-01-21/new-user-flow.mp4 for the Web, i.e. add -movflags +faststart
[04:33:21 CET] <hendry> but when I do that, the process seems to fail https://media.dev.unee-t.com/2019-01-21/new-user-flow.mp4.log
[04:33:40 CET] <hendry> so what's wrong with my source and how do I fix it so it can be playable on the Web please?
[04:37:06 CET] <pink_mist> whoah, first sn00ker and now hendry ... who's next? ronnie? murphy? higgins? =)
[04:37:19 CET] <pink_mist> (sorry, no idea about your question)
[05:16:47 CET] <furq> trysten: https://www.ffmpeg.org/ffmpeg-codecs.html#Codec-Options
[05:18:37 CET] <furq> hendry: i don't see any errors in that log, what's it actually doing
[05:19:05 CET] <furq> bear in mind -movflags faststart will write the entire file twice and then delete one, so make sure you're not out of disk space or anything like that
[05:23:27 CET] <hendry> furq: i'm not out of space
[05:23:43 CET] <hendry> perhaps there is an issue with the source file: https://media.dev.unee-t.com/2019-01-21/new-user-flow.mp4 ?
[05:31:08 CET] <trysten> ah, if I had only looked in man ffmeg-codecs. thank you
[05:36:13 CET] <ariyasu> why are you using 4:4:4 out of curiosity
[06:53:59 CET] <hendry> ariyasu: i didn't create the source, just downloaded it from a site
[13:56:01 CET] <aristaware> Hi! I'm trying to join several little clips from my webcam (Yi home). Each clip last 1 minute. The problem here is that the camera has motion detection and stops recording till it detects new movement. So I have several <=1' clips and for some minutes there's no video. What I would want is to join them all, but fill the gaps between two videos with the last frame of the video preceding the gap.
[13:56:10 CET] <aristaware> Thanks!
[14:10:31 CET] <fella> you mean, you have a 1min clip recorded at 6pm and the next one at say 6am; instead of appending them you would rather have 12hrs of freeze image in between?
[14:11:44 CET] <aristaware> Yeah
[14:12:22 CET] <aristaware> That would be an extreme case, cause usually the gaps is no more than 30-60'
[14:14:46 CET] <fella> ffmpeg -i INOUT -ss 00:00:59.000 -vframes 1 last_frame.png; mpeg -loop 1 -i last_frame.png -c:v ENCODER -t 30 -pix_fmt yuv420p OUTPUT
[14:14:59 CET] <fella> ^^ try sth like that
[14:15:23 CET] <fella> lol - ^INOUT^INPUT
[14:16:14 CET] <fella> takes one picture/frame at guven time
[14:16:33 CET] <fella> then makes a movie looping over that frame
[14:17:25 CET] <aristaware> That would serve me to "extend" the video before the gap an arbritary amount of time, right?
[14:17:47 CET] <fella> should do, yes
[14:18:36 CET] <fella> that's in the 2nd ffmoeg (-t nnn)
[14:19:08 CET] <sn00ker> hi all
[14:19:10 CET] <fella> gosh, pardon my tyoing ... smartphine :(
[14:19:44 CET] <aristaware> But, if understood the command correctly, it would take the frame at 0:59.0000, right?
[14:20:06 CET] <fella> 59seconds
[14:20:19 CET] <aristaware> Not the very last frame
[14:20:41 CET] <sn00ker> I want to create two or three virtual video devices with v4l. I want to put these together using ffmpeg and send them to a rtmp server. is that possible? How do I do that with the sound? Can I transfer it virtually?
[14:21:03 CET] <fella> think is, last frame isn't necessarily a full frame
[14:21:06 CET] <sn00ker> on the virtual video devices I will then send videos and pictures and mix with ffmepg
[14:21:33 CET] <fella> you would need to search backwards for the last I-frame
[14:22:31 CET] <aristaware> @fella searching the web, I found some forum posts that suggested using overlays
[14:24:16 CET] <aristaware> That makes sense?
[14:24:20 CET] <fella> i don't get that idea, but that doesn't mean it's wring
[14:24:34 CET] <fella> ^wring^wrong
[14:24:51 CET] <aristaware> They said something like that the overlay would extend the last frame for the duration of the video
[14:25:37 CET] <aristaware> Anyway, my "naive" aproximation to the problem was to create a video for each gap and join all the videos
[14:25:56 CET] <aristaware> Your method would require to reencode the video?
[14:26:31 CET] <aristaware> I expect the resulting video to be 8-10h at 1080p
[14:26:39 CET] <aristaware> B&W
[14:26:43 CET] <fella> no, if they are the same firmat you coukd stick them together
[14:27:25 CET] <aristaware> Even the videos created from extracted frames?
[14:27:29 CET] <fella> https://trac.ffmpeg.org/wiki/Concatenate
[14:28:16 CET] <fella> well, after that it's a movie/video/clip like all the others
[14:31:48 CET] <aristaware> Mmmm
[14:31:51 CET] <aristaware> I see
[14:32:55 CET] <aristaware> And the videos created from the extracted frames would be encoded with the same codecs and options as the original clips?
[14:34:53 CET] <fella> no, you have to set them yourself - therefor the 'ENCODER' placeholder
[14:37:02 CET] <fella> aristaware: i'ld suggest you just give it a try ... and come back with the error(s) you get if it fails ;)
[14:38:19 CET] <aristaware> You're right! Sorry for so many questions. I thought ENCODER was a ffmpeg token or something. Thank you very much!
[14:40:13 CET] <fella> np, yw :)
[14:51:12 CET] <g1itch> i have an IP camera i'm using ffmpeg to stream, but it looks like the video is fine but the audio pitch is like half of what it should be? what option can i use to increase the audio pitch 2x?
[14:52:06 CET] <furq> g1itch: what sample rate is the audio
[14:52:25 CET] <g1itch> can i determine that from the ffmpeg output?
[14:52:39 CET] <furq> it should mention it in there yeah
[14:52:42 CET] <g1itch> one se
[14:53:25 CET] <g1itch> https://paste.w00t.cloud/nijesehodo.sql
[14:53:45 CET] <g1itch> so from what i can tell, the audio is either extremely low pitch OR it's like it's delayed? slowed down maybe?
[14:53:48 CET] <furq> -af asetrate=16000
[14:54:05 CET] <g1itch> thanks will give that a try!
[14:54:18 CET] <g1itch> ever heard of this kind of issue with rtsp streams>?
[14:55:31 CET] <g1itch> and i imagine it wouldn't be a slowed down issue - that wouldn't really make sense in a live stream right?
[14:57:54 CET] <g1itch> if that is an issue, can i change the tempo of the live stream?
[14:58:47 CET] <furq> -af atempo
[14:59:17 CET] <furq> but that wouldn't work very well with a live stream
[15:05:46 CET] <g1itch> gotcha
[15:06:06 CET] <g1itch> will test the asetrate. i would find it very unusual for a live stream to have a tempo issue with the audio, right?
[15:13:45 CET] <GTest1989> Hello, anyone available to help?
[15:15:14 CET] <sn00ker> nobody have an answer for me?
[15:39:21 CET] <GTest1989> Anyone here to help with a Decklink issue?
[15:52:39 CET] <GTest1989> Anyone available to assist?
[15:57:14 CET] <DHE> GTest1989: just say what your problem is and someone will reply at their earliest convenience
[16:17:35 CET] <th3_v0ice> How can I extract every frame from a video rescale it to 90p and save as raw yuv file? This doesnt work : -i test.mp4 -s 128x90 -pix_fmt yuv420p -c:v rawvideo test_%05d.yuv
[16:24:59 CET] <DHE> th3_v0ice: try adding "-f image2" just before the output filename
[16:26:52 CET] <g1itch> so is anyone willing to help troubleshoot a streaming issue with me? it's an rtsp stream via ffmpeg, but ffmpeg and VLC (i tried multiple platforms to make sure the issue was consistent) have the audio really low - i can't tell if the pitch is just off or if the audio is somehow being played back at a slower rate?
[16:27:16 CET] <g1itch> i tried asetrate=16000 (audio bitrate in ffmpeg says its 8000) and i tried atempo=2.0 but neither of them seem to affect the stream
[16:28:31 CET] <BtbN> lower rate? Too low? I don't follow.
[16:28:42 CET] <BtbN> So is it to quiet, or messed otherwise up?
[16:29:12 CET] <g1itch> messed up - like if someone talks their voices are extremely deep
[16:33:22 CET] <th3_v0ice> DHE: Everything seems to be just gray color, but its producing single files
[16:38:25 CET] <th3_v0ice> DHE: It doesnt matter if I scale it or not.
[16:42:54 CET] <th3_v0ice> I will use python to compare bytes, thanks for the help :)
[17:38:26 CET] <sn00ker> i want reencode a movie in 2 pass
[17:38:35 CET] <sn00ker> but the filesize is equal
[17:42:20 CET] <kepstin> not sure what you mean. when you're encoding in 2-pass mode, you set a bitrate - and the filesize is bitrate × time
[17:42:37 CET] <kepstin> so you ask the encoder to make a file of a specific size, and it tries to get as close as possible
[17:43:05 CET] <kepstin> if you want a different file size, calculate a bitrate that would result in the desired size
[17:43:20 CET] <DHE> 2pass exists to provide best possible quality with a file size (and/or bitrate) budget
[17:44:36 CET] <kepstin> if you want the encoder to make the file as small as possible while maintaining a consistent quality, then you should be using (single-pass) crf mode with x264 (or x265 i guess)
[17:44:44 CET] <sn00ker> https://nopaste.linux-dev.org/?1191602
[17:44:47 CET] <sn00ker> i do this
[17:45:39 CET] <sn00ker> and datei.mp4 and output.mp4 as the same filesize
[17:45:54 CET] <sn00ker> datei.mp4 has 1200k bitrate
[17:47:52 CET] <kepstin> i'd assume that either your input is actually not 1200k, or the audio track is just really big.
[17:48:36 CET] <sn00ker> fflogger, the command rauns again. i wait for finish
[17:48:58 CET] <sn00ker> In time, I can take care of another problem. what can ffmpeg do?
[17:48:59 CET] <kepstin> but yeah, you'd probably be better served by using a single-pass "crf" mode encode unless you really need an exact target bitrate
[17:50:10 CET] <sn00ker> I would like to create with v4l two / dev / video and then describe them with ffmpeg. Is that possible?
[17:50:46 CET] <sn00ker> From these two streams, I would like to make a stream again. So both / dev / video as input and then on eien rtmp as output. Is that possible?
[17:51:32 CET] <kepstin> yes, ffmpeg can read from multiple v4l inputs, combine them into a single video using filters, then stream output to rtmp.
[17:51:55 CET] <kepstin> But note that ffmpeg sometimes has issues with realtime streaming multiple inputs - they might not be synchronized.
[17:52:07 CET] <sn00ker> OK. and then I can send a picture on a dev, on a device a video and ffmpeg mixes me?
[17:53:09 CET] <kepstin> I can't understand what you just wrote.
[17:53:23 CET] <sn00ker> I do not really want to mix both ... I just want to have a permanent rtmp stream that does not send anything if I write nothing on video and sends if the video is there but the stream should be preserved
[17:54:02 CET] <kepstin> sn00ker: The ffmpeg cli tool cannot do that, it is not designed to dynamically start/stop inputs.
[17:54:16 CET] <sn00ker> hmpf..
[17:54:21 CET] <sn00ker> im german.. i hate english
[17:54:30 CET] <sn00ker> I can not explain that correctly
[17:54:47 CET] <kepstin> sn00ker: It is possible to write a custom application that does that using ffmpeg libraries. Or you could use a dedicated streaming tool like OBS.
[17:55:10 CET] <sn00ker> OBS for cli not possible
[17:55:53 CET] <sn00ker> ffmpeg should join me / dev / video0 and / dev / video1 and send to a rtmp. whether it is running on / dev / video or not
[17:58:47 CET] <kepstin> If ffmpeg tries to read a frame from an input, but no frame is available, then ffmpeg will stop and wait. It will stop sending output.
[17:59:27 CET] <sn00ker> yes and that is exactly my problem.
[17:59:50 CET] <sn00ker> how and with what are such things produced? So such streams? but console not graphically
[18:00:21 CET] <kepstin> You can write a custom tool to do it. Most people probably use GUI tools like OBS.
[18:00:44 CET] <kepstin> Sometimes you can stop ffmpeg & start a different ffmpeg, and the gap is small enough that the stream looks ok
[18:01:48 CET] <sn00ker> No. This will also disconnect and rebuild the rtmp, and that's exactly what should be prevented. The stream should remain permanently connected no matter if an input or not. then ffmpeg should send an empty stream during this time
[18:02:04 CET] <kepstin> ffmpeg cli does not support that. You need a different tool.
[18:03:11 CET] <sn00ker> Great. So continue to torture Google. It can not be that there is no software for it. the whole streaming provider. the whole tv provider. that use synonymous any software
[18:03:33 CET] <sn00ker> does ffmpeg stop the connection immediately when no frame comes?
[18:11:23 CET] <kepstin> ffmpeg CLI is a single-threaded batch processing tool. It does a simple loop - read, decode, filter, encode, write. If the read blocks or the write blocks, then ffmpeg will stall.
[18:11:44 CET] <kepstin> The ffmpeg libraries (libavcodec, etc.) can be used to write a proper realtime streaming tool
[18:14:57 CET] <kepstin> I don't know what software streaming providers or TV providers use, but the key part is to have a video mixer that generates continuous output.
[18:19:50 CET] <sn00ker> can i use this?
[18:19:51 CET] <sn00ker> https://nopaste.linux-dev.org/?1191603
[18:19:58 CET] <sn00ker> but with /dev/video
[18:22:42 CET] <kepstin> sn00ker: that idea is ok, but the main problem is that you have to detect when the device starts/stops and change the ffmpeg input command to switch between reading from the device and generating blank video.
[18:24:21 CET] <sn00ker> I thought so. I do two sanding. These loops will permanently send a picture to / dev / video0 and / dev / video1. So frames are there on both. I lead these together with ffmpeg to the stream
[18:24:23 CET] <zerodefect> In the C-API, is it possible to get to the 708 caption data that is embedded in the user_data of the elementary stream?
[18:25:18 CET] <sn00ker> if I want to stream now. recognize a script the connection and terminates the loop for videoX as soon as my program separates the loop starts and a still picture is sent again
[19:06:17 CET] <kevinnn> Can anyone link me to a very simple windows desktop duplication API c++ example?
[19:06:46 CET] <kevinnn> I am pulling my hair out over here trying to figure out the convoluted example windows has on their site
[19:07:35 CET] <TiZ> Hi there. I'm having a great deal of trouble capturing my desktop and encoding with VAAPI at a stable 30 FPS. I've compiled ffmpeg and its components all from source. I've tried with both 4.1 and master. I made a script to generate a ffmpeg command line and capture the output. The command and the output are here: https://pastebin.com/bG4WKuH8 (The ffmpeg pastebin doesn't exist anymore.) What am I doing wrong?
[19:21:32 CET] <remus> Ok - I took a recording of the RSTP stream, extracted the audio and did some manual adjustments of it - it looks like the audio in the stream is not only a lower pitch but it's also slowed down. Does that make sense for a live streaming IP camera?
[20:50:43 CET] <dryft> Evening people, I'm using ffmpeg to split 5.1 audio into individual wavs. This works fine but I'd like to specify a region with "-ss" & "-to" to avoid the huge file sizes, however ffmpeg seems to ignore them. Is it not possible with this action?
[20:52:11 CET] <dryft> here's the cmd https://0x0.st/sFc4.txt
[20:53:10 CET] <DHE> order of parameters matters. that only applies -ss and -to to the first .wav file written
[20:53:22 CET] <DHE> you'll have to either repeat them for each .wav file, or apply them to the input itself instead
[20:54:31 CET] <dryft> silly me
[20:54:36 CET] <dryft> ty
[21:38:18 CET] <th3_v0ice> Is mp4 muxer doing anything to the I frames?
[22:34:03 CET] <kepstin> th3_v0ice: I'd assume that it's putting them into the file, and possibly marking their locations into the index if appropriate.
[22:34:41 CET] Action: kepstin is being a bit silly, and isn't familiar with the issue you're having.
[22:40:03 CET] <th3_v0ice> For some reason two mp4 files have one byte difference in all I frames and because of that frame is not properly decoded.
[22:41:39 CET] <kepstin> what codec? what command is being used to create the files?
[00:00:00 CET] --- Tue Jan 22 2019
1
0