Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
October 2019
- 1 participants
- 62 discussions
[00:45:05 CEST] <haasn> for stuff like AV_PIX_FMT_P010LE, what are the remaining 6 bits in a pixel? undefined? guaranteed to be 0?
[00:45:45 CEST] <haasn> ah, seems you store it in the 'high' bits (shift = 6)
[00:46:16 CEST] <haasn> so I guess it doesn't matter if it's defined or not since it gets shifted away
[00:51:55 CEST] <Lynne> in general if its a 0 it should be 0, and if its X it can be anything
[02:35:12 CEST] <cone-391> ffmpeg 03James Almer 07master:31aafdac2404: avformat/options: don't call avformat_free_context() within avformat_alloc_context()
[11:40:52 CEST] <cone-844> ffmpeg 03Paul B Mahol 07master:824b026d913e: avfilter/vf_shuffleframes: improve error message
[12:10:53 CEST] <cone-844> ffmpeg 03Paul B Mahol 07master:357f11eca269: avfilter/vf_atadenoise: add support for commands
[18:07:58 CEST] <cone-514> ffmpeg 03Paul B Mahol 07master:673fce6d40d9: avfilter/vf_tile: fix memory leak
[20:00:08 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:c1c799271eef: avcodec/wmalosslessdec: Check block_align
[20:00:09 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:fe63ace98eca: tools/target_dec_fuzzer: Adjust threshold for DXV
[20:00:10 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:6fdeb208172d: avcodec/vc1_block: Fixes integer overflow in vc1_decode_i_block_adv()
[20:00:11 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:7916b6863cae: avcodec/ffwavesynth: Fix integer overflows in pink noise addition
[20:00:12 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:8c6931047798: avcodec/aliaspixdec: Check input size against minimal picture size
[20:00:13 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:a76897e19ca9: avcodec/smacker: Fix integer overflows in pred[] in smka_decode_frame()
[20:00:14 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:44b73a0568f8: avcodec/alac: Fix integer overflow in LPC
[20:00:15 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:a6ad328256fe: avcodec/ptx: Check that the input contains at least one line
[20:00:16 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:315a4459334f: avcodec/agm: Check for reference frame earlier
[20:00:17 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:1efaac69328b: avformat/pjsdec: Check duration for overflow
[20:00:18 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:09581f7923ed: avcodec/alsdec: Check that input space for header exists in read_diff_float_data()
[21:55:43 CEST] <durandal_1707> ubitux: see nlmeans patch that fixed overall subtle darkening of denoised output
[00:00:00 CEST] --- Mon Oct 21 2019
1
0
[01:33:49 CEST] <DHE> fred1807: yes, so long as your system can handle the transcode work. which it probably can
[08:52:32 CEST] <MoziM> stupid question... but can someone explain to me what the point of upscaling? doesn't it just make the file size bigger? is it just to make a video applicable to a larger screen/monitor?
[08:53:38 CEST] <furq> if you mean why are there upscaled commercial releases then yes
[08:53:53 CEST] <furq> and also to make money from people buying the same master twice
[08:54:10 CEST] <MoziM> master?
[08:59:00 CEST] <MoziM> furq: the original video series?
[08:59:17 CEST] <furq> the original copy of the film
[08:59:49 CEST] <furq> unless it was shot on film and they remastered it then the 4k bluray will literally just be the 2k bluray source run through an upscaler
[09:00:08 CEST] <furq> rescanned and/or remastered
[09:00:26 CEST] <MoziM> but it will be the same information?
[09:00:31 CEST] <MoziM> but larger size?
[09:00:37 CEST] <MoziM> ....
[09:00:42 CEST] <furq> yeah
[09:00:48 CEST] <furq> normally if it's an upscale then the film was shot in 2k
[09:01:05 CEST] <furq> the justification is they have fancier upscalers than your tv has
[09:01:10 CEST] <furq> which is often not true
[09:14:25 CEST] <MoziM> furq: so if i have a video that's 640x480 and upscale it to 1280x960 in what situation would this look better than the former in a tv?
[09:14:49 CEST] <furq> it depends on how good the upscaler in the tv is
[09:15:17 CEST] <furq> you'd probably want to go to 1440x1080 so it's native res
[09:15:39 CEST] <phobosoph> hi
[09:15:48 CEST] <phobosoph> so I use ffmpeg to stream to YouTube Live
[09:16:04 CEST] <phobosoph> it works nicely - but suddenly, after some hours, the stream is terminated
[09:16:20 CEST] <phobosoph> ffmpeg still runs and tells (logs) me that it still is streaming
[09:16:30 CEST] <phobosoph> but YouTube tells me "No data" and eventually the stream is ended
[09:16:32 CEST] <MoziM> furq: tv or monitor?
[09:16:44 CEST] <furq> well your monitor doesn't have an upscaler
[09:16:52 CEST] <phobosoph> so ffmpeg should end itself if the connection doesn#t work
[09:16:58 CEST] <phobosoph> but it doesn't, it think it still works
[09:17:02 CEST] <furq> if you're playing it in mpv or something then it'll make zero difference if you upscale it
[09:17:10 CEST] <furq> since you can just use the same upscaler in that
[09:17:27 CEST] <furq> the original will probably look better since you didn't reencode it
[09:21:10 CEST] <MoziM> oh... wow i honestly never thought of it like that
[09:21:31 CEST] <MoziM> a tv needs an upscaler because video "resolution" has an objective size
[09:22:37 CEST] <MoziM> err... i guess a tv as in something that's 3ft in width right?
[09:23:06 CEST] <MoziM> furq: so an upscaler reencodes the video as it's playing it?
[09:23:15 CEST] <furq> no
[09:23:20 CEST] <furq> it upscales the decoded video
[09:23:40 CEST] <MoziM> is upscaling a form of encoding?
[09:23:46 CEST] <furq> no
[09:23:49 CEST] <MoziM> err it would be decoding
[09:23:51 CEST] <MoziM> right?
[09:23:54 CEST] <furq> neither
[09:24:03 CEST] <furq> it's already decoded when it's scaled
[09:24:09 CEST] <MoziM> what is scaling then?
[09:24:13 CEST] <MoziM> just it's own thing?
[09:24:14 CEST] <furq> filternig
[09:24:16 CEST] <furq> ing
[09:24:19 CEST] <MoziM> wat
[09:31:18 CEST] <MoziM> furq: is filtering anything that doesn't modify the original information?
[09:31:24 CEST] <MoziM> furq: i.e. modifying it for viewing?
[18:59:51 CEST] <Polochon_street> Hi! I have an audio cable plugged to a (playing) physical player and my laptop's mic audio IN, and I'm wondering why this command that I use to display the associated spectrogram has a 1-2s lag from the real input? `ffmpeg -f pulse -i alsa_input.pci-0000_00_1f.3.analog-stereo -c:v rawvideo -filter_complex "showcqt" -f nut - | ffplay -fflags nobuffer -`
[19:00:00 CEST] <Polochon_street> am I doing something obviously wrong here?
[19:00:24 CEST] <BtbN> just overall buffering
[19:00:54 CEST] <BtbN> Just use ffplay directly, that cuts out two whole buffered steps
[19:02:12 CEST] <Polochon_street> I've tried to, but I couldn't figure out the equivalent ffplay command :/
[19:02:25 CEST] <BtbN> It's pretty much identical
[19:02:29 CEST] <Polochon_street> it took me quite some time for this one to work tbh :D
[19:06:47 CEST] <Polochon_street> like, since `filter_complex` doesn't exist in ffplay I have to use `-f lavfi` but then I don't really know how to specify my mic as input
[19:06:54 CEST] <Polochon_street> (cf https://video.stackexchange.com/questions/9644/how-do-i-turn-audio-into-vid…)
[19:13:03 CEST] <BtbN> Why would you use -f lavfi?
[19:13:19 CEST] <BtbN> Just use normal -vf, there is no point to -filter-complex for a single filter with no arguments anyway.
[19:17:39 CEST] <Polochon_street> indeed, it works. My bad
[19:18:28 CEST] <Polochon_street> there's still 2 seconds lag though :/. I can't cut it down to less, right?
[19:22:11 CEST] <Polochon_street> hm, it actually doesn't work, it just shows the default visualization :D
[19:23:39 CEST] <Polochon_street> I've tried something like ` ffplay -f pulse -i alsa_input.pci-0000_00_1f.3.analog-stereo -vf showcq`
[19:25:46 CEST] <Lynne> ffmpeg -f pulse -fragment_size 512 -sample_rate 48000 -channels 2 -wallclock 0 -i default
[19:26:00 CEST] <Lynne> I get less than 20 ms with that
[19:27:06 CEST] <Lynne> high cpu usage though, so if you don't care about a few more ms of latency set the fragment_size to 2048 or so
[19:27:16 CEST] <Polochon_street> indeed
[19:27:33 CEST] <Polochon_street> that works great, thanks :)
[19:27:40 CEST] <Polochon_street> could I achieve the same result using ffplay?
[19:28:24 CEST] <Lynne> no
[19:28:33 CEST] <Lynne> use -c:v rawvideo -f sdl2 /dev/null if you want video output
[19:29:30 CEST] <Polochon_street> thanks a lot!
[19:35:54 CEST] <HickHoward> okay, so uhhhh
[19:40:42 CEST] <HickHoward> does ffmpeg cover mp1 encoding?
[19:41:36 CEST] <JEEB> what do you mean with mp1?
[19:41:54 CEST] <JEEB> video, audio, or container from MPEG-1?
[19:42:17 CEST] <HickHoward> MPEG-1 Audio Layer I
[19:42:26 CEST] <HickHoward> yeah i sould've said that instead
[19:42:49 CEST] <JEEB> seems like we don't
[19:42:58 CEST] <HickHoward> right
[19:43:03 CEST] <JEEB> D.A.L. mp1 MP1 (MPEG audio layer 1) (decoders: mp1 mp1float )
[19:43:06 CEST] <HickHoward> another question
[19:43:23 CEST] <JEEB> we do have one for mpeg-1 layer 2, though. and mpeg-1 layer 3 can be generated through LAME
[19:54:56 CEST] <HickHoward> cool
[19:56:44 CEST] <HickHoward> actually what i meant to ask is if ffmpeg handles MPEG Multichannel, which is an extension of MPEG-1 Audio Layer I/II(or just Layer II according to wikipedia)
[19:57:00 CEST] <HickHoward> either as an decoder or encoder
[20:12:14 CEST] <jemius> Does by chance one of you have a command line example of denoising videos with ffmpeg?
[20:12:40 CEST] <JEEB> HickHoward: simplest is to just test if you have sample
[20:12:45 CEST] <JEEB> *have a sample
[20:12:46 CEST] <HickHoward> right
[20:13:37 CEST] <HickHoward> i do have a bunch of files encoded using MPEG Multichannel and i got them from a site that covers multi-channel audio codecs
[20:13:44 CEST] <HickHoward> just hold on
[20:16:26 CEST] <HickHoward> yeah it's this site
[20:16:27 CEST] <HickHoward> http://www.mpegmultichannel.free.fr/
[20:25:52 CEST] <phobosoph> hi
[20:26:00 CEST] <HickHoward> hi
[20:26:25 CEST] <phobosoph> This channel is awesome and helped me a lot !
[20:26:48 CEST] <phobosoph> So I got a sucessful youtube live stream running - but after some hours, e.g. 12 hours Youtube just says the stream is terminated.
[20:27:08 CEST] <phobosoph> when I look closer it seems YouTube got no Data - and when there is no data for a too long time it will end the stream
[20:27:23 CEST] <phobosoph> when I check ffmpeg, it still happily sends the stream data to YouTube
[20:27:53 CEST] <phobosoph> so ffmpeg somehow doesn't notice the stream to youtube failed
[22:07:02 CEST] <jemius> Is de-noising audio (mathematically) harder than de-noising video? I'm asking because I noticed that my installation only contains video de-noisers
[22:08:54 CEST] <durandal_1707> jemius: your installation is what ffmpeg version?
[22:09:58 CEST] <jemius> 3.2.14.1
[22:12:26 CEST] <durandal_1707> jemius: pra historic and unsupported
[22:13:44 CEST] <jemius> I am not asking for support. I'm curious about the tech. The only way of de-noising audio I know of is compressing the amplitudes so you don't hear the noise anymore
[22:14:20 CEST] <durandal_1707> afftdn, anlmdn, arnndn, anlms are audio denoising filter in FFmpeg
[22:15:15 CEST] <durandal_1707> none of them are in 3.2.X
[22:17:36 CEST] <durandal_1707> those are native filters, there are also ladspa and lv2 ffmpeg filters that can be used with plugins
[00:00:00 CEST] --- Mon Oct 21 2019
1
0
[01:54:42 CEST] <cone-161> ffmpeg 03James Almer 07master:1d479300cbe0: avformat/nutenc: don't allocate a dynamic AVIOContext if no index is going to be written
[04:15:44 CEST] <cone-161> ffmpeg 03James Almer 07master:0700e7247b83: avformat/mpegenc: check for stream private data during deinit
[07:11:31 CEST] <cone-161> ffmpeg 03Steven Liu 07master:25f5d67a316b: avformat/cinedec: check av_strdup() return value
[07:11:32 CEST] <cone-161> ffmpeg 03Steven Liu 07master:17d96c15d25e: avformat/hlsenc: check av_strdup() return value
[07:11:33 CEST] <cone-161> ffmpeg 03Steven Liu 07master:1f7b527194a2: avformat/libsrt: check av_strdup() return value and fix memleak
[07:11:34 CEST] <cone-161> ffmpeg 03Steven Liu 07master:f5263172de31: avformat/mpeg: check av_strdup() return value
[07:11:35 CEST] <cone-161> ffmpeg 03Steven Liu 07master:53928e0b49b9: avformat/mtv: check av_strdup() return value
[07:11:36 CEST] <cone-161> ffmpeg 03Steven Liu 07master:b1071b405d57: avformat/mvdec: check av_strdup() return value
[07:11:37 CEST] <cone-161> ffmpeg 03Steven Liu 07master:9f023017abed: avformat/sapdec: check av_strdup() return value and fix memleak
[09:32:51 CEST] <cone-161> ffmpeg 03Gyan Doshi 07master:ed78ca41232e: doc/utils: add hexadecagonal channel layout
[09:52:07 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:d4d6b7b0355f: avfilter/vf_datascope: fix heap buffer overflow
[09:57:55 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:723d69f99cd2: avfilter/vf_lagfun: fix heap-buffer overflow
[10:20:20 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:c8f3915f8d39: avfilter/vf_decimate: fix memory leaks
[11:56:06 CEST] <beastd> hi
[11:56:59 CEST] <durandal_1707> hi
[11:57:25 CEST] <beastd> i don't think closing tickets and setting resolution to fixed is a good practice
[11:58:03 CEST] <durandal_1707> you mean fixing tickets is not good practice?
[11:58:28 CEST] <beastd> no i meant closing the ticket withoug leaving a comment
[11:59:10 CEST] <beastd> actually i would argue closing tickets (with any resolution) without a comment is poor practice
[11:59:17 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:ce5274c1385d: avfilter/vf_fieldmatch: fix heap-buffer overflow
[11:59:51 CEST] <durandal_1707> i do not have time to write comment, and time is precious
[12:00:46 CEST] <beastd> of course it is
[12:01:32 CEST] <beastd> but if you fixed or know someone fixed it, you could just write "fixed by <commit id>"
[12:06:27 CEST] <beastd> durandal_1707: thx for writing the small comment with the commit id this time
[12:09:49 CEST] <BtbN> I'm still not sure if these bug-reports are from a bot or not...
[12:11:13 CEST] <beastd> BtbN: my comment wasn't specifically about those, but in general
[13:11:57 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:7056ddc0e0f1: avfilter/vf_fieldhint: add support for duplicating fields
[17:44:06 CEST] <Lynne> durandal_1707: write a filter to do replaygain analysis if you're bored
[17:54:07 CEST] <durandal_1707> Lynne: http://ffmpeg.org/ffmpeg-filters.html#replaygain
[17:58:21 CEST] <Lynne> was sure I checked for it some time ago and it wasn't there
[18:04:00 CEST] <Lynne> but its useless, gives you rounded values you need to parse yourself
[18:07:13 CEST] <durandal_1707> Lynne: what you need exactly? this is wvgain port
[18:08:39 CEST] <Lynne> I need something to calculate a track's replaygain and give me the peak/gain value
[18:09:34 CEST] <Lynne> preferably without needing to hook up a special logging callback
[18:11:08 CEST] <durandal_1707> watches pelcome
[18:22:28 CEST] <cone-161> ffmpeg 03Michael Niedermayer 07master:5f0acc5064ed: avcodec/g729postfilter: Fix left shift of negative value
[18:22:29 CEST] <cone-161> ffmpeg 03Michael Niedermayer 07master:2c78a76cb044: avcodec/g729dec: Avoid computing invalid temporary pointers for ff_acelp_weighted_vector_sum()
[18:22:30 CEST] <cone-161> ffmpeg 03Andreas Rheinhardt 07master:6090ac1d043c: avcodec/zmbv: Call decode_intra directly
[18:22:31 CEST] <cone-161> ffmpeg 03Andreas Rheinhardt 07master:fee1bffbc26e: mpeg4_unpack_bframes: Merge close and flush
[18:57:08 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:7080bbfef401: avfilter/vf_bm3d: forward status back
[18:57:09 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:a60232ab2d37: avfilter/vf_bm3d: round values toward nearest integer
[19:09:35 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:26876fdb5e73: avfilter/vf_fftdnoiz: round toward nearest integer
[19:37:57 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:58bb9d3a3a6e: avfilter/af_tremolo: fix heap-buffer overflow
[19:44:56 CEST] <cone-161> ffmpeg 03James Almer 07master:90e37adab7fc: avformat/nutenc: free all missing dynamic AVIOContext on header writing failure
[21:16:03 CEST] <haasn> Does anybody know of a good centralized resource collecting information about a metric fuckton of common video formats like yuv420p, nv12 etc. and how they are laid out in memory?
[21:16:22 CEST] <haasn> (perhaps using fourcc codes instead)
[21:16:59 CEST] <nevcairiel> really there isnt a "metric fuckton" of common formats though
[21:18:00 CEST] <nevcairiel> unless you count these special packed formats that are really meant for file storage
[21:18:08 CEST] <JEEB> yea
[21:18:21 CEST] <haasn> yeah fair enough
[21:18:28 CEST] <JEEB> for GPU stuff you usually have RGB, NV12|P010|P016|NV24|NV42
[21:18:39 CEST] <haasn> really I'm just trying to avoid reinventing the wheel here
[21:18:59 CEST] <haasn> I was about to start listing a bunch of metadata definitions for all those formats and whatever else I could think of
[21:19:06 CEST] <nevcairiel> yeah for GPUs there is th NV family with interelaved chroma, there is the YV family with planar chroma
[21:19:23 CEST] <haasn> and I wonder if there's some pre-existing library or document I could pull this from
[21:20:05 CEST] <nevcairiel> for hardware-near formats I usually go to t he Microsoft document for these, since thats what hardware tends to use and its illustrated nicely
[21:20:29 CEST] <nevcairiel> ie. https://docs.microsoft.com/en-us/windows/win32/medfound/recommended-8-bit-y… and https://docs.microsoft.com/en-us/windows/win32/medfound/10-bit-and-16-bit-y…
[21:20:32 CEST] <Lynne> there's drm_fourcc.h which lists a ton of stuff
[21:21:06 CEST] <JEEB> nevcairiel: yea those are nice
[21:21:09 CEST] <Lynne> they use big endian notation though because they hate you, so you have to flip every component
[21:21:24 CEST] <haasn> oh that's nice
[21:24:08 CEST] <haasn> ah that literally just defines the names though
[21:27:03 CEST] <nevcairiel> of course ffmpeg has pixdesc.c/h which defines all the formats it knows and supposedly genericly enough that you dont need to know how its formed as long as you follow the data structure
[21:28:26 CEST] <haasn> ah that's pretty much what I want, I think
[21:28:56 CEST] <nevcairiel> i havent actually tried writing generic code with that structure, but the theory is there
[21:29:38 CEST] <haasn> The use case I'm trying to address is that I have a library which ingests a similarly "generic" format description (rather than any actual explicit format names)
[21:30:27 CEST] <haasn> So I'm trying to provide a way for users who don't know the technical details of every format under the sun (and don't feel like brute force enumerating them even if they do) to simply map from something common like an av pixfmt name or fourcc code to fill in the details of that generic format descriptor
[21:30:43 CEST] <haasn> pixdesc.h seems like a perfect fit, thanks
[21:32:02 CEST] <JEEB> :)
[00:00:00 CEST] --- Sun Oct 20 2019
1
0
[01:11:55 CEST] <lindylex> I am having some issues with using palettegen. This is my attempt https://pastebin.com/eE4MtyaM
[03:37:37 CEST] <kepstin> lindylex: you're trying to connect the v1 label on the split filter to both the paletteuse and the palettegen filters, that won't work
[03:37:50 CEST] <kepstin> need to split it again, i guess.
[03:38:07 CEST] <lindylex> This is what I have let me show you.
[03:39:09 CEST] <lindylex> https://pastebin.com/iEX6vUQ2
[03:39:44 CEST] <lindylex> I simplified it but I need to find a way to use palettegen and paletteuse on the output.
[03:39:48 CEST] <kepstin> so that works, because it's connecting one of the outputs of the split filter to one of the inputs of the concat filter
[03:39:59 CEST] <kepstin> the problem is that you can't connect one filter output to two filter inputs
[03:40:00 CEST] <lindylex> Yes I know,
[03:40:51 CEST] <lindylex> Right how do I solve this? Is it outside of the -filter_complex?
[03:41:31 CEST] <kepstin> no, just change the split to "split=3[v1][v2][reverseMe]" and send v1 to the palettegen, and v2 to the paletteuse
[03:41:59 CEST] <lindylex> Oh ok let mr try this.
[03:42:33 CEST] <kepstin> (keep in mind that this whole chain should not be used on clips more than a few seconds long, because it'll buffer the entire raw video in ram multiple times)
[03:43:12 CEST] <lindylex> What about the reverseMe. That need to have the paletteuse done to it also. Yes I read how not practice it is to do on a large video file.
[03:45:05 CEST] <kepstin> hmm. actually, you should put all of the palette stuff after the concat filter, for best results
[03:45:39 CEST] <lindylex> That is what I was thinking.
[03:45:44 CEST] <kepstin> so after the concat filter, add a split filter with two outputs (new labels), and send one to the palettegen, one to the paletteuse.
[03:46:52 CEST] <lindylex> One sec let me try to implement your suggestion.
[03:48:58 CEST] <kepstin> sticking ",split[n1][n2];[n1]palettegen[p];[n2][p]paletteuse" right before the [v] is how i'd do it.
[03:49:59 CEST] <lindylex> ?
[03:50:22 CEST] <lindylex> Let me try one sec.
[03:55:32 CEST] <lindylex> kepstin : thanks this worked https://pastebin.com/vaDCcc3P
[04:18:20 CEST] <Mistah_Miaou> Hey guys!
[04:18:20 CEST] <Mistah_Miaou> So I already figured out the command to create a Youtube video from 1x .WAV and 6x. JPEGs:
[04:18:26 CEST] <Mistah_Miaou> $ ffmpeg -r 1/6 -f image2 -start_number 1 -i img%03d.jpg -i mywav -vf scale=1280:1024 out.mp4
[04:18:46 CEST] <Mistah_Miaou> But because the lenght of the audio is longer than the lenght of the 6 picture displayed the last/6th picture remains on the screen longer than the other and it remains until the end of the .mp4.
[04:19:03 CEST] <Mistah_Miaou> Hence, does anybody knows how to:
[04:19:03 CEST] <Mistah_Miaou> Make sure that each picture is only displayed once but all on equal time during a video creation using my previous command line?
[04:19:03 CEST] <Mistah_Miaou> Loop infinitely? I have seen "-loop 1" switches being added but it seems that "-loop 9" will not loop 9 times.
[04:19:21 CEST] <Mistah_Miaou> At the end of the day you've probably guessed that I am trying to have, for example, a 3 minutes video that would have 6 pictures, each displayed 10 seconds (for total 1 minute) and repeat that thrice to fit the video lenght.
[04:19:25 CEST] <Mistah_Miaou> (Thanks in advance)
[13:38:52 CEST] <jack_thompson> the current git... which version of libopencv does it support?
[13:39:28 CEST] <durandal_1707> very old one
[13:39:36 CEST] <durandal_1707> why you need libopencv?
[13:40:58 CEST] <jack_thompson> i need opencv for shape detection... but its api is a moving target... so i hoped to have ffmpeg take care of that...
[13:41:15 CEST] <durandal_1707> 2
[13:41:24 CEST] <JEEB> they dropped the C API that was utilized and now there's only the C++ one
[13:41:30 CEST] <durandal_1707> no they removed in new versions C support completely
[13:41:31 CEST] <JEEB> and nobody has cared enough to implement the new one :P
[13:41:49 CEST] <JEEB> so if you happen to care, watches are pelcome
[13:42:08 CEST] <jack_thompson> i see... does ffmpeg support opencv2.x or something?
[13:42:20 CEST] <JEEB> https://github.com/opencv/opencv/issues/8438#issuecomment-288638915
[13:42:25 CEST] <JEEB> that's the relevant issue
[13:43:12 CEST] <JEEB> jack_thompson: no idea what version the original support was developed against honestly :)
[13:43:24 CEST] <jack_thompson> hmm hmm
[13:45:03 CEST] <jack_thompson> well i'll start with a pre-3.1 opencv then.. if they had at least samples that were scriptable that would be great... when you change one of their examples to /be/ scriptable it is almost garanteed to break with the next major update of that lib
[13:46:23 CEST] <jack_thompson> just a sample that will output bounding boxes to stdout as WxH+X+Y or something... that would be /absolutely amazing/...
[13:46:33 CEST] <jack_thompson> thanks guys...
[15:00:22 CEST] <^Neo> Hey all, I'm trying to use the fps filter inside some C code and I'm trying to figure out how to flush it... other filters like yadif you pass in a nullptr and you get all the buffered frames out but that doesn't seem to work for the fps filter...
[16:11:16 CEST] <grill05> I am trying to compile ffmpeg with --enable-libaom
[16:11:38 CEST] <grill05> libaom is installed in /usr/local/lib and is version 1.0.0 (compiled from latest git)
[16:11:53 CEST] <grill05> But I get the error in configure (ffmpeg) "ERROR: aom >= 1.0.0 not found using pkg-config"
[16:12:30 CEST] <JEEB> pkg-config doesn't have your_prefix/lib/pkgconfig in its search path
[16:12:44 CEST] <grill05> it is in /usr/local/lib/pkg_config
[16:12:48 CEST] <JEEB> you can append to it with PKG_CONFIG_PATH=/your/prefix/lib/pkgconfig when running the configure
[16:13:11 CEST] <grill05> The file is /usr/local/lib/pkgconfig/aom.pc . I thought /usr/local was included by default ?
[16:13:17 CEST] <JEEB> depends on your distro
[16:13:21 CEST] <JEEB> I have no idea :P
[16:13:25 CEST] <JEEB> but you can always append
[16:13:36 CEST] <JEEB> as noted with setting PKG_CONFIG_PATH (it doesn't replace, only appends)
[16:13:46 CEST] <JEEB> then check ffbuild/config.log for details of the failure if it still fails
[16:16:45 CEST] <grill05> ok..found the error in config.log
[16:18:17 CEST] <grill05> The error comes from this
[16:18:27 CEST] <grill05> https://controlc.com/d70543b7
[16:18:37 CEST] <JEEB> fun
[16:18:47 CEST] <grill05> undefined reference in the library..wierd
[16:19:00 CEST] <JEEB> so libaom changed its things or you wound up building without some features?
[16:19:16 CEST] <grill05> defaults..just -DENABLE_SHARED
[16:19:23 CEST] <grill05> aomenc runs fine
[16:21:28 CEST] <grill05> thanks for your help though
[16:21:40 CEST] <grill05> guess I'll just have to pipe to aomenc
[16:22:06 CEST] <JEEB> they did recently moved init_config around it seems
[16:22:11 CEST] <JEEB> *move
[16:22:36 CEST] <grill05> anything I can do to fix this build error at my end ?
[16:22:38 CEST] <JEEB> or well, they added a symbol like that in the latest master
[16:22:52 CEST] <grill05> using aomenc is unnecessarily complicated
[16:23:06 CEST] <grill05> via pipes
[16:23:14 CEST] <JEEB> grill05: I think the simplest way is to revert to the previous-to-current-master revision (the one before "add config file options support")
[16:23:19 CEST] <JEEB> and see if that works
[16:23:41 CEST] <grill05> figures...and add 1 feature, break another :)
[16:24:40 CEST] <grill05> so I've always used git master. How exactly do I tell git to use "previous to current" revision? the problematic commit is https://aomedia.googlesource.com/aom/+/a70e67a5fd6a9ea978cba7ee34e5b2257579…
[16:24:50 CEST] <JEEB> yes that's the current master
[16:25:08 CEST] <JEEB> so to checkout the previous one you can just go `git checkout HEAD~1`
[16:25:16 CEST] <JEEB> which checks out the previous one from HEAD
[16:25:21 CEST] <JEEB> HEAD being "where you stand currently"
[16:25:22 CEST] <grill05> is that a ~ or a -
[16:25:28 CEST] <JEEB> it's a curly
[16:25:31 CEST] <JEEB> ~
[16:25:32 CEST] <grill05> ok
[16:25:51 CEST] <JEEB> otherwise just specifically saying `git checkout HASH` checks out that has too
[16:25:52 CEST] <grill05> strange..the devs at aom are usually careful
[16:26:18 CEST] <grill05> to break a build like this isn't their usual style
[16:26:26 CEST] <grill05> let me try your solution
[16:28:12 CEST] <grill05> actually, would I need to recompile ffmpeg if I check out HEAD~1 ?
[16:28:27 CEST] <JEEB> you haven't yet compiled FFmpeg anyways?
[16:28:35 CEST] <grill05> since the library version does'nt change, and the actual .so file is the same
[16:28:35 CEST] <JEEB> you're just attempting to build it with libaom
[16:39:33 CEST] <grill05> someone should report this to the aom bug tracker
[16:40:35 CEST] <JEEB> they either added a new library that exports that symbol (since it was added to common/args.c), and that is not being linked against (thus, linking failing)
[16:40:42 CEST] <JEEB> or they forgot to export the symbol altogether
[16:40:43 CEST] <JEEB> :P
[16:40:57 CEST] <grill05> I think 2nd one is more likely
[16:41:48 CEST] <grill05> they must have tested with aomenc/aomdec, and those two work fine. Its just any application using the shared lib that crashed with 'undefined symbol'
[16:41:58 CEST] <grill05> *crashes
[16:42:09 CEST] <JEEB> ok, so their own apps don't utilize the built libraries? :D
[16:42:28 CEST] <JEEB> as in, if you `ldd` them
[16:42:34 CEST] <JEEB> you don't get a dep for the shared libs
[16:43:38 CEST] <grill05> success~
[16:43:40 CEST] <grill05> thanks
[16:43:50 CEST] <grill05> ffmpeg configures correctly with HEAD~1
[16:44:02 CEST] <grill05> building now :)
[16:47:11 CEST] <JEEB> I poked the AOM IRC channel to see if anyone else can reproduce it
[16:47:21 CEST] <grill05> JEEB can you report this to their bug tracker ? You seem to understand where the problem is
[16:47:35 CEST] <grill05> Another guy just did.on #av1 on discord
[16:47:36 CEST] <JEEB> I don't have an account there unfortunately so the best I can do is poke an IRC xD
[16:47:52 CEST] <JEEB> *an IRC channel
[16:48:22 CEST] <JEEB> grill05: well I'm still not sure if libaom got a new release which actually decodes video correctly served by the biggest user of AV1 atm
[16:48:48 CEST] <JEEB> nobody just noticed how AV1 decode was broken because both chromium and firefox started using dav1d
[16:49:02 CEST] <grill05> #av1 on discord https://discord.gg/HSBxne3
[16:49:32 CEST] Action: JEEB keeps the hell awy from those corporate chat things until their business model becomes clear
[16:49:59 CEST] <grill05> :)
[16:50:14 CEST] <grill05> no secret stuff there, just tech info
[16:50:50 CEST] <JEEB> yea, I don't see anything special there since we have #aomedia and other related channels already on freenode and friends
[16:51:19 CEST] <grill05> yes, but it makes uploading test encoded (<8MB) easier IMHO
[16:52:03 CEST] <JEEB> anyways, getting distracted. my reason for not utilizing those new things is anyways simple (I don't know how the company hosting the centralized service wants to actually make money)
[16:52:21 CEST] <JEEB> but great that HEAD~1 still worked for you :)
[16:52:44 CEST] <grill05> yes. thanks a lot. Wouldn't have thought of checking config.log by myself :)
[17:59:46 CEST] <pl44c> Is it possible to have multiple gpus work on encoding a specific file? I don't see a mention of it here https://trac.ffmpeg.org/wiki/Hardware/VAAPI
[18:00:06 CEST] <pl44c> Or would it be better suited to have 1 GPU work on 1 video in a list and another on the next
[19:11:15 CEST] <kepstin> pl44c: if you're using nvenc on quadro cards, depending on video size/framerate you can often do multiple videos on one card
[19:11:48 CEST] <kepstin> pl44c: but hardware encoders on gps are dedicated hardware, and there's no way to combine multiple of them working on encoding one video stream
[19:12:55 CEST] <kepstin> they're usually designed to achieve realtime or faster performance anyways, so for their intended use of encoding live video without using cpu, that's fine.
[19:15:22 CEST] <pl44c> ah so only 1 card can be used for the conversion of 1 file at a time
[19:16:42 CEST] <pl44c> I have both a vega64 and RX560 that will eventually be replaced a 5700XT and wanted to see if it was worth unbinding the card that was used for a virtual machine to speed up things
[19:17:00 CEST] <klaxa> <pl44c> ah so only 1 card can be used for the conversion of 1 file at a time
[19:17:12 CEST] <klaxa> as far as i understand he said the exact opposite of that
[19:18:20 CEST] <klaxa> ah, but the other way around it doesn't work like that yes, more like 1 file can only be written by 1 card
[19:20:57 CEST] <pl44c> now on amd hardware does that hardware do more than 1 video?
[19:21:04 CEST] <pl44c> per card
[19:22:07 CEST] <kepstin> It probably works, but haven't tested it.
[19:22:41 CEST] <kepstin> How much doing multiple videos on a single card slows it down depends on the card
[19:36:49 CEST] <ry> ry
[19:43:31 CEST] <pl44c> pl44c
[19:44:27 CEST] Action: klaxa starts throwing poke balls
[19:44:27 CEST] <pl44c> well thanks for the info I'll test things out myself now
[20:32:40 CEST] <pl44c> Alright so it seems to my understanding that for my use case of converting videos it cannot be hardware accelerated actually
[20:33:12 CEST] <pl44c> because videos with format=nv12 don't work while format=yuv420p do
[20:33:27 CEST] <pl44c> unless there's a way to accelerate the later
[20:34:12 CEST] <JEEB> well I think the bigger problem generally is that most filters are done on the CPU and thus you have to transfer the decoded image to RAM from VRAM
[20:34:26 CEST] <JEEB> there are some filters that take in GPU images, though
[20:34:51 CEST] <JEEB> as such, nv12 and yuv420p are the same data but in a different order - and conversion between the two is simple
[20:36:14 CEST] <furq> pl44c: https://ffmpeg.org/ffmpeg-filters.html#OpenCL-Video-Filters
[20:43:44 CEST] <pl44c> furq: thanks I saved this for later
[20:44:09 CEST] <pl44c> OpenCL is included in amdgpu and isn't locked to amdgpu-pro right?
[20:44:18 CEST] <pl44c> or was it ever at one point
[20:49:13 CEST] <furq> it's not in amdgpu
[20:49:23 CEST] <furq> you can still get it working without amdgpu-pro but you have to jump through some hoops
[20:50:15 CEST] <pl44c> What's the story behind opencl needing proprietary bits exactly?
[20:50:23 CEST] <pl44c> Seems silly to call it OpenCL
[20:51:14 CEST] <furq> the standard is open
[20:53:39 CEST] <pl44c> Well yeah but why isn't the implementation?
[21:33:58 CEST] <Hello71> what hoops? it's just mesa
[21:35:18 CEST] <furq> that's a really old opencl
[21:36:00 CEST] <furq> you need rocm or something for 2.x support
[21:37:30 CEST] <Hello71> hm.
[23:26:59 CEST] <fred1807> is it possible to broadcast (flv stream) a folder os jpeg photos?
[00:00:00 CEST] --- Sun Oct 20 2019
1
0
[00:55:04 CEST] <jamrial> nevcairiel, BBB: i'm divided about reordered_opaque. we really shouldn't check its value, but unconditionally propagating it requires one allocation per packet even if you're not going to use it
[01:16:04 CEST] <jamrial> fuck it
[01:27:03 CEST] <Lynne> buffer pool
[01:29:53 CEST] <BBB> jamrial: hm...
[01:30:04 CEST] <BBB> jamrial: so the concern is just the overhead of the alloc per packet?
[01:30:10 CEST] <BBB> how do other codecs do it?
[01:30:19 CEST] <BBB> or do they not care b/c libaom is not threaded etc?
[01:30:24 CEST] <BBB> (frame-threaded
[01:34:34 CEST] <jamrial> BBB: other codecs use get_buffer and copy the value in ff_decode_frame_props()
[01:35:01 CEST] <jamrial> with libdav1d we're not using get_buffer, and the reordering is done in the external library
[01:39:02 CEST] <BBB> and passing reordered_opaque in an user_data field in the input packet is not possible?
[01:39:11 CEST] <BBB> or are you already using all of them? :-p
[01:42:48 CEST] <jamrial> i'm using all of them for their proper values, yes :p
[01:43:22 CEST] <jamrial> the only one remainin is the Dav1dUserData pointer
[01:43:27 CEST] <jamrial> which is what i'm using
[01:44:11 CEST] <Lynne> just use a buffer pool
[01:47:01 CEST] <jamrial> Lynne: not for an 8 byte value
[01:51:09 CEST] <Lynne> it doesn't really matter then, on linux such a small alloc will easily be cached, and its by far not the biggest problem on windows
[04:01:09 CEST] <cone-309> ffmpeg 03Jun Zhao 07master:85e2b222e910: lavfi/avf_showspectrum: add error handle if av_asprintf return null
[04:01:09 CEST] <cone-309> ffmpeg 03Jun Zhao 07master:ed3c317deac9: fftools/ffmpeg_opt: add error handle if av_asprintf return null
[04:01:09 CEST] <cone-309> ffmpeg 03Jun Zhao 07master:feaec3bc3133: lavf/hlsenc: fix memory leak
[10:35:45 CEST] <cone-290> ffmpeg 03Paul B Mahol 07master:daf2bef98ded: avfilter/af_acrossover: fix memory leak
[10:49:59 CEST] <cone-290> ffmpeg 03Paul B Mahol 07master:fddef964e8aa: avfilter/vf_colorspace: fix memmory leaks
[11:33:45 CEST] <JEEB> wow, I completely missed that track_ids can get set rather late in the game :)
[11:34:02 CEST] <cone-290> ffmpeg 03Paul B Mahol 07master:8e30514c4c19: avfilter/buffersink: cosmetics
[11:34:27 CEST] <JEEB> as in, with fragmented mp4 you can't expect track_ids to be around during at least the first fragment
[11:35:30 CEST] <JEEB> so if you're comparing two MOVTrack *s I guess it's just better to compare for equality :)
[11:35:38 CEST] <JEEB> that way it works in either case, before or after
[20:49:45 CEST] <thardin> anyone in here living in london and interested in an audio backend jerb?
[22:03:50 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:3b580f9dfe71: avfilter/vf_maskfun: fix memleak
[23:25:54 CEST] <cone-161> ffmpeg 03Paul B Mahol 07master:0528adbd85d6: avfilter/vf_shuffleplanes: add mising query_formats()
[00:00:00 CEST] --- Sat Oct 19 2019
1
0
[00:52:22 CEST] <DanielTheFox> hi there, I was wondering if it's a good/common practice to convert original video to an easy-to-decode codec (say, raw or ffvhuff) if it's known to be re-converted many times right after
[00:55:18 CEST] <DanielTheFox> I'm testing (and throwing many stones at the same time) an old feature phone which has video playback feature, and checking its limits regarding codecs, resolution and framerate
[00:55:24 CEST] <DanielTheFox> so I convert the same sample video many times
[01:10:46 CEST] <furq> it probably won't save enough time to bother, especially if it's a codec you can hwdec
[01:11:29 CEST] <furq> it'll be a tiny fraction of the encode time anyway
[01:11:48 CEST] <furq> unless you're encoding 4k to 360p or something
[02:36:20 CEST] <analogical> what do I type if I want to convert a wav file to aac with the higest available bitrate?
[02:45:34 CEST] <furq> max bitrate depends on the sample rate and channel count
[02:45:42 CEST] <furq> there is really no reason to go above 192k for stereo though
[02:45:55 CEST] <furq> or -vbr 5 with fdk
[02:52:11 CEST] <analogical> furq, I have a file called audio.wav and I want to convert it to audio.m4a with the highest possible quality. Is there a setting for that?
[03:19:20 CEST] <Hello71> -c:a flac
[03:28:42 CEST] <ncouloute> Trying to get the total time of a concat using -f concat but the duration is set to N/A. Anyway to get the duration to work. I'm thinking im going to need to call ffmpeg on each file and then add up the duration =/
[07:21:18 CEST] <pk08> hi guys,
[07:21:48 CEST] <pk08> i there any way to set audio sample format to some fix value
[07:22:14 CEST] <pk08> in filer_complex
[07:23:04 CEST] <pk08> im trying to play video using mpv with filter and i am getting error: "format change on aid1"
[07:23:12 CEST] <pk08> and then mpv stops
[07:23:29 CEST] <pk08> mpv command: https://pastebin.com/XBkuM33s
[07:24:17 CEST] <pk08> and if i try to make same command for ffmpeg and try then ffmpeg crashes and give segmentation fault
[07:25:28 CEST] <pk08> ffmpeg command: https://pastebin.com/iLqxqfyV
[07:25:50 CEST] <pk08> i tried to add "aresample=48000" in filter chain but it didnt help...
[09:34:52 CEST] <MoziM> what is "il" in this command supposed to refer to? i can't find it anywhere in the ffmpeg documents, is it shorthand for input link? -> ffmpeg -i top.avi -i bottom.avi -filter_complex vstack,il=l=i:c=i -c:v ffv1 il.avi
[09:35:41 CEST] <MoziM> https://video.stackexchange.com/questions/27524/combining-two-video-fields-…
[09:52:44 CEST] <furq> MoziM: https://ffmpeg.org/ffmpeg-filters.html#il
[09:57:06 CEST] <furq> you could also do interleave,weave or interleave,interlace
[09:57:29 CEST] <furq> no opinion on which gives better output but it seems weird to use vstack there
[10:24:03 CEST] <MoziM> furq: ahh thanks, didn't see it
[10:24:12 CEST] <MoziM> C-f just shows "il" everywhere -_-
[12:52:05 CEST] <MoziM> if i have an audio file that's 1 minute long and a file that's 59 seconds long, how can i add 1 second worth of black frames at the beginning of the video?
[13:39:36 CEST] <streamer2> Hello
[13:40:00 CEST] <streamer2> Is it possible to limit the output bitrate range with -maxrate? https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate
[13:40:19 CEST] <streamer2> For example I would like the output bitrate to be limited between the range of 2000 kbps - 4000 kbps
[13:40:50 CEST] <streamer2> and for the bitrate to adhere to -minrate and -maxrate and not exceed maxrate
[13:41:10 CEST] <BtbN> On most encoder, there really isn't a minrate
[13:41:34 CEST] <BtbN> if the pictures are trivial, they will happily produce tiny output
[13:41:58 CEST] <streamer2> Thank you for the reply. I mean for instance a HLS stream
[13:42:21 CEST] <BtbN> CBR mode just fill in null-data to reach the target bitrate
[13:43:13 CEST] <streamer2> BtbN: -b:v 2M -maxrate 2M -bufsize 1M
[13:43:34 CEST] <BtbN> Is this libx264?
[13:43:37 CEST] <JEEB> the result of that depends on the encoder
[13:43:57 CEST] <streamer2> BtbN: Yes libx264 and aac audio
[13:44:18 CEST] <JEEB> that should then be pretty close to what you defined :P
[13:44:19 CEST] <BtbN> If you need strict CBR, you will have to tell it
[13:44:27 CEST] <BtbN> "soft cbr" with a minrate is not a thing
[13:44:37 CEST] <JEEB> also > HLS > strict CBR , but it's not my encode :D
[13:44:44 CEST] <streamer2> BtbN: Thanks. Could you suggest me parameters to include?
[13:44:53 CEST] <BtbN> look at the h264 encoding wiki for cbr
[13:47:05 CEST] <streamer2> BtbN: thanks, just to confirm would something like this work? -crf 22 -b:v 2M -maxrate 2M -bufsize 1M
[13:47:13 CEST] <BtbN> no
[13:47:22 CEST] <BtbN> that's mixing crf and vbr, and makes no sense
[13:47:53 CEST] <JEEB> only libvpx for some reason wants both values, but do remember that whatever CRF maps to with libvpx is different to x264's CRF
[13:48:11 CEST] <BtbN> crf is also the precise opposite of what you want for a CBR HLS list
[13:48:12 CEST] <BtbN> https://trac.ffmpeg.org/wiki/Encode/H.264#AdditionalInformationTips
[13:48:34 CEST] <BtbN> one should remove the -minrate from that, since libx264 does not read that parameter at all
[13:50:05 CEST] <streamer2> BtbN: Ok thanks, that is very helpful. So really there isn't an effective way to adjust the range of the average bitrate?
[13:50:45 CEST] <BtbN> You can set a maximum, and set a target bitrate
[13:50:57 CEST] <BtbN> But if the video is solid black, it will drop down to almost nothing
[13:53:04 CEST] <streamer2> BtbN: cool thanks
[13:54:09 CEST] <streamer2> BtbN: target bitrate is definec as -v:c ? Or is that THE bitrate, just so I understand correctly
[13:54:13 CEST] <streamer2> *defined
[13:54:18 CEST] <BtbN> b:v
[13:54:53 CEST] <streamer2> BtbN: cool thanks
[13:55:15 CEST] <BtbN> but it doesn't mean much for libx264 in vbv mode
[13:57:45 CEST] <streamer2> BtbN: so it's possible to adjust the average bitrate range for libx264 in vbv mode? Or not at all?
[13:58:06 CEST] <streamer2> BtbN: I'm just trying to figure out the best way about doing this
[13:58:18 CEST] <BtbN> vbv buffer based encoding is complicated
[13:58:25 CEST] <BtbN> It has a constant buffer of available bits
[13:58:36 CEST] <BtbN> and it keeps refilling it at the given bitrate, until it reaches the bufsize
[13:58:42 CEST] <BtbN> encoding a frame takes bits from it
[13:59:19 CEST] <BtbN> maxrate governs how fast it refills, bufsize, well, the size of the buffer
[14:01:09 CEST] <streamer2> BtbN: interesting
[14:03:04 CEST] <streamer2> BtbN: so if I am to set the target bitrate to 4000 Kbps and the maxrate to 4000 kbps, it will try to aim for this bitrate at the best effort?
[14:03:20 CEST] <BtbN> no, it never does that
[14:03:42 CEST] <BtbN> it will never exceed the bitrate, over a timeframe given by maxrate and bufsize
[14:04:01 CEST] <DHE> sorta.. after a period of non-motion the buffer fills and when motion begins again the codec is allowed to take not just 4 megabit of video but also chug the buffer as it needs it.
[14:05:13 CEST] <streamer2> DHE: ah ok, that explains it. So based on the fact that it needs to chug the buffer it won't be able to ever specifically stick to the target bitrate at all times?
[14:07:12 CEST] <DHE> the smaller the buffer, the closer to a true maximum bitrate you get. but if you have a 4 megabit maxrate and 4 megabit buffer, the codec could run at 8 megabits for 1 second if it wants, albeit with a drained buffer
[14:07:28 CEST] <BtbN> How would you even define "strict all all times"
[14:07:39 CEST] <BtbN> it's always strict to it, over a specific timeframe of observation
[16:16:32 CEST] <HickHoward> right
[16:18:06 CEST] <HickHoward> so, does ffmpeg support both .BUP and .IFO files
[16:18:07 CEST] <HickHoward> ?
[16:18:24 CEST] <HickHoward> i say this 'cuz i found one that is based directly upon ffmpeg's code that can handle those files quite well
[18:32:02 CEST] <kepstin> HickHoward: ffmpeg has limited or no support for natively reading dvd files, you need to use other tools to read dvd structure.
[18:33:13 CEST] <kepstin> once you've used other tools to extract the part of the video you want to a concatenated vob, ffmpeg can read that directly.
[18:33:42 CEST] <kepstin> (of course there are tools around that can read dvd files directly and then use ffmpeg libraries to encode)
[19:06:36 CEST] <analogical> When I type ffmpeg -i input.wav output.m4a the resulting file is aac 128 kbps which seems to be the defrault bitrate for aac. What do I type to create an aac file with the maximum bitrate available?
[19:31:12 CEST] <analogical> please anyone?
[19:41:56 CEST] <taliho> analogical: https://ffmpeg.org/ffmpeg-all.html#aac
[20:08:57 CEST] <relaxed> analogical: ffmpeg -i input.wav -q:a 0 output.m4a
[20:17:43 CEST] <b5509cd> Hi, `raspivid` can deliver a stream of h264 to stdout, I am wondering if `ffmpeg` can simply "box" this stream as mp4 (and also if it will be efficient enough on a Pi Zero, but I can test that for myself if I can just know what invocation of `ffmpeg` to use)
[20:17:57 CEST] <b5509cd> ... I'd like to continue outputting to stdout to another pipe from `ffmpeg` btw
[20:18:29 CEST] <b5509cd> (I'm ultimately trying to go like `raspivid` -> `ffmpeg` -> `websocat` -> browser video element with MSE)
[20:24:49 CEST] <relaxed> should be possible
[20:26:58 CEST] <b5509cd> `... | ffmpeg -f h264 -i - -f mp4 - | ...` this is currently giving me `muxer does not support non seekable output`
[20:28:57 CEST] <relaxed> what other format does websocat support?
[20:29:20 CEST] <relaxed> try mkv
[20:30:10 CEST] <b5509cd> relaxed websocat is just like netcat or cat... it's just piping its input to output (but wrapped in websocket/http/whatever, in order to be consumed by a client websocket a la the browser)
[20:30:45 CEST] <relaxed> oh, then try flv
[20:30:48 CEST] <b5509cd> need not worry about what raspivid and websocat are doing I don't think, I did already test that just removing the ffmpeg part of the pipeline and then just piping to `mplayer` works alright, since mplayer can play raw h264 streams
[20:31:40 CEST] <b5509cd> I just need ffmpeg to encapsulate the h264 stream with those mp4 headers, to "mux" I guess
[20:31:45 CEST] <b5509cd> and then pass to stdout
[20:32:02 CEST] <relaxed> mp4 is not a live streamable format
[20:32:19 CEST] <b5509cd> damn, I read conflicting info about that
[20:32:38 CEST] <analogical> When I type ffmpeg -i input.wav output.m4a the resulting file is aac 128 kbps which seems to be the default bitrate for aac. What do I type to create an aac file with the maximum bitrate available?
[20:32:44 CEST] <b5509cd> I guess it is true but you can hack around it by pushing segments around?
[20:33:27 CEST] <relaxed> analogical: ffmpeg -i input.wav -q:a 0 output.m4a
[20:34:03 CEST] <furq> analogical: like i said, the max bitrate depends on the sample rate and channel count
[20:34:20 CEST] <furq> at least according to the codec specs, idk if the builtin encoder goes that high
[20:34:31 CEST] <analogical> relaxed, that creates an outputfile with a bitrate that's even worse than the default setting :/
[20:34:54 CEST] <furq> and yeah last i heard vbr mode didn't work well with the builtin encoder
[20:35:11 CEST] <furq> use -b:a 192k or something
[20:35:17 CEST] <analogical> furq, the intput.wav is audio cd quality
[20:35:44 CEST] <furq> well then the max bitrate is 528k
[20:35:55 CEST] <furq> and also you should not use it
[20:36:52 CEST] <b5509cd> relaxed this works:
[20:36:53 CEST] <b5509cd> raspivid -t 0 -w 1280 -h 720 -hf -ih -vf -fps 20 -o - | ffmpeg -i - -vcodec copy -f mp4 -movflags frag_keyframe+empty_moov pipe:1 | websocat --binary --exit-on-eof --buffer-size 1024 ws-upgrade:tcp-listen:0.0.0.0:1234 reuse-raw:stdio:
[20:36:54 CEST] <analogical> when encoding mp3 there's often a max setting that creates a 320 kbps file
[20:37:04 CEST] <kepstin> at 528k aac you'd be better off using flac :)
[20:37:10 CEST] <furq> well yeah it's -b 320
[20:37:12 CEST] <kepstin> (or alac)
[20:37:18 CEST] <furq> with lame, and idk why you'd use any other encoder
[20:37:38 CEST] <furq> 320k is already a waste of space with mp3, and aac is the best part of a decade newer
[20:37:41 CEST] <kepstin> i think lame with -q:a 0 is also 320kbit cbr? or something close.
[20:37:51 CEST] <furq> it isn't
[20:37:56 CEST] <furq> -V0 is true vbr
[20:38:03 CEST] <analogical> why is this so difficult why isn't it possible to tell ffmpeg to create a fight with highest possible quality?
[20:38:17 CEST] <analogical> a fight > a file
[20:38:18 CEST] <relaxed> analogical: just use -b:a 320k
[20:38:23 CEST] <furq> i just said, it's -b:a 528k
[20:38:34 CEST] <furq> i also said that it's a big waste of space and you should just use 192k
[20:39:14 CEST] <analogical> sigh!
[20:39:17 CEST] <pink_mist> and if you used flac you'd get the highest possible quality regardless of what option you specified
[20:39:27 CEST] <furq> i'm guessing this is for a device that doesn't play flac
[20:39:32 CEST] <analogical> right
[20:39:39 CEST] <furq> if you can imagine such a thing in this day and age
[20:39:49 CEST] <furq> cough cough cough apple
[20:39:51 CEST] <pink_mist> I have a very hard time imagining that
[20:40:41 CEST] <relaxed> alac, it's like flac but fruity
[20:40:42 CEST] <analogical> ffmpeg is probably the least user friendly software I've ever used
[20:41:07 CEST] <furq> i don't see how -b:a 320k is less user friendly than -b 320
[20:41:37 CEST] <analogical> is there a gui available for ffmpeg?
[20:41:50 CEST] <pink_mist> good idea analogical, when there's volounteers here helping you, just complain about the software they're helping you with, that'll get everyone to be happy to help you more
[20:42:18 CEST] <analogical> I'm sorry but this is so frustrating
[20:42:38 CEST] <pink_mist> why? you've been told exactly what you need to do
[20:42:49 CEST] <pink_mist> you've been shown where in the manual you can read more about it
[20:42:57 CEST] <pink_mist> yet you're complaining about something
[20:43:13 CEST] <furq> what part of this is unclear
[20:43:36 CEST] <analogical> I've read the manual and it doesn't answer my question and the examples you gave me doesn't do what I want I'm sorry to say
[20:43:56 CEST] <furq> -b:a 528k will give you an aac file of the highest possible quality that the builtin encoder can create
[20:44:00 CEST] <pink_mist> -b:a 528k does exactly what you've told us you want
[20:44:08 CEST] <pink_mist> if you've lied to us, you should stop lieing
[20:45:04 CEST] <relaxed> analogical: https://trac.ffmpeg.org/wiki/Encode/AAC read the "Native FFmpeg AAC Encoder" section
[20:46:45 CEST] <analogical> furq, where did you the information about the max 528k bitrate
[20:46:59 CEST] <furq> from the aac codec specs
[20:47:09 CEST] <furq> whether the builtin encoder will ever use that much bitrate i have no idea
[20:47:32 CEST] <analogical> so that bitrate doesn't necessarily work with ffmpeg?
[20:47:40 CEST] <furq> define work
[20:47:54 CEST] <furq> it'll give you the best quality aac file it can
[20:48:00 CEST] <relaxed> analogical: what are you trying to play this back on?
[20:48:20 CEST] <furq> it isn't relevant if it isn't 528k unless you can actually abx it from the flac
[20:49:01 CEST] <analogical> do you also happen to know the highest quality setting for ac3 ?
[20:49:53 CEST] <furq> i don't but ac3 is even older than mp3
[20:49:59 CEST] <relaxed> analogical: alac is lossless and supported on apple devices.
[20:50:26 CEST] <furq> and there's no oss ac3 encoder that's as good as lame
[20:50:31 CEST] <furq> unless you're encoding multichannel content
[20:51:03 CEST] <analogical> the devie I want to use only supports aac and ac3
[20:51:07 CEST] <analogical> *device
[20:51:18 CEST] <pink_mist> what device is that?
[20:51:28 CEST] <analogical> and old televison
[22:30:41 CEST] <SpeakerToMeat_> The way to specify an input's fps is -r before -i right? I mean interpet it as x fps not, recode from its fps to x
[22:31:00 CEST] <furq> yes but it doesn't work for all formats
[22:31:18 CEST] <furq> strictly it should be -framerate as an input option but iirc -r is usually mapped to that
[22:31:23 CEST] <SpeakerToMeat_> Sigh
[22:31:42 CEST] <SpeakerToMeat_> Failing for an mxf
[22:32:15 CEST] <SpeakerToMeat_> I have a 23.976 mxf (with jpeg 2000 in it), the input reads this: "Stream #1:0: Video: jpeg2000 (JPEG 2000 digital cinema 2K), xyz12le(progressive), 1920x1080, SAR 1:1 DAR 16:9, 23.98 tbr, 23.98 tbn, 23.98 tbc"
[22:32:53 CEST] <SpeakerToMeat_> But the h264 output for some reason says "Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 0.04 fps, 11988 tbn, 23.98 tbc"
[22:33:16 CEST] <SpeakerToMeat_> 0.04....?
[22:33:55 CEST] <durandal_1707> crucial info missing, output container
[22:34:19 CEST] <SpeakerToMeat_> quicktime
[22:34:37 CEST] <SpeakerToMeat_> libx264 for video, aac for audio, yuv420p pixfmt
[22:34:57 CEST] <SpeakerToMeat_> Sorry wrong. mp4 container for output
[22:34:58 CEST] <SpeakerToMeat_> not mov
[22:35:37 CEST] <durandal_1707> something about timebases
[22:35:44 CEST] <furq> if the input fps is being detected correctly then forcing it won't do anything
[22:35:49 CEST] <furq> something else is broken there
[22:35:54 CEST] <SpeakerToMeat_> furq: Correct
[22:36:27 CEST] <durandal_1707> use (a)settb filters
[22:41:27 CEST] <SpeakerToMeat_> The interesting thing, the end file plays right liek this :/
[23:53:28 CEST] <ChocolateArmpits> I got that too, produces valid files so who cares
[00:00:00 CEST] --- Sat Oct 19 2019
1
0
[07:33:32 CEST] <mkver> It seems the IRC log has issues again: The last archived day was last Sunday.
[10:34:59 CEST] <termos> should this be resubmitted since it contains two attachments? don't want to spam the mailing list http://ffmpeg.org/pipermail/ffmpeg-devel/2019-October/251689.html
[11:03:55 CEST] <cone-785> ffmpeg 03Paul B Mahol 07master:fb7b222b9182: avfilter/af_arnndn: make sure that vad_output nb_neurons is always 1
[11:33:42 CEST] <cone-785> ffmpeg 03Paul B Mahol 07master:3488e0977c67: avfilter/vf_random: fix memory leaks
[11:33:43 CEST] <cone-785> ffmpeg 03Paul B Mahol 07master:ce40188bc046: avfilter/vf_amplify: cosmetics
[11:54:13 CEST] <cone-785> ffmpeg 03Paul B Mahol 07master:8f63c4e72a8c: avfilter/vf_dedot: fix crash
[12:17:13 CEST] <cone-785> ffmpeg 03Gyan Doshi 07master:9c820ebe90f3: doc/filters: fixes for scale filter
[12:31:08 CEST] <cone-785> ffmpeg 03Andreas Rheinhardt 07master:6aae32212041: avfilter/af_arnndn: Remove superfluous qualifier
[12:34:42 CEST] <cone-785> ffmpeg 03Andreas Rheinhardt 07master:097c917c1476: avcodec/ac3enc: Fix memleak
[12:48:49 CEST] <mkver> michaelni: Your recent cavs patch fails on lots of fate units (I haven't a fate box where it doesn't fail), but strangely it works for me (and apparently for you, too). Do you have any idea about this?
[12:49:14 CEST] <mkver> I haven't a fate->I haven't seen a fate box
[12:54:11 CEST] <durandal_1707> michaelni: fate gonna full yellow mode
[13:07:16 CEST] <michaelni> mkver, durandal_1707 ive a fix will push after a bit more testing
[13:13:43 CEST] <michaelni> ill push as soon as ive tested on 32/64 bit linux, mingw32/64, arm & mips
[13:22:30 CEST] <cone-785> ffmpeg 03Michael Niedermayer 07master:0279e727e992: avcodec/cavsdec: Set ret on errors in decode_pic()
[13:51:54 CEST] <mkver> michaelni: What was the reason that the cavs test failed on only some machines?
[13:52:17 CEST] <michaelni> mkver, --enable-memory-poisoning
[16:46:20 CEST] <Lynne> I'd just like to point out --disable-safe-bitstream-reader still exist
[17:07:14 CEST] <jamrial> BBB: any opinion on the above ticket?
[17:09:06 CEST] <BBB> probably true
[17:09:20 CEST] <BBB> should be easy to fix right?
[17:09:35 CEST] <BBB> (in ffmpeg's libdav1d.c)
[17:14:42 CEST] <jamrial> BBB: so just "frame->reordered_opaque = avctx->reordered_opaque;", like ff_decode_frame_props() does for get_buffer2 decoders?
[17:15:22 CEST] <BBB> I think so
[17:15:31 CEST] <jamrial> ok
[17:22:00 CEST] <kierank> Lynne: you want all bitstream reads to be safe?
[17:22:11 CEST] <kierank> Or you want all decoders to have unsafe reads?
[17:24:56 CEST] <Lynne> obviously for all reads to be safe
[17:25:20 CEST] <Lynne> my point is there's a flag that undoes all work that has gone into safety and allows users to shoot themselves in the foot
[17:26:06 CEST] <Lynne> actually maybe not, because of the padding I don't see how overreads are possible
[17:39:28 CEST] <cone-785> ffmpeg 03Andreas Rheinhardt 07master:ba191c0ce044: vp9_superframe: Avoid allocations and copies of packet structures
[17:39:29 CEST] <cone-785> ffmpeg 03James Almer 07master:39d5acbd097b: avcodec/libdav1d: set AVFrame reordered_opaque
[17:40:01 CEST] <BBB> jamrial: ty
[17:40:09 CEST] <jamrial> no prob
[17:48:01 CEST] <nevcairiel> does that ensure it matches stuff based on threading delay? otherwise its sort of useless
[17:48:26 CEST] <nevcairiel> but unless dav1d allows you to pass arbitrary data through with frames, its also not possible
[17:51:09 CEST] <nevcairiel> (the contract of that variable is that whatever is in it when you pass in a packet gets associated to the frame that matches that packet, sort of like the timestamp, just for arbitrary data)
[17:52:25 CEST] <BBB> if you do it in get_buffer, it's fine
[17:52:34 CEST] <BBB> that's on decode-start-time, which matches packet input
[17:52:46 CEST] <BBB> if you do it upon frame return, it's indeed problematic with frame-mt
[17:52:48 CEST] <BBB> but he's not doing that
[17:52:51 CEST] <BBB> so it's ok
[17:54:24 CEST] <nevcairiel> it looks like its in frame return to me?
[17:55:37 CEST] <nevcairiel> we dont have an AVFrame before that point
[18:05:01 CEST] <BBB> I'm not sure
[18:05:11 CEST] <BBB> I thought ffmpeg allocated the frame dav1d decodes in
[18:06:15 CEST] <nevcairiel> it allocates a buffer, and then plugs it into a frame later
[18:12:13 CEST] <jamrial> maybe avctx->reordered_opaque should be mapped to Dav1dDataProps for the input packet, much like pts/pos/duration, then copied to frame->reordered_opaque on frame return
[18:28:23 CEST] <jamrial> nevcairiel, BBB: https://pastebin.com/eKAN54AR
[18:28:37 CEST] <jamrial> sucks that it's one extra alloc per input packet, but well
[18:28:58 CEST] <nevcairiel> you could only do it if its non-zero
[18:29:03 CEST] <nevcairiel> not that many people use it
[18:29:14 CEST] <jamrial> ah, true
[18:29:32 CEST] <nevcairiel> and its generally probably safer to check the p ointer to user_data before de-reffing i t
[18:42:06 CEST] <jamrial> nevcairiel: avctx->reordered_opaque seems to default to int64_max, not zero
[18:42:22 CEST] <nevcairiel> well then use that :D
[18:42:36 CEST] <nevcairiel> back in the very old days people did use it for timestamps
[18:42:39 CEST] <nevcairiel> so its probably NOPTS
[18:43:04 CEST] <jamrial> yes, it's nopts
[18:44:40 CEST] <jamrial> which makes me think people will use it for timestamps despite the decoder doing that internally just fine :p
[18:44:58 CEST] <nevcairiel> in old code perhaps
[18:45:13 CEST] <nevcairiel> but even more reason to get it right
[18:53:34 CEST] <cone-785> ffmpeg 03Andreas Rheinhardt 07master:b288a7eb3d96: avformat/mpegenc: Fix memleaks and return values
[18:53:35 CEST] <cone-785> ffmpeg 03Michael Niedermayer 07master:2fca09bce49c: avcodec/binkaudio: Check sample rate
[18:53:36 CEST] <cone-785> ffmpeg 03Andreas Rheinhardt 07master:eb17bf6fd3da: mpeg4_unpack_bframes: Avoid allocations and copies of packet structures
[18:58:11 CEST] <jamrial> BBB, nevcairiel: https://pastebin.com/JqMVHR78
[19:16:21 CEST] <Lynne> 0 is a valid timestamp
[20:08:12 CEST] <rcombs> there are 3 valid timestamps: 0, 1, and infinity
[20:12:52 CEST] <Lynne> doesn't account for mpegts overflows
[20:17:39 CEST] <nevcairiel> jamrial: yeah might want to skip on the non-zero check, if someone uses it for timestamps, otherwise seems fine, I guess, but didnt test
[21:07:15 CEST] <taliho> Why don't we support nvenc on Tegra?
[21:21:52 CEST] <cone-785> ffmpeg 03Paul B Mahol 07master:295d99b4393d: avfilter/vf_adadenoise: add x86 SIMD
[21:21:53 CEST] <cone-785> ffmpeg 03Paul B Mahol 07master:71e33c6e01f6: avfilter/vf_atadenoise: add option to use additional algorithm
[21:21:54 CEST] <cone-785> ffmpeg 03Paul B Mahol 07master:0ae6fb276bd9: avfilter/x86/vf_atadenoise: add SIMD for serial too
[00:00:00 CEST] --- Fri Oct 18 2019
1
0
[00:06:26 CEST] <ironm> kepstin, it looks like I have to set CRF to 0 (The range of the CRF scale is 051, where 0 is lossless, 23 is the default, and 51 is worst quality possible)
[00:07:41 CEST] <kepstin> Why would you want to do that? Most people don't want or need lossless, and it has less player compatibility
[00:08:09 CEST] <ironm> kepstin, I would like to keep the quality of mp4 input files
[00:08:50 CEST] <cehoyos> Test with the default, if the quality is not good enough, lower the value.
[00:08:53 CEST] <ironm> what is the right syntax to set CRV? .. such one does not work : -map "[out]" -CFR "0" output_col_2x2.mp4
[00:09:02 CEST] <cehoyos> Do not use 0 unless you know exactly what you are doing (which you do not)
[00:09:28 CEST] <ironm> cehoyos, thank you, I did. The size of the output is approx two times smaller
[00:09:45 CEST] <ironm> with the default
[00:09:45 CEST] <cehoyos> The size is *completely* irrelevant.
[00:09:48 CEST] <furq> don't use 0 unless you want it to be 50 times bigger
[00:09:56 CEST] <cehoyos> What is relevant is your visual experience
[00:10:06 CEST] <ironm> furq, hi, thank you.
[00:10:21 CEST] <ironm> what is the right syntax to set CRF to 0 ?
[00:11:02 CEST] <ironm> cehoyos, I don't mind (size) as there are short clips (15 to 20 seconds only)
[00:11:10 CEST] <cehoyos> To say it differently: It could be that the size doubles and the quality is still not good enough, in this case the hardware encoder cannot nearly do such a good work as your software encoder so a smaller file with identical quality is not a surprise.
[00:11:20 CEST] <ironm> Highest quality is most important for me
[00:11:31 CEST] <cehoyos> You do and you want your output file to play in completely outdated players.
[00:11:48 CEST] <cehoyos> Like all current proprietary players
[00:11:51 CEST] <ironm> cehoyos, I do not decode and encode
[00:11:58 CEST] <cehoyos> Yes, you do
[00:12:13 CEST] <kepstin> You should look at the resulting video, and if it looks not good enough, try lowering the crf value a few steps. The option name is -crf
[00:12:18 CEST] <cehoyos> (That's what I meant when I wrote above "which you do not")
[00:12:30 CEST] <ironm> cehoyos, aas I understood it is kind of one to one copy
[00:12:35 CEST] <cehoyos> No
[00:12:38 CEST] <kepstin> It is not.
[00:13:07 CEST] <ironm> 4 x FullHD mp4 inp ut => 4K mp4 output
[00:13:09 CEST] <cehoyos> Please understand that many of the people who post here understand a lot more than you about using FFmpeg, so not following their advice will not help you
[00:13:49 CEST] <kepstin> You're making a brand new video which displays images taken from the decoded old videos, and then has to be newly encoded from scratch.
[00:13:54 CEST] <ironm> cehoyos, I follow all of your advises and I am really thankful
[00:14:26 CEST] <ironm> kepstin, the input are mp4 files from GoPro7 hero black
[00:14:38 CEST] <cehoyos> I believe you already told us
[00:14:40 CEST] <kepstin> ironm: that's not relevant
[00:14:46 CEST] <ironm> I see
[00:15:01 CEST] <kepstin> Doesn't matter where the videos are from, you're making a new video
[00:15:23 CEST] <ironm> yes, it is a new video
[00:16:23 CEST] <cehoyos> Since the videos are so short, you could also encode three videos with crf 28, crf 23 and crf 20 to see the difference. Like this you can decide which value suits you.
[00:16:54 CEST] <ironm> kepstin, is ffmpeg capable to recalculate the "wide" Video mode of GoPro7 (4k / 60fps) to a kind of linear mode (4K / 60fps)
[00:17:19 CEST] <cehoyos> The player should allow slow playback to make seeing the difference easier.
[00:17:42 CEST] <ironm> cehoyos, I afraid, GoPro7 does not support those codecs
[00:17:49 CEST] <kepstin> ironm: I don't know what you're taking about. Is this a color space thing?
[00:18:02 CEST] <cehoyos> Which codecs?
[00:18:09 CEST] <ironm> kepstin, no, the geometry of the video
[00:18:57 CEST] <kepstin> You can change video geometry with ffmpeg filters if you know what changes you need to make
[00:19:09 CEST] <cehoyos> But there is no change from 4k to 4k...
[00:19:38 CEST] <ironm> cehoyos, Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
[00:19:59 CEST] <cehoyos> I would expect that this is also the codec that the GoPro uses, no?
[00:20:04 CEST] <ironm> kepstin, GoPro7 action cameras have small lenses
[00:20:15 CEST] <cehoyos> But my question was more how your comment was related to my suggestion...
[00:20:22 CEST] <ironm> so recordings in wide mode do not look linear
[00:20:49 CEST] <cehoyos> There is a filter that does a correction of lense "errors"
[00:20:59 CEST] <kepstin> Oh, wide angle lens with a fisheye effect
[00:21:11 CEST] <ironm> cehoyos, No, those codecs are not supported (GoPro7 actin camera )
[00:21:19 CEST] <cehoyos> Which codecs?
[00:21:22 CEST] <ironm> kepstin, exactly
[00:22:06 CEST] <ironm> cehoyos, I see .. I misunderstood -- "crf 28, crf 23 and crf 20"
[00:22:09 CEST] <ironm> sorry
[00:22:27 CEST] <cehoyos> You should really test those values
[00:22:53 CEST] <ironm> cehoyos, what ist the syntax to set those crf values to 0 etc ?
[00:23:14 CEST] <ironm> cehoyos, how to set them on the command line ?
[00:23:23 CEST] <cehoyos> You do not want to set the value to 0, you want to test the default value and values that are slightly lower.
[00:23:38 CEST] <cehoyos> But only after visual inspection.
[00:23:42 CEST] <kepstin> Keep in mind that x264 is a better encoder than the one built into the GoPro so it can make smaller videos that don't look worse
[00:23:54 CEST] <cehoyos> kepstin: He doesn't believe that
[00:24:12 CEST] <ironm> kepstin, yes. I can follow now
[00:24:46 CEST] <ironm> cehoyos, how can I set crf value to 1 ?
[00:25:05 CEST] <cehoyos> I go to bed now, thank you for the entertainment!
[00:25:18 CEST] <ironm> cehoyos, what do I not believe ?
[00:25:43 CEST] <ironm> have a good sleep cehoyos ! .. and thanks a lot
[00:26:27 CEST] <ironm> kepstin, at the moment I am quite happy to create 4K output from FullHD inputs
[00:27:13 CEST] <kepstin> ironm: the default crf is 23. If you use your eyes to look at the video and its not good enough, lower it by a small amount, to say 20 or 18
[00:28:21 CEST] <ironm> kepstin, thanks a lot. My problem is that I do not know how to change the crf value on the command line level
[00:29:15 CEST] <kepstin> I've already told you, and other people have linked docs that say
[00:29:31 CEST] <ironm> *_*
[00:29:42 CEST] <ironm> I have checked some doceds
[00:29:56 CEST] <ironm> docs, but did not got the right syntax
[00:30:58 CEST] <ironm> s o r r y
[00:42:18 CEST] <ironm> kepstin, thank you very much for your help. gn8
[01:05:17 CEST] <Zeioth> If I'm obligated to reencode an MP3, what's the best way to avoid losing quality?
[01:06:41 CEST] <klaxa> a lossless codec :^)
[01:08:31 CEST] <pink_mist> why do you need to reëncode it in the first place?
[01:10:07 CEST] <Zeioth> I'm appliying a fade effect to the audio
[01:10:14 CEST] <Zeioth> apparently it cannot be done without reencoding
[01:10:26 CEST] <pink_mist> indeed it can't
[01:10:50 CEST] <pink_mist> I'd suggest trying to find a lossless version of the original audio, and reëncode that instead
[01:10:56 CEST] <pink_mist> if you can
[01:11:02 CEST] <pink_mist> otherwise, what klaxa said
[01:11:20 CEST] <Zeioth> I'm afraid it's not an option in my case
[01:12:02 CEST] <Zeioth> I'm gonna try with the parameter -b:a 320k
[01:13:22 CEST] <furq> use -q:a 0
[01:16:23 CEST] <Zeioth> that's what I was looking for thanks
[01:26:08 CEST] <Zeioth> (Actually I can use FLAC, thank you for noting that too)
[02:35:17 CEST] <Retal> Hello guys, when i trancoding live streams some streams using 350MiB CUDA memory, as result i have error: cu->cuCtxCreate(&hwctx->cuda_ctx, 4, cu_device) failed -> CUDA_ERROR_OUT_OF_MEMORY: out of memory.
[02:35:17 CEST] <Retal> Is it possible decrease CUDA memory usage?
[04:23:52 CEST] <Fenrirthviti> Retal: That can be a red herring error, it can occur when the GPU is at high load as well.
[05:43:36 CEST] <auser0> hey guys
[05:43:39 CEST] <auser0> what does that mean
[05:43:40 CEST] <auser0> adts @ 0x55b6966c0380] Only AAC streams can be muxed by the ADTS muxer
[05:43:41 CEST] <auser0> Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
[05:44:29 CEST] <furq> pastebin the command and full output
[06:25:19 CEST] <lain98> I have a video thats reported 30 fps by mediainfo. I checked the timestamps using ffprobe -show_frames and the timestamps appear to be consistent with 30fps. But ffmpeg reports the video as slightly more than fps, like 30.018 fps. Could this be an issue with fffmpeg demuxing or is it just incorrectly written stream header information in the file ?
[06:31:25 CEST] <lain98> also whats the difference between AVStream->r_frame_rate and AVStream->avg_frame_rate
[11:52:25 CEST] <Stemby> Hi, is it possible to merge these following two steps in a single step?
[11:52:33 CEST] <Stemby> $ ffmpeg -i myvideo_screencast.avi -filter:v "crop=1280:960" -c:v utvideo -c:a copy myvideo_video.avi
[11:52:41 CEST] <Stemby> $ ffmpeg -i myvideo_video.avi -vf scale=-1:1080 -c:v utvideo -c:a copy myvideo_big.avi
[11:52:54 CEST] <durandal_1707> 3yes
[11:53:25 CEST] <Stemby> durandal_1707: hi, thank you. How?
[11:53:43 CEST] <durandal_1707> consult doccumentation
[11:53:52 CEST] <Stemby> done
[11:54:29 CEST] <Stemby> probably I didn't consult the right documentation
[11:54:58 CEST] <Stemby> durandal_1707: can you pass me the link, please?
[11:56:28 CEST] <durandal_1707> Stemby: http://trac.ffmpeg.org/wiki/FilteringGuide
[12:05:02 CEST] <Stemby> durandal_1707: thank you, but I can't still find how to do what I need. I tried "ffmpeg -i myvideo_screencast.avi -vf scale=-1:1080 -filter:v "crop=1280:960" -c:v utvideo -c:a copy myvideo_video.avi" and "ffmpeg -i myvideo_screencast.avi -filter:v "crop=1280:960" -vf scale=-1:1080 -c:v utvideo -c:a copy myvideo_video.avi"
[12:05:13 CEST] <Stemby> In both, I get a wrong result
[12:07:06 CEST] <durandal_1707> Stemby: try harder reading and understanding documentation
[12:07:25 CEST] <durandal_1707> expecially examples
[12:18:45 CEST] <Stemby> durandal_1707: done
[12:19:09 CEST] <Stemby> durandal_1707: $ ffmpeg -i myvideo_screencast.avi -vf "crop=1280:960, scale=-1:1080" -c:v utvideo -c:a copy myvideo_video.avi
[12:19:15 CEST] <Stemby> durandal_1707: thank you
[16:26:53 CEST] <lordarkmemo> hi friends. Im using ffmpeg to fragment a save in different file names. like this ffmpeg -i input.mp4 -map 0 -c copy -f segment -segment_time 600 output_%03d.mp4. The problem is that is the video source is lose or if i cancel the ffmpeg command in cant reproduce the current file. Is possible to add a flag than even with ffmpeg error the video file can be view?
[16:27:25 CEST] <kepstin> lordarkmemo: use a different format instead of mp4 as the output - try mkv.
[16:28:32 CEST] <lordarkmemo> kepstin: ok, but my video source is a video camera, that have default mp4. I want to avoid transcoding.
[16:28:46 CEST] <lordarkmemo> kepstin: but why mkv?,
[16:29:03 CEST] <kepstin> mkv doesn't have the issue where a file that's only partially written can't be played
[16:29:12 CEST] <lordarkmemo> kepstin: ok
[16:29:23 CEST] <kepstin> no transcoding needed, it will work fine with -c copy
[16:31:02 CEST] <lordarkmemo> kepstin: ok perfect. So this way ffmpeg -i input.mp4 -map 0 -c copy -f segment -segment_time 600 output_%03d.mkv
[17:38:16 CEST] <lordarkmemo> kepstin: thank you, it works!
[17:38:39 CEST] <lordarkmemo> kepstin: mkv is as efficient as mp4 regarding compression?
[17:39:22 CEST] <DHE> it's a container, not a codec
[17:39:30 CEST] <DHE> the difference will be maybe a percentage
[17:45:28 CEST] <lordarkmemo> DHE: thank you
[18:37:43 CEST] <Atlenohen> Hello
[18:38:21 CEST] <Atlenohen> Does ffmpeg have some kind of filter or analysis that detects amount of change from frame to frame?
[18:38:33 CEST] <Atlenohen> that one could use as a condition?
[00:00:00 CEST] --- Fri Oct 18 2019
1
0
[00:00:24 CEST] <cone-707> ffmpeg 03Guo, Yejun 07master:b78dc27bba2c: avfilter/dnn: add DLT prefix for enum DNNLayerType to avoid potential conflicts
[00:00:25 CEST] <cone-707> ffmpeg 03Guo, Yejun 07master:3fd5ac7e9204: avfilter/dnn: unify the layer execution function in native mode
[00:00:25 CEST] <cone-707> ffmpeg 03Guo, Yejun 07master:2558e62713eb: avfilter/dnn: unify the layer load function in native mode
[01:00:43 CEST] <cone-707> ffmpeg 03Paul B Mahol 07master:29dac2927f5f: avfilter/af_afade: make sure that in is available
[07:08:28 CEST] <cone-015> ffmpeg 03Andriy Gelman 07master:e14f5fd0a698: avformat/chromaprint: Fix writing raw fingerprint
[11:58:44 CEST] <JEEB> can someone explain me the logic behind having multiple languages exported for dvb_teletext AVStreams in mpegts?
[11:59:09 CEST] <JEEB> I mean, I understand it's meant to map against languages in the descriptor, but how is an API user supposed to actually utilize that?
[11:59:31 CEST] <JEEB> everything starting with ffmpeg.c seems to just fail with it, passing the - say - "dut,dut" right through
[11:59:56 CEST] <JEEB> if the logic for this is documented somewhere I'd love to read/hear it
[12:18:47 CEST] <JEEB> or well, they have one use I guess: stream selection. after that they start getting rather useless since you cannot effectively match languages to page numbers without having access to the descriptor itself
[12:20:57 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:64a805883d72: avfilter/vf_gblur: fix heap-buffer overflow
[12:21:01 CEST] <JEEB> ok, it does add some stuff to extradata
[12:22:19 CEST] <JEEB> so you're supposed to parse opaque bytes from extradata and match that against the comma-delimited language codes (which technically I think in FFmpeg are valid? but nothing properly strips multiple values out in the middle)
[12:23:40 CEST] <JEEB> ok, scrolling lower to the dvb subtitle one that's kind of similar
[12:39:30 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:b20dee813a5c: avfilter/vsrc_testsrc: rgbtestsrc: fix undefined behaviour
[13:20:03 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:c3985c0ea88f: avfilter/vf_atadenoise: compensate for small overall brightness loss
[14:45:38 CEST] <termos> ugh I sent a small patch but included both the .patch and the base64 encoded version in the email. I see now that it's an error to do this and the patch won't show up? at least not in patchwork
[15:16:35 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:b0bfa3699c7c: avfilter: add arnndn filter
[16:28:48 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:1a0c584abc97: avfilter/f_reverse: fix memory leaks
[17:02:44 CEST] <BtbN> Is Suhwan a bot?
[17:04:14 CEST] <durandal_1707> BtbN: very smart bot
[17:05:17 CEST] <JEEB> if it's actual issues, <3
[17:05:29 CEST] <JEEB> props etc to the guy
[17:08:04 CEST] <nevcairiel> smart bot, perhaps, smart developer, the jury is out, or he wouldnt blame generic allocation functions for mem leaks
[17:46:52 CEST] <mkver> durandal_1707: af_arnndn.c breaks the source fate test.
[17:58:24 CEST] <durandal_1707> mkver: that fate test is bad and evil and ill
[18:04:56 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:926221ef84ec: avcodec/apedec: Check error flag after entropy_decode*
[18:04:57 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:7b94b22261c2: avcodec/apedec: Check remaining space in decode_array_0000()
[18:10:29 CEST] <Lynne> looks like someone spoke too early about Suwan
[18:12:12 CEST] <mkver> What do you mean?
[18:14:15 CEST] <Lynne> overflows and left shifts of negative values, in dsp code
[18:15:06 CEST] <nevcairiel> the last one at least is not dsp
[18:28:33 CEST] <BBB> Lynne: omg we all know overflow and leftshift of negative value means I've got your credit card details etc.
[18:28:50 CEST] <BBB> </troll>
[18:29:09 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:932913f0b406: avfilter/vf_edgedetect: fix undefined behaviour
[18:29:10 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:4fe4772a584a: avfilter/vf_colorchannelmixer: do not use pointer if there is no alpha
[18:29:11 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:71bceb06e69c: avfilter/avf_abitscope: fix undefined behaviour
[18:29:12 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:98ae6b0a4d6d: vafilter/af_replaygain: fix undefined behaviour
[18:37:54 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:e831f60100a0: fate/source: add libavfilter/af_arnndn.c
[19:21:32 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:4f4ca675e597: swscale/output: Implement Luma computation from yuv2ya16_X_c_template() without 64bit
[19:21:33 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:3e6682931b48: swscale/output: Correct Alpha in yuv2ya16_X_c_template()
[19:21:34 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:d26062108976: swscale/output: Avoid 64bit in Alpha in yuv2ya16_X_c_template()
[19:21:35 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:cf7f35ace58e: tools/target_dec_fuzzer: Adjust threshold for MSZH
[19:21:36 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:ea770eb55941: avformat/shortendec: Check k in probe
[19:21:37 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:e7113704b2ae: avcodec/cavsdec: Check remaining bitstream in the main loop in decode_pic()
[19:21:38 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:9e32c4710225: tools/target_dec_fuzzer: Adjust threshold for SCPR
[19:21:39 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:1d3f7e6a7289: tools/target_dec_fuzzer: Adjust threshold for EATGV
[19:21:40 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:5ce3c9eadcfc: avcodec/smacker: cleanup on errors in smka_decode_frame()
[19:21:41 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:8695fbec573b: avcodec/adpcm: Fix left shifts in AV_CODEC_ID_ADPCM_EA
[19:21:42 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:ca3d8b471f1b: avcodec/aacdec_template: Check decode_extension_payload() for failure
[19:21:43 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:2b93f52cd635: avcodec/lsp: Fix undefined shifts in lsp2poly()
[19:21:44 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:6a4fdbf11238: avcodec/g729postfilter: Fix undefined shifts
[19:21:45 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:0c61661a2cbe: avcodec/g729postfilter: Fix undefined intermediate pointers
[19:21:46 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:5c072c9ed7c6: avcodec/apedec: Fix integer overflow in predictor_update_3930()
[19:21:47 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:07732f12a43a: avcodec/g723_1dec: Fix overflow in shift
[19:21:48 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:2f66e8436d89: avcodec/adpcm: Check initial predictor for ADPCM_IMA_EA_EACS
[19:21:49 CEST] <cone-015> ffmpeg 03Michael Niedermayer 07master:c70d547751cb: avcodec/sbcdec: Fix integer overflows in sbc_synthesize_eight()
[19:30:24 CEST] <cone-015> ffmpeg 03Paul B Mahol 07master:1e35519fe0b8: avfilter/vf_gblur: fix undefined behaviour
[23:25:23 CEST] <durandal_1707> what happened with fake new chain layout vapourware work?
[23:25:37 CEST] <durandal_1707> s/chain/channels
[23:26:02 CEST] <jamrial> the patchset is still in the ml
[23:26:57 CEST] <durandal_1707> jamrial: i'm talking about sponsored work that was given to someone else
[23:27:07 CEST] <jamrial> ah, no idea
[23:27:23 CEST] <jamrial> i thought you were talking about koda's work
[23:28:16 CEST] <durandal_1707> koda work is abandoned, but they claim it was taken again, lies, filty lies
[23:29:43 CEST] <Lynne> google?
[23:30:19 CEST] <durandal_1707> evil.
[00:00:00 CEST] --- Thu Oct 17 2019
1
0
[00:26:28 CEST] <ChrisJW> BtbN, you are correct I'm using nvdec. Thanks for the help. I'll try to create the context myself in this way
[00:58:54 CEST] <ChrisJW> Thanks BtbN, I am making some progress
[01:09:41 CEST] <furq> does the input bit depth make any difference to the aac encoder
[01:10:07 CEST] <furq> i.e. do i need to bother converting to 16-bit before encoding
[01:18:02 CEST] <cehoyos> The native aac encoder only accepts floats, so converting to "16-bit" will not help...
[01:18:38 CEST] <cehoyos> (libfdk requires converting to 16-bit)
[01:21:28 CEST] <furq> i know they both work
[01:21:41 CEST] <furq> they give different outputs so presumably one is better
[01:31:24 CEST] <cehoyos> Not sure I understand: libfdk is known as being the superior aac encoder (although not gpl-compatible) but this is not related to a 16-bit conversion...
[01:33:40 CEST] <furq> i meant the builtin aac encoder gives different output with 24-bit and 16-bit input
[01:34:59 CEST] <furq> specifically the qavg it prints when it's done is like 25% different
[01:35:07 CEST] <furq> unfortunately i don't know what that actually means
[01:35:07 CEST] <cehoyos> The builtin aac encoder does not work for 24-bit and does not work for 16-bit input
[01:35:24 CEST] <furq> yeah i'm sure it's being converted to fltp beforehand
[01:35:40 CEST] <cehoyos> But not by the aac encoder (and not by libavcodec)
[01:36:27 CEST] <cehoyos> If you first convert your 24-bit input to 16-bit before it gets converted to floats, I would assume that this hurts quality
[01:36:41 CEST] <cehoyos> (If it does not, I suspect this would indicate an encoder bug)
[01:38:04 CEST] <furq> they sound identical which is no surprise because the source files also sound identical to me
[01:38:23 CEST] <furq> i assume qavg is some kind of complexity metric, in which case i assume lower is better with constrained bitrate
[01:38:30 CEST] <furq> but it's not documented anywhere
[01:40:12 CEST] <furq> i know conventional wisdom with lame is to convert to 16-bit first, but i also know how much digital av conventional wisdom is "PhAZeR_666 posted it on doom9 in 2005"
[01:40:13 CEST] <cehoyos> You should not do more conversion steps than necessary and you should not throw away information before converting to float.
[01:41:05 CEST] <cehoyos> lame accepts floats, int16 and int32, I don't remember which of those will be converted internally by lame
[10:09:21 CEST] <amosbird> Hello, why do I get this error [mjpeg @ 0x561d9c2a2900] unable to decode APP fields: Invalid data found when processing input
[10:09:29 CEST] <amosbird> when doing /usr/bin/ffmpeg -f v4l2 -input_format mjpeg -i /dev/video0 -c:v copy -f rtsp -muxdelay 0.1 rtsp://localhost:5545/cam
[10:09:53 CEST] <amosbird> the webcam output like this https://la.wentropy.com/CpKd.png
[14:26:43 CEST] <match_it> hi everybody. I'm playng with ffmpeg and nginx. I'm producing an .avi file with a streaming hls source overlapping the video with a logo.png image. I'm trying to do the same with -f flv rtmp: output but the result is a completely BLACK VIDEO. Any idea ?
[14:28:22 CEST] <match_it> practically "seems" that -filter_complex option works fine just if the destination is a file on a disk and not an HLS output
[14:51:39 CEST] <th3_v0ice> I have two files. One is TS file recorded from antenna, the other is MP4 converted to TS. When I encode them using the API, in case of antenna TS audio encoder is reseting the timestamps, in case of MP4 -> TS, its not touching the timestamps. What is happening here?
[15:05:09 CEST] <OnkelTem> Hi all. I'm trying to convert an mp3 into m3u8 list with 10 seconds segment, but VLC doesn't play anything and prints error: adaptive demux error: Failed to create demuxer (nil) Unknown
[15:05:13 CEST] <OnkelTem> The command I used was:
[15:05:49 CEST] <OnkelTem> ffmpeg -i music_29.mp3 -vn -c:a mp3 -hls_time 10 -hls_segment_type fmp4 -hls_flags append_list -f hls playlist/mp3mp4/list.m3u8
[15:06:22 CEST] <OnkelTem> it created 5 files in the target dir: init.mp4, list.m3u8, list[0-2].m4s
[15:08:52 CEST] <OnkelTem> What do I wrong?
[16:18:21 CEST] <th3_v0ice> Is there a way for aac encoder to preserve the timestamps?
[16:32:31 CEST] <BtbN> Encoders are not overly concerned with timestamps, and merely pass them through most of the time
[16:38:39 CEST] <DHE> especially for audio codecs which don't tend to reorder to even buffer much and require fixed input frame sizes
[16:52:11 CEST] <th3_v0ice> Error was in my code. Thanks for this info. I was resetting it to 0.
[18:10:35 CEST] <lyncher> hi. is it possible to use ffmpeg to add ID3 metadata to a MPEG-TS file?
[18:11:35 CEST] <lyncher> when using -metadata with a mp4 file, the metadata is added
[21:53:47 CEST] <ironm> Hello. Is it possible using ffmpeg to combine four FullHD/50fps mp4 video clips into one 4K/50fp mp4 output mp4 file? (just showing in four windows the FullHD clips in parallel)
[21:54:33 CEST] <JEEB> yes. there's a video filter or filters for that. (since I remember there being one for vertical and another for horizontal
[21:56:10 CEST] <durandal_1707> see stack filters
[21:56:30 CEST] <JEEB> right, those were the ones
[21:56:30 CEST] <ironm> Hello JEEB, thank you for the hint. I will have to check the filter functionality. I have tried some utilities like obs-studio, mplaye/mencoder etc
[21:56:40 CEST] <JEEB> I didn't remember the word used :)
[21:56:46 CEST] <JEEB> so hstack/vstack I think?
[21:56:50 CEST] <JEEB> horizontal|vertical
[21:56:52 CEST] <ironm> thank you durandal_1707
[21:57:00 CEST] <JEEB> oh there's even https://www.ffmpeg.org/ffmpeg-all.html#xstack
[21:57:01 CEST] <JEEB> now
[21:57:07 CEST] <JEEB> see the examples, I guess?
[21:57:22 CEST] <ironm> JEEB, thanks a lot, I will check the syntax
[21:57:45 CEST] <ironm> JEEB, great, I will check them asap
[21:59:13 CEST] <durandal_1707> see wiki about xstack
[21:59:22 CEST] <ironm> JEEB, another function I look for is to put two FullDH clips on different layers and to show them at once
[21:59:36 CEST] <ironm> great, thanks a lot durandal_1707
[22:00:19 CEST] <durandal_1707> http://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20inpu…
[22:00:29 CEST] <ironm> ffmpeg is quite comfortable to split long clip in parts
[22:00:52 CEST] <ironm> durandal_1707, tnx :-)
[22:02:12 CEST] <ironm> exactly like that: "Display 4 inputs into 2x2 grid."
[22:22:01 CEST] <ironm> one question more: I need an mp4 output and the codec does not need to change.I am bit curios about: "c:v libx264 -t '50' -f matroska output_col_2x2.mp4"
[22:22:23 CEST] <ironm> what are other options than "matroska" ?
[22:22:52 CEST] <durandal_1707> that can be freely changed to anything you want
[22:25:46 CEST] <JEEB> wat
[22:25:56 CEST] <JEEB> forcing format to matroska and using the .mp4 extension?
[22:26:52 CEST] <ironm> JEEB, I don't want to force format matroska
[22:27:26 CEST] <ironm> I will remove the "-f matroska" option
[22:28:15 CEST] <ironm> the format should be the same as the format of inpunt files (mp4 from GoPro7)
[22:28:29 CEST] <ironm> !paste
[22:34:07 CEST] <ironm> It looks like I miss something: http://paste.debian.net/1107515/
[22:34:48 CEST] <ironm> xstack.sh: 2: xstack.sh: -filter_complex: not found
[22:39:13 CEST] <durandal_1707> ironm: missing \
[22:39:38 CEST] <durandal_1707> on first line
[22:43:17 CEST] <ironm> durandal_1707, right, thank you very much :-)
[22:43:27 CEST] <ironm> I try now with: -map "[out]" -c:v copy -c:a copy output_col_2x2.mp4
[22:44:02 CEST] <ironm> ;-( ... Streamcopy requested for output stream 0:0, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.
[22:46:09 CEST] <durandal_1707> ironm: you can not stream copy and have mosaic files
[22:48:32 CEST] <ironm> durandal_1707, I wanted to take over the original format of all mp4 inputs (all of them have the same one)
[22:49:13 CEST] <durandal_1707> ironm: original format is already mp4
[22:55:24 CEST] <ironm> durandal_1707, yes, thank you. The output mp4 file (expected 360MBytes) has only 3.8MBytes - http://paste.debian.net/1107521/
[22:55:46 CEST] <ironm> It looks like I have to define 4K output
[22:56:28 CEST] <durandal_1707> ironm: i do not help with basic ffmpeg issues
[22:56:49 CEST] <ironm> durandal_1707, anyway, thank you very much
[22:57:26 CEST] <ironm> I have expected a default size ( 4 x FullDH = 4K )
[22:57:46 CEST] <ironm> because of for FullHD inputs
[22:57:50 CEST] <ironm> four
[22:58:11 CEST] <furq> then don't scale the inputs to qvga
[22:58:40 CEST] <ironm> a good hint! .. thank you
[23:00:05 CEST] <ironm> well, the syntax is new for me (xstack call)
[23:03:38 CEST] <durandal_1707> have you ever worked with ffmpeg?
[23:04:19 CEST] <ironm> durandal_1707, yes, I have splited long mp4 files unsing ffmpeg
[23:04:49 CEST] <ironm> normaly I use mplayer to display mp4 files
[23:05:14 CEST] <durandal_1707> mplayer is dead. do not use mplayer.
[23:05:16 CEST] <ironm> cool tool (ffmpeg)
[23:05:51 CEST] <ironm> durandal_1707, I can use another tool (if there are debian packages for it)
[23:06:41 CEST] <durandal_1707> debian packages are ultra old
[23:06:44 CEST] <pink_mist> durandal_1707: what do you mean "dead"? version 1.4 was released just a few months ago
[23:06:49 CEST] <durandal_1707> use mpv player
[23:06:55 CEST] <durandal_1707> mplayer is dead.
[23:07:01 CEST] <ironm> durandal_1707, thank you
[23:07:02 CEST] <pink_mist> latest version of mpv was released more than a year ago
[23:07:21 CEST] <durandal_1707> mpv have nightly versions
[23:07:21 CEST] <ironm> apt-get install mpv
[23:07:38 CEST] <durandal_1707> that will install pra historic version, avoid at all cost
[23:07:49 CEST] <ironm> mpv 0.29.1 Copyright © 2000-2018 mpv/MPlayer/mplayer2 projects
[23:07:57 CEST] <durandal_1707> yes, very old
[23:07:59 CEST] <pink_mist> yeah, that's the latest version of mpv
[23:08:06 CEST] <ironm> just debian
[23:08:25 CEST] <durandal_1707> no, latest version is : [cplayer] mpv 0.29.0-842-gf0f1387145 Copyright © 2000-2019 mpv/MPlayer/mplayer2 projects
[23:08:28 CEST] <durandal_1707> [cplayer] built on Tue Oct 15 18:51:18 CEST 2019
[23:08:53 CEST] <pink_mist> no, that's a nightly, not a released version
[23:09:04 CEST] <durandal_1707> use nightly all the time
[23:09:39 CEST] <durandal_1707> real users compile own software
[23:10:48 CEST] <durandal_1707> ironm: with mpv you can use all ffmpeg filters, with mplayer you can not.
[23:11:42 CEST] <ironm> durandal_1707, I will check mpv in detail.
[23:12:16 CEST] <ironm> at the moment I am guessing for possible values of the scale option
[23:12:33 CEST] <ironm> [0:v] setpts=PTS-STARTPTS, scale=1 [a0]; \
[23:12:52 CEST] <ironm> [AVFilterGraph @ 0x5568542d1ac0] Error initializing filter 'scale' with args '1'
[23:12:56 CEST] <durandal_1707> you do not need scale
[23:13:32 CEST] <durandal_1707> and setpts only if you need all timestamps to start from 0 when mosaicing video
[23:14:38 CEST] <ironm> durandal_1707, I try to follow what you say. What would be the correct syntax of the line? .. " [0:v] setpts=PTS-STARTPTS, scale=false [a0]; \"
[23:14:55 CEST] <durandal_1707> just remove scale REMOVE SCALE
[23:15:12 CEST] <durandal_1707> and , with it
[23:15:21 CEST] <ironm> durandal_1707, I did it before, but then I have got another error message
[23:15:46 CEST] <durandal_1707> this is all basic ffmpeg usages issues, that complete ffmpeg novice get
[23:16:28 CEST] <durandal_1707> just: [0:v] setpts=PTS-STARTPTS[a0];
[23:16:38 CEST] <ironm> durandal_1707, that is a question of the syntax consistency
[23:16:51 CEST] <durandal_1707> huh?
[23:17:01 CEST] <ironm> exactly, I did it just and it is ongoing now
[23:17:38 CEST] <ironm> durandal_1707, with the consistency I mean scale=1 (otr scale=false etc.)
[23:17:50 CEST] <durandal_1707> no, that is nonsense
[23:18:12 CEST] <durandal_1707> ffmpeg -h filter=scale
[23:18:14 CEST] <ironm> durandal_1707, now it looks fine: Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 3840x2160 [SAR 1:1 DAR 16:9], q=-1--1, 50 fps, 12800 tbn, 50 tbc (default)
[23:18:19 CEST] <durandal_1707> see its options
[23:18:49 CEST] <ironm> durandal_1707, thanks a lot for all hints hints
[23:21:27 CEST] <ironm> durandal_1707, somehow the mp4 output is two times smaller all four mp4 input files
[23:22:31 CEST] <durandal_1707> ironm: use higher bitrate, again ffmpeg basic
[23:22:43 CEST] <durandal_1707> read some ffmpeg book first
[23:23:32 CEST] <ironm> durandal_1707, yes, I will do. Thanks a lot
[23:23:50 CEST] <durandal_1707> or use relatively small scale factor
[23:24:00 CEST] <ironm> I will check different options and play with them a bit
[23:24:33 CEST] <ironm> well, I don't need to scale ( 4 x FullHD = 1 x 4K )
[23:24:44 CEST] <ironm> it is fine for me
[23:25:55 CEST] <ironm> I am only a bit curious about the smaller size, as I did not expect any compression (only 1 to 1 copyof all inputs)
[23:26:05 CEST] <durandal_1707> ironm: QUALITY scale, not video scale
[23:26:18 CEST] <ironm> OMM
[23:26:44 CEST] <ironm> I need to read more about ffmpeg
[23:27:12 CEST] <kepstin> ironm: output bitrate has nothing to do with input bitrate. you have to pick the output quality or bitrate setting, if you don't specify then it uses some arbitrary defaults
[23:29:06 CEST] <ironm> kepstin, thank you. I thought the 50fps from all FullHD inputs will end in 50fps in the output file
[23:29:19 CEST] <ironm> the 4K output file
[23:29:22 CEST] <kepstin> it should unless you have timestamp sync issues
[23:29:35 CEST] <ironm> kepstin, a good question
[23:29:35 CEST] <kepstin> that's *another* thing different from bitrate
[23:29:59 CEST] <kepstin> framerate, resolution, and final output size are all controlled separately
[23:31:16 CEST] <durandal_1707> ironm: make sure your videos are constant frame rate and not variable frame rate
[23:31:43 CEST] <ironm> kepstin, my current xstack.sh (ffmpeg) - http://paste.debian.net/1107527/
[23:32:13 CEST] <kepstin> if the inputs are not consistent and you want the output to be, then the easiest fix is to run an fps filter separately on each input before stacking them
[23:32:15 CEST] <ironm> probably I don't need to set: "setpts=PTS-STARTPTS"
[23:32:41 CEST] <ironm> kepstin, alle inputs are from GoPro 7 hero balck
[23:32:45 CEST] <ironm> black
[23:33:00 CEST] <ironm> and all are set to FullHD 50fps
[23:33:08 CEST] <ironm> linear mode
[23:34:11 CEST] <ironm> 4K 60fps offers only the wide mode. The internal CPU of GoPro7 is not fast enough for 4K)
[23:34:25 CEST] <durandal_1707> you could run: ffmpeg -i one_of_input_videos -vf vfrdet -f null -
[23:34:38 CEST] <durandal_1707> it will report how clean are timestamps
[23:35:05 CEST] <ironm> durandal_1707, thanks a lot, I will check it
[23:35:54 CEST] <ironm> [Parsed_vfrdet_0 @ 0x55bdf4b57a00] VFR:0.000000 (0/849)
[23:36:30 CEST] <durandal_1707> perfect
[23:37:02 CEST] <ironm> durandal_1707, I will check it for all input files
[23:39:59 CEST] <ironm> all of input files have like: VFR:0.000000 (0/749)
[23:40:23 CEST] <durandal_1707> huh, they should have same duration, number of frames?
[23:41:01 CEST] <ironm> durandal_1707, well, there are two pairs ... 15 and 17 seconds long
[23:41:13 CEST] <ironm> that is ok
[23:41:58 CEST] <durandal_1707> so why you think output is not 50fps ?
[23:43:30 CEST] <ironm> durandal_1707, because the size of the output file is two time smaller than the sum of all mp4 inputs
[23:43:42 CEST] <ironm> but the output has 50fps
[23:43:45 CEST] <ironm> VIDEO: [H264] 3840x2160 24bpp 50.000 fps 92163.6 kbps (11250.4 kbyte/s)
[23:45:12 CEST] <durandal_1707> ironm: please study: http://trac.ffmpeg.org/wiki/Encode/H.264
[23:45:15 CEST] <kepstin> video resolution (picture size), framerate, and bitrate (output file size) are all *completely unrelated*
[23:45:41 CEST] <ironm> strange, I see 50fps in the mplayer output, but it is going on like slow motion
[23:45:44 CEST] <kepstin> well, aside from that it's hard to tell x264 to make a really big video if the picture size and framerate are small
[23:46:40 CEST] <durandal_1707> ironm: make sure your machine can actually play 4k 50fps in real time
[23:46:56 CEST] <ironm> kepstin, thanks a lot. I am quite new to the usage of ffmpeg to prepare 4K mp4 files (using FullHD mp4 inputs)
[23:47:13 CEST] <kepstin> yeah, that's most likely the problem. Note that if you use mpv rather than mplayer, it supports using hardware decoders (if you have one, and it can do 4k...)
[23:47:50 CEST] <ironm> durandal_1707, exactly. It is a xeon cpu with 32GBytes of DDR3 (rather slow compare to DDR4)
[23:48:17 CEST] <ironm> kepstin, I will try mpv now
[23:49:10 CEST] <kepstin> "xeon cpu" means nothing, and ram is not usually the limiting factor in video encoding or decoding speed.
[23:49:17 CEST] <ironm> kepstin, YES, mpv is running with normal speed
[23:49:50 CEST] <ironm> Well, it is GT1050 passive graphic card
[23:50:10 CEST] <kepstin> alright, so *that* makes a difference.
[23:50:23 CEST] <ironm> kepstin, a BIG difference
[23:50:28 CEST] <kepstin> 1050 has a reasonably competent hw encoder and decoder
[23:50:54 CEST] <kepstin> (although i don't think mpv will use it by default, your improvement's most likely just due to bug fixes and a more efficient video out)
[23:50:56 CEST] <BtbN> Isn't the encoder disabled on the GTs?
[23:51:02 CEST] <ironm> mplayer seems not to support them (looks like)
[23:51:04 CEST] <BtbN> Never checked on the latest ones
[23:51:06 CEST] <kepstin> 1050 is only a GTX card
[23:51:11 CEST] <kepstin> GT 1030 has not hw encoder
[23:51:17 CEST] <kepstin> has no*
[23:51:24 CEST] <BtbN> oh, yeah. Was about to say, GT1050 sounds strange
[23:51:40 CEST] <kepstin> gt 1030 still has the hw decoder tho, that works fine
[23:54:21 CEST] <ironm> kepstin, sorry, it is: Palit GeForce GTX 1050 Ti KalmX (4GB, Midrange)
[23:54:38 CEST] <ironm> BtbN, Hi, ^^^^
[23:57:49 CEST] <ironm> kepstin, mpv seems to be the better option than mplayer
[00:00:00 CEST] --- Thu Oct 17 2019
1
0