Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- 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
July 2019
- 1 participants
- 38 discussions
[03:59:07 CEST] <renatosilva> hi, how can I make the audio stream the first one when mapping streams?
[03:59:44 CEST] <renatosilva> something like -map 0:a -map 0:rest
[04:07:06 CEST] <DHE> I think you're gonna have to actually check the stream ahead of time and manually map all but the one you want.
[04:15:38 CEST] <renatosilva> ok thanks
[05:22:10 CEST] <ossifrage> Wow, the live555 guy is a bit of a dick
[08:21:24 CEST] <kab0m> hi @ all
[08:23:28 CEST] <kab0m> when i run "ffmpeg -i in.mp4 -c copy -c:s srt out.mkv" the styling of the subtitles gets broken and the text is very small and has a different font...how does one copy an mp4 with subtitles to mkv and keep the subtitle styling?
[09:40:55 CEST] <suryajagtap> how to stream local video file using ffpeg and rtsp??
[10:42:08 CEST] <Hackerpcs> is it possible to hide just metadata from output?
[10:44:32 CEST] <cehoyos> From console output or from output file?
[10:44:41 CEST] <Hackerpcs> just console
[10:44:51 CEST] <cehoyos> Not that I know of
[10:55:28 CEST] <koz_> I read this page for VP9 encoding: https://developers.google.com/media/vp9/settings/vod/, and for what I have, they recommend these settings: http://paste.debian.net/1093545/ . However, I have a GPU with hardware encoding for VP9. Is it possible to use the vp9_vaapi with these settings? Do I have to change how these calls are spelled?
[10:55:33 CEST] <koz_> (aside from the obvious)
[10:58:14 CEST] <koz_> s/the vp9_vaapi/the vp9_vaapi encoder/
[11:00:46 CEST] <cehoyos> The settings you pasted are specifcally for libvpx encoding. If you want to use hardware encoding, they do not apply
[11:01:38 CEST] <koz_> cehoyos: Let me rephrase my question then. What settings should I feed to vp9_vaapi to get the same result, in terms of what they describe here: https://developers.google.com/media/vp9/settings/vod/ ?
[11:01:53 CEST] <koz_> (assuming that my goal is 1920x1080 at 60fps)
[11:02:05 CEST] <cehoyos> -s 1920x1080 -r 60
[11:02:52 CEST] <cehoyos> Note that nothing in your pasted command enforces the frame rate (neither 60 fps nor anything else)
[11:03:29 CEST] <koz_> I'm just going by what they say in the link.
[11:04:13 CEST] <cehoyos> Just use the bitrate mentioned in the table and test if your hardware encoder can reach it.
[11:05:15 CEST] <koz_> So the rest of the stuff they mention (tile columns, threads, min and max bitrate, etc) don't apply?
[11:05:45 CEST] <cehoyos> threads make little sense with hardware encoding
[11:06:26 CEST] <cehoyos> I don't know if tiles are supported by your hardware encoder, it should support min framerate (but you should not set it imo), you will find out if max bitrate is supported or not
[11:06:42 CEST] <koz_> Why do you think setting the minimum bitrate is a bad plan?
[11:06:51 CEST] <cehoyos> Because it reduces overall quality
[11:07:18 CEST] <koz_> Wait, _reduces_? Could you explain why? Not questioning you, but I think I don't understand bitrates properly.
[11:07:22 CEST] <cehoyos> You spend bits on a scene that does not need the bits, and you cannot spend them elsewhere
[11:08:26 CEST] <cehoyos> (Just ignore it and test if your hardware encoder supports two-pass bitrate encoding at all, it is possible that this does not work, testing will tell you)
[11:08:35 CEST] <koz_> cehoyos: OK, thanks.
[11:09:40 CEST] <cehoyos> If it does not work, you either have to use one-pass constant bitrate (which definitely has worse quality for real world content) or use constant quality where it is difficult to reach a target bitrate
[11:10:04 CEST] <koz_> I've got an Intel GPU and an AMD GPU both.
[11:10:14 CEST] <koz_> Wait never mind, my AMD can't hardware encode VP9.
[11:10:23 CEST] <koz_> So it's an Intel.
[11:10:30 CEST] <koz_> (if that tells you anything)
[11:10:43 CEST] <koz_> I'm guessing two-pass encoding is a driver thing though?
[11:32:23 CEST] <cehoyos> I suspect support in the whole infrastructure is necessary.
[12:02:42 CEST] <kab0m> ffmpeg -i inout.mp4 -c copy -c:s webvtt output.mkv How do i tell ffmpeg that the subtitle-stream should be disabled by default when opening the mkv-file?
[12:06:32 CEST] <kab0m> i could only find the -disposition parameter, but i didnt find a way to disable the default set subtitle
[12:09:07 CEST] <kab0m> ok i think i got it... -disposition:s:0 0 was the trick
[15:08:29 CEST] <Ua-Jared> Hey all, I have a quick question about general ffmpeg use (from the command line). So I have an IP camera that streams an H.264 encoded stream. I've used OpenCV (with the Java 8 wrappers) to successfully grab the stream from the camera, frame by frame, and paint it on screen. This works well, but unfortunately when I run my code, it doesn't use the
[15:08:29 CEST] <Ua-Jared> GPU at all. And I know that OpenCV (and like everything else, haha) uses ffmpeg in the background.
[15:08:30 CEST] <Ua-Jared> in my Java program somehow, so that the decoding is done by the GPU-accelerated ffmpeg, but I still have access to the images in Java? I was thinking something like using ffmpeg to convert the stream into an .avi or .mp4 (in realtime), and then at the same time reading in images from that in-creating video file. But this seems a little janky haha.
[15:08:31 CEST] <Ua-Jared> Fundamentally I just want to use gpu-accelerated ffmpeg to decode this H264 stream and read the decoded images into my Java program for further processing.
[15:24:19 CEST] <GuiToris> hey, does ffmpeg mind if it has been suspended?
[15:36:42 CEST] <DHE> not directly, but if it's getting a realtime video feed there will be dropped packets and time warping which could result in a thoroughly entertaining result after resuming
[15:37:17 CEST] <JEEB> yea, also hardware components might have weird stuff
[15:37:23 CEST] <JEEB> if you are using hw dec/enc
[16:07:48 CEST] <lofo> Hello ! New ffmpeg user here. I'd like to figure out ways to debug my ffmpeg commad
[16:08:39 CEST] <JEEB> -v verbose and if you need more -v debug are your friends
[16:08:55 CEST] <kepstin> lofo: in general, you want to read the complete ffmpeg output for messages, and reference the command line that you ran
[16:08:57 CEST] <lofo> i'm trying to make a video out of a series of png. it works fine when i use PNGs that i produced with ffmpeg (from a video). But it fails when i try to use png produced elsewhere. I can't find more info about what could cause that
[16:09:15 CEST] <kepstin> lofo: to the point where we have a bot macro in this channel to ask people for those things
[16:09:36 CEST] <JEEB> paste the command line and full failing terminal output, preferably with -v verbose onto a pastebin or gist or so
[16:09:39 CEST] <JEEB> and then link that here
[16:13:52 CEST] <GuiToris> DHE, JEEB sorry I wasn't listening.
[16:14:02 CEST] <GuiToris> So I had to ctrl+z my encoding
[16:14:21 CEST] <GuiToris> it isn't live stream
[16:14:40 CEST] <GuiToris> pngs to x265
[16:14:56 CEST] <DHE> well that's fine
[16:15:23 CEST] <lofo> here ! output might be weird since i use mobile-ffmpeg https://pastebin.com/1vQqmJqR
[16:15:27 CEST] <GuiToris> x265 conversion is super slow and unpredictable
[16:15:30 CEST] <GuiToris> thank you for your help
[16:16:31 CEST] <lofo> erratum : i ran it with -v debug not -v verbose
[16:19:05 CEST] <kepstin> lofo: oh, wow, i've never seen that. when ffmpeg is calling libz to do part of the png uncompression, it's getting an error code back
[16:20:40 CEST] <kepstin> lofo: error code 3 appears to be "data error", which means corrupt input
[16:21:43 CEST] <lofo> i suspected the png to be corrupted so i ran pngcheck on it. i got "ff-595.png illegal (unless recently approved) unknown, public chunk iDOT"
[16:21:58 CEST] <lofo> which is a chunk added by png made using apple's code
[16:22:31 CEST] <lofo> kepstin How did you get the info about error code 3 being a data error ?
[16:23:00 CEST] <lofo> could a non-recognized chunk make png uncompression fail ?
[16:23:26 CEST] <kepstin> i read zlib.h, since it said that was the error returned from the inflate function
[16:23:44 CEST] <kepstin> no, it just skips the chunk. this means the data inside the iDAT couldn't be decoded.
[16:23:58 CEST] <kepstin> er, IDAT
[16:24:26 CEST] <durandal_1707> lofo: what application can sucesfully display such pngs?
[16:24:28 CEST] <lofo> oh ok, and inflate is part of zlib ?
[16:24:55 CEST] <lofo> durandal_1707 i can display it on a Mac and iPohne
[16:25:06 CEST] <DHE> yes, PNGs are basically deflate-compressed (same algorithm as gzip) so ffmpeg makes use of zlib to decode/encode them
[16:25:08 CEST] <kepstin> from other knowledge, I know that one step in png compression is zlib, and so it followed that that function was probably from zlib.
[16:26:20 CEST] <lofo> oh ok. just trying to find ways to debug on my own
[16:27:11 CEST] <kepstin> either your system zlib is broken, or your png is broken :/
[16:27:21 CEST] <kepstin> given that you said you can decode other pngs, it's probably the latter.
[16:28:43 CEST] <lofo> this is a more verbose output of pngcheck https://pastebin.com/RvwBunR3
[16:29:21 CEST] <lofo> yes i can recompose a video out of png if i produced the png by decomposing a video (all the time using ffmpeg)
[16:29:45 CEST] <durandal_1707> lofo: apple devs like to fck with everything
[16:29:55 CEST] <lofo> durandal_1707 sure they do
[16:30:44 CEST] <kepstin> lofo: as far as I can tell, that pngcheck output is basically saying the same thing as ffmpeg - the png is corrupt and can't be decoded.
[16:31:42 CEST] <durandal_1707> hey, we wil make incompatible pngs for our people, they will probably never notice, because we can ...
[16:33:03 CEST] <lofo> thats crazy
[16:33:03 CEST] <kepstin> the iDOT thing appears to be bad, but benign (it just stores info about the screen scaling factor)
[16:33:22 CEST] <lofo> but that could make the uncompression fail altogether ?
[16:33:30 CEST] <kepstin> no, it'll be ignored
[16:33:40 CEST] <kepstin> the issue is that the actual image data in your png file is corrupt
[16:34:00 CEST] <lofo> but that pngcheck wont tell me
[16:34:07 CEST] <kepstin> pngcheck did say that
[16:34:14 CEST] <kepstin> that's what "ERRORS DETECTED in ff-595.png" means
[16:34:46 CEST] <kepstin> (it has a different last line if the image data could be decoded, looks like "No errors detected in XXX (N chunks, ~M% compression)."
[16:34:56 CEST] <lofo> i thought it was linked to the iDot a line above
[16:36:29 CEST] <durandal_1707> hadnt it said it works for him under other apps?
[17:23:55 CEST] <Ua-Jared> Hey all, can anyone tell me why this command: ./ffmpeg -hwaccel dxva2 -threads 1 -i <streamURIforAnH264Stream> output.mp4 would only be using 2% of my GPU? I can see this in task manager, I'm not even sure if it's faster than using no hw acceleration. I know offloading tasks to the GPU is certainly not always going to be benificial, but I figured H
[17:23:55 CEST] <Ua-Jared> 264 decoded would benefit from it :P. Here's the full command and output: https://pastebin.com/x1R2i9jB
[17:25:03 CEST] <Ua-Jared> And I'm on Windows 10, 64-Bit, with an integrated graphics card for reference. It's an Intel HD Graphics 630 with Direct3D support
[17:31:54 CEST] <jkqxz> Seems about right? 720p video will happily decode at >1000fps on that sort of decoder, so given that it's bounded by something else at only 26fps (either the encode or the input stream?) 2% GPU use is totally plausible.
[17:35:01 CEST] <Ua-Jared> Ohhhhh.... I didn't know that! That kinda makes sense. So, maybe this is a daft question, but when I run that command I get about 15% CPU usage and 2% GPU usage in task manager. Would there be anyway to offload more of that to the GPU? My goal is to reduce the load on the CPU more than anything else
[17:51:25 CEST] <BtbN> Video Decoding also does not load the GPU, but the Video Decoder.
[17:55:44 CEST] <Ua-Jared> Perhaps a dumb question but... wouldn't the video decoder be in the GPU? It's atleast listed under the GPU tab in task manager. So I'd think video decoded would load the GPU / would be something the GPU would be good for
[18:27:27 CEST] <DHE> Ua-Jared: typically the video decoder/encoder is a discrete part of the GPU separate from the computation/3d graphics components
[18:30:36 CEST] <Ua-Jared> Ahh, well that makes sense. I guess I'd need to check if my Intel HD Graphics 630 supports H264 decoding in its hardware to see if there'd be any real benefit to using the GPU, right?
[19:37:46 CEST] <kepstin> fwiw, 630 is kaby lake, and can do h264, hevc(+10bit), vp8, and vp9(+10bit) decoding
[00:00:00 CEST] --- Wed Jul 31 2019
1
0
[01:45:10 CEST] <cone-004> ffmpeg 03Michael Niedermayer 07master:38b6c48c4300: avcodec/brenderpix: Check input size before allocating image
[01:45:10 CEST] <cone-004> ffmpeg 03Michael Niedermayer 07master:47b6ca0b022a: avcodec/assdec: undefined use of memcpy()
[02:31:21 CEST] <tmm1> how can i dump out sidedata for output packets in ffmpeg cli
[02:36:25 CEST] <kierank> showinfo?
[02:52:35 CEST] <tmm1> i thought there was one like bsf trace_headers, but perhaps i'm thinking of ffprobe formats
[02:52:53 CEST] <tmm1> does pbc require AV_INPUT_BUFFER_PADDING_SIZE ?
[02:54:12 CEST] <tmm1> seems not, only gbc does
[15:08:29 CEST] <durandal_1707> kierank: see cfhd patch on ml, works will all cfhd samples i have
[15:09:14 CEST] <kierank> durandal_1707: all samples in that directory I gave?
[15:09:44 CEST] <durandal_1707> bayer
[15:09:54 CEST] <durandal_1707> reto samples
[15:25:42 CEST] <kierank> durandal_1707: patch is actually ok
[15:25:44 CEST] <kierank> I guess ffplay converts to rgb?
[15:25:58 CEST] <kierank> durandal_1707: I thought you were going to convert to rgb in decoder
[15:27:16 CEST] <durandal_1707> there is ugly bayer conversion in swscale
[15:29:28 CEST] <jamrial> it's getting tiresome being pinged by fflogger every other hour :/
[15:31:59 CEST] <durandal_1707> which client you use? i do not get pings even if I'm being pinged
[15:32:21 CEST] <durandal_1707> unless i receive private message ...
[15:33:05 CEST] <kierank> irccloud
[15:36:04 CEST] <kierank> durandal_1707: I am testing patch
[15:37:44 CEST] <kierank> durandal_1707: I guess we need to do prores raw
[15:37:46 CEST] <kierank> and blackmagic raw
[15:38:16 CEST] <durandal_1707> insert *COINS*
[15:38:22 CEST] <kierank> sure
[15:38:25 CEST] Action: kierank don't care
[15:42:57 CEST] <kierank> durandal_1707: there are bayer samples with transform-type=2
[15:43:45 CEST] <kierank> http://www.siliconimaging.com/DigitalCinema/Gallery/2%20Flags%20Trailer_HD_…
[15:48:23 CEST] <durandal_1707> kierank: hmm, is that supported by gsoc patch somehow, i do not have that updated code with me to check
[15:48:34 CEST] <kierank> durandal_1707: yes
[15:48:43 CEST] <kierank> at the moment trying to unzip file
[15:48:48 CEST] <kierank> uses weird mac zip format
[15:49:07 CEST] <durandal_1707> kierank: what file are you unzipping?
[15:49:58 CEST] <kierank> http://www.siliconimaging.com/DigitalCinema/Gallery/Taxi_Driving.zip
[16:51:43 CEST] <soreau> https://lists.ffmpeg.org/pipermail/ffmpeg-user/2018-March/039090.html <-- This seems to still be a problem. I don't see a bug report for it, should there be?
[16:58:35 CEST] <jamrial> soreau: open a ticket in trac.ffmpeg.org. if it's a duplicate it will be closed as such
[17:23:10 CEST] <soreau> jamrial: Do you want me to cc you since it seems to be your patch that started this problem?
[17:23:57 CEST] <soreau> jamrial: http://trac.ffmpeg.org/ticket/8042
[17:35:39 CEST] <jamrial> soreau: what patch?
[17:36:26 CEST] <jamrial> oh, ae7df68edd? then that means the encoder is sending invalid extradata
[17:36:53 CEST] <jamrial> the reason it works for mp4 but not mkv is because the mkv muxer actually looks at the return value of ff_isom_write_avcc(), which the mp4 muxer doesn't
[17:37:13 CEST] <jamrial> so technically, the mp4 output is invalid
[17:39:59 CEST] <mkver> Does the enconder convey the extradata in-band (I presume it does, otherwise the mp4 wouldn't play)?
[17:41:17 CEST] <soreau> jamrial: so what might be the fix?
[17:42:15 CEST] <mkver> The typical solution for this is to reserve space for extradata and look for whether the first packet contains the needed extradata.
[17:42:30 CEST] <mkver> If it does and fits into the reserved space, it is used.
[17:44:03 CEST] <jamrial> i think new extradata signaled through side data is used for these cases, assuming the encoder doesn't propagate extradata during init()
[17:44:28 CEST] <jamrial> see aac/flac/av1 on mkv and mp4
[17:45:22 CEST] <mkver> But afaik the mp4 muxer doesn't check for side data extradata.
[17:45:49 CEST] <jamrial> not for h264, but it does for those codecs i listed
[17:46:28 CEST] <jamrial> https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/movenc.c;h=a961…
[17:47:58 CEST] <mkver> Given that mp4 works fine, this means that this encoder uses in-band extradata.
[17:48:16 CEST] <jamrial> looking at vaapi_encode.c, it seems it's exporting extradata during init
[17:49:19 CEST] <jamrial> https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/vaapi_encode.c;h…
[17:50:47 CEST] <mkver> soreau: Can you upload an mp4 sample? I wonder what is in this extradata.
[17:50:57 CEST] <soreau> mkver: sure
[17:51:07 CEST] <soreau> mkver: do you want the input or output?
[17:51:23 CEST] <mkver> The mp4 output.
[17:51:39 CEST] <soreau> mkver: and what is your preferred upload platform?
[17:51:59 CEST] <mkver> Any filehoster that doesn't require a premium account.
[17:52:09 CEST] <jamrial> if it's smaller than 2mb or so, you can attach it to the trac ticket
[17:52:31 CEST] <jkqxz> jamrial: Well, unless the driver doesn't support the headers. You get a large and hard-to-ignore warning message telling you what's wrong in that case, though (line 1885).
[17:53:57 CEST] <jamrial> jkqxz: ah, so it can depend on the driver
[17:54:13 CEST] <soreau> mkver: http://trac.ffmpeg.org/attachment/ticket/8042/output.mp4
[17:54:28 CEST] <soreau> jamrial: thanks, I did attach it to the ticket
[17:54:28 CEST] <jamrial> that warning doesn't seem to be printed in the output posted in the ffmpeg-user email, though
[17:56:36 CEST] <mkver> Empty avCC (except the length field and the "avcC")
[17:57:02 CEST] <soreau> jkqxz: yes I get this messages but I also get them in the working mp4 case
[17:57:03 CEST] <jamrial> expected since it aborts at the first size check
[17:57:36 CEST] <jamrial> soreau: as i said, mp4 muxing "works" because it's ignoring the error returned by the avcC writing function
[17:57:46 CEST] <soreau> jamrial: oh ok
[17:58:07 CEST] <soreau> jamrial: well just 'break' mkv in the same way :)
[17:58:08 CEST] <jamrial> the result is a technically invalid mp4 file, but that can be played because the required sps is in-band as well in the first packet
[17:58:44 CEST] <jamrial> nope, not going to allow the creation of non spec compliant files ;)
[17:58:55 CEST] <soreau> jamrial: so we're just fortunate mp4 works
[17:59:26 CEST] <jamrial> ffmpeg can demux it, but some other strict player or demuxer may actually reject it because of the empty avcC box
[18:02:33 CEST] <mkver> E.g. mkvmerge doesn't recognize the track.
[18:03:33 CEST] <soreau> is there a fix for all of this? and is it simple
[18:04:14 CEST] <jkqxz> soreau: Add packed header support to the VAAPI driver in Mesa.
[18:04:58 CEST] <mkver> One would have to adapt the muxers to check for in-band extradata (or packet side data -- but then the encoders would have to be changed, too) in the first packet and act appropriately.
[18:05:16 CEST] <soreau> jkqxz: It needs that and also ability to accept rgb format data (currently feeding it rgb data is treated as yuv and crashes because it thinks it has two planes instead of one)
[18:05:29 CEST] <soreau> jkqxz: If I knew how to do this, I would add it
[18:05:41 CEST] <soreau> but sadly I can't seem to get any st/va help
[18:05:57 CEST] <jkqxz> mkver: Wrt codecpar update, I really don't like the -1, -1, -1, -1 thing along with all the extra pointers.
[18:06:05 CEST] <jkqxz> An alternative suggestion: make a new structure which contains the parameters that might need to be updated, then have an init function for it which sets them all to -1 and an update function which applies it to a codecpar.
[18:06:36 CEST] <jkqxz> Put one of those in each BSF context structure: call init on it at the start of filter, modify it inside filter and callees thereof, call update with it at the end of filter.
[18:07:08 CEST] <jkqxz> Does that sound sensible to you?
[18:08:00 CEST] <jkqxz> soreau: Er, so always give it YUV data? -vf scale_vaapi=format=nv12 or whatever.
[18:08:18 CEST] <soreau> jkqxz: https://bugs.freedesktop.org/show_bug.cgi?id=110719
[18:08:34 CEST] <jamrial> mkver: no need to change encoders for that since the user can just inject the extract_extradata bsf to the muxing process
[18:08:38 CEST] <soreau> jkqxz: I give it rgb0, it treats it as yuv
[18:08:42 CEST] <mkver> This would mean that said structure would always be updated on every e.g. SPS ever encountered in-band?
[18:08:57 CEST] <soreau> jkqxz: btew can you reply to bug 8042 with your general thoughts please?
[18:09:00 CEST] <soreau> btw*
[18:09:02 CEST] <mkver> The extract_extradata bsf has a bug though: It always creates annexb extradata.
[18:09:41 CEST] <jkqxz> mkver: s/filter/init/ if preferred.
[18:10:23 CEST] <soreau> jkqxz: as this is in a screen recording application, time is of the essence
[18:11:49 CEST] <soreau> jkqxz: ideally, the driver would accept rgb0 data happily like the intel vaapi driver does
[18:12:32 CEST] <soreau> but I can't figure out if the hardware can accept it natively or must do some conversion
[18:12:54 CEST] <soreau> I wrote an opencl shader to do the conversion so sws_scale() doesn't have to but it feels pretty hacky
[18:12:57 CEST] <jkqxz> That is a really weird hacky conversion in the intel driver. I strongly recommend not using it, rather do the conversion outside.
[18:13:00 CEST] <jamrial> mkver: yes, it would be update every time it encounters sps, which is probably not a good idea since they may not be meant to apply "globally"
[18:13:20 CEST] <jamrial> mkver: and the avcC writing function will convert it from annex-b just fine
[18:13:24 CEST] <soreau> jkqxz: Well the other option is my opencl shader solution..
[18:13:38 CEST] <soreau> and that's nearly as bad
[18:13:43 CEST] <jkqxz> soreau: Why not the VAAPI converter?
[18:13:52 CEST] <soreau> jkqxz: what do you mean?
[18:14:01 CEST] <mkver> But the avcC writing function looks at what the extradata is and determines whether the input is annexb based upon this.
[18:15:13 CEST] <jkqxz> soreau: The RGB -> YUV conversion, which is implemented in the Mesa driver.
[18:15:31 CEST] <soreau> jkqxz: I don't think I can use it to convert rgb0 data into any other form because it (radeonsi_drv_video.so) crashes as in the bug report I linked above
[18:16:18 CEST] <soreau> jkqxz: I am not aware of RGB -> YUV conversion implementation in mesa
[18:17:21 CEST] <jkqxz> Works for me.
[18:17:25 CEST] <jkqxz> (On Polaris.)
[18:17:38 CEST] <soreau> jkqxz: I am on polaris11. What works for you exactly?
[18:19:13 CEST] <jkqxz> Here <https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/auxiliary/vl/vl_com…>.
[18:19:31 CEST] <jkqxz> Conversion from RGB to YUV works for me.
[18:20:07 CEST] <soreau> jkqxz: but how are you using or testing this function?
[18:20:29 CEST] <jkqxz> With scale_vaapi.
[18:21:47 CEST] <soreau> jkqxz: what's the libav equivalent?
[18:22:20 CEST] <jkqxz> It's in libavfilter.
[18:23:54 CEST] <soreau> huh
[18:24:10 CEST] <soreau> I can't seem to google anything up on how to use it from C/C++
[18:24:47 CEST] <soreau> and there's no obvious scale_vaapi() function from what I can tell
[18:25:09 CEST] <jkqxz> E.g. hardware screen capture for VAAPI on AMD: "ffmpeg -y -vsync 0 -device /dev/dri/card1 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=format=nv12' -c:v h264_vaapi -b:v 2M -frames:v 100 -profile:v main out.mp4".
[18:25:46 CEST] <soreau> well it would be nice if the driver detected rgb0 as input format and did the conversion automatically instead of crashing
[18:26:05 CEST] <soreau> jkqxz: I'm talking about how to do it from code using libav
[18:27:18 CEST] <jkqxz> There's a filtering example somewhere in the tree, or ffmpeg.c is an example of pretty much everything.
[18:43:02 CEST] <soreau> huh. I just flipped the bit to report packed headers supported and now vaapi+mkv magically works.. but is it only working by chance since packed headers are probably not actually implemented?
[18:43:27 CEST] <soreau> in the va driver
[18:44:38 CEST] <jamrial> if ff_isom_write_avcc() succeeds, which would be required for mkv to not fail, then the vaapi encoder probably sent valid headers in extradata
[18:44:39 CEST] <jkqxz> You'll probably get one generated header on the file, then a probably-different header inline. It will work with things which accept header changes inline, like ffmpeg.
[18:45:42 CEST] <soreau> jkqxz: how can I test if it will fail?
[18:45:46 CEST] <mkver> output.mp4 is annexb btw.
[18:46:30 CEST] <mkver> I just found out after wondering why it works at all (because non-annexb would fail if the NALU length size were unknown).
[18:47:25 CEST] <jamrial> ok, then we definitely need to make the mp4 muxer abort on avcC writing failure
[18:48:23 CEST] <soreau> I just can't imagine the support is there but the bit wasn't flipped https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/va/c…
[20:18:29 CEST] <durandal_1707> sci-hub is useless, gives borked files
[20:27:39 CEST] <durandal_1707> what was name of library that supposedly handles mxf better than ffmpeg?
[20:27:53 CEST] <JEEB> was it not libmxf?
[20:28:02 CEST] <JEEB> the one on SF if I recall correctly
[20:30:15 CEST] <Lynne> so lavc's fft has 2 defines to control the type
[20:30:34 CEST] <Lynne> guess what the type is without looking if FFT_FLOAT = 0 and FFT_FIXED_32 = 0
[20:33:52 CEST] <Lynne> int16_t -_-
[20:36:23 CEST] <Lynne> it uses the same code as float but with a changed type and a few changed macros
[20:36:53 CEST] <Lynne> meanwhile the 32 bit int fft is completely separate from everything but is latched on like an afterthought
[20:37:58 CEST] <durandal_1707> that was days...
[20:39:30 CEST] <Lynne> I don't think the 16 bit fft is correct or anywhere near good, it uses 16 bit intermediaries all throughout
[20:39:56 CEST] <kierank> durandal_1707: bmxlib-libmxf
[20:41:28 CEST] <durandal_1707> kierank: they do not support bunch of stuff, and also other uncompressed raw formats
[20:41:57 CEST] <kierank> sure
[20:42:02 CEST] <kierank> but they can write compliant
[20:43:15 CEST] <durandal_1707> ffmpeg is compliant too
[20:53:01 CEST] <kierank> durandal_1707: I am told it is not
[20:53:08 CEST] <kierank> but i am not mxf expert and certainly do not want to become one
[20:58:15 CEST] <soreau> jamrial: thanks for the help, I suppose I should file one for mesa
[21:01:03 CEST] <durandal_1707> last bmxlib build from 2017
[21:02:25 CEST] <kierank> use it
[21:02:26 CEST] <kierank> git
[21:33:28 CEST] <jamrial> Lynne: git format-patch with -M didn't work to make that patch smaller?
[21:37:30 CEST] <Lynne> no, same size, tried -M90% to -M5%
[22:39:09 CEST] <JEEB> (34
[23:41:54 CEST] <Lynne> also: turns out the 16 bit int fft isn't actually used anywhere
[00:00:00 CEST] --- Sun Jul 28 2019
1
0
[01:18:43 CEST] <klaxa> i once built a thing for android with jpegs and had ~100 ms latency from desktop to phone, but holy smokes the bandwidth
[01:19:16 CEST] <klaxa> was kind of fun building though
[01:19:58 CEST] <nine_milli> blb
[05:09:54 CEST] <ossifrage> klaxa, yeah 40mbps 720p doesn't look that bad. chrome annoys me that it won't show the current frame of a multipart/x-mixed-replace until it has fully received the next frame
[05:42:42 CEST] <nine_milli> blb
[13:08:44 CEST] <Beam_Inn> hey what's up guys anyone about?
[14:32:53 CEST] <Adcock> Any open source alternative to AC3 DD 5.1 ?
[14:33:30 CEST] <durandal_1707> Adcock: opus
[14:34:42 CEST] <pink_mist> flac
[14:34:47 CEST] <pink_mist> though that's not lossy
[14:35:03 CEST] <Adcock> durandal_1707:just converting to opus would work?
[14:35:43 CEST] <durandal_1707> Adcock: do not transcode
[14:35:57 CEST] <durandal_1707> keep AC3
[14:36:11 CEST] <durandal_1707> transcode lose quality
[14:37:04 CEST] <Adcock> Hmmm....
[14:37:20 CEST] <Adcock> pink_mist:just converting to flac would work?
[14:37:40 CEST] <JEEB> Adcock: also your question is weird to begin with. what do you mean with "open source alternative"
[14:38:28 CEST] <Adcock> JEEB: free opensource alternative
[14:38:28 CEST] <JEEB> AC3 is a specified format ("has a spec") and there are open source decoders and encoders for it. if your actual problem is with something else than open source, then another format having open source implementation or not really doesn't matter and the problem is somewhere else
[14:38:34 CEST] <kepstin> ffmpeg includes open source ac3 encoder+decoder even
[14:38:36 CEST] <JEEB> free as in?
[14:38:53 CEST] <JEEB> I'm just verifying because people use the free word in differnt meanings
[14:38:55 CEST] <Adcock> freedom
[14:39:20 CEST] <JEEB> right. the implementations of AC3 are open source and under libre compatible licenses
[14:39:36 CEST] <JEEB> thus your actual problem is somewhere else than the format's implementations being open source or not?
[14:40:23 CEST] <JEEB> people really like to conflate open source with "free to use" (latter is regarding patents etc), but those are actually two completely different things
[14:40:40 CEST] <JEEB> also apparently the patents on base AC3 finished some time ago, but I am not a lawyer
[14:40:48 CEST] <Adcock> is ac3 patented?
[14:40:50 CEST] <JEEB> I just know Fedora started shipping an AC3 decoder recently
[14:40:58 CEST] <xantoz> Adcock: not anymore, it seems
[14:41:00 CEST] <JEEB> Adcock: depends on your juristiction
[14:41:11 CEST] <Adcock> IS it or not?
[14:41:30 CEST] <pink_mist> JEEB: isn't AC3 with DD inside proprietary?
[14:41:48 CEST] <JEEB> I just thought he meant 5.1 AC3 by that
[14:41:49 CEST] <Adcock> any jurisdiction
[14:42:09 CEST] <durandal_1707> no, hide under rock
[14:42:46 CEST] <JEEB> Adcock: no idea. I know some US companies started shipping a decoder recently due to apparently the base set of patents getting finished.
[14:42:56 CEST] <JEEB> Adcock: but as you can understand I don't think anyone here wants to give legal advice
[14:43:01 CEST] <JEEB> we're software people, not patent licensing people
[14:43:36 CEST] <JEEB> nor are we lawyers all aroudn the world :P
[14:44:39 CEST] <pink_mist> JEEB: ah, it seems that if it's just regular DD (and not DD+) it's just the same as regular AC-3
[14:44:53 CEST] <JEEB> yes there's separately E-AC3
[14:45:01 CEST] <JEEB> if that's what you mean
[14:45:52 CEST] <pink_mist> yeah, that's DD+
[14:46:42 CEST] <JEEB> also I thought that also had a spec?
[14:46:49 CEST] <JEEB> (Ž4@)
[14:47:00 CEST] <JEEB> although by the way AC-4 went even if it had a spec it doesn't really mean much
[14:49:31 CEST] <Adcock> JEEB: I did not ask for legal advice. But thanks.
[14:49:33 CEST] <pink_mist> eh, I may be remembering a very old state of affairs
[14:50:00 CEST] <kepstin> Adcock: you asked if something was patented. answering that means providing legal advice :/
[14:50:11 CEST] <Adcock> My orginal question was not about legal advice.
[14:50:39 CEST] <JEEB> yea, but your original question about talking open source / libre software with formats really didn't make much sense :P
[14:50:51 CEST] <kepstin> we answered your original question too as best we could, the ffmpeg ac3 implementation is free and open source software
[14:50:51 CEST] <Adcock> xD
[14:51:07 CEST] <Adcock> Okay.
[14:51:36 CEST] <JEEB> also most often your audio format selection anyways is limited by what you want to play it with
[14:51:42 CEST] <JEEB> not by your own wishes
[14:51:49 CEST] <JEEB> like, think of those plastic boxes playing video
[14:51:53 CEST] <Adcock> Hmmm....
[14:52:10 CEST] <JEEB> (and of course there's the thing of "should I start re-encoding an already lossily compressed audio stream?"
[14:52:21 CEST] <JEEB> which with something like AC3 is "no"
[14:52:34 CEST] <JEEB> you would just be losing even more quality and not gaining much compression
[14:54:25 CEST] <pink_mist> (well, I believe there is some form of AC-3 that is lossless ... but maybe it's only with E-AC-3? I dunno... something TrueHD something)
[14:55:27 CEST] <JEEB> TrueHD is actually meridian lossless
[14:55:40 CEST] <JEEB> which is unlike DTS-HD MA (XLL extension) not an extension
[14:55:44 CEST] <JEEB> it's its own stream
[14:56:00 CEST] <JEEB> although on blu-ray you can find an AC-3 stream muxed in the same elementary stream
[14:56:03 CEST] <JEEB> :)
[14:56:12 CEST] <JEEB> but those are actually (*gasp*) completely separate
[14:57:13 CEST] <Adcock> JEEB: How can I get detailed info of codec of a file using ffmpeg?
[15:00:31 CEST] <JEEB> ffprobe -v verbose -i INPUT ?
[15:06:52 CEST] <Beam_Inn> is there a command to just trim a video from start to end?
[15:07:20 CEST] <Beam_Inn> like ffmpeg -i input.mp4 -o output.mp4 -s startTime -e endTime?
[15:07:49 CEST] <Adcock> JEEB: Thank you man.
[15:08:06 CEST] <Adcock> I apologize for misbehaving.
[15:08:18 CEST] <Adcock> I had a rough day!
[15:09:18 CEST] <Beam_Inn> jeeze....
[15:09:24 CEST] <Beam_Inn> i hope this guy doesn't actually kill his dog
[15:30:05 CEST] <Adcock> https://paste.ubuntu.com/p/ppdP4DTYRg/
[15:33:04 CEST] <Adcock> it says 5.1 side
[15:33:31 CEST] <Adcock> It doesn't say dd 5.1
[15:34:08 CEST] <JEEB> I've just interpreted "DD 5.1" as "AC3, 5.1"
[15:34:17 CEST] <JEEB> the actual channel layout is 5.1 (side) yes
[15:34:28 CEST] <JEEB> as opposed to the other 5.1 layout which is somewhat different
[15:34:46 CEST] <JEEB> since dd is "dolby digital" and that's -> AC3
[15:36:57 CEST] <machtl> Hi guys,
[15:37:49 CEST] <machtl> therefore i created a github repro for the test
[15:38:14 CEST] <machtl> second problem is that i want to be able to loop the output (in this example [videoout] ) for x times or inifnite
[15:47:44 CEST] <pink_mist> I think you may have missed some lines
[15:57:18 CEST] <machtl> pink_mist did you mean my question?
[15:57:51 CEST] <kepstin> machtl: your question is missing, perhaps you made a too-long message and it got dropped?
[15:58:05 CEST] <machtl> ok..
[15:58:28 CEST] <machtl> iam currently trying to make a playlist server (own playlist format which just builds a huge ffmpeg command) with a ui (nodejs, vue) to create a stream with ffmpeg and iam facing a few problems but it already would really help to solve 2 of them.
[15:58:36 CEST] <machtl> therefore i created a github repro for the test
[15:58:43 CEST] <machtl> https://github.com/martinlierschof/ffmpeg_test
[15:58:50 CEST] <machtl> first problem ist that the audio stream used is always started from the beginning.
[15:58:57 CEST] <machtl> second problem is that i want to be able to loop the output (in this example [videoout] ) for x times or inifnite
[15:59:50 CEST] <fpihl> Let's say I have 100 files in ray y4m format and I'd like to concatenate them into one single file. How do I do that? `ffmpeg -f concat -i mylist.txt -c copy output` returns an error.
[16:00:02 CEST] <kepstin> fpihl: what error?
[16:00:11 CEST] <kepstin> (please pastebin the complete output)
[16:00:30 CEST] <fpihl> kepstin: give me a minute...
[16:01:53 CEST] <kepstin> machtl: first thing to note is that the ffmpeg cli is designed as a batch processing tool, unless you explicitly set a start position or give it a live stream as an input it will always start at the start and go to the end.
[16:03:39 CEST] <kepstin> machtl: and ... looping is tricky. in order to loop filter output, it would have to store the filter output temporarily somewhere - the "loop" and "aloop" filters doe this, but they buffer *in ram*, which can be kinda huge as you might expect
[16:05:16 CEST] <fpihl> kepstin: [yuv4mpegpipe @ 0x56477a300380] ERROR: Codec not supported.
[16:05:16 CEST] <fpihl> Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input
[16:05:39 CEST] <kepstin> fpihl: please try again but this time pastebin the complete output
[16:06:10 CEST] <kepstin> since the rest of the output contains context for that error message that will explain *why* it's not working
[16:07:10 CEST] <machtl> kepstin: is there anything i could do within the cli or should i just try to build something around the libs or build a patched version of ffmpeg
[16:07:34 CEST] <kepstin> machtl: if you want to loop the result of filtering stuff, it's probably best to run one command that saves the filtered video or audio to a file, and then use that as an input to another ffmpeg command, using the -stream_loop input option.
[16:07:59 CEST] <machtl> ok this sounds ok, i guess
[16:08:43 CEST] <machtl> kepstin: still the livestreaming audio is somewhat of a problem i guess
[16:09:17 CEST] <fpihl> kepstin: see https://pastebin.com/mnf8qHSS
[16:09:22 CEST] <machtl> is there any way i can find the length of an input (as frames or so) in a filter?
[16:11:20 CEST] <kepstin> machtl: no, filters don't know the length of the input. (what if the input to a filter is a different filter that changes the input length? etc.) They just process input one frame at a time until they're told there's no more frames.
[16:14:39 CEST] <kepstin> fpihl: for weird technical reasons, ffmpeg's y4m writer doesn't work with -c copy. It should do what you expect if you drop that from the command line.
[16:16:30 CEST] <machtl> kepstin: thats indeed a problem for my project, even when looping it by writing it in a video file i will never have "live" audio from the stream, so the same audio will be looped as well, dang it.
[16:17:00 CEST] <machtl> kepstin: do you think i could get this to work by building my own lib on top of libavutils, etc...
[16:18:09 CEST] <kepstin> machtl: i dunno why you're not getting live audio. that's an icecast stream so it doesn't even support non-live audio, and it works fine with ffplay
[16:20:48 CEST] <dimvasilk> Hello,
[16:20:49 CEST] <dimvasilk> I am attempting to compile ffmpeg 4.1.4 for Raspbian with MMAL and OMX enabled under Ubuntu WSL. I generated a toolchain via ct-ng and am running into issues wen attempting to run the configure script (config.log: https://gist.github.com/d-v/d538ab9442bc60fc22f00f62ee6acf8f)
[16:20:49 CEST] <dimvasilk> Things I have tried to fix the issue:
[16:20:50 CEST] <dimvasilk> I cloned the userland GitHub repo and built to get the appropriate headers generated as I assume this is why config.log is complaining about interface/mmal/mmal.h. I then attempted to include these .h files by providing the sysinclude= and incdir= paths. This didnt work, so I poked around in configure and added directly to incdir. Alas, this a
[16:20:50 CEST] <dimvasilk> lso did not fix the issue.
[16:20:51 CEST] <dimvasilk> How can I successfully finish the configure script and get ffmpeg built?
[16:20:51 CEST] <dimvasilk> I feel like Im missing something glaringly obvious, apologies if this is a really basic question.
[16:21:01 CEST] <machtl> kepstin: the liveaudio is not the problem, the problem is that ffmpeg somehow seems to buffer the stream (starts reading the stream when reading the input) and always start from the beginning not the current position of the stream when i mix it in a video
[16:21:03 CEST] <fpihl> kepstin: That did work! Thanks!
[16:21:09 CEST] <nine_milli> blb
[16:22:32 CEST] <kepstin> machtl: ffmpeg keeps timestamps aligned when working with stuff. by default it sets each input to start at time=0. the issue is that you're doing 3 amixes in parallel starting at the start of the stream, and then concatenating the result afterwards.
[16:23:29 CEST] <kepstin> (i'd actually expect to get some internal buffer overflows if your segments were long with this setup)
[16:24:01 CEST] <machtl> kepstin: if i use the stream 3 times as input it would work?
[16:24:29 CEST] <kepstin> machtl: no, it'll still do (almost) the same thing
[16:24:57 CEST] <kepstin> machtl: you need to concatenate the three audio tracks from the p4 files *before* mixing them with the live stream
[16:25:09 CEST] <kepstin> from the mp4 files*
[16:25:46 CEST] <kepstin> this gets tricky with how you want to mute the live stream part of the time tho. :/
[16:26:45 CEST] <kepstin> what's the final result that you want from this, anyways?
[16:28:48 CEST] <machtl> i want videos in a playlist to play one after another, some have their own audio and some have webradio "live" as audio, then start loop the playlist again.
[16:29:18 CEST] <kepstin> machtl: alright, you're not going to be able to do that with the ffmpeg cli :/
[16:29:50 CEST] <machtl> ok thats good to know before i put too much time in it
[16:30:08 CEST] <machtl> i was hoping i could do that
[16:30:26 CEST] <kepstin> well, i suppose you could, but you'd have to a) programmatically generate a filter command line with video durations known in advance, and b) handle looping by restarting the ffmpeg command when it exits.
[16:31:18 CEST] <kepstin> it's not the best tool for this job (but i don't know what is)
[16:31:37 CEST] <kepstin> you're looking for more of a broadcast mixer than a batch video processing tool
[16:42:33 CEST] <machtl> hmm this sound like a good way to go
[16:47:21 CEST] <philn> hi folks, i've registered a new account on your trac in order to report a bug, but... i haven't received the confirmation email to validate my account
[16:47:40 CEST] <philn> i tried to open 2 accounts with different email addresses...
[16:49:00 CEST] <philn> oh, hi superdump ;)
[16:49:41 CEST] <durandal_1707> what kind of bug?
[16:50:21 CEST] <philn> i have an AAC LC file muxed in mp4 that plays distorted with ffplay
[16:50:49 CEST] <durandal_1707> have you checked your spam?
[16:51:05 CEST] <philn> yes
[16:51:17 CEST] <durandal_1707> gmail accounts or some others one?
[16:51:25 CEST] <machtl> kepstin: btw. i just mute the audio tracks like that so i can use duration=shortest, when i trim the livestream i dont need to do that
[16:52:24 CEST] <philn> durandal_1707: some others one
[16:52:56 CEST] <durandal_1707> note that others one tend to be banned last time i checked to fight spam
[16:54:18 CEST] <philn> banned how? ignore all users not on gmail?
[16:56:20 CEST] <durandal_1707> i dunno details, but some are indeed disabled
[16:56:53 CEST] <durandal_1707> and other non-gmail works fine...
[17:00:39 CEST] <durandal_1707> philn: you could report it to user mailing list with link to uploaded file, also you could try to contact trac admin
[17:04:18 CEST] <philn> let's hope my mail will be accepted on your mailing list then...
[17:05:03 CEST] <philn> durandal_1707: which list? -user or -devel ?
[17:07:46 CEST] <durandal_1707> try both, ignore complains from Carl
[18:34:30 CEST] <machtl> hey another question.... i restart my streaming ffmpeg now several times and iam using a buffer for it ...
[18:34:33 CEST] <machtl> https://pastebin.com/R1z3KudY
[18:35:18 CEST] <machtl> how can use the buffer as a file so i dont overflow the ffplay
[18:36:05 CEST] <machtl> currently i use ffplay udp://127.0.0.1:23000 to recieve it
[18:36:39 CEST] <machtl> or at least keep it consistent across multiple starts of ffmpeg
[18:39:22 CEST] <machtl> obviously the ffmpeg instance starts fast and slows down when the buffer size is reached, then its finished while ffplay is still playing and restarts. Therefore ffplay keeps increasing in memory when i restart the ffmpeg 20x
[18:41:42 CEST] <kepstin> machtl: ffmpeg cli is a batch processing tool which is designed to run as fast as possible
[18:42:37 CEST] <kepstin> there's a hack builtin where you can use the "-re" input option (on specific inputs) to tell ffmpeg to pace itself to realtime when reading that input, instead of going as fast as possible
[18:42:59 CEST] <kepstin> this isn't required if the input is live (like your icecast stream), only if you're reading from something like a local file
[18:46:21 CEST] <machtl> hmm i thought its possible to slow it down via a fifo buffer and i thought i archived this with (-b:v 2300k -minrate 2300k -maxrate 2300k -bufsize 95k `)
[18:47:11 CEST] <another> machtl: this may be helpful: https://trac.ffmpeg.org/wiki/Encode/H.264#AdditionalInformationTips
[19:06:50 CEST] <kepstin> machtl: that's not what those options do - they don't add a buffer or limit encoding to realtime or anything like that, instead they configure how bitrate is allocated.
[19:10:57 CEST] <machtl> kepstin: thanks i had a look at that, hmm i have a lot to learn with ffmpeg it seems :)
[19:13:59 CEST] <machtl> is there nothing i can do to any output (udp, pipe, .. ) where iam able to just fill a fifo buffer, i dont really need to stream, its anyway playing on the same pc. when the fifo buffer is full, ffmpeg waits until there is space again
[19:21:48 CEST] <DHE> mpegts has an option -muxrate for CBR mode, and then the udp sender has an option -bitrate to throttle transmission. combined with -re for input throttling, you should get a good result. just need to select a good number and specify to both args
[21:17:07 CEST] <brx_> i want to combine an mp4 with an mp3 and keep the audio from the mp4, here is my command...
[21:17:12 CEST] <brx_> ffmpeg -y -i video.mp4 -i video.mp4 -i sunflower.mp3 -preset ultrafast -crf 30 -c:v copy -c:a copy out.mp4
[21:17:31 CEST] <brx_> problem is the mp3 audio isnt there, it only has the video and the audio from the mp4
[21:18:35 CEST] <brx_> sorry this is my command.... ffmpeg -y -i video.mp4 -i sunflower.mp3 -preset ultrafast -crf 30 -c:v copy -c:a copy out.mp4
[21:20:58 CEST] <CoreX> try mapping the streams
[21:21:22 CEST] <CoreX> https://trac.ffmpeg.org/wiki/Map
[21:28:37 CEST] <nine_milli> blb
[21:30:23 CEST] <brx_> CoreX, i tried to do that but I just end up with the mp3 audio and nother else in the output file...here was the command...
[21:30:32 CEST] <brx_> ffmpeg -y -i video.mp4 -i sunflower.mp3 -map 0:0 -map 0:1 -map 1:0 -preset ultrafast -crf 30 -c:v copy -c:a copy out.mp4
[21:31:12 CEST] <another> nine_milli: please stop spamming
[21:31:29 CEST] <brx_> -map 0:0 -map 0:1 -map 1:0.......... 0:0 = video from mp4, 0:1 = audio from mp4, 1:0 = the audio from the mp3
[21:31:32 CEST] <brx_> is that correct?
[21:31:54 CEST] <another> not exactly
[21:32:17 CEST] <another> -map 0:0 ---> map stream zero from input 0
[21:32:49 CEST] <another> that doesn't have to be the video stream
[21:36:51 CEST] <brx_> ahh i did ffmpeg -i video.mp4 and i see there are 2 streams...
[21:37:00 CEST] <brx_> Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 97 kb/s (default)
[21:37:12 CEST] <brx_> Stream #0:1(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m), 720x1280, 2116 kb/s, SAR 1:1 DAR 9:16, 29.56 fps, 29.75 tbr, 90k tbn, 180k tbc (default)
[21:38:37 CEST] <another> brx_: ffmpeg -i video.mp4 -i sunflower.mp3 -map 0:v -map 1:a -c copy out.mp4
[21:40:02 CEST] <brx_> i tried your command, the out file only has the mp3 file audio, i dont see any video/audio from the mp4 :(
[21:40:49 CEST] <kepstin> brx_: that command if you copied it correctly will have the video from the mp4 and audio from the mp3
[21:41:11 CEST] <brx_> ok ill use pastebin sorry
[21:41:45 CEST] <kepstin> brx_: do you want to mix the audio streams? (i.e. have the audio from video.mp4 and the audio from sunflower.mp3 play back at the same time?)
[21:41:58 CEST] <brx_> yes i want both the audio streams
[21:42:12 CEST] <brx_> i tried another's command exactly but only actually got the mp3 audio
[21:42:29 CEST] <brx_> i want to mix the audio streams, yes
[21:42:52 CEST] <another> ah
[21:43:41 CEST] <kepstin> right, then to actually need to apply some filters to do the mix
[21:44:51 CEST] <brx_> here is the 2 files i am trying to mix together https://pastebin.com/AVF86p4k
[21:45:02 CEST] <brx_> 1 mp4 file and 1 mp3 file
[21:45:24 CEST] <kepstin> something to the effect of "ffmpeg -i video.mp4 -i sunflower.mp3 -map 0:v -c:v copy -filter_complex '[0:a][1:a]amix[aout]' -map '[aout]' out.mp4
[21:47:58 CEST] <brx_> ok kepstin your command kind of worked, however there was just 1 frame of video on the screen throughout
[21:48:06 CEST] <brx_> so i changed it to this....
[21:48:08 CEST] <brx_> ffmpeg -i video.mp4 -i sunflower.mp3 -map 0:v -c:v copy -filter_complex '[0:a][1:a]amix[aout]' -map '[aout]' -shortest out.mp4
[21:48:12 CEST] <brx_> (shortest)
[21:48:21 CEST] <brx_> and the video plays and its trimmed nicely to the duration of the video
[21:48:38 CEST] <brx_> this works, i can see the video and both of the audio is mixed over
[21:49:58 CEST] <brx_> thanks guys, i hope i can get some more help tomorrow from you all, very helpful indeed
[22:12:19 CEST] <nine_milli> blb
[23:39:00 CEST] Last message repeated 1 time(s).
[00:00:00 CEST] --- Fri Jul 26 2019
1
0
[00:05:36 CEST] <nine_milli> blb
[02:32:00 CEST] Last message repeated 1 time(s).
[03:39:17 CEST] <TikityTik> how do you preserve transparency with making gifs?
[04:29:28 CEST] <nine_milli> blb
[11:20:40 CEST] <Guillaume412> Hello
[11:20:55 CEST] <Guillaume412> I'm currently encountering countless problems using ffmpeg to stream RTP video. Can you help me please ?
[12:10:32 CEST] <DHE> not if you don't at least mention what problems you're encountering
[16:17:23 CEST] <nine_milli> blb
[17:30:53 CEST] <dooteo> Hi all, which are parameters to screencast with mpeg-2 video codec, and which would be sdp file parameters to be played by ffplay?
[17:37:34 CEST] <kepstin> dooteo: lol, why would you want to use mpeg 2 video?
[19:06:02 CEST] <fpihl> `ffprobe -show_frames file.ivf` have many empty fields for AV1, especially `pict_type=?`. Using libaom. How can i fix this?
[19:11:45 CEST] <kepstin> fpihl: you could become an ffmpeg developer and work on it, i suppose? other than that, av1 stuff is still in active development and is changing all the time :/
[19:13:12 CEST] <kepstin> make sure you're using the latest ffmpeg git master, too
[19:17:19 CEST] <fpihl> kepstin: did a git pull last week so I'm not on latest. Do you now where to start digging?
[19:20:12 CEST] <kepstin> hmm. -show_frames is looking at decoder output, so you'd be looking at the libaom api (you might have to do development there if it doesn't expose the informamtion) and ffmpeg's libavcodec/libaomdec.c wrapper
[19:20:38 CEST] <kepstin> fpihl: also consider building your ffmpeg with libdav1d support, it looks like the dav1d decoder wrapper sets more of these fields already
[19:24:42 CEST] <fpihl> kepstin: thanks, I'll try dav1d instead. Everything is available in Dav1dFrameHeader, the questions is just if/how it's exported...
[22:01:11 CEST] <Guillaume412> Hello. Is there a solution to stream to some browser with low latency (using ffmpeg of course) ?
[22:03:19 CEST] <nine_milli> blb
[22:08:05 CEST] <klaxa> sounds easy, in reality: not so easy
[22:09:22 CEST] <kepstin> to get really low latency you basically need to use webrtc, which ffmpeg isn't able to do on its own.
[22:09:47 CEST] <kepstin> can probably get down to a few seconds with carefully tuned segmented streaming
[22:10:29 CEST] <Guillaume412> haha
[22:10:47 CEST] <Guillaume412> oh I see
[22:11:46 CEST] <Guillaume412> I can get down to 200ms with rtp over internet, would like to keep this latency through websocket... Is there a way to attach ffmpeg rtp output to some websocket system ?
[22:12:21 CEST] <BtbN> If you write one yourself, yes. Not out of the box, no.
[22:12:46 CEST] <Guillaume412> Okay, Thanks
[22:13:10 CEST] <kepstin> note that rtp might not be the best option there, but it would work. In order to feed the browser the data you'll have to use MSE in javascript, which pretty much means remuxing it there.
[22:13:34 CEST] <Guillaume412> Also, do you know a good way to transmit low latency video from one pc to another ?
[22:13:56 CEST] <Guillaume412> ok
[22:13:59 CEST] <kepstin> for two pcs on a lan, just use ordinary rtp (over udp)
[22:14:36 CEST] <Guillaume412> Just what I'm doing now - sending with ffmpeg and receiving with mplayer
[22:15:58 CEST] <kepstin> if you're getting high latency with rtp, there's a few things to look at - encoder settings (maybe the encoder is in a high delay mode, x264 is high delay by default) and player buffering.
[22:17:52 CEST] <BtbN> There is no real protocol for the kind of low latency you are talking
[22:18:04 CEST] <BtbN> every solution that exists, like Steam In-Home, is proprietary
[22:18:15 CEST] <Guillaume412> oh, I understand why
[22:18:27 CEST] <BtbN> And has custom software throughout the whole stack, including the de/encoders
[22:18:52 CEST] <Guillaume412> like Stadia
[22:19:28 CEST] <BtbN> The WiiU Gamepad even use a custom variant of h264
[22:19:37 CEST] <Guillaume412> oh
[22:19:45 CEST] <Guillaume412> interesting
[22:22:00 CEST] <BtbN> They disabled all parts that took to long, or something like that
[22:25:54 CEST] <kepstin> x264 with tune "fastdecode,zerolatency" is probably pretty close tho that, tho.
[22:31:12 CEST] <kepstin> together those disable bframes, mbtree, lookahead, frame threading, in-loop deblocker, weighted prediction, cabac :)
[22:34:02 CEST] <Guillaume412> ok, thanks
[23:40:37 CEST] <ossifrage> I see about 300-500ms of end-to-end latency with RTSP/RTP with mpv --profile=low-latency
[00:00:00 CEST] --- Thu Jul 25 2019
1
0
[00:18:34 CEST] <CCFL_Man> i encoded a ripped dvd vobs to a .mov with the video codec copied and the audio codec from 5.1 ac3 to 5.1 aac for playback on quiicktime on a mac and the video seems to jump back and forth frames. what do you think might be wrong?
[00:19:19 CEST] <CCFL_Man> [mov @ 0x102040200] pts has no value <-- this would continually come up during encoding
[00:21:10 CEST] <CCFL_Man> does quicktime not like mpeg2 video?
[00:22:32 CEST] <kepstin> dvd vobs, especially ntsc, have some really strange methods for dealing with telecine patterns. I wouldn't be surprised if you see some jittering on certain videos.
[00:23:20 CEST] <kepstin> especially if you're using deinterlacing and it detected the first field incorrectly :/
[00:30:27 CEST] <CCFL_Man> oh
[00:30:39 CEST] <CCFL_Man> that makes sense
[00:31:02 CEST] <CCFL_Man> but NTSC dvd video is interlaced?
[00:31:15 CEST] <kepstin> yes -- and also no
[00:31:51 CEST] <kepstin> all ntsc dvd is designed to be played back as interlaced (60 fields per second) via the normal analog tv connector
[00:32:35 CEST] <kepstin> however, some ntsc dvd content is actually encoded as progressive 24 frames per second video, with special flags set to indicate how to transform it to 60 fields per second interlaced during decoding.
[00:32:58 CEST] <kepstin> and these options can be mixed together - both types of content can appear in a single video!
[00:33:40 CEST] <CCFL_Man> i thought the mpeg stream was not interlaced but the analog encoder produces the interlacing
[00:34:42 CEST] <kepstin> it could be either - it can be encoded as interlaced, or it can be encoded as progressive with interlacing (telecine pattern) applied during decoding.
[00:34:55 CEST] <kepstin> or both mixed together.
[00:35:52 CEST] <kepstin> animated tv shows from the mid-2000s are the worst for that. very hard to turn back into a nice progressive video stream for display on a monitor :(
[00:36:12 CEST] <BtbN> just transcode to h264, with a fairly high bitrate it'll still be very good quality, while smaller than mpeg2
[00:37:07 CEST] <kepstin> depending on content, I'd recommend detelecining (there's a few filter options depending on how video was encoded previously) or deinterlacing then re-encoding, yeah
[00:37:47 CEST] <CCFL_Man> Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, smpte170m), 720x480 [SAR 32:27 DAR 16:9], Closed Captions, max. 9800 kb/s, 28.17 fps, 59.94 tbr, 90k tbn, 59.94 tbc
[00:38:27 CEST] <kepstin> is this a movie? tv show? live action? animated? from what time period? I can make some general filter recommendations based on that :)
[00:39:52 CEST] <CCFL_Man> it's a movie, starv trek first contact, actually
[00:40:28 CEST] <CCFL_Man> can ffmpeg tell me if it's interlaced?
[00:41:02 CEST] <CCFL_Man> because it plays fine in mplayer and no interlacing lines noticable
[00:41:41 CEST] <kepstin> huh, weird. movies are, nowadays at least, encoded as straight progressive and are easy to deal with. I guess first contact was an early enough dvd to have some strange stuff
[00:42:40 CEST] <kepstin> the ffmpeg output there: "28.17 fps" indicates that you've got mixed 24p and 30i stuff in ffmpeg's probe range (just near the start of the file)
[00:43:02 CEST] <kepstin> mplayer normally outputs some text on the console when switching framerates on files like this
[00:43:38 CEST] <CCFL_Man> i used
[00:43:46 CEST] <CCFL_Man> i used ffmpeg -i concat:VTS_01_1.VOB\|VTS_01_2.VOB\|VTS_01_3.VOB\|VTS_01_4.VOB\|VTS_01_5.VOB
[00:45:22 CEST] <CCFL_Man> [lavf] stream 1: audio (aac), -aid 0, -alang eng
[00:45:24 CEST] <CCFL_Man> VIDEO: [MPG2] 720x480 24bpp 59.940 fps 4400.0 kbps (537.1 kbyte/s)
[00:47:07 CEST] <kepstin> should be able to repair a proper 24p progressive video by using "-vf repeatfields,fieldmatch,decimate,setsar=40/33" on this (that'll also fix the aspect ratio). If this is in a cinematic aspect ratio - black bars on top/bottom - you might also want to crop it while re-encoding.
[00:48:06 CEST] <CCFL_Man> that's the .mov. i encoded it that way so i can use mpeg2 hardware decoding on my video card
[00:48:10 CEST] <CCFL_Man> MPEG-PS file format detected.
[00:48:12 CEST] <CCFL_Man> VIDEO: MPEG2 720x480 (aspect 3) 29.970 fps 9800.0 kbps (1225.0 kbyte/s)
[00:48:23 CEST] <CCFL_Man> that is what mplayer detects the vob as
[00:48:33 CEST] <kepstin> most video cards have hardware h264 decoding.. it's probably less buggy than mpeg2 even.
[00:49:22 CEST] <CCFL_Man> mine does, but only in quicktime
[00:49:35 CEST] <kepstin> mpeg2 is simple enough to decode that you don't get a big benefit from hardware decoders anyways :)
[00:50:20 CEST] <kepstin> used to be a big deal in the mid-90s when you had <200mhz processors, an mpeg2-decoder addin board was very useful then.
[00:50:35 CEST] <CCFL_Man> but mplayer reports the vob as 29.970fps, which mean it should be progressive, right?
[00:50:59 CEST] <kepstin> 29.97 (actually 30/1.001) is the frame rate for 30i (interlaced) video
[00:51:26 CEST] <CCFL_Man> oh
[00:51:27 CEST] <kepstin> movies are 24fps, usually slowed down a tiny bit to 24/1.001 for dvd.
[00:51:40 CEST] <CCFL_Man> oh, but it says: demux_mpg: 24000/1001fps progressive NTSC content detected, switching framerate.
[00:53:03 CEST] <kepstin> CCFL_Man: yep. that indicates that some of the video content near the start was encoded as interlaced, then some later was encoded as progressive. I've seen that output quite a bit on mid-2000s and earlier dvds. I think the encoders got better later :/
[00:53:49 CEST] <CCFL_Man> ahh
[00:53:55 CEST] <kepstin> the filter chain I suggested above ^^ will do a brute-force conversion to proper 24fps progressive for the whole movie.
[00:54:34 CEST] <CCFL_Man> now, in quicktime, if i mux the video and ac3 audio to an mpeg2 ps, it plays perfectly fine in quicktime
[00:54:51 CEST] <CCFL_Man> except no audio
[00:55:13 CEST] <kepstin> vob files are mpeg2 ps with some extra stuff added, fwiw.
[00:55:29 CEST] <CCFL_Man> but if i mux the video and reencode the audio to aac to .mov, i get jumpy video
[00:55:59 CEST] <CCFL_Man> i know, i just remuxed the video and the 5.1 ac3 track
[00:56:08 CEST] <kepstin> i guess it might be losing some of the extra metadata for the video fields when muxing to mov :/
[00:56:15 CEST] <CCFL_Man> ahh
[00:56:28 CEST] <kepstin> i suggest using ffmpeg with the filters I suggested, re-encode to h264
[00:56:38 CEST] <kepstin> smaller file, still hardware decodable, better player compatibility
[00:57:12 CEST] <CCFL_Man> plays kind of funny in mplayer too, but not as bad
[00:57:58 CEST] <CCFL_Man> ahh, ok. I wanted to keep the video stream intact but maybe it's a bug in ffmpeg qt muxing?
[00:58:16 CEST] <BtbN> It's just impossible to mux some of the stuff vob does to mp4
[00:59:46 CEST] <CCFL_Man> BtbN: maybe mux to .mp4 instead of .mov?
[01:00:03 CEST] <BtbN> mp4 and mov are pretty much the same thing
[01:01:01 CEST] <CCFL_Man> for mpeg4 video and ac3 audio ts streams i mux the video and reencode the audio to aac
[01:02:51 CEST] <CCFL_Man> and mux everything in mp4. i'm going to try that
[01:03:01 CEST] <CCFL_Man> the .mov container m ight be old
[01:03:27 CEST] <CCFL_Man> mplayer's mpeg2 decoding sometimes slows down
[01:03:45 CEST] <CCFL_Man> then i'll try the filter you suggested
[01:04:34 CEST] <BtbN> mov got standardized and is called mp4 now
[01:05:03 CEST] <CCFL_Man> that might be it
[01:05:24 CEST] <CCFL_Man> the mp4 container should play nice with mpeg2 video
[01:06:13 CEST] <CCFL_Man> because .mov says "mov", and .mp4 says "mp4", so ffmpeg might treat them as different containers
[01:07:32 CEST] <kepstin> there's no difference in how mpeg2 video is stored in mov vs. mp4 as far as I know.
[01:07:35 CEST] <MoziM> stupid question, but lets say i have a video thats 30 minutes long but nothing changes on the screen for that amount of time (cctv footage) what codec is best to use in this situation to minimize the file size?
[01:07:51 CEST] <kepstin> MoziM: doesn't matter, just use a large gop size
[01:07:57 CEST] <MoziM> gop?
[01:08:15 CEST] <kepstin> group of pictures, the distance between keyframes. Set with the "-g" option to ffmpeg
[01:09:06 CEST] <MoziM> that would minimize the size?
[01:09:41 CEST] <MoziM> would this have to be post capture or can ffmpeg do this during capture?
[01:09:57 CEST] <kepstin> can be set during capture.
[01:10:11 CEST] <kepstin> what's the framerate of the source?
[01:10:49 CEST] <MoziM> 20 fps
[01:10:53 CEST] <MoziM> but... that matters?
[01:11:01 CEST] <kepstin> iirc x264's default is something like "240", which is 10 seconds at 24fps. You might consider increasing that to the point where you get a keyframe every minute or two instead.
[01:11:19 CEST] <kepstin> other than that, just use the slowest encoder preset which your computer can manage realtime capture at
[01:11:32 CEST] <MoziM> that sounds weird to me
[01:11:37 CEST] <MoziM> 'the slowest encoder preset'
[01:11:45 CEST] <MoziM> encoders can be slow/fast?
[01:12:05 CEST] <kepstin> I recommend using the x264 encoder, which has an option "preset" which lets you configure the tradeoff between cpu usage of the encoder and compression efficiency
[01:12:36 CEST] <kepstin> "slow" settings take more time per frame, but compress more - "fast" settings take less time per frame, but the compression isn't as good
[01:13:47 CEST] <kepstin> so what you do is test a few different settings for -preset (the default is "medium") until you find one that can still capture in realtime, but compresses as much as possible.
[01:17:35 CEST] <kepstin> also make sure you're not using mp4 files :)
[01:18:29 CEST] <kepstin> (mp4 gets corrupted if the encoder breaks/crashes/has a power outage while encoding the video, and it's hard to recover)
[01:19:28 CEST] <MoziM> one thing i've been wondering about flv and mp4... does converting between 2 video formats result in information loss?
[01:30:33 CEST] <CCFL_Man> kepstin: the version of quicktime i have won't play mpeg2 video in .mp4, but it.s a bummer because it won't play ac3 audio in anything, though
[01:30:53 CEST] <CCFL_Man> i'll have to use your filter and mpeg4 encoding
[01:33:59 CEST] <kepstin> MoziM: in many cases you can copy encoded video from one container to another, but there are some cases where something in one container can't be represented in another.
[01:36:12 CEST] <kepstin> MoziM: if you transcode instead of copy, and the codecs are "lossy", then there is generational information loss.
[01:37:25 CEST] <kepstin> Note that ffmpeg transcodes by default, you can ask it to copy instead with an option.
[01:39:02 CEST] <CCFL_Man> the quicktime player just sucks. the problem is with my version of mac os, it's the only player that can use hardware decoding
[01:41:11 CEST] <furq> are you on some ancient osx or something
[01:41:26 CEST] <furq> mpv supports vda and videotoolbox which should cover 10.6 and up
[01:41:35 CEST] <furq> and i assume vlc or whatever does as well
[01:43:19 CEST] <CCFL_Man> mplayer can't use it on 10.6.8
[01:46:16 CEST] <MoziM> kepstin: aren't you copying when you're transcoding?
[01:48:16 CEST] <kepstin> MoziM stream copying means taking the existing encoded video bits and copying them unmodified to a new file, possibly with a different container.
[01:50:45 CEST] <kepstin> Transcoding means decoding to raw video, then encoding again, usually with a different codec or settings.
[02:25:42 CEST] <nine_milli> blb
[03:01:57 CEST] <MoziM> kepstin: raw video = original encoded video?
[03:02:55 CEST] <kepstin> if you encode video using a lossy codec then decode it again, the raw video you get will not be the same as what you originally gave to the encoder.
[03:05:13 CEST] <MoziM> what does it even mean to 'decode' as in get the raw frames? or...
[03:05:56 CEST] <MoziM> ive read the verbatim on it but i still do not understand what it really means
[03:06:05 CEST] <MoziM> is it 'decoding' when you watch a video with a media player?
[03:06:19 CEST] <furq> yes
[03:06:42 CEST] <furq> unless the video you're watching is already rawvideo
[03:07:17 CEST] <MoziM> how can a video be 'raw'?
[03:07:24 CEST] <furq> if it's not been encoded
[03:07:25 CEST] <MoziM> i thought they have to have an encoder...
[03:07:58 CEST] <furq> rawvideo in ffmpeg terminology is just untouched rgb/yuv/whatever data
[03:08:30 CEST] <furq> so e.g. for rgb24 it's three bytes (r, g and b) per pixel per frame
[03:09:01 CEST] <furq> if you were to then compress that somehow you'd need to decompress it back to that state to be able to display it
[03:09:21 CEST] <furq> or to that format, at least, since it won't be the exact same data if you use lossy compression
[03:22:28 CEST] <MoziM> which x264 is not correct?
[03:25:09 CEST] <DHE> x264 encodes it, but there is a mode where you're guaranteed a perfectly identical video back out
[03:25:36 CEST] <DHE> that said, it still requires CPU power to encode and using the codec puts a risk of choosing a bad colourspace that results in image quality loss (eg: yuv420) independent of the actual codec
[03:30:56 CEST] <CCFL_Man> how can one rip closed captions from a dvd and convert them to srt using a command line program?
[03:34:31 CEST] <CCFL_Man> looks like ccextractor
[03:40:40 CEST] <nine_milli> blb
[04:33:39 CEST] <CCFL_Man> can't compile ccextractor on mac os
[04:36:27 CEST] <CCFL_Man> i wish i knew c
[04:36:52 CEST] <CCFL_Man> i can't finnd the problem
[06:32:17 CEST] <nine_milli> blb
[08:11:00 CEST] Last message repeated 1 time(s).
[08:57:53 CEST] <pkunk> I'm trying to transcode HEVC 4K stream to 1080p HEVC after using scale_vaapi
[08:58:26 CEST] <pkunk> hw_accel is vaapi
[08:59:11 CEST] <pkunk> Using Intel 8th gen CPU.. However I can't get scale_vaapi to work with the frame decoded on GPU with the intel media-driver iHD
[08:59:30 CEST] <pkunk> Is it a defect within ffmpeg , or with the intel media-driver package ?
[10:14:42 CEST] <nine_milli> blb
[12:10:01 CEST] <tomb^> Hi, I'm trying to "channelsplit" a 4.0 audio stream and remap only the first 2 channels from it, but get the error "Filter channelsplit:BC has an unconnected output", should that be possible?
[12:17:09 CEST] <durandal_1707> tomb^: use channelmap filter?
[12:18:04 CEST] <durandal_1707> if you have recent ffmpeg, if you wish to extract FL+FR from 4.0 it would be really easy
[12:19:16 CEST] <durandal_1707> -af "channelsplit=4.0:FL+FR"
[12:20:27 CEST] <durandal_1707> err, -af "channelsplit=4.0:FL+FR,amerge" if you need stereo as output
[12:26:16 CEST] <tomb^> @durandal_1707 thanks! I don't need to make a stereo out of it, just remap it as a channel, will try it! thanks!
[14:49:13 CEST] <Freneticks> is it possible in hls protocole (m3u8) to say start at 00:10:10 min ?
[14:50:29 CEST] <DHE> as in, you have an hour-long video but want viewers to start about 17% into the video? pretty sure the answer is no
[15:01:42 CEST] <Freneticks> So I need to remux the video on the fly
[15:03:28 CEST] <DHE> clients will either start from the beginning if they think it's an event or video on demand type thing, or from the end if they think it's a live broadcast
[17:05:48 CEST] <nine_milli> blb
[18:46:02 CEST] <dastan> hello people
[18:46:35 CEST] <dastan> i find the clue about the QSV.....my processor is not supported....lol
[18:46:46 CEST] <dastan> now i am getting problems with vaapi
[18:46:52 CEST] <dastan> https://pastebin.com/7hUAtrHH
[18:47:09 CEST] <dastan> in this pastebin is my command and the error i am getting
[18:48:00 CEST] <dastan> basically is a problem converting formats or something like this
[18:48:22 CEST] <dastan> i have the compiled version with vaapi driver installed
[18:48:24 CEST] <JEEB> you have cut some stuff unfortunately. seems like you are missing a hwupload or whatever? see the vaapi related documentation
[18:49:08 CEST] <JEEB> https://trac.ffmpeg.org/wiki/Hardware/VAAPI
[18:49:19 CEST] <JEEB> see the first Encoding example
[18:50:09 CEST] <dastan> in this article they make an hardware init
[18:50:15 CEST] <dastan> that create a file
[18:51:17 CEST] <JEEB> please look at the first encoding example, if you haven't cut your command line you should notice that you do not have any hardware upload
[18:51:37 CEST] <JEEB> I have no idea how much you cut from the terminal logs, of course
[18:51:51 CEST] <JEEB> because they clearly miss parts :P
[18:51:56 CEST] <JEEB> (command parameter parsing etc)
[18:52:06 CEST] <JEEB> you can hide the URL, I don't give a fat ass about it
[18:52:15 CEST] <dastan> https://pastebin.com/XNQAygEa
[18:52:17 CEST] <JEEB> but please do not randomly cut out things :)
[18:52:51 CEST] <JEEB> do I have to once again point towards the first encoding example in that page?
[18:52:55 CEST] <JEEB> like, the sub-part "Encoding"
[18:53:01 CEST] <dastan> VAAPI driver: Intel i965 driver for Intel(R) Haswell Mobile - 2.4.0.pre1 (2.3.0-19-g205e103).
[18:53:01 CEST] <dastan> [AVHWDeviceContext @ 0x55d5269443c0] Driver not found in known nonstandard list, using standard behaviour.
[18:53:13 CEST] <JEEB> see the first example, see what is not in your command line
[18:53:21 CEST] <dastan> Driver not found?
[18:53:24 CEST] <JEEB> no
[18:53:37 CEST] <JEEB> that just says that your driver is not on the list of ones that need hacks
[18:53:44 CEST] <JEEB> "using standard behavior"
[18:54:04 CEST] <JEEB> since your error in your original pastebin looked like a filter chain error, see the FIRST EXAMPLE in the ENCODING part of the thing I linked
[18:54:09 CEST] <JEEB> I don't think this is hard to grasp
[18:54:41 CEST] <JEEB> > The encoders only accept input as VAAPI surfaces. If the input is in normal memory, it will need to be uploaded before giving the frames to the encoder - in the ffmpeg utility, the hwupload filter can be used for this. It will upload to a surface with the same layout as the software frame, so it may be necessary to add a format filter immediately before to get the input into the right format (hardware
[18:54:47 CEST] <JEEB> generally wants the nv12 layout, but most software functions use the yuv420p layout).
[18:54:50 CEST] <JEEB> it says literally this before it too
[18:54:56 CEST] <JEEB> can you please at least attempt to read what I write
[18:56:19 CEST] <dastan> sory, i am trying to understand
[18:56:37 CEST] <dastan> but i was thinking tha i have a problem in my compilation too
[18:57:00 CEST] <JEEB> well now with VAAPI that seems to at least be enabled :P
[18:57:37 CEST] <JEEB> so pretty please just look at the article. scroll down until the part that says "Encoding" and then look at the first example. See what you are missing from your command line
[19:01:44 CEST] <nine_milli> blb
[19:12:17 CEST] <dastan> just printed the article to read in the bus to my work
[19:13:12 CEST] <dastan> thanks JEEB, i use the filter and worked, right now is time to understand why
[19:14:46 CEST] <dastan> how many resources are "reused" when you use ffmpeg with VAAPI?
[19:15:54 CEST] <JEEB> dastan: you decode with software and the vaapi encoder takes in VAAPI surfaces that are on the "GPU"
[19:16:26 CEST] <JEEB> currently the way to push (upload) the images taht are decoded to the "GPU" is to use that filter
[19:18:19 CEST] <dastan> using hardware to help ffmpeg is a new world for me
[19:18:32 CEST] <dastan> and is a little hard to understand for me
[19:20:22 CEST] <dastan> i will read and when i have more specific questions i come back
[19:20:58 CEST] <dastan> because right now, i am not understanding anyting, only that with vaapi ffmpeg is lighter to the system
[21:26:51 CEST] <nine_milli> blb
[22:50:00 CEST] Last message repeated 1 time(s).
[23:40:02 CEST] <Spring> tried finding how I'd encode to VC-1 since I was looking to replicate a video encoding done using WMV3 however this was the only lead I found, http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2007-June/031326.html
[23:40:52 CEST] <Spring> frankly I'm not sure how I'd encode to it since apparently it was encoded using Windows Media Video 9 Professional which I don't have.
[23:43:11 CEST] <JEEB> yea, I don't think there's a vc1 or wmv3 encoder in FFmpeg itself
[23:43:20 CEST] <JEEB> and I'm not sure if vaapi and such let you encode VC-1
[23:44:17 CEST] <JEEB> I used to have a copy of MS's expression encoder
[23:44:39 CEST] <JEEB> v3 or v4 I think
[23:44:55 CEST] <JEEB> I used to test it because it seemed like I think with v3 they made their own H.264 encoder
[23:44:58 CEST] <JEEB> (which sucked)
[23:45:11 CEST] <JEEB> in v4 they switched to mainconcept's encoder and it got dull :<
[23:45:42 CEST] <JEEB> seems like https://www.microsoft.com/en-us/download/details.aspx?id=27870
[23:45:45 CEST] <JEEB> is available
[23:45:52 CEST] <JEEB> and VC-1 encoding should be available?
[23:46:00 CEST] <JEEB> I recommend testing it in a VM or something
[23:46:41 CEST] <JEEB> I think there also was some reference software for VC-1
[23:46:47 CEST] <JEEB> which I don't remember if it contained an encoder
[23:46:52 CEST] <JEEB> but it was open source I think?
[23:47:41 CEST] <Spring> thanks I'll take a look
[23:48:00 CEST] <JEEB> but it seems like expression encoder is what became of the WMV9 professional encoder
[23:58:51 CEST] <JEEB> Spring: I hope you're just looking into this out of interest since thankfully for most use cases you don't really need WMV3/VC-1 :)
[23:59:37 CEST] <Spring> yeah it's just a very niche use not anything normal.
[00:00:00 CEST] --- Wed Jul 24 2019
1
0
[02:51:13 CEST] <cone-612> ffmpeg 03James Almer 07master:a38eab8b7501: avformat/aacdec: factorize the adts frame resync code
[02:51:13 CEST] <cone-612> ffmpeg 03James Almer 07master:881e1f5a6227: avformat/aacdec: resync to the next adts frame on invalid data instead of aborting
[04:19:14 CEST] <cone-612> ffmpeg 03Jun Zhao 07master:7eec3d22fc5f: lavfi/showinfo: support regions of interest sidedata
[04:19:15 CEST] <cone-612> ffmpeg 03Jun Zhao 07master:4373bb411c1d: lavf/avio: remove ffio_open2_wrapper function
[06:22:13 CEST] <cone-612> ffmpeg 03Andreas Rheinhardt 07release/4.1:2ac6315c7c3a: cbs_h264: Fix handling of auxiliary pictures
[06:22:14 CEST] <cone-612> ffmpeg 03James Almer 07release/4.1:7dc2366533d6: avcodec/cbs: add helper functions and macros to read and write signed values
[06:22:15 CEST] <cone-612> ffmpeg 03James Almer 07release/4.1:94b1630b7ca3: avcodec/cbs_h2645: add helper macros for signed values
[06:22:16 CEST] <cone-612> ffmpeg 03James Almer 07release/4.1:a2132139852c: avcodec/cbs_h264: fix storage type for time_offset in Pic Timing SEI
[06:22:17 CEST] <cone-612> ffmpeg 03Carl Eugen Hoyos 07release/4.1:84b94fdd05d2: lavc/cbs_vp9: Make variable prob unsigned.
[06:22:18 CEST] <cone-612> ffmpeg 03Carl Eugen Hoyos 07release/4.1:b3b5941ec7b4: lavc/cbs: Do not use format specifier "z" on Windows.
[06:22:19 CEST] <cone-612> ffmpeg 03James Almer 07release/4.1:ae5c80b9cae8: avcodec/cbs_mpeg2: fix leak of extra_information_slice buffer in cbs_mpeg2_read_slice_header()
[06:22:20 CEST] <cone-612> ffmpeg 03Andreas Rheinhardt 07release/4.1:b010caa6c9e8: cbs_mpeg2: Improve checks for invalid values
[06:22:21 CEST] <cone-612> ffmpeg 03Andreas Rheinhardt 07release/4.1:1b6bcee9fe6f: cbs_mpeg2: Fix storage type for frame_centre_*_offset
[06:22:22 CEST] <cone-612> ffmpeg 03James Almer 07release/4.1:1fbe0286e409: avformat/aacdec: factorize the adts frame resync code
[06:22:23 CEST] <cone-612> ffmpeg 03James Almer 07release/4.1:a21a9c78637a: avformat/aacdec: resync to the next adts frame on invalid data instead of aborting
[14:06:36 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:54bd47f861e8: avcodec/flicvideo: Make line_packets int
[14:06:36 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:0af08cb80384: avcodec/apedec: Fix multiple integer overflows in predictor_update_filter()
[14:06:36 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:240bf0e5960f: avcodec/apedec: Fix various integer overflows
[14:06:36 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:9cd0d94f59d0: avcodec/alsdec: Fix 2 integer overflows
[14:06:36 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:b880b3b236dd: avcodec/alsdec: fix undefined shift in multiply()
[14:06:36 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:82e389d06692: avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754()
[14:06:36 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:308771a73870: avcodec/vorbisdec: amplitude bits can be more than 25 bits
[14:06:37 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:99f95f39c697: avcodec/vorbisdec: Check vlc for floor0 dec vector offset
[14:06:38 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:508ce5839e0b: tools/target_dec_fuzzer: Free parser in case of avcodec_open2() failure
[14:06:39 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:8df6884832ec: avcodec/utils: Check close before calling it
[16:10:24 CEST] <cone-457> ffmpeg 03Andreas Rheinhardt 07release/4.1:6e0cf9a9df4a: cbs_h2645: Fix infinite loop in more_rbsp_data
[19:06:59 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:d4cb9b8f2468: doc/APIchanges: Fill in missing Fields, add 4.2 cut marker
[19:07:00 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:27aa04c1cd82: Changelog: Add 4.2 cut marker
[19:07:01 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:22db337a4027: Bump minor versions to separate 4.2 from master
[19:07:02 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:80bb65fafab1: Bump minor versions again on master to keep 4.2 versions separate from master
[19:07:03 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07master:18928e2bb456: RELEASE: Update value for post 4.2 branch
[19:07:04 CEST] <cone-457> ffmpeg 03Michael Niedermayer 07release/4.2:HEAD: RELEASE: Update value for post 4.2 branch
[19:07:47 CEST] <jamrial> \o/
[19:09:10 CEST] <JEEB> \o/
[19:12:06 CEST] <BradleyS> \o/
[20:42:36 CEST] <Compn> have we named a release after Stanislav Petrov ?
[20:42:50 CEST] <Compn> not multimedia related but still
[00:00:11 CEST] --- Mon Jul 22 2019
1
0
[00:06:13 CEST] <nine_milli> blb
[03:29:00 CEST] Last message repeated 1 time(s).
[07:30:14 CEST] <kth5> i'm trying to figure out failures during the ./configure step of the 4.1.4 release. is there any way to enable more verbosity? config.log is leaving me clueless as to why it complains about a missing dependency.
[07:45:26 CEST] <furq> pastebin config.log somewhere
[07:48:34 CEST] <nine_milli> blb
[07:51:40 CEST] <kth5> hold on
[07:54:14 CEST] <kth5> https://paste.ee/p/kh0Ij
[07:55:31 CEST] <tdr> last line: ERROR: nvdec requested, but not all dependencies are satisfied: ffnvcodec
[07:56:14 CEST] <kth5> yes, and the headers are installed
[07:56:23 CEST] <kth5> i need to know what it tries here to find out what's going on
[07:56:59 CEST] <kth5> all nvcodec-headers in /usr/include/ffnvcodec and pkgconfig file in path
[07:57:07 CEST] <kth5> this is on ppc64le though
[07:57:29 CEST] <kth5> configure doesn't set up a blockade here tho unless it's bigendian ppc64
[07:58:35 CEST] <tdr> your ./configure output would prob be easier to read vs the log
[07:59:14 CEST] <kth5> there is none, which is the problem :D
[07:59:29 CEST] <kth5> it just slently returns with the message at the end of config.log
[07:59:39 CEST] <kth5> at line 14734 in config.log it seems ot detect the headers btw
[08:00:35 CEST] <tdr> i assume your running on linux?
[08:01:08 CEST] <kth5> yeah
[08:02:42 CEST] <tdr> are you trying to enable every single option?
[08:03:00 CEST] <kth5> yes, it's basically a build for packaging
[08:03:00 CEST] <kth5> https://github.com/kth5/archpower/blob/master/ffmpeg/PKGBUILD
[08:03:14 CEST] <kth5> the goal is to enable as many features as make sense
[08:03:29 CEST] <tdr> make sense to whom?
[08:03:32 CEST] <kth5> of course i don't want to have a runtime dependency on Cuda for instance, but ffnvcodec should work without it
[08:03:44 CEST] <tdr> --enable-libspeex ... when have you last used speex? ;)
[08:03:50 CEST] <tdr> or --enable-libfribidi
[08:04:14 CEST] <kth5> for as long as the feature works and is supported in source, it should be enabled as speex exists
[08:04:29 CEST] <tdr> and --disable-stripping ?
[08:04:37 CEST] <kth5> yes, packaging does it
[08:05:12 CEST] <kth5> anyway, the question is what it does for ffnvcodec there
[08:05:18 CEST] <tdr> something is odd if you are doing ./configure <all those options> and you see nothing
[08:05:27 CEST] <kth5> speex etc configure, build and work fine when disabling the nvidia stuff
[08:05:32 CEST] <tdr> you should see a ton of autotools output
[08:05:51 CEST] <tdr> checking <blah> yes/no ... etc
[08:06:21 CEST] <kth5> yeah, one would think so but ffmpeg/configure is hardly autoconf :D
[08:06:45 CEST] <kth5> looks pretty handcrafted to me
[08:07:10 CEST] <tdr> digging through a literally 16,000 build log that has a gazillion million build tests in it ...
[08:08:24 CEST] <kth5> that's why i'm here haha
[08:08:36 CEST] <kth5> i've been eyeballing the issue with grep for a bit now
[08:15:15 CEST] <kth5> the fun fact is, "int x;" compiles fine with the last command in config.log, at least it creates an object and $? = 0
[08:15:16 CEST] <tdr> ok on the distro i have, it looks if you have ffnvcodec wanted, it pulls nvidia-drivers to get the nvidia glx stuff
[08:16:06 CEST] <kth5> using the Archlinux x86_64 PKGBUILD as a template here, the only additional dependency for nvcodec to work seems to be the headers that have been split out of ffmpeg sometime around 4.x
[08:16:33 CEST] <kth5> but hey, i'll give it a shot and see if nvidia libs will fix it
[08:16:35 CEST] <kth5> that would suck tho
[08:17:34 CEST] <tdr> ok on gentoo, it maps video_cards_nvidia:ffnvcodec and uses that to require media-libs/nv-codec-headers-8.1.24.2
[08:18:39 CEST] <tdr> or greater than that version of the headers i guess
[08:19:17 CEST] <tdr> ( had to read lower, it uses the video card the users has picked to determine whether it can use that and pull the additional codec header)
[08:19:40 CEST] <kth5> i have 9.0.18.1
[08:19:54 CEST] <kth5> with pkg-config working
[08:19:57 CEST] <tdr> i have 9.0.18.1
[08:20:13 CEST] <kth5> it seems to check >8.1 something
[08:20:24 CEST] <furq> 07:05:32 ( tdr) you should see a ton of autotools output
[08:20:25 CEST] <furq> yeah no
[08:20:28 CEST] <tdr> buitl it muitlib
[08:20:34 CEST] <furq> that's what config.log is for (except it's not autotools output)
[08:20:39 CEST] <tdr> /usr/share/doc/nv-codec-headers-9.0.18.1/README.bz2 /usr/lib64/pkgconfig/ffnvcodec.pc /usr/lib32/pkgconfig/ffnvcodec.pc /usr/include/ffnvcodec/nvEncodeAPI.h /usr/include/ffnvcodec/dynlink_nvcuvid.h /usr/include/ffnvcodec/dynlink_loader.h /usr/include/ffnvcodec/dynlink_cuviddec.h /usr/include/ffnvcodec/dynlink_cuda.h
[08:20:56 CEST] <tdr> furq, yeah i see its not using that. makes the build log fun to read :)
[08:22:33 CEST] <furq> it also makes configure possible to read
[08:22:33 CEST] <furq> which is pretty nice
[08:23:32 CEST] <kth5> lowered my nvcodec heders to 8.2.15.8 but no dice either
[08:23:35 CEST] <tdr> ok fair enough, configure is easy to read
[08:41:46 CEST] <nine_milli> blb
[12:19:21 CEST] <Youtube-DL-User> FFMPEG 4.1.4 build from here (https://ffmpeg.zeranoe.com/builds/) are unable to download complete video HLS AES-128 video streams. While command windows shows that TS fragments are being downloaded, but in reality, they aren't written to the output mp4 file. The command being used is: ffmpeg -i [m3u8 url] output.mp4"
[13:16:39 CEST] <CpAj0> hello, is possible to extract a frame from a video at for example 10% of duration of every video that pass to ffmpeg?
[13:36:18 CEST] <relaxed> CpAj0: sure, use ffprobe -i INPUT -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 to get the duration in seconds and do the math
[13:37:46 CEST] <relaxed> combine it with a for loop
[13:41:32 CEST] <CpAj0> relaxed, thank you
[13:48:20 CEST] <dastan> hello
[13:49:01 CEST] <dastan> does someone know the most compatible cards to accelerate the image process?
[13:49:49 CEST] <dastan> i dont know if i can help to accelerate ffmpeg with a render card or only a video card like nvidia
[13:52:14 CEST] <relaxed> nvidia has pretty good hardware {en,de}coding support, not sure what a render card is
[13:53:19 CEST] <relaxed> I think they're synonymous
[13:54:18 CEST] <dastan> what is better in nvidia? Quadro or Geforce?
[13:56:04 CEST] <relaxed> Quadro is their professional line for servers/workstations, so probably that
[13:57:09 CEST] <relaxed> I think Geforce cards limit how many streams you can process at a time
[18:07:21 CEST] <yashi> What is the equivalent of -f alsa hw:1 on the mac?
[18:18:38 CEST] <tdr> yashi, if its running macos, avfoundation is prob what you want. https://ffmpeg.org/ffmpeg-devices.html#avfoundation
[18:19:49 CEST] <yashi> tdr: But avfoundation is an input device and I am trying to play a file (so I need an output device)
[19:10:16 CEST] <another> are you refering to ffplay? what are you actually trying to do?
[19:10:59 CEST] <nine_milli> blb
[19:24:44 CEST] <yashi> another: I'm trying to play a file directly into my USB DAC without decoding it.
[19:33:00 CEST] <dastan> hello people
[19:34:03 CEST] <dastan> when you are receiving a stream is is possible to use two hardware acceleration together, like cuvid to decode and qsv to encode?
[19:37:54 CEST] <dastan> ffmpeg -hwaccel cuvid -c:v h264_cuvid -f hls -i "hls.m3u8 -vcodec h264_qsv -crf 25 output_h264_video.mp4
[19:38:01 CEST] <dastan> is it possible?
[19:39:07 CEST] <dastan> i dont have ffmpeg compiled for nvenc or qsv support yet as i dont have a server with those cappabilities, but i expect to get one which support those technologies
[20:00:11 CEST] <dastan> someone knows about hardware acceleration?
[20:44:06 CEST] <nine_milli> blb
[20:47:33 CEST] <yashi> What's blb?
[20:52:36 CEST] <relaxed> yashi: it's an annoying bot highlighting someone in the channel because kids
[23:16:14 CEST] <CounterPillow> "blb" is my favourite new meme.
[00:00:00 CEST] --- Sun Jul 21 2019
1
0
[00:09:35 CEST] <relaxed> Henry151: post your bash script somewhere
[00:09:41 CEST] <furq> he did
[00:09:58 CEST] <relaxed> oh, yeah :)
[00:10:14 CEST] <furq> apparently -xerror doesn't do very much and -err_detect explode has to be handled manually for every error
[00:10:21 CEST] <furq> which from what i can tell most decoders don't bother with
[00:10:31 CEST] <furq> you'd think it would just be handled in av_log but i guess that's in the wrong scope
[00:11:02 CEST] <furq> Henry151: you might want to try upgrading ffmpeg, 4.1.3 here bails out of that file much quicker
[00:11:09 CEST] <furq> although it still exits 0 so you'd need to manually check your logs
[00:15:05 CEST] <relaxed> hmm, git master fails quickly and has an exit status 69
[00:15:28 CEST] <furq> so it does
[00:15:30 CEST] <furq> except it exits 1 here
[00:16:05 CEST] <furq> well either way that's much better
[00:18:50 CEST] <furq> apparently that postdates 4.1 by about a week so you'd still need to use git master
[00:32:30 CEST] <nine_milli> blb
[00:43:42 CEST] <rburton_> just upgraded our working ffmpeg 4.1.3 to 4.1.4 and it fails to link
[00:43:46 CEST] <rburton_> | HOSTLD libavcodec/qdm2_tablegen
[00:43:51 CEST] <rburton_> | /data/poky-tmp/master/hosttools/ld: libavcodec/qdm2_tablegen.o: in function `build_table':
[00:43:54 CEST] <rburton_> | qdm2_tablegen.c:(.text+0x36a): undefined reference to `avpriv_request_sample'
[00:44:09 CEST] <rburton_> anyone got any ideas?
[01:56:24 CEST] <Henry151> thanks for the input...
[02:48:46 CEST] <nine_milli> blb
[04:02:08 CEST] <Henry151> what's blb mean?
[04:07:12 CEST] <Henry151> thanks for the help btw! updating to git master now.
[04:16:23 CEST] <Henry151> well, compiling git master now to try it out anyway
[04:20:55 CEST] <dastan> hello people
[04:24:03 CEST] <dastan> i want to know if someone has experience in HLS demuxer and the option live_start_index
[04:24:52 CEST] <dastan> i am downloading a HLS link from youtube and creating a local HLS repository
[04:27:08 CEST] <dastan> and then i take the local repository to put into a SDI card, but sometimes the process 1 is slower that the process 2 and the process which puts the video into the SDI card gives some troubles
[04:29:36 CEST] <dastan> i checked and when the process one is creating the video number 52 the second process is playing the video number 48, so this gives a delay of 30 seconds....its ok for me, but i want to has the option to make this difeerence smaller or bigger
[04:55:33 CEST] <Henry151> thanks to everyone who helped me out earlier, it is working nicely now running the latest git master version of ffmpeg. Much appreciated.
[05:13:43 CEST] <nine_milli> blb
[05:27:30 CEST] <while> hi, how can I convert between more common multimedia formats (jpg, gif, png) and raw (no header) rgb24 formatted files?
[05:28:32 CEST] <while> Iv'e found how to convert to and from the ffmpeg's yuv420 and yuv444 video, but rgb24/rgb888 seems much harder
[05:38:10 CEST] <Henry151> hey folks, can y'all help me understand the errors happening with these .shn files? Are these likely to be more corrupt files or does this look like some other type of problem? https://termbin.com/ery03
[06:10:36 CEST] <Henry151> it's things like "[shorten @ 0x55ff53c681c0] overread: 1"
[06:12:15 CEST] <furq> at a guess it's just bit rot
[06:12:28 CEST] <furq> the file you uploaded earlier plays back fine after :24 if you skip past it in fb2k
[06:14:45 CEST] <Henry151> ok. I've got several backups of the .shn files so perhaps some of those are non-corrupted; or if all mine are corrupted, I can request replacements from my cousin
[06:15:32 CEST] <Henry151> he's got these darn recordings in crazy formats like on magnetic tapes and on vinyl records and other absurdities, i believe
[06:15:48 CEST] <Henry151> i'm just trying to make them easily shareable for him.
[06:18:56 CEST] <furq> while: -f rawvideo -pix_fmt rgb24 out.raw
[06:24:50 CEST] <Henry151> furq: was that directed at me? no comprendo
[06:25:02 CEST] <furq> 04:27:30 ( while) hi, how can I convert between more common multimedia formats (jpg, gif, png) and raw (no header) rgb24 formatted files?
[06:25:25 CEST] <Henry151> oh ha. I thought you meant "while" like, "while true: do"
[13:41:56 CEST] <pkunk> Why is it when I'm copying a HLS stream to mpegts over http, ffmpeg dumps data in 6-7MB chunks onto my http streaming server ?
[13:43:41 CEST] <pkunk> However if I transcode the video stream, then the mpegts output is fine and I can stream smoothly
[13:44:56 CEST] <pkunk> Using ffmpeg latest release/4.1 branch. My command is like this - ffmpeg -i http://path.to/hls/stream.m3u8 -f mpegts -c:v copy -c:a copy -c:s? copy http://127.0.0.1/publish/stream
[13:45:36 CEST] <pkunk> Issue is only when I'm copying from hls to mpegts.. However mpegts to mpegts copies smoothly and output is also smooth on the mpegts server
[13:46:25 CEST] <pomaranc> pkunk: try -re before the input, but not sure if it works for HLS
[13:47:49 CEST] <pkunk> Thats super strange.. Now with -re I can see ffmpeg also frequently updatng the frame=XXX line
[13:49:11 CEST] <pkunk> Output is also smooth on the mpegts server. Is it an ffmpeg bug? Because this is a live stream and one would expect it to stream smoothly
[13:49:15 CEST] <pomaranc> it's trying to stay at the 1.0x speed based on the input timestamps
[13:49:32 CEST] <pomaranc> no, that's how HLS works
[13:49:54 CEST] <pomaranc> you get a new complete segments in the playlist and ffmpeg just processed it immediately
[13:50:39 CEST] <pomaranc> segment*
[13:52:53 CEST] <pkunk> Normally -re causes problems with live streams because it will fall behind sometimes. I guess this strange behaviour also exists with hls to hls copying but we don't notice it because of its nature
[13:53:33 CEST] <pomaranc> yes, -re is probably not completely reliable
[13:53:55 CEST] <pomaranc> I had to wrote my own tool for HLS->UDP streaming when I had this problem
[13:54:39 CEST] <pomaranc> I have no idea what happens if there is a timestamp discontinuity in the input
[13:55:18 CEST] <pkunk> I had to write my own C++ code for a 16-32 channel mosaic because the inbuilt ffmpeg cli is so crappy at it
[13:55:56 CEST] <pkunk> It can't even open 16 inputs in parallel, so is unusable + with C++ you can fix the TS issues in code
[13:55:59 CEST] <pomaranc> I did that with a bash script that generated the filter
[13:58:05 CEST] <pkunk> Thanks , will stick the CLI tool for now because it can do other nifty things
[15:45:11 CEST] <TheSashm_> @pkunk can you share that? I would like to see how that looks
[15:45:16 CEST] <TheSashm_> or at least a screenshot of it
[15:47:08 CEST] <whitestone> does someone know how it works the flag live_start_index in HLS demuxer?
[15:48:02 CEST] <whitestone> i am reading a local repository but it allways start from the -3 to -6 fragment
[15:48:19 CEST] <whitestone> but i want to increase this number
[15:57:40 CEST] <relaxed> whitestone: did you read "ffmpeg -h demuxer=hls"
[15:58:43 CEST] <whitestone> i read the documentation everyday but in web
[15:58:48 CEST] <whitestone> lets check the man page
[16:00:35 CEST] <relaxed> so..you've tried increasing -live_start_index but it doesn't work?
[16:00:59 CEST] <whitestone> i tried but i dont know if it is in the right way
[16:01:07 CEST] <whitestone> the -h says -live_start_index <int> .D....... segment index to start live streams at (negative values are from the end) (from INT_MIN to INT_MAX) (default -3)
[16:01:44 CEST] <whitestone> and my command looks like ffmpeg -f hls -live_start_index -15 -i ....
[16:12:51 CEST] <whitestone> i tried in different ways and not, not working, i dont know if i am putting everything ok
[16:21:28 CEST] <sine0> hey, is there a channel for general video editing
[16:21:38 CEST] <sine0> I would ask in here but I guess its off tawpic
[17:04:51 CEST] <sine0> I have a simple video which is exported in lossless avi from after effects. I try and convert it in ffmpeg but the file is unviewable and gray blocks. the origional file which is 800mg for 10 seconds or so plays fine in vlc and ffmplay
[17:04:54 CEST] <sine0> https://bpaste.net/show/Afh_
[17:06:19 CEST] <kepstin> sine0: your player might not like the h264 rgb stuff. try encoding with the output option "-pix_fmt yuv420p"
[17:06:52 CEST] <sine0> what vlc ?
[17:07:22 CEST] <sine0> trying again
[17:07:32 CEST] <kepstin> hmm, i'd hope vlc could play that
[17:07:42 CEST] <sine0> ok yea so that works, GREAT man
[17:07:51 CEST] <sine0> so in brief, what is the issue ?
[17:08:06 CEST] <sine0> why is the h264 rgb so niche
[17:08:32 CEST] <sine0> bgr24 ?
[17:09:13 CEST] <kepstin> h264 rgb is just... really niche. Most players that use ffmpeg to decode h264 will support it, but lots will have issues.
[17:09:50 CEST] <kepstin> the main purpose of it is as a temporary codec when you don't want to convert back and forth between rgb and yuv multiple times, i think.
[17:10:42 CEST] <kepstin> (also useful in lossless mode, since rgb-yuv conversion is lossy in some circumstances)
[17:11:41 CEST] <sine0> ok cool thanks for the info
[17:49:55 CEST] <nine_milli> blb
[17:59:35 CEST] <JEEB> hmm, wonder what filter to utilize to crop/scale a 180 video so that it ends up as "normal" viewport
[18:02:37 CEST] <sine0> anyone know hwere I can ask about after effects help
[19:10:11 CEST] <relaxed> sine0: here? https://forums.adobe.com/community/aftereffects/content
[19:40:05 CEST] <nine_milli> blb
[20:06:01 CEST] <sine0> relaxed: I was after a chat channel
[20:09:56 CEST] <pink_mist> sine0: then you should probably ask adobe to move their support infrastructure to irc
[20:13:32 CEST] <sine0> ok mate no need for sarcasm, i was just asking.
[20:15:34 CEST] <whitestone> does someone know something about HLS demuxer?
[20:15:36 CEST] <sine0> we all know that Im not going to ask adobe to setup a support channel on an archaic communication system just for me, so enjoy your kicks
[20:40:57 CEST] <relaxed> I bet the open source equivalent has an irc channel
[20:43:01 CEST] <whitestone> if someone want to know
[20:43:05 CEST] <whitestone> i solve my problem
[20:43:16 CEST] <whitestone> if you are muximg and demuxing HLS
[20:44:40 CEST] <relaxed> whitestone: let's hear it for future reference
[20:44:41 CEST] <whitestone> to use the option live_start_index in the demuxer you need to check the option hls_list_size size in the muxer process
[20:45:32 CEST] <whitestone> if you are demuxing with the default options, the number of the list is 5, so you can move only 0 -1 -2 -3 -4 or -5
[20:46:01 CEST] <whitestone> i am making a local cache from a youtube video to then put it in adecklink card with another process
[20:47:07 CEST] <whitestone> and i am using those options to make a process which can save itself, so if you get an error you can increase the number of the live_start_index
[20:48:00 CEST] <whitestone> but first you need to have a mux with a number which can give the option to play in chase of failure
[21:49:05 CEST] <sine0> relaxed: open source equivalent or aae ? whats that then
[21:49:24 CEST] <sine0> or -> of
[22:07:22 CEST] <georgie> Guys, I have a single image that I want to apply a few animations: Zoom Out and then pan left to right.
[22:08:04 CEST] <georgie> I do want to have control a what frame does the zoom ends and panning starts
[22:08:14 CEST] <georgie> Is that possible using ffmepeg video filters?
[22:09:34 CEST] <furq> sure
[22:09:36 CEST] <furq> https://ffmpeg.org/ffmpeg-filters.html#Timeline-editing
[22:12:58 CEST] <kepstin> and many filters for that sort of modification let you calculate the transformation based on the frame number or time
[22:21:46 CEST] <FishPencil> How can I verify the integrity of ffmpeg-4.1.4.tar.xz with the sig file? Doesn't there need to be a public key provided as well?
[22:26:17 CEST] <nine_milli> blb
[22:28:06 CEST] <furq> FishPencil: https://github.com/FFmpeg/FFmpeg/blob/master/MAINTAINERS#L595
[22:28:22 CEST] <FishPencil> thank you
[22:30:11 CEST] <JEEB> oh that's where it was
[22:30:13 CEST] <JEEB> geez
[22:30:21 CEST] <JEEB> the last guy who asked I didn't even know where to look...
[22:30:48 CEST] <kepstin> honestly tho, if you've downloaded the tarball over https, then verifying the signature doesn't add much more in the way of verification :/
[22:30:53 CEST] <furq> i actually googled looking for that mailing list post you linked and this showed up
[22:31:00 CEST] <furq> i must have got lucky with the search query
[22:31:38 CEST] <kepstin> i guess it's possible someone without access to the key might have replaced a tarball on the server - which is something that it still might help with.
[22:32:15 CEST] <FishPencil> It looks like the key is also in the MIT db, so there's that way too
[00:00:00 CEST] --- Sat Jul 20 2019
1
0
[06:04:33 CEST] <viete> Hello, is there an official repository of mp4 test files to use with FFmpeg? I'm specifically looking for a mp4 file that contains b-frames.
[06:17:46 CEST] <vel0city> viete: hi, the test suit (FATE) uses these files: http://fate-suite.ffmpeg.org/ you can check in the h264 directories
[06:18:34 CEST] <vel0city> though I don't think b-frames are that rare anyway
[07:14:42 CEST] <kepstin> pretty easy to make one, `ffmpeg -i <almost anything> output.mp4` will use x264 medium preset by default (if available in your build) which will have b-frames.
[09:38:59 CEST] <cone-125> ffmpeg 03Andreas Rheinhardt 07master:ab4795a085cd: matroskadec: Add sizes to forward declarations
[11:57:18 CEST] <vtorri_> hello
[11:57:31 CEST] <vtorri_> any idea when ffmpeg 4.2 will be out ?
[11:57:42 CEST] <vtorri_> michaelni ^
[12:04:06 CEST] <michaelni> ASAP ... sadly random (unrelated) things keep distracting me ... so in reality i hope it to happen in the next maybe 1-2 weeks
[13:07:04 CEST] <vel0city> can I use libswscale withing a libavcodec file to perform gamma correction?
[13:08:22 CEST] <JEEB> one of those things which is technically possible but sounds something weird to do in a decoder
[13:08:29 CEST] <JEEB> also not sure if swscale does that correction?
[13:08:48 CEST] <vel0city> it does have code for gamma correction
[13:13:08 CEST] <vel0city> why is it weird? my source data is not gamma corrected, the raw output I'm outputting atm looks dark
[13:13:46 CEST] <JEEB> because we nowadays support at least three different "gamma" modes, such as normal gamma and PQ, HLG at the very least
[13:13:49 CEST] <JEEB> and those are output as-is
[13:14:15 CEST] <JEEB> and then video filtering/output (for a player) would handle the conversion to what your screen gamma is
[13:14:25 CEST] <JEEB> or instead of saying gamma, "transfer function"
[13:15:26 CEST] <JEEB> I'm not saying this is the way to go in every case, but that's why I feel it being weird
[13:16:02 CEST] <JEEB> vel0city: AVCOL_TRC_ are the things currently supported for AVFrames
[13:17:04 CEST] <JEEB> list is in libavutil/pixfmt.h
[13:17:41 CEST] <JEEB> so if the stuff output from your thing is one of those, it /might/ make sense to output it as-is
[13:17:48 CEST] <JEEB> if not, then of course that's a separate discussion :)
[13:19:52 CEST] <vel0city> I don't really know if it is. It's raw CFA data from camera sensors (I'm working on a DNG decoder)
[13:20:32 CEST] <vel0city> I assume it is because I'm using a program called dcraw as a reference and it does gamma (sRGB) correction
[13:20:50 CEST] <vel0city> and because as I said, I'm getting dark output
[13:20:56 CEST] <vel0city> at least in some images
[13:24:24 CEST] <JEEB> it could be linear, but you'd better figure out if the transfer function / gamma function is defined somewhere in the files
[13:24:53 CEST] <JEEB> (actually, I do not know how linear would look if viewed as gamma so I could be completely incorrect)
[13:25:42 CEST] <vel0city> there _is_ a lookup table specified in the files and I'm applying it
[13:26:06 CEST] <vel0city> after this I'm doing black subtraction and color scaling
[13:26:59 CEST] <vel0city> I'm not getting clipped values so I think this is a transfer function thing
[13:29:28 CEST] <vel0city> not an order thing either, the transformations mentioned are done as specified in the DNG spec
[13:29:50 CEST] <JEEB> hopefully the spec does also note about transfer function / gamma function
[13:29:59 CEST] <JEEB> or it says that it's linear
[13:30:35 CEST] <vel0city> can't find anything
[13:31:50 CEST] <vel0city> the "PhotometricInterpretation" TIFF tag is the most relevant one here, it can be "RBG" which the spec says is sRGB, some other values and "CFA" which it is in my case
[13:33:12 CEST] <vel0city> hm there's also a "ColorMatrix1" tag which I don't implement but it's an identity matrix in my sample
[13:38:36 CEST] <vel0city> there's something relating to white balancing but I'm not sure if it's related
[13:38:43 CEST] <JEEB> colormatrix is usually the colorspace/primaries thing
[13:56:24 CEST] <Lynne> are you sure it isn't bayer?
[13:58:49 CEST] <vel0city> Lynne it's bayer, that's what "CFA" above means. I'm decoding it with AV_PIX_FMT_BAYER_RGGB16LE
[14:01:30 CEST] <vel0city> and the transformations above are performed _before_ debayering
[14:22:32 CEST] <Lynne> wouldn't trust swr's debayering, and we don't do pixel format conversions in decoders, so you need to make it output bayer
[16:49:17 CEST] <jdarnley> Which bit of configure or make creates "libswscale/libswscale.ver"?
[16:51:46 CEST] <jdarnley> Oh, ffbuild/library.mak by the look of it
[20:17:54 CEST] <Dmitri_Ovch> Hi! I sent a new version of the patch adding linux support for AMD/MCE encoder(updated the code and added notes to doc / general.texi file). Could you please review?(https://patchwork.ffmpeg.org/patch/13972/)
[22:26:46 CEST] <cone-883> ffmpeg 03Andreas Rheinhardt 07master:9869e217764f: matroskadec: Remove redundant const
[00:00:00 CEST] --- Fri Jul 19 2019
1
0
[01:26:13 CEST] <nine_milli> blb
[03:07:45 CEST] <k-man> how would you suggest I check if libfdk_aac is available as a codec in a bash script ?
[03:13:46 CEST] <furq> ffmpeg -codecs | grep libfdk_aac
[03:13:59 CEST] <furq> i would have said ffmpeg -h encoder=libfdk_aac but that returns 0 for some reason
[03:29:19 CEST] <k-man> furq: yeah, i found the same
[03:29:22 CEST] <k-man> thanks for your help
[04:13:31 CEST] <Henry151> hi folks
[04:13:33 CEST] <Henry151> http://i.imgur.com/OdFa7sn.png
[04:13:49 CEST] <Henry151> anyone know why i'm gettin stuck on this file?
[04:14:57 CEST] <Henry151> that "unknown shorten function -1 speed= 119x" makes me think something is going wrong, like maybe the filename or file path has some weirdness to it that is making it pass part of the file name as an option or something
[04:19:46 CEST] <furq> Henry151: that message is from the shn decoder
[04:19:51 CEST] <furq> so presumably the file is broken in some way
[04:20:38 CEST] <furq> or 52,293 ways
[04:22:39 CEST] <Henry151> hm
[04:22:44 CEST] <Henry151> thank you for the insight
[04:23:27 CEST] <Henry151> i will re-copy the .shn file from one of the backups and try it again. But in the meantime, is there a way I can tell ffmpeg to give an error message and skip on to the next file in that sort of circumstance?
[04:23:53 CEST] <furq> -xerror
[04:24:08 CEST] <Henry151> ok
[04:25:32 CEST] <Henry151> https://termbin.com/piyo this is my command currently, as works.. I am figuring I would modify it to this: https://termbin.com/6cpb loook about right?
[04:26:35 CEST] <Henry151> i want it to exit in such a way that it does not perform the next thing after the next && symbol in bash
[04:26:49 CEST] <Henry151> so.. with an error code or sommat like that
[04:26:49 CEST] <furq> looks ok other than >> won't do anything
[04:26:54 CEST] <furq> you probably want 2>>
[04:27:02 CEST] <Henry151> ah, yep.
[04:27:19 CEST] <Henry151> i wondered why that wasn't doing anything XD
[04:27:22 CEST] <furq> but yeah ffmpeg will exit 1 on error
[04:27:28 CEST] <furq> or >0 anyway
[04:28:01 CEST] <furq> you might also want to use -compression_level 10 for flac, i forget what it defaults to
[04:28:58 CEST] <Henry151> does that impact the audio quality? it's fairly important to maintain maximum audio quality here, to keep my cousin happy
[04:29:08 CEST] <furq> it's flac, it's always lossless
[04:29:13 CEST] <Henry151> oh
[04:29:16 CEST] <furq> it'll take more cpu time though
[04:29:19 CEST] <Henry151> i see
[04:29:22 CEST] <furq> and may not save very much
[04:30:29 CEST] <Henry151> one other thing, i have 8 cpus and this seems to be only using one of them at a time. Maybe I would have to ask in #bash for help with this, but do you know any easy way I could tell it to maybe, work on multiple files at once, one with each processor? or like, 8 threads or something, however you describe that
[04:31:18 CEST] <Henry151> because i have like 2TB+ of files to convert and it seems foolish to be operating at 1/8th the possible speed
[04:31:33 CEST] <Henry151> 8 cpus i mean 8 cores
[04:31:48 CEST] <furq> https://clbin.com/GKhnC
[04:31:49 CEST] <furq> something like that
[04:32:01 CEST] <furq> replace -P4 with however many cores you want to use
[04:32:12 CEST] <Henry151> thank you immensely
[04:34:18 CEST] <furq> definitely don't remove that `exit $?` unless you want to fork bomb yourself
[04:42:42 CEST] <nine_milli> blb
[06:01:09 CEST] <viete> Hello, is there an official repository of mp4 test files to use with FFmpeg? I'm specifically looking for a mp4 file that contains b-frames.
[06:13:14 CEST] <furq> viete: you could just generate one
[06:13:28 CEST] <furq> ffmpeg -f lavfi -i testsrc=d=1 test.mp4
[06:13:35 CEST] <furq> that'll contain h264 bframes
[06:13:43 CEST] <viete> awesome, thanks!
[06:14:17 CEST] <furq> https://samples.ffmpeg.org/
[06:14:30 CEST] <furq> there's also this but it's mostly for broken files or stuff with obscure features
[06:15:30 CEST] <viete> yeah I came across that link and avoid it because the readme said exactly what you said.
[07:21:22 CEST] <nine_milli> blb
[08:49:15 CEST] <ChrisJW> Is there a way to get ffmpeg.exe to print the AVCodecContext info? It would be super handy because I can't get libavcodec to do what I want
[09:06:38 CEST] <JEEB> ChrisJW: I don't think you can do much more than bump verbosity, and for timestamps -debug_ts. if you need custom print-outs you'll have to add av_log lines where you need 'em
[09:07:11 CEST] <ChrisJW> OK JEEB, thanks for the help
[09:07:34 CEST] <JEEB> also if you have general API usage questions they also fit this channel
[09:10:01 CEST] <ChrisJW> I'm trying to get CUDA/NVDEC decoding working. ffmpeg.exe works great, I'll keep battling on my own for a few more hours
[09:10:19 CEST] <JEEB> I think we had some hwdec examples under doc/examples
[09:10:40 CEST] <JEEB> I would guess the nvdec stuff is similar in that it uses one of those hwaccel contexts an you request an nvdec one
[09:12:50 CEST] <ChrisJW> I've been staring at hwaccel examples for a couple of days
[09:14:06 CEST] <ChrisJW> ffmpeg.exe is definitely able to do it, I can see that the GPU is working hard decoding
[09:14:29 CEST] <ChrisJW> I recently found that Task Manager has a "Video Decode" graph which shoots up
[09:14:53 CEST] <JEEB> just make sure whatever you're linking against FFmpeg-wise is actually built against the nvdec headers
[09:15:04 CEST] <JEEB> aka "make sure that yhe hwaccel is enabled"
[09:15:32 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git;a=summary
[09:15:33 CEST] <ChrisJW> It took me about a day to get ffmpeg building with support for qsv and cuda on windows
[09:16:01 CEST] <ChrisJW> yea I've got all that done, ffmpeg.exe is able to utilise both qsv and cuda for sure
[09:16:30 CEST] <JEEB> just trying to make sure that you're testing against the same libraries that your ffmpeg.c binary is utilizing :P
[09:16:41 CEST] <JEEB> because that's one of the most common issues, unfortunately
[09:17:17 CEST] <ChrisJW> the ffmpeg logging dumps lots of CUDA success stuff which looks good
[09:17:32 CEST] <ChrisJW> but when it comes to decoding, it crashes because I don't think it has setup the context correctly
[09:18:55 CEST] <ChrisJW> the strange part I notice is when I call avcodec_open2, hw_frames_ctx and hw_device_ctx both get set to nullptr in the context
[09:19:10 CEST] <ChrisJW> I *think* that is my problem, but not sure...
[09:19:54 CEST] <JEEB> looking at the main() of doc/examples/vaapi_transcode.c the first thing you make sure is that you can call av_hwdevice_ctx_create with your API
[09:20:13 CEST] <ChrisJW> yep, definitely do that!
[09:21:27 CEST] <JEEB> anyways, I would check that vaapi transcode example since it's relatively recent and possibly not insane. it's vaapi specific, but it might work by just switching the device context type
[09:22:32 CEST] <JEEB> haven't made API clients myself yet for hwaccel, but building/poking at at least one app that has support for hw decoding :)
[09:22:57 CEST] <ChrisJW> ok thanks for the help
[09:36:03 CEST] <ChrisJW> ok I think the vaapi example has made it fairly clear that my problem is that hw_frames_ctx is null after calling avcodec_open2
[09:36:14 CEST] <ChrisJW> which I think strongly suggest my context isn't setup correctly before I call avcodec_open2
[09:37:06 CEST] <ChrisJW> the example uses avcodec_parameters_to_context to setup the majority of the context which I can't really use because my data is coming over the network
[09:37:25 CEST] <JEEB> yea, when you are using demuxing from lavf you can utilize that
[09:38:41 CEST] <ChrisJW> I think my best chance might be to write a bunch of log statements inside ffmpeg.exe before it calls avcodec_open2 to see what its context looks like
[09:38:51 CEST] <ChrisJW> because I know it's working inside there
[09:40:00 CEST] <ChrisJW> https://github.com/FFmpeg/FFmpeg/blob/master/fftools/ffmpeg.c#L2939
[09:40:07 CEST] <ChrisJW> does that look like the right place to spam AV_LOG?
[10:49:57 CEST] <ChrisJW> yep, ffmpeg.exe doesn't null off the hwaccel pointers surprisingly
[10:50:07 CEST] <ChrisJW> just have to find out which context parameter is different and set it up accordingly
[11:02:10 CEST] <ChrisJW> ok so I wasn't expecting that... it opens the "h264" decoder and still uses hardware acceleration
[11:02:21 CEST] <ChrisJW> I am opening the h264_cuvid decoder, am I not supposed to grab it directly or something?
[11:08:09 CEST] <ChrisJW> o boy I'm decoding on the gpu
[11:08:34 CEST] <ChrisJW> thanks for the support gentlemen, hopefully I can help someone like me in the future!
[11:58:03 CEST] <termos> just found an issue similar to mine https://trac.ffmpeg.org/ticket/7924 but is this even supported by ffmpeg? it seems like the jetson nano GPU is only supported by gstreamer right now
[12:05:51 CEST] <ChrisJW> check the .pc files are in the right place, and PKG_CONFIG_PATH are correct, I had similar problems recently
[13:03:12 CEST] <pk08> hi
[13:03:12 CEST] <pk08> i am made dummy screen in ubuntu server using xserver (https://techoverflow.net/2019/02/23/how-to-run-x-server-using-xserver-xorg-…)
[13:03:12 CEST] <pk08> but when i play video from ffplay, i am getting this error:
[13:03:12 CEST] <pk08> "Failed to initialize a hardware accelerated renderer: Couldn't find matching render driver"
[13:03:12 CEST] <pk08> am I getting this because of dummy screen or is it because of something else?
[13:03:29 CEST] <pk08> i made dummy screen in ubuntu server using xserver (https://techoverflow.net/2019/02/23/how-to-run-x-server-using-xserver-xorg-…)
[13:05:35 CEST] <pk08> and when i try to set fullscreen (by pressing 'f' key) its not working
[13:07:19 CEST] <ChrisJW> ffplay uses SDL, which *probably* wants opengl, which may not be available in a dummy xserver, ffplay should fallback to the software renderer I think
[13:08:21 CEST] <pk08> ChrisJW: yes, its fallback to software renderer
[13:09:04 CEST] <pk08> so is there any way to force to use hardware renderer?
[13:09:54 CEST] <ChrisJW> I would say it is unlikely you can get hardware acceleration with your setup
[13:09:56 CEST] <pk08> actually its not hardware but some how we can make fool and use that...
[13:11:05 CEST] <JEEB> you might want to open up what you're actually trying to do :P
[13:11:13 CEST] <JEEB> what led you to the path of trying to do this
[13:12:18 CEST] <pk08> i want to play small videos on signal display
[13:12:31 CEST] <pk08> something like this: "DISPLAY=:0 ffplay -loglevel 40 -i udp://235.1.1.1:1234 -top 0 -left 0 -x 480 -y 270"
[13:12:38 CEST] <pk08> in dummy screen
[13:13:04 CEST] <pk08> and now if i want to make full screen of particular video
[13:13:12 CEST] <pk08> i am not able to make that
[13:13:43 CEST] <pk08> single display*
[13:15:09 CEST] <pk08> JEEB: did you get my problem and what am i trying to achieve?
[13:51:38 CEST] <kepstin> pk08: without hardware scaler, ffplay can't fullscreen. Try using mpv instead, it might have some fallback code. Alternately, you could use a scale filter to resize the video to you screen size.
[13:56:37 CEST] <pk08> kepstin: thanks, i will try using mpv and i want to make fullscreen run time so scale will not work...
[14:36:56 CEST] <_Vi> How do I build FFMpeg with a patchwork's patch merged? Is there option in patchwork to view the patch as a plaintext diff?
[14:38:56 CEST] <_Vi> Now I see: "download patch | download mbox".
[14:50:14 CEST] <JEEB> curl -L "MBOX_URL" | git am
[14:50:18 CEST] <JEEB> that should apply the mbox
[14:50:49 CEST] <JEEB> if that doesn't work, move to the patch, and utilize git apply instead of git am
[15:49:56 CEST] <ChrisJW> av_hwdevice_ctx_create has a parameter for specifying the "device", is there a function to iterate the possible devices available on the local system?
[15:50:25 CEST] <ChrisJW> For instance if a user has two graphics cards, I might want to use one, or distribute the load accross both
[15:53:46 CEST] <JEEB> I don't think there is
[15:53:58 CEST] <JEEB> the documentation only notes that > * @param device A type-specific string identifying the device to open.
[15:54:16 CEST] <ChrisJW> Doesn't seem obvious what the format of it is either
[15:54:41 CEST] <JEEB> that is also probably dependant on the actual hwaccel
[15:57:23 CEST] <JEEB> yea, it's just passed to the underlying implementation as a parameter for device_create
[15:57:55 CEST] <JEEB> git grep "device_create" -- libavutil/
[15:57:59 CEST] <JEEB> is the relevant internals
[15:58:39 CEST] <JEEB> for example with cuda it just strtols the value :P
[15:58:39 CEST] <ChrisJW> ok thanks
[15:58:50 CEST] <ChrisJW> exciting stuff...
[15:58:53 CEST] <JEEB> and uses that as the index
[15:59:53 CEST] <ChrisJW> not a comment in sight
[16:00:37 CEST] <ChrisJW> looks like I can call cuDeviceGetCount directly from CUDA API
[16:02:35 CEST] <JEEB> I think with windows graphics the best part is that the UUIDs they use for the stuff are not static :P
[16:02:49 CEST] <JEEB> so in the end I ended up having the user define the name of the GPU
[16:03:16 CEST] Action: JEEB implemented a PoC for GPU selection with d3d11 in mpv
[16:03:48 CEST] <ChrisJW> I feel your pain
[16:04:28 CEST] <ChrisJW> The Windows API is alright in some places, others it was designed by committees
[16:04:42 CEST] <JEEB> d3d11 in general seems quite alright
[16:05:15 CEST] <JEEB> and I guess GPUs became something that can come and go so giving them an ID at plug-in time makes sense
[16:05:26 CEST] <JEEB> and they do export the driver name so not all is lost
[16:05:47 CEST] <ChrisJW> I think network adapter UUIDs are fluid too
[16:06:23 CEST] <ChrisJW> I think Windows just don't guarantee anything, but people rely on it
[16:08:55 CEST] <ChrisJW> now I have to convert to NV12 to RGB, I already have a YUV converter running as a shader, so this hopefully won't be too painful
[16:21:16 CEST] <JEEB> ChrisJW: if you're interested, take a look at libplacebo
[16:21:29 CEST] <JEEB> I think that handles NV12 as well, as well as handles a lot of video rendering
[16:30:18 CEST] <ChrisJW> https://gist.github.com/crearo/0d50442145b63c6c288d1c1675909990
[16:30:21 CEST] <ChrisJW> looks like this might do me
[16:31:59 CEST] <ChrisJW> my next task after CUDA is to get QSV working
[16:32:09 CEST] <ChrisJW> I have a lack of diversity in my computers to even test it
[16:32:29 CEST] <ChrisJW> am I right in my understanding that QSV requires the local machine to be using the IGP?
[16:39:09 CEST] <kepstin> not using, but it has to be enabled (some computers let you enable it when using an external gpu via a bios setting)
[16:42:56 CEST] <ChrisJW> ok thanks
[17:28:55 CEST] <nine_milli> blb
[17:49:49 CEST] <another> nine_milli: could you please stop spamming "blb" every couple of hours? it's getting annoying
[17:54:32 CEST] <AppleTor> anyone know how to merge all vtt links inside m3u8 playlist into a single vtt file?
[17:55:05 CEST] <AppleTor> usually for video it's very easy, just use the copy command
[18:18:11 CEST] <steve___> another: amen
[18:27:46 CEST] <AppleTor> https://stackoverflow.com/questions/54337264/how-to-merge-segmented-webvtt-… similar issue like me, ping me if anyone know how to solve it :)
[19:04:01 CEST] <nine_milli> blb
[19:41:11 CEST] <SpeakerToMeat> Hello room.
[19:41:59 CEST] <SpeakerToMeat> Help me think a second.... if I'm gonna move from 1.85 to 1.77 (flat to 16:9) and 2k -> 720, what shoudl be the best quality? crop first and resize later, or resize frist crop later?
[19:42:06 CEST] <SpeakerToMeat> My instinct says crop frist
[19:42:33 CEST] <SpeakerToMeat> So the extra pixels don't "push" the ones in between unnecessarily... but....
[19:43:14 CEST] <DHE> there is another option. most codecs or containers support specifying an aspect ratio and have client stretch the image to the desired screen aspect ratio regardless of the decoded pixel resolution. is that not acceptable?
[19:43:53 CEST] <DHE> oh, you're also downsampling...
[19:44:08 CEST] <DHE> still, you can do both
[19:47:24 CEST] <SpeakerToMeat> hmmm
[21:39:16 CEST] <nine_milli> blb
[21:45:12 CEST] <steve___> Can someone with ops kick that goofball?
[21:46:37 CEST] <SpeakerToMeat> is 4.1 considered stable?
[21:48:53 CEST] <furq> there isn't really any conception of stable releases
[21:49:02 CEST] <furq> releases are mostly cut to satisfy distro package maintainers
[22:04:53 CEST] <gumnos> According to https://ffmpeg.org/ffmpeg-formats.html#mp3 using -write_id3v1 "is not recommended". Are there details on the degree of "not recommended"?
[22:05:52 CEST] <gumnos> Is this a "might totally hose your file silently" or just a "you're not gonna get all the breadth of tags that ID3v2 offers" or a "if it breaks you get to keep the pieces" sorta un-recommendatation?
[22:06:42 CEST] <c_14> 2nd probably
[22:07:18 CEST] <furq> it says "as its capabilities are very limited, its usage is not recommended"
[22:07:21 CEST] <c_14> It's just old
[22:07:24 CEST] <furq> so yeah, the second one
[22:07:32 CEST] <Mavrik> Also some players will read the wrong one
[22:07:44 CEST] <Mavrik> And then you'll get broken names displaye
[22:07:46 CEST] <Mavrik> *displayed
[22:08:00 CEST] <furq> id3v2 is 21 years old
[22:08:07 CEST] <furq> i think it's safe to assume you don't need legacy support
[22:09:06 CEST] <gumnos> Mavrik: that was part of what had me chasing this: files created with ffmpeg lacked an ID3v1 (all 0xAA chars) so somehow the id3v2(1) CLI utility was reporting no ID3 info even though the file has ID3v2 data at the front.
[22:10:00 CEST] <gumnos> (by "id3v2(1)" I mean http://id3v2.sourceforge.net/ because it could have been a bit confusing there)
[22:11:27 CEST] <gumnos> It's likely more an issue with id3v2(1) than with ffmpeg but I wanted to check if using -write_id3v1 would at least write something useful that id3v2(1) might find
[22:11:46 CEST] <gumnos> Sounds like it's crusty-but-functional. Thanks!
[22:15:51 CEST] <SpeakerToMeat> there's no semi/offitial ffmpeg flatpak/appimage/etc that would save me from havign to upgrade my distro or capture everythign by hand and compile form scratch, no?
[22:16:06 CEST] <furq> https://www.johnvansickle.com/ffmpeg/
[22:16:08 CEST] <furq> there's this
[22:16:13 CEST] <SpeakerToMeat> I'll check, thanks
[22:16:20 CEST] <cehoyos> You could download a binary that a third party kindly offers, see the link
[22:16:25 CEST] <SpeakerToMeat> Though it may be a good idea to move from oldstable anyhow
[22:17:33 CEST] <furq> yes it is
[22:18:10 CEST] <SpeakerToMeat> Those static build look nice, thanks to John for them
[22:18:52 CEST] <relaxed> SpeakerToMeat: you're welcome :)
[22:18:56 CEST] <SpeakerToMeat> I'd thank him in channel but the bugging might outweight the gratitude felt
[22:19:01 CEST] <SpeakerToMeat> Ah good.
[22:19:07 CEST] <SpeakerToMeat> relaxed: Thank you
[22:21:35 CEST] <SpeakerToMeat> One of these days I WILL set up my build though, as I want to test dragging in the blackmagic library, and other things best left unsaid
[22:21:53 CEST] <SpeakerToMeat> But, that would be easier based off a "newer" distro source package than git :/
[22:23:04 CEST] <furq> it'd be exactly the same unless dependencies you want to use have broken their apis in the last two years
[23:22:24 CEST] <Henry151> hi folks
[23:22:46 CEST] <Henry151> i'm using this https://termbin.com/vcek little bash script i built to convert a huge collection of .shn files to .flac
[23:23:04 CEST] <Henry151> it keeps getting stuck like this: http://i.imgur.com/q0dVf94.png
[23:23:42 CEST] <Henry151> I was told if i included the -xerror that it would skip over the affected files and give an exit code higher than 0
[23:23:53 CEST] <Henry151> however, after including -xerror, it is still happening
[23:24:12 CEST] <Henry151> i think perhaps bash is trying again each time?
[23:24:27 CEST] <Henry151> or maybe, that the error is due to dashes in the filename.
[23:24:30 CEST] <Henry151> any ideas?
[23:33:52 CEST] <cehoyos> First idea: Do not paste screenshots, instead paste the console output to make everybody's lifes (including your own?) easier
[23:34:30 CEST] <cehoyos> Second idea: Please provide tab2001-07-18d3t08.shn
[23:34:48 CEST] <Henry151> cehoyos: thanks, one sec and i will do so
[23:41:29 CEST] <Henry151> https://bpaste.net/show/WuOI there's the console output, and i'm moving uploading the .shn file to share that
[23:42:08 CEST] <Henry151> however, it has happened with several .shn files, i've been just skipping over them manually but just want to allow my script to automatically skip over them and leave me an error log or similar so i can go back to them later and try to resolve the problem.
[23:42:24 CEST] <Henry151> https://romp.network/nextcloud/index.php/s/SBEbNP5L36ZmmNo
[23:42:28 CEST] <Henry151> there's the .shn file.
[23:44:36 CEST] <Henry151> i think the problem is a corrupt .shn file.
[23:45:02 CEST] <Henry151> However, I want to simply skip over the corrupt files, log which ones they are, and then later, I will go get fresh copies of them from an earlier backup and try again.
[23:56:18 CEST] <cehoyos> The shorten file is corrupt afaict.
[23:56:44 CEST] <cehoyos> I believe you have to fix your script to not abort if ffmpeg returns an error.
[00:00:00 CEST] --- Fri Jul 19 2019
1
0