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
November 2019
- 1 participants
- 60 discussions
[01:33:53 CET] <kierank> Lynne: did you come to vdd
[02:32:30 CET] <taliho> evening
[02:33:29 CET] <taliho> working on a patch.. have a quick question
[02:34:19 CET] <taliho> is an encoder allowed to change avctx->pix_fmt during initialization
[02:34:31 CET] <taliho> i.e. when calling the .init function of the encoder
[02:43:52 CET] <cone-815> ffmpeg 03James Zern 07master:a6be42a73313: avcodec/libvpxdec.c,cosmetics: bpp -> bpc
[02:50:06 CET] <cone-815> ffmpeg 03James Zern 07master:a605e9ad1e12: avcodec/libvpxenc,cosmetics: fix a typo
[02:51:55 CET] <taliho> doesn't look that's allowed
[03:29:01 CET] <cone-815> ffmpeg 03Steven Liu 07master:bb190ded678a: avformat/mlvdec:drop unnecessary check before ff_format_io_close
[03:46:46 CET] <kierank> ok so yes hevc doesn't have pic struct side data
[03:47:14 CET] <JEEB> right
[03:47:27 CET] <JEEB> so we need to implement/stick in the parser
[03:47:31 CET] <JEEB> and then pass the metadata
[03:47:48 CET] <JEEB> I would guess this is due to the general E_NO_CARE with regards to HEVC
[03:50:09 CET] <kierank> yes
[09:48:27 CET] <kierank> https://www.linkedin.com/in/kieran-kunhya-73442919/detail/recent-activity/s…
[09:48:38 CET] <kierank> https://www.linkedin.com/posts/kieran-kunhya-73442919_av1-vdd2019-activity-…
[12:04:17 CET] <kurosu> Is there more details about the ffmpeg meeting. Sure IRC was mentioned, but I hoped for at least a live audio feed
[13:16:51 CET] <durandal_1707> kurosu: special irc channel or?
[14:12:02 CET] <kurosu> durandal_1707: don't know, just the mail j-b sent
[14:18:10 CET] <jamrial> that meeting is at like 3am for me. going to need a lot of coffee :p
[14:29:30 CET] <taliho> :jamrial are you on east coast?
[14:31:08 CET] <jamrial> no, two times zones to the east from that
[14:35:28 CET] <taliho> ok
[14:56:49 CET] <kurosu> jamrial: would have been perfect for me except it'll just extend my jet lag
[17:10:56 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:8802e329c831: avcodec/snowenc: Fix 2 undefined shifts
[17:10:56 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:55279d699fa6: avcodec/snowenc: Set mb_num to avoid ratecontrol floating point divisions by 0.0
[17:10:56 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:114ddf64300f: avformat/vividas: Fix n_sb_blocks Check
[17:10:56 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:859362a6f01d: avcodec/pafvideo: Only clear frame when it was written to
[17:10:56 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:07519f363bbd: avcodec/hqx: Check the input data against the image size
[17:10:57 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:de1d3b0925b7: tools/target_dec_fuzzer: Adjust threshold for smacker
[17:10:57 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:947732c56d56: avcodec/vc1_block: Check for end of bitstream at the top of vc1_decode_i_blocks_adv()
[17:10:58 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:2a8785966ca1: avcodec/vc1_block: Check input in the block decode loops
[17:10:58 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:03ea8d8cd45e: avcodec/dstdec: Check read_table() for failure
[17:10:59 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:0c3e1b395b47: avcodec/dstdec: Check that AC probabilities are within range
[17:11:00 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:14d3384cf31a: avformat/flvenc: Check pts for mpeg4/h264 (which need the value)
[17:11:01 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:1d1719a44dd4: avcodec/apedec: Fix undefined integer overflow in long_filter_ehigh_3830()
[17:11:02 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:df498cf544fd: avcodec/ffv1dec: Use a different error message for the slice level CRC
[17:11:03 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:17603094d57f: avcodec/rasc: Check input size in decode_fint()
[17:11:04 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:20fad712474f: avcodec/decode: Also consider channels in max_samples check
[17:11:05 CET] <cone-378> ffmpeg 03Michael Niedermayer 07master:d6fea2ef221a: avutil/lfg: Document the AVLFG struct
[20:29:18 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:be78999266cd: avcodec/atrac3plusdec: add FF_CODEC_CAP_INIT_CLEANUP
[20:29:18 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:1c038c5c6337: avcodec/apedec: Fix integer overflow in filter_3800()
[20:29:18 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:32b3c8ce7d05: avcodec/iff: Check available space before entering loop in decode_long_vertical_delta2() / decode_long_vertical_delta()
[20:29:19 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:9ea997395909: avcodec/xsubdec: fix overflow in alpha handling
[20:29:19 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:55c97a763783: avcodec/wmavoice: Check sample_rate
[20:29:19 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:de5102fd92de: avcodec/atrac3plus: Check split point in fill mode 3
[20:29:19 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:57750bb629a1: avcodec/cook: Check samples_per_channel earlier
[20:29:19 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:50001cd440ac: avcodec/cook: Enlarge gain table
[20:29:20 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:97f778e9c553: avcodec/twinvq: Check block_align
[20:29:21 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:00e469fb6123: avcodec/sbcdec: Fix integer overflows in sbc_synthesize_four()
[20:29:22 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:1c63edcdd208: avcodec/cook: Move up and extend block_align check
[20:29:23 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:7786f6c30e77: avcodec/adpcm: Fix undefined behavior with negative predictions in IMA OKI
[20:29:24 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:10eabb8e40df: avcodec/interplayacm: Fix overflow of last unused value
[20:29:25 CET] <cone-337> ffmpeg 03Michael Niedermayer 07master:0f89a2293ea5: avcodec/wmaprodec: get frame during frame decode
[00:00:00 CET] --- Sun Nov 10 2019
1
0
[03:55:49 CET] <aleksandrdvorkin> my makefile for kodi complains about error undefined reference to _atomic_store_8
[03:57:27 CET] <aleksandrdvorkin> it says to add set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -latomic")
[03:57:47 CET] <aleksandrdvorkin> which file do i add this line to
[03:58:13 CET] <JEEB> that's cmake, not utilized by FFmpeg's build system
[03:58:31 CET] <JEEB> also that's C++, of which there's like one or so module so that sounds all weird
[03:59:20 CET] <JEEB> I would recommend poking the kodi people because if something is recommending cmake changes then that's no longer normal FFmpeg?
[04:01:39 CET] <Ellenor> cmake is a troll
[04:13:03 CET] <taliho> aleksandrdvorkin: you could just try
[04:13:32 CET] <taliho> cmake .. -DCMAKE_CXX_FLAGS=-latomic
[04:15:06 CET] <aleksandrdvorkin> ok
[04:19:35 CET] <aleksandrdvorkin> taliho
[04:19:42 CET] <aleksandrdvorkin> so the entire command would be
[04:21:18 CET] <aleksandrdvorkin> cmake .. -DCMAKE_CXX_FLAGS=-latomic -DENABLE_INTERNAL-FLATBUFFERS=1 -DENABLE_INTERNAL_FMT=1 -DENABLE_INTERNAL_RapidJSON=1
[04:21:20 CET] <aleksandrdvorkin> ?
[04:23:54 CET] <taliho> you could try it
[04:26:34 CET] <aleksandrdvorkin> OK Because almost at 100% of the make install it complains about atomic_load_8 and atomic_store_8 error
[04:27:49 CET] <aleksandrdvorkin> i installed libatomic-ops-dev library but it still complains
[04:29:20 CET] <aleksandrdvorkin> then i read somewhere that a line set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -latomic"} can be added i supose to the makefile
[04:29:32 CET] <aleksandrdvorkin> but make file complains about missing seperator
[04:30:03 CET] <aleksandrdvorkin> maybe there is an error in that set command
[04:30:31 CET] <pink_mist> this is really not an ffmpeg issue, you should really take it up with the actual authors of the actual software you're having problems with
[04:30:44 CET] <taliho> is there a github page? i'll have a look at CMakeLists.txt
[04:31:48 CET] <aleksandrdvorkin> i am building now with -DCMAKE_CXX_FLAGS=-latomic option ALL OVER AGAIN
[04:32:40 CET] <aleksandrdvorkin> taliho you want to look at my CMakeLists.txt?
[04:33:47 CET] <aleksandrdvorkin> wait i ll look for the github page from which i install
[04:34:13 CET] <aleksandrdvorkin> https://github.com/xbmc/xbmc/blob/master/docs/README.RaspberryPi.md
[05:11:28 CET] <Skaface82> hey im trying to transcode a video, I want it to keep only the parts that contain motion and chop out the motionless parts, to make the video shorter in length. I have tried gt(scene,0.5) , decimate, and mpdecimate, but the videos always seem to have long sections of non-motion still in them. Any ideas?
[05:36:18 CET] <Atlenohen> [avi @ 00000208bc1cdb80] parser not found for codec ffv1, packets or times may be invalid.
[05:36:36 CET] <Atlenohen> so that means, ffprobe won't show accurate PTS for the packets/frames in an AVI ?
[05:37:04 CET] <Atlenohen> or FFV1 in general, i hope not
[06:37:50 CET] <Skaface82> i think ive figured out my problem
[10:45:31 CET] <mtcdood> I am unable to build ffmpeg with `--enable-libxml2` because it complains libxml-2.0 is not found by pkg-config
[10:45:54 CET] <mtcdood> `pkg-config --list-all` shows `libxml-2.0 libXML - libXML library version2.`
[10:46:20 CET] <mtcdood> I aparently am the only person on the Internet to have this problem according to Google so does anyone have any advice?
[10:52:54 CET] <mtcdood> `/usr/bin/ld: cannot find -llzma`
[10:53:02 CET] <mtcdood> the error configure gives is not helpful
[10:53:14 CET] <mtcdood> it found libxml2, it could not find liblzma
[11:51:56 CET] <mtcdood> "https protocol not found, recompile FFmpeg with openssl, gnutls or securetransport enabled."
[11:51:59 CET] <mtcdood> yeah uh
[11:52:06 CET] <mtcdood> that should be enabled by default
[11:52:12 CET] <mtcdood> I can't fathom why it's not
[12:14:48 CET] <mtcdood> the current snapshot of ffmpeg uses 100% CPU to copy a DASH stream to disk, and doesn't actually write anything to console or disk
[12:15:20 CET] <mtcdood> Unable to read to offset 'manifest.mpd' into segfault
[13:42:54 CET] <grill05> I'm getting errors when compiling ffmpeg git+libaom git. The error looks like this
[13:42:55 CET] <grill05> In file included from src/libavcodec/libaomdec.c:26:
[13:42:55 CET] <grill05> /usr/local/include/aom/aom_decoder.h:101:3: error: unknown type name 'cfg_options_t'
[13:42:55 CET] <grill05> 101 | cfg_options_t cfg; /**< Options defined per config attributes */
[13:43:25 CET] <grill05> libaom (re-)added a new config-file option. The compile error seems to be related to that.
[14:16:53 CET] <Atlenohen> Hello
[14:17:17 CET] <Atlenohen> how do I display just the PTS and timecode stuff with ffprobe?
[14:17:35 CET] <Atlenohen> I remember there was an option to only show certain elements of the [frame]
[14:18:14 CET] <Atlenohen> so I can compare just PTS, i need to figure out whether a CFR video has no changes, whether it's really CFR or some frames don't add up
[14:18:38 CET] <Atlenohen> Or can FFprobe do some calc to tell me that automatically?
[14:59:55 CET] <Lypheo> ffprobe foo.mkv -select_streams v -show_entries frame=pkt_pts_time -of csv=nk=1:p=0
[15:00:07 CET] <Lypheo> will output each frames PTS
[15:29:34 CET] <cpplearner> Guys, I just built FFmpeg with `--enable-shared`, but `ld` fails to find the installed libraries. If I run ffmpeg, it shows `ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory`.
[15:29:41 CET] <cpplearner> Any thoughts?
[15:31:29 CET] <cpplearner> Hmm, it tunes out that I had to manually add `LD_LIBRARY_PATH=/usr/local/lib ffmpeg` everytime I run ffmpeg. `/usr/loca/lib` isn
[15:31:35 CET] <cpplearner> 't the default library path?
[15:31:57 CET] <cpplearner> *`/usr/local/lib`
[15:47:56 CET] <DHE> that'll be an /etc/ld.so.conf thing, and run ldconfig once the install is done
[15:50:00 CET] <cpplearner> @DHE Thanks! That worked.
[16:44:46 CET] <Hello71> I don't think you really need to run ldconfig. iirc the cache doesn't cache negative entries
[16:44:59 CET] <Hello71> so if it's finding it in the wrong place, then you need ldconfig.
[19:04:48 CET] <jemius> what's the best way to get a high quality jpeg out of a video? If I take a single frame it naturally doesn't look good, as the eye has more time to examine the standing frame than in a video
[19:25:18 CET] <KombuchaKip> How do I retrieve the total number of frames in a given audio stream?
[19:26:12 CET] <KombuchaKip> Is that https://www.ffmpeg.org/doxygen/2.5/structAVStream.html#a4382c3064df1c9eb232… ?
[20:31:59 CET] <GenTooMan> how do you use frame counts in ffmpeg instead of times or is one stuck with time values only?
[21:07:05 CET] <CounterPillow> GenTooMan: modern codecs/containers do not work in a way where numbers of frames instead of timestamps would make any sense for seeking.
[22:51:14 CET] <alex```> Hi
[22:51:32 CET] <alex```> How to convert an mkv video to web?
[22:51:59 CET] <alex```> without loss or big size file
[22:52:23 CET] <alex```> I tried ffmpeg -i video.mkv out.webm
[22:52:42 CET] <alex```> but there is quality loss
[22:53:56 CET] <Reinhilde> -codec:v copy -codec:a copy
[22:54:04 CET] <Reinhilde> only works if it's vp8
[22:54:34 CET] <alex```> Reinhilde: what does `ffmpeg -i video.mkv out.webm`?
[22:54:49 CET] <alex```> compared to -codec
[22:55:17 CET] <jemius> re-encode, i supose
[22:55:28 CET] <alex```> does `-codec copy` is the same as `-codec:v copy -codec:a copy`?
[22:55:33 CET] <jemius> What does $ mediainfo file.mkv say ?
[22:55:51 CET] <Reinhilde> alex```: no
[22:55:58 CET] <Reinhilde> -codec without :v and :a is invalid now
[22:59:50 CET] <alex```> $ ffmpeg -i 2019-09-08_17:11:29.mkv -codec:v copy -codec:a copy out.webm
[22:59:57 CET] <alex```> # [webm @ 0x2139e40] Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
[22:59:57 CET] <alex```> Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
[23:00:52 CET] <fresheyeball> holy cow there is a channel for this
[23:01:17 CET] <Reinhilde> alex```: that's because you don't have the right codec in the source
[23:01:34 CET] <fresheyeball> so I need to demux a mpeg-2 transport stream
[23:01:38 CET] <fresheyeball> to extract klv data
[23:01:48 CET] <jemius> alex```, the error message is rather acurate. To solve you're problem, you have to transcode to a valid codec. If the quality is not good enough, you have to configure the goal-codec's parameters
[23:01:54 CET] <fresheyeball> ffmpeg -i Sample_Data.ts -map data-re -codec copy -f data out
[23:01:59 CET] <fresheyeball> this works, but make a binary file
[23:02:05 CET] <fresheyeball> and I need something I can read in Python
[23:02:12 CET] <alex```> I dont know very well ffmpeg
[23:02:19 CET] <alex```> how do I do that?
[23:02:45 CET] <fresheyeball> is there a way I can access this time synced data in a sane way? Perhaps the binary is plenty good, but I don't understand it?
[23:04:17 CET] <Mavrik> fresheyeball, well.. depends on what is that data I guess?
[23:05:17 CET] <fresheyeball> Mavrik: its UAV data in the MISB standard
[23:05:20 CET] <Mavrik> You're probably just getting a dump of whatever there is inside the raw stream
[23:05:36 CET] <jemius> alex```, http://wiki.webmproject.org/ffmpeg/vp9-encoding-guide
[23:06:10 CET] <fresheyeball> Mavrik: what do you recommend?
[23:06:38 CET] <Mavrik> Reading up on the MISB standard and figuring out how to read it in python? :)
[23:06:43 CET] <Mavrik> This isn't really an ffmpeg per se
[23:07:08 CET] <fresheyeball> Mavrik: well yes. But first step is get access to the data
[23:07:13 CET] <Mavrik> You've dumped the raw data someone shoved into the video, now you just need to parse it and it's not really a video thing.
[23:07:29 CET] <alex```> jemius: thanks
[23:07:34 CET] <fresheyeball> Mavrik: I see, you are saying I am getting what they put
[23:07:36 CET] <Mavrik> You need to consult the documentation on whatever generated that data :)
[23:07:45 CET] <Mavrik> Since it's really not a standard thing.
[23:07:48 CET] <alex```> jemius: how do I know the names of the codecs?
[23:07:54 CET] <fresheyeball> and it's on me to parse it, there isn't a clear way to get metadata in a specific format
[23:07:59 CET] <fresheyeball> its just whatever got shoved
[23:08:01 CET] <fresheyeball> correct?
[23:08:23 CET] <Mavrik> Yes, correct.
[23:08:25 CET] <alex```> for example 'libvpx-vp9', where does the name come from
[23:08:32 CET] <jemius> alex```, ffmpeg -codecs
[23:08:35 CET] <Mavrik> ffmpeg just dumped the raw data into your file without doing anything to it
[23:08:37 CET] <alex```> thanks
[23:09:03 CET] <jemius> No problem. That would be 39$. Dou you prefer paypal?
[23:09:05 CET] <Mavrik> So the next step would be to try to figure out from the UAV doc or whatever, what kind of data it se.
[23:09:09 CET] <fresheyeball> Mavrik: ok cool, well thank you
[23:09:16 CET] <Mavrik> If it's KLV, you need to look up the size of keys I guess
[23:09:25 CET] <Mavrik> And then start by breaking up the raw data into keys and values.
[23:09:55 CET] <Mavrik> But, as I said, we can't really help you because what you have is very specific to whatever generated the video :)
[23:10:08 CET] <alex```> jemius: and what does `ffmpeg -i in.mkv out.mkv`
[23:10:26 CET] <alex```> how the re-encoding format is choose
[23:11:11 CET] <jemius> alex```, there are certain defaults. Usually it uses h.264. Depends on the container. The manpage might tell you something about it
[23:12:28 CET] <alex```> mpv tells me this (no -codec specified)
[23:12:41 CET] <alex```> (+) Video --vid=1 (*) (vp9 1896x1033 60.000fps)
[23:12:45 CET] <alex```> (+) Audio --aid=1 (*) (opus 2ch 48000Hz)
[23:13:29 CET] <alex```> the loss quality is very visible
[23:13:46 CET] <alex```> https://github.com/alexherbo2/krabby-resources/tree/master/demos/download-3…
[23:13:59 CET] <jemius> You have to specify a codec to specify a quality I guess
[23:14:46 CET] <alex```> the .webm is a bit fuzzy
[23:14:57 CET] <alex```> compared to original mkv
[23:15:06 CET] <alex```> I regret to have recorded my video in mkv :(
[23:15:23 CET] <alex```> it was intended to be shared on a webpage
[23:16:44 CET] <alex```> jemius: https://krabby.netlify.com/#demos videos looks fuzzy to you?
[23:16:59 CET] <alex```> (it's webm here)
[23:17:07 CET] <ps-auxw> Since your mkv contains vp9 + opus, you should be able to remux it to webm without reencoding.
[23:17:31 CET] <ps-auxw> Or was that your output?
[23:17:33 CET] <alex```> mpv tells me for mkv
[23:17:34 CET] <alex```> (+) Video --vid=1 (*) (h264 1896x1033 60.000fps)
[23:17:40 CET] <alex```> (+) Audio --aid=1 (*) (vorbis 2ch 48000Hz)
[23:17:47 CET] <ps-auxw> Ah, yes, that won't work.
[23:17:51 CET] <alex```> :(
[23:18:01 CET] <jemius> alex```, looks fine to me. What's your bitrate?
[23:18:03 CET] <ps-auxw> You can increase quality by increasind the bitrate, but it will make the file bigger.
[23:19:19 CET] <alex```> it looks fine but compared the mkv is super net
[23:19:37 CET] <alex```> https://github.com/alexherbo2/krabby-resources/blob/master/demos/download-3…
[23:20:15 CET] <alex```> where do I see the bitrate
[23:21:00 CET] <jemius> alex```, did you even read the link I've send you?
[23:21:07 CET] <alex```> yes
[23:21:23 CET] <jemius> Then you specified the bitrate manually, didn't you?
[23:21:38 CET] <alex```> no
[23:21:54 CET] <alex```> ffmpeg -i 2019-09-08_17:11:29.mkv -codec:v libvpx-vp9 -codec:a libopus out.webm
[23:22:33 CET] <jemius> When you're on linux you can look up the bitrate with the program mediainfo
[23:22:42 CET] <alex```> I was afraid to use flags I was not sure their effect
[23:23:15 CET] <jemius> ffmpeg never changes the input files. Toy around by increasing the bitrate
[23:36:46 CET] <mrkotfw> Hello everyone
[23:36:55 CET] <alex```> yo
[23:37:26 CET] <mrkotfw> I have: "Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, progressive), 720x480 [SAR 32:27 DAR 16:9], 8000 kb/s, 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc"
[23:37:36 CET] <mrkotfw> And a "Stream #0:6[0x22]: Subtitle: dvd_subtitle" stream
[23:37:48 CET] <mrkotfw> I'm attempting to overlay the subtitles onto the video stream
[23:38:04 CET] <alex```> jemius: thanks for mediainfo
[23:38:38 CET] <mrkotfw> Here is what I have: ffmpeg -analyzeduration 1000000k -probesize 1000000k -i MyMovie.vob -filter_complex "[0:v]copy[inv];[inv][0:s]overlay[outv]" -map "[outv]" -map 0:a:0 -c:a copy -t 00:00:30 -f dvd -y out.mp4
[23:38:49 CET] <mrkotfw> It works just fine, however the video quality is horrendous
[23:39:25 CET] <mrkotfw> And I don't understand why. Isn't the "copy" command simply copying exactly the video and simply overlaying?
[23:43:42 CET] <jemius> mrkotfw, -c:a copy means that only the audio stream is copied. You're filtering, therefore the video frames have to be reencoded
[23:44:16 CET] <DHE> there is a 'copy' filter but it's supposed to do nothing, effectively renaming [0:v] to [inv] for no useful reason
[23:48:32 CET] <mrkotfw> jemius: Understood. Is then there a way to re-encode according to whatever the video stream is?
[23:48:43 CET] <mrkotfw> DHE: I guess that's why the documentation says it's useful for testing
[23:49:31 CET] <mrkotfw> Do I need to somehow "configure" the subtitle stream and then pass that onto the overlay?
[23:52:15 CET] <DHE> well `overlay` requires a video stream. I think you want this instead: https://ffmpeg.org/ffmpeg-filters.html#subtitles-1
[00:00:00 CET] --- Sun Nov 10 2019
1
0
[04:57:59 CET] <cone-335> ffmpeg 03Jun Zhao 07master:bbf061c7ca39: lavf/hls: fix the log context setting in log message
[04:57:59 CET] <cone-335> ffmpeg 03Jun Zhao 07master:3dce89e55e4c: lavf/mov: add log context dump in log message
[04:57:59 CET] <cone-335> ffmpeg 03Jun Zhao 07master:d44c7235a809: lavf/flvenc: Cosmetics: fix indentation
[04:57:59 CET] <cone-335> ffmpeg 03Jun Zhao 07master:5307c12acbaf: lavf/hls: support probesize/max_analyze_duration when open sub-demuxer
[04:57:59 CET] <cone-335> ffmpeg 03Jun Zhao 07master:a23c8d75ec34: lavf/dashenc: enable probesize/max_analyze_duration setting in sub-demuxer
[04:57:59 CET] <cone-335> ffmpeg 03Jun Zhao 07master:e7000389905f: lavf/dashdec: drop unnecessary check before ff_format_io_close
[14:25:51 CET] <cone-505> ffmpeg 03Limin Wang 07master:81271b3cce3d: avfilter/f_metadata: remove unneeded code
[14:54:36 CET] <cone-505> ffmpeg 03Michael Niedermayer 07master:9802599ad0be: avformat/mxfdec: cleanup on "essence prior to first PartitionPack"
[15:55:40 CET] <cone-505> ffmpeg 03Guo, Yejun 07master:f6e942251c59: avfilter/vf_dnn_processing: fix fate-source
[15:55:41 CET] <cone-505> ffmpeg 03leozhang 07master:c79307b7de9c: avfilter/vf_dnn_processing: correct duplicate statement
[20:01:18 CET] <cone-464> ffmpeg 03Lou Logan 07master:589641143750: configure: select missing rdft for several filters
[20:01:18 CET] <cone-464> ffmpeg 03Lou Logan 07master:007e03348dbd: avfilter/Makefile: add missing framesync dependency to bm3d & mix filters
[20:52:56 CET] <thardin> is there a way to get ffmpeg to listen to shutdown warnings?
[20:54:02 CET] <thardin> if I do shutdown -h -t 30 +1 I'd expect it to stop 30 seconds before shutdown and write footers, indices and such
[21:29:18 CET] <thardin> eh, I'll just write a PID file and kill it that way
[22:41:18 CET] <az_> test
[22:45:21 CET] <az_> hello guys. i decode rtsp h264 with option FF_THREAD_SLICE with function avcodec_decode_video2(). Call graph led me into decode_simple_internal() where that is: https://pastebin.com/wxgrKshg. so it appears that decoding occur indeed in on thread. Why is this done that way?
[22:48:54 CET] <az_> bear in mind that function ff_slice_thread_init() create threads. Despite that everything goes one thread as i mentioned
[00:00:00 CET] --- Sat Nov 9 2019
1
0
[00:02:55 CET] <Atlenohen> DHE: # make ffmpeg_g V=1
[00:02:55 CET] <Atlenohen> Makefile:163: /tests/Makefile: No such file or directory
[00:02:55 CET] <Atlenohen> make: *** No rule to make target '/tests/Makefile'. Stop.
[01:01:56 CET] <iconoclasthero> is there some way i can complie ffmpeg w/codec2 that will be a separate binary from the one installed?
[01:02:19 CET] <iconoclasthero> ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers / built with gcc 7 (Ubuntu 7.3.0-16ubuntu3) /configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray
[01:02:19 CET] <iconoclasthero> --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-
[01:02:19 CET] <iconoclasthero> libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
[01:02:49 CET] <iconoclasthero> i can't remember if i complied that myself or not. if opus isn't standard than I did.
[01:03:18 CET] <pink_mist> nothing is standard. ask your packager what their standard is.
[01:06:04 CET] <iconoclasthero> probably not since it was built/installed in april and i wasn't doing stuff with it then.
[01:06:31 CET] <iconoclasthero> so that brings me back to how to build it so i can test codec2 to see if it's worth going any furhter.
[01:30:39 CET] <Atlenohen> DHE: Do you mean verbose build log?
[01:31:32 CET] <Atlenohen> there is no ffmpeg_g, it doesn't work.
[03:00:24 CET] <montana> what is better? 720p or 1080i
[03:04:40 CET] <DHE> Depends. I rather like 720p because for TV it usually means I get 60fps without any processing required.
[03:05:44 CET] <montana> you cannot get 60fps with "i" ?
[03:06:06 CET] <DHE> you have to deinterlace it, but yes
[03:06:15 CET] <DHE> I'd rather just get the good image straight up
[03:08:06 CET] <montana> does using interlacing really create the half size of a file-size?
[03:08:53 CET] <DHE> I am not qualified to answer such questions. I just know that 1080i at 30fps is roughly the same number of pixels per second as 720p at 60fps
[05:31:51 CET] <Reinhilde> montana: you can, if the field rate is 120
[09:46:30 CET] <snooky> Hi. how powerful is ffmpeg? what is possible with ffmpeg? So in more detail. can you build real livestreams with ffmpeg? which you can edit dynamically in real time?
[12:45:11 CET] <DHE> snooky: yes, sorta. it's not a timeline editor, but you can use the libraries to build on
[12:45:42 CET] <DHE> but you can totally pull your webcam, rescale it and livestream to youtube or something in a single app
[12:46:25 CET] <snooky> Oh. OK. but I mean with live editing just edit live. I'll do an example.
[12:48:14 CET] <snooky> https://nopaste.linux-dev.org/?1275933
[12:49:10 CET] <snooky> I show there a video and audio stream and send it to a v4l2 device and after alsa ... ok .. everything works .. on the other side I add the two back together and create a rtsp stream .. everything works fine ,
[12:49:55 CET] <snooky> but would it be possible to add fades to the stream now? as in the live tv, for example, in the middle of a video show a moving message or something
[12:52:04 CET] <DHE> while there's a fade filter, it takes a time for when it should happen which makes it unsuitable for a live streaming. but you're not REALLY live streaming, you're streaming a pre-rendered file so you could do it...
[12:52:19 CET] <DHE> https://ffmpeg.org/ffmpeg-filters.html#fade
[14:39:30 CET] <mlok> Is there a difference in terms of CPU/GPU usage when generating fragmented MP4 vs TS chunks?
[14:40:13 CET] <mlok> I mean in regards to the benefits of generating CMAF and transcoding
[14:51:02 CET] <DHE> video encoding is video encoding. there are slightly different NAL encoding mechanisms but they're trivial
[14:54:54 CET] <Atlenohen> Hello
[14:55:25 CET] <mlok> DHE: Otherwise in terms of processing there is not much difference?
[14:55:56 CET] <Atlenohen> I'm trying to figure out the buffering portion of ffmpeg, which is being integrated in another project via API. Like, is it possible to queue frames/packets without having to manage any "delaying" or anything?
[14:56:29 CET] <Atlenohen> And when the dumping is stopped, it wouldn't kill the buffer of frames the ffmpeg has queued?
[14:58:31 CET] <DHE> Atlenohen: codecs do internal buffering for the purposes of motion compensation look-ahead and bitrate planning. you can usually configure them not to, like libx264 has av_dict_set(&dict, "tune", "zerolatency", 0);
[14:58:54 CET] <DHE> in which case you can call avcodec_send_frame and immediately receive it encoded with avcodec_receive_packet
[15:02:04 CET] <Atlenohen> Oh, right, actually the other way around, I would want to buffer them, just not kill the buffer when the program stops recording, but internally it shouldn't kill the whole thing.
[15:02:31 CET] <Atlenohen> I see "av_codec_frame_free" and various context_free thingies
[15:03:32 CET] <Atlenohen> Infact I'm also looking if there's a way to throttle the speed of ffmpeg's encoding, like a limit of how many frames per second it would do, and it would simply queue the rest to some buffer or file on storage.
[15:04:25 CET] <Atlenohen> So after the portion is complete, ffmpeg should still run internally finishing up the queue, not sure if this is done automatically, I don't want to discard any buffers or queues.
[15:04:33 CET] <DHE> well ffmpeg just does as it's told. if you're using API, just capture frames at a fixed rate. if you're using hardware capture that usually just happens on its own anyway
[15:04:53 CET] <DHE> avcodec_send_frame(codecContext, NULL); // to signal end of stream.
[15:05:35 CET] <Atlenohen> Right so that would signal it's ending, and I want to ... well I kinda would want to figure out how much the buffers/queues are filled to estimate when to shut it down completely.
[15:05:42 CET] <DHE> then collect all your frames from the output until it says it's hit EOF, and you're done
[15:06:36 CET] <Atlenohen> X264 may be used, but primarily it's FFV1 and other lossless codecs involved
[15:07:32 CET] <DHE> the concept remains the same. ffv1 is listed as doing this sort of buffering but I suspect not to the degree that x264 does it
[15:09:08 CET] <Atlenohen> Right, I'll worry about codec-specific stuff later then.
[15:09:54 CET] <DHE> the point is the API for interacting with codecs is unified. from your standpoint the only issue should be selecting a codec and selecting any codec-specific options (like x264's zerolatency mode, etc)
[15:12:45 CET] <Atlenohen> I read up on "avio_closep" one of the lines says "the buffer is automatically flushed" ... right now the program does this right away after context freeing, this probably isn't optimal right?
[15:14:05 CET] <Atlenohen> I need to read up on the docs, they should be okay right, I'm doing this 4.1.3 version but the final one will use 4.2.1
[15:36:44 CET] <Atlenohen> Currently it runs av_write_trailer before any signaling (nonexistent actually) and before flushing and freeing context, those flushed may not actually mean the frame's data themselfs IMO.
[15:37:55 CET] <Atlenohen> I'm doing this totally from scratch, learning ffmpeg API. Really appreciate all the support, I'll try to dig into it as much as I can, but it's probably going to take me like a couple of weeks (not that I would be hard at it every day)
[15:42:02 CET] <DHE> allocate your context, set the output file handle (if not done as part of context creation already), set up the stream information and AVCodecParameters, call avformat_write_header, do your encoding and call av_write_frame() (or interlaced version) over and over, call av_write_trailer, close file, free contexts
[15:42:53 CET] <DHE> There's a field, AVFormatContext->pb which is the AVIO object used for file IO, or whatever method you're using (HTTP, etc)
[15:46:55 CET] <Atlenohen> It's file IO all right, I saw that yeah, and looks like currently there's also some WritePacket, ReceivePacket stuff used (it is based on an older API as well) That's not needed anymore?
[15:48:39 CET] <DHE> ffmpeg is multiple libraries. the container (mp4, mkv, etc) muxer/demuxer layer is largely independent of the codec (encoding, decoding) layer
[15:54:36 CET] <Atlenohen> Oh so it's possible to touch the codec layer but it's not standard, is there a way to be able to tell which is which in code, or if the API docs can separate these things?
[16:11:51 CET] <Atlenohen> So if I follow your statement, I should call avio_closep after av_frame_free but before av_free_context
[16:13:33 CET] <DHE> you call av_write_trailer to indicate you're done with the file, then you're good to close the file handle and free everything
[16:14:23 CET] <DHE> generally functions are prefixed with their family. avformat_*, avcodec_*, etc. though there are some old functions that are just av_* it should be obvious which family they belong to
[16:14:23 CET] <Atlenohen> But the trailer after the signal, like you mentioned before: avcodec_send_frame(codecContext, NULL); //
[16:14:59 CET] <Atlenohen> Oh thanks for that.
[16:15:20 CET] <DHE> that's at the codec layer. then you call avcodec_receive_packet() until you hit EOF, av_write_frame (badly named function!) all that into your file, and then you're done with the encoding step and can flush the avformat layer
[16:21:25 CET] <Atlenohen> I guess the av_* are more common/generic, so av_write_frame should be like avcoded or avformat write frame? Also I see there is av_interleaved_write_frame used, but this is a capture, the advance frames may not exist (unless queued, unless we throttle it on purpose, but no idea about that now)
[16:21:53 CET] <Atlenohen> And there's no audio, just video.
[16:32:52 CET] <Atlenohen> The last thing makes it sound as if it buffers packets in memory and then writes everything to file?
[16:35:56 CET] <Atlenohen> But It's going to take time for me to just understand the flow, not only the meanings, even if I spend the whole day reading what every function does I still wouldn't understand the whole thing.
[16:37:20 CET] <Atlenohen> So where you said "do you encoding" you meant the avcodec_receive_packet() stuff, I'm guessing at.
[16:53:22 CET] <bviktor> hi, how do i convert an audio file ={.mp3, .mp4, .ogg, .flac} into an opus encoded file in .caf format? all i get is "[caf @ 000000000255c0a0] unsupported codec Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input"
[16:53:55 CET] <Hello71> it would appear that you cannot.
[16:54:26 CET] <bviktor> why is it here then? https://www.ffmpeg.org/doxygen/4.0/caf_8c_source.html
[16:55:05 CET] <Hello71> do you have the right version
[16:55:14 CET] <Hello71> https://github.com/FFmpeg/FFmpeg/commit/b4093e60c51af493a6dad7819264ef76973…
[16:55:27 CET] <bviktor> i've tried 4.2.1 and nightly
[16:55:34 CET] <bviktor> both win32 and win64...
[16:55:35 CET] <Hello71> so you have the wrong version, and also "muxing codec currently unsupported"
[16:55:45 CET] <Hello71> I think
[16:55:50 CET] <Hello71> hm
[16:56:03 CET] <bviktor> i don't understand, the commit you linked is from 2017
[16:56:09 CET] <Hello71> what is your full command line
[16:56:19 CET] <Hello71> I was looking at the wrong file
[16:56:22 CET] <bviktor> oh i had like a million command lines already
[16:56:45 CET] <bviktor> but example: ffmpeg -i input.mp3 -c:a copy output.caf
[16:56:57 CET] <Hello71> that doesn't make it opus though
[16:56:59 CET] <Hello71> but sure
[16:57:06 CET] <bviktor> yeah, i tried first just putting stuff into caf
[16:57:11 CET] <Hello71> works fine for me
[16:57:15 CET] <pagios> Hello, how can i exit ffmpeg if no stream is detected as input? by default it hangs
[16:57:33 CET] <Hello71> do you have some non-mp3 mp3 file
[16:57:35 CET] <bviktor> so putting mp3 into .caf worked for me too. but putting opus into caf didn't
[16:57:46 CET] <Hello71> "what is your full command line"
[16:58:00 CET] <Hello71> bviktor: "what is your full command line"
[16:58:03 CET] <Hello71> pagios: "what is your full command line"
[16:58:28 CET] <bviktor> ffmpeg -i input.opus -acodec copy output.caf
[16:58:33 CET] <pagios> Hello71, ffmpeg -i rtmp:/?... -vf .. -vb .. -f hls ..
[16:59:40 CET] <Hello71> iirc with rtmp it is not possible to know in general
[16:59:58 CET] <Hello71> you could put a timeout but it could be that the stream is very slow
[17:00:02 CET] <Hello71> check the manual
[17:00:20 CET] <Hello71> bviktor: try ffmpeg -i input -vn -c:a libopus output.caf
[17:00:30 CET] <Hello71> could be wrong about rtmp though
[17:00:50 CET] <pagios> Hello71, how can i put a timeout?
[17:00:59 CET] <Hello71> pagios: check the manual, idk
[17:01:08 CET] <bviktor> Hello71 that unfortunately gives the same error
[17:01:11 CET] <Hello71> or google "ffmpeg rtmp timeout"
[17:01:17 CET] <Hello71> bviktor: what is your whole output then
[17:02:05 CET] <bviktor> https://paste.fedoraproject.org/paste/OmopUniooxISggfBHC82Bg/raw
[17:02:29 CET] <Hello71> "Copyright (c) 2000-2017" pretty sure that's your problem
[17:02:43 CET] <Hello71> idk if "85588" is a good number but 2017 doesn't seem right.
[17:03:22 CET] <bviktor> dude it's the nightly
[17:03:42 CET] <Hello71> from... when?
[17:03:44 CET] <bviktor> they apparently forgot to update the copyright year, that happens all the time tbh
[17:03:44 CET] <Hello71> 2017?
[17:04:01 CET] <bviktor> from 10 minutes ago
[17:04:09 CET] <Hello71> that's... not how it works.
[17:04:21 CET] <bviktor> https://ffmpeg.zeranoe.com/builds/
[17:04:25 CET] <Hello71> the year is in the source code. it's not like the builder changes it
[17:04:26 CET] <Hello71> https://github.com/FFmpeg/FFmpeg/commit/6108805
[17:04:33 CET] <Hello71> you have this version.
[17:05:15 CET] <bviktor> fml
[17:05:37 CET] <bviktor> there's an ffmpeg scattered around in program files installed by... whatever, overriding my local ffmpeg lol
[17:07:06 CET] <bviktor> can't believe i wasted this much of my and your time with that lol
[17:07:07 CET] <bviktor> ty
[17:09:00 CET] <aleksandrdvorkin> hi
[17:09:43 CET] <aleksandrdvorkin> the git version of Kodi complains about VAAPI requested but not found
[17:09:52 CET] <Hello71> so...
[17:10:06 CET] <Hello71> what do you want us to do about it
[17:10:49 CET] <Hello71> lol
[17:10:56 CET] <aleksandrdvorkin> ignoledge
[17:11:12 CET] <aleksandrdvorkin> the make says to report to #ffmpeg
[17:11:27 CET] <pagios> -i rtmp:// -timeout 2 is not exiting..
[17:11:35 CET] <pagios> ps -ef | grep ffmpeg shouws it hanging in memory
[17:11:35 CET] <Hello71> pagios: put it on the other side.
[17:11:42 CET] <pagios> ok
[17:12:04 CET] <aleksandrdvorkin> i seem to install the vaapi libraries
[17:12:07 CET] <Hello71> aleksandrdvorkin: advise you to ask #kodi.
[17:12:15 CET] <aleksandrdvorkin> ok
[17:13:44 CET] <Hello71> where is everyone today? DHE: too boring?
[17:14:57 CET] <pagios> stderr: [rtmp @ 0x559c53e7e8a0] Cannot open connection tcp://....1935?listen&listen_timeout=2000 rtmp://...:1935/mediaengine/testblah: Address already in use
[17:15:05 CET] <pagios> Hello71,
[17:15:17 CET] <Hello71> sure, seems plausible
[17:16:12 CET] <pagios> it always give an error if i do ffmpeg -timeout 2 -i rtmp://...
[17:17:47 CET] <Hello71> what is your full command line.... and also the full output
[17:23:33 CET] <pagios> ffmpeg -timeout 2 -i rtmp://127.0.0.1:5555 -vf scale=640:480 -vb 128k -f hls index.m3u8
[17:23:37 CET] <pagios> Hello71,
[17:24:03 CET] <Hello71> so... what is your m3u8? and what is the output?
[17:24:35 CET] <pagios> stderr: [rtmp @ 0x559c53e7e8a0] Cannot open connection ...
[17:29:53 CET] <pagios> meh
[19:00:04 CET] <orev> i'm curious what the "standard" crf for av1 encoding is? in the wiki, 23 is mentioned as the default for h264, and 28 for h265. the av1 page gives 30 as an example, but doesn't give any other guidelines like the h64/h265 pages do
[20:54:27 CET] <CounterPillow> orev: looks like it sets it to 32, which is then mapped to the AOM's actual setting of cq level
[20:56:06 CET] <CounterPillow> source: line 576 of libavcodec/libaomenc.c
[21:40:55 CET] <dissected> is there a way to tell ffmpeg to quit recording after detecting x duplicate frames ?
[21:41:38 CET] <Reinhilde> if there is, I've never found it nor needed to use it
[21:46:46 CET] <`St0ner> how do i edit the batch file at https://stackoverflow.com/questions/38477974/quickly-check-the-integrity-of… to only output if there is an error? basically i want to delete all corrupted videos
[21:47:27 CET] <Hello71> batch files suck.
[21:47:47 CET] <dissected> ah I have a lead in the freezedetect filter
[21:50:50 CET] <`St0ner> open to other scripts usable in windows
[21:55:49 CET] <angular_mike> how can I add a fast zoom effect on a video as it is playing?
[21:56:04 CET] <angular_mike> zoompan seems to turn it into single frame
[21:58:39 CET] <durandal_1707> angular_mike: change fps and duration options, not just use defaults
[22:27:25 CET] <angular_mike> durandal_1707: what should those be set to?
[22:27:37 CET] <angular_mike> why can't ffmpeg determine them from video file?
[23:06:32 CET] <durandal_1707> angular_mike: filter by defult zoom images
[23:06:55 CET] <durandal_1707> use d=1
[00:00:00 CET] --- Sat Nov 9 2019
1
0
[19:47:00 CET] <cone-626> ffmpeg 03Guo, Yejun 07master:4d980a8ceba9: avfilter/vf_dnn_processing: add a generic filter for image proccessing with dnn networks
[22:16:35 CET] <az_> test
[22:28:30 CET] <az_> Hello everybody! I realize that i violate the rule "Strictly dedicated to FFmpeg development. This means development of FFmpeg itself. Development of other software that uses the FFmpeg libraries is offtopic there." but the #ffmpeg channel just says nothing to my question. I develop the app that heavily uses INTEL TBB and wanna make ffmpeg to use the same threads from TBB's pool. For the moment i am interested in decoding h264 rtp stream. As i see there is
[22:28:30 CET] <az_> no straightforward way to do that and i need to overwrite somehow libavcodec/pthread_frame.c . Now i intend specially to research two functions frame_worker_thread(void *arg) and submit_packet(PerThreadContext *p, AVCodecContext *user_avctx, AVPacket *avpkt). Guys, plz tell me whether i am on right way now?
[22:51:28 CET] <jdarnley> az_ if you don't want ffmpeg to spawn its own threads there is the option to disable threads at compile time, but I guess you don't want to do that
[22:52:13 CET] <kierank> az_: you'd have to develop a new thread module for ffmpeg
[22:52:27 CET] <kierank> might be possible with the api, not sure
[22:54:04 CET] <az_> jdarnley, yeah. without threads there are quaility issues and huge drop in framerate
[22:55:42 CET] <jdarnley> a new thread module is probably the way to do it
[22:56:00 CET] <jdarnley> start with pthreads if they are similar to the tbb thing
[22:56:04 CET] <az_> in the whole project i found about 15 places where pthread_create gets called. Hope this knowledge would be good start point.
[22:56:52 CET] <jdarnley> there is also the win32 threads you can compare also
[22:56:55 CET] <az_> interestingly for me, why thread_pool wasn't implemented till today?
[22:57:19 CET] <jdarnley> maybe there's more, I don't really know
[22:57:35 CET] <jdarnley> why? I don't know that either
[22:58:43 CET] <az_> hm, maybe cuz there's as such param as thread_count
[23:00:29 CET] <az_> would ffmpeg project be interested in thread pool?
[23:00:57 CET] Action: jdarnley cannot answer that either
[23:42:02 CET] <kierank> afaik we already have thread pools
[00:00:00 CET] --- Fri Nov 8 2019
1
0
[00:28:37 CET] <Atlenohen> hello, is there some kind of a list what external packages are required for ffmpeg build?
[00:29:46 CET] <DHE> relatively little is required. you just won't get the features that come with it. no openssl? http won't support ssl, etc. now there's what I'd call a recommended list...
[00:29:46 CET] <cehoyos> None should be required
[00:30:08 CET] <cehoyos> zlib and bzlib are needed for some but not many files
[00:30:37 CET] <Atlenohen> I want all the features, not that it's needed, but I don't want this silently continue. Is there a flag to break compilation if somethings missing?
[00:30:48 CET] <cehoyos> No, you have to enable them
[00:31:00 CET] <cehoyos> Note that it is not possible that all optional features work on your system
[00:31:46 CET] <Atlenohen> No I mean, the ones that I enable in configure, I if there's something missing and MPEGTS can't be used for example, ffmpeg's compilation should tell me, will it do that?
[00:33:57 CET] <nicolas17> you can't enable "all" the features, some are platform-specific
[00:35:23 CET] <AmyMalik> if someone wants to enable all the features
[00:35:30 CET] <AmyMalik> they mean they want to enable all the applicable features
[00:36:33 CET] <Atlenohen> I didn't meant that, I already have the feature set known and selected for windows, from the things I selected, will ffmpeg warn me if anything's missing. I don't like the sound of "if it's not present on system it will just not use it"
[00:37:00 CET] <Atlenohen> I consider that an error, and I hope I would see a warning or an error message. Can that be enforced?
[00:38:12 CET] <nicolas17> I just tried ./configure --enable-libaom
[00:38:33 CET] <nicolas17> and it said "ERROR: aom >= 1.0.0 not found using pkg-config" and didn't continue
[00:38:55 CET] <Atlenohen> Oh okay
[00:40:11 CET] <AmyMalik> canister canister canister canister canister canister canister canister canister canister
[01:07:08 CET] <Atlenohen> So would it build with these packages? Probably not but what do you guys see that may be missing? Ofcourse I'm going to just run the compiler and perhaps it'll just throw me a list, or it will keep breaking 1 by 1 which may take a long time.
[01:07:09 CET] <Atlenohen> https://pastebin.com/cVxKVakQ
[01:24:10 CET] <cehoyos> Except zlib and bzlib I don't think you will need any of these
[01:24:56 CET] <cehoyos> gnutls can be very helpful, needs --enable-gnutls
[03:05:43 CET] <Atlenohen> cehoyos: notice there is no make on that list ;)
[03:21:22 CET] <DHE> well if you're going to be that pedantic, there's no gcc either
[03:22:44 CET] <pink_mist> pretty sure you need a libc too
[09:21:09 CET] <wowa_putin> test
[09:21:21 CET] <wowa_putin> does anyone see my messages?
[09:22:28 CET] <another> yes
[09:22:36 CET] <wowa_putin> hello everybody. I work on app that heavily uses INTEL TBB and want ffmpeg to use also the same TBB's thread pool. The only relevant links google gave me: https://stackoverflow.com/questions/6049798/ffmpeg-mt-and-tbb and https://software.intel.com/en-us/forums/intel-threading-building-blocks/top… . I followed steps described but it didn't work out. After that i digged breifly into _ff_mpeg sources code and it appeared that
[09:22:36 CET] <wowa_putin> avcodec_open2()->ff_frame_thread_encoder_init() somehow just overwrite my AVCodecContext->execute and AVCodecContext->execute2(). Maybe i do something wrong? Or just SO's answer is outdated for current ffmpeg version?
[10:00:58 CET] <AlexApps> Hello, I'm making a script to automatically edit a video and I need to perform two FFmpeg commands to finish editing the video
[10:01:20 CET] <AlexApps> Currently I encode it fully the first time and save it to disk, and then do the same the second time
[10:01:40 CET] <AlexApps> is there any way to pipe the raw video from the first command into the input of the second?
[10:01:57 CET] <AlexApps> It would save a lot of time and disk resources
[10:12:28 CET] <AlexApps> Suppose I'll ask later
[10:16:56 CET] <Lypheo> why do you need to encode it twice?
[10:20:29 CET] <wowa_putin> no any ideas on my question?
[11:19:57 CET] <Atlenohen> I have a problem with building ffmpeg on windows now
[11:20:42 CET] <Atlenohen> seems like after updating VS a couple of times lately, and updating fmpeg to 4.2.1, I doesn't look for libx264
[11:22:21 CET] <Atlenohen> I had it all figured out, even had to make fixes to the configure file, I later found the places link.exe is looking for libx264.lib, and how to adjust he ldflags and stuff
[11:25:44 CET] <Atlenohen> but now I see that link.exe isn't even looking for libx264.lib, in all the cases when it's looking inside the supplied lib path, it looks for some other files
[11:25:58 CET] <Atlenohen> such as kernel, libcmt, oldnames, etc
[11:26:34 CET] <Atlenohen> https://i.imgur.com/NQJXZJ5.png
[11:31:29 CET] <Atlenohen> ./dependency/x264/include\x264.h(46): fatal error C1083: Cannot open include file: 'x264_config.h': No such file or directory
[11:31:45 CET] <Atlenohen> interesting, i guess it's needed for ffmpeg
[11:36:49 CET] <Atlenohen> ah now it worked, it started searching for libx264 only after I gave it all the headers, even tho there's nothing in that file that would make a difference technically
[11:37:33 CET] <Atlenohen> these tests should be improved and error reporting as well, not that one can't look at config.log but to make things easier on windows, I might offer patch myself
[11:38:54 CET] <Atlenohen> x86 assembler nasm
[11:39:10 CET] <Atlenohen> but it says ffmpeg needs yasm? I have both installed since x264 needs nasm
[11:41:50 CET] <c_14> nasm should be fine as long as it's new enough
[11:42:07 CET] <c_14> and I believe yasm is no longer actively developed in favor of nasm, but don't quote me on that
[11:47:43 CET] <Atlenohen> https://github.com/FFmpeg/FFmpeg/commit/4f9297ac3b39098547863d28fbc8d2a906d…
[11:47:58 CET] <Atlenohen> I guess the docs should be updated
[11:49:05 CET] <Atlenohen> But I'd rewrire the whole windows compilation part
[11:49:17 CET] <Atlenohen> rewrite*
[11:50:23 CET] <Atlenohen> I'd doing my own notes on the process so it may come useful for the online version as well
[14:05:46 CET] <another> "but don't quote me on that" --- c_14
[15:24:51 CET] <GenTooMan> hmm I kind of like to think of it as rewire when it comes to windows compilation :D
[15:32:22 CET] <Atlenohen> libavutil -> avconfig.h and ffversion.h have LF instead of CRLF line endings when compiling on windows(msys2,mingw64)
[16:02:18 CET] <montana> why does so many programs have problem displaying proper duration of .vob files (including ffmpeg)
[16:07:17 CET] <another> does it?
[16:10:05 CET] <montana> another here: https://x0.at/--7.png
[16:11:15 CET] <montana> another did you see the picture
[16:12:51 CET] <another> DVDs are a bit tricky
[16:12:59 CET] <montana> another did you see the picture?
[16:13:42 CET] <another> because they are split into multiple VOBs
[16:13:42 CET] <DHE> well the DVD is supposed to be the concatenation of all the VOBs for the particular title
[16:14:42 CET] <another> titles can also start in the middle of a vob, can#t they?
[16:14:46 CET] <furq> yes
[16:15:03 CET] <furq> you can't get the correct duration without reference to the ifo
[16:15:31 CET] <montana> did you people see the picture
[16:15:39 CET] <furq> no
[16:15:42 CET] <montana> https://x0.at/--7.png
[16:16:39 CET] <montana> if you see the picture, one program correctly displays the duration: how is that possible then. if
[16:16:43 CET] <montana> if you see the picture, one program correctly displays the duration: how is that possible then. if <furq> you can't get the correct duration without reference to the ifo"
[16:17:00 CET] <DHE> if one file holds multiple titles, yeah that would easily explain it. the end of the file represents a different title and the timestamp could be earlier than the start of the file
[16:17:20 CET] <montana> then how does mediainfo able to display the correc time
[16:17:38 CET] <montana> if you see the picture
[16:18:26 CET] <another> on a dvd there are index files (.ifo) which have to be evaluated as well
[16:18:40 CET] <another> ffmpeg doesn't handle that
[16:19:02 CET] <montana> then how does mediainfo able to display the correct time without the IFO
[16:19:22 CET] <another> maybe they read the IFO?
[16:20:14 CET] <montana> another it's not
[16:20:26 CET] <montana> i just opened ONLY .vob file with mediainfo
[16:23:57 CET] <jose1711> hello, i am getting illegal instruction and coredump right after running ffmpeg on my test freebsd machine. is there a way to find out more what's causing the issue?
[16:29:06 CET] <kepstin> jose1711: well, if you're getting an illegal instruction, then the ffmpeg was probably compiled targetting a newer cpu than you have, or possibly was compiled with runtime cpu detection for the assembly instructions disabled.
[16:30:03 CET] <jose1711> hm, i recompiled with runtime cpu detection disabled to no cure
[16:30:42 CET] <DHE> you got -march set in your cflags?
[16:31:02 CET] <DHE> or other -m parametrs
[16:33:50 CET] <jose1711> trying to find out (i am new to freebsd and ports)
[16:34:15 CET] <jose1711> CFLAGS='-O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing '
[16:34:51 CET] <jose1711> that's from ffbuild/config.log
[16:57:58 CET] <wowa_putin> Guys, cmonn, give me plz advices how to rewrite pthread_frame.c to make ffmpeg use INTEL TBB
[20:21:32 CET] <Atlenohen> LNK2019 unresolved external symbol ff_golomb_vlc_len referenced in function get_ue_golomb_31 Dolphin C:\GitDEV\GitRepos\Github\dolphin\Source\Core\DolphinQt\avformat.lib(mxfenc.o)
[20:22:07 CET] <Atlenohen> something about mxf container?
[20:22:47 CET] <Atlenohen> I did not get this when doing 4.1.3, but I get this now when trying to compile static ffmpeg libs from version 4.2.1
[20:23:05 CET] <Atlenohen> Not the ffmpeg it self but the project that uses it.
[21:10:46 CET] <`mist> hey guys. I'm trying to make a timelapse of a bunch of jpegs but it seems i might have gotten some of my flags wrong
[21:11:08 CET] <`mist> ffmpeg -hwaccel cuvid -c:v h264_cuvid -framerate 24 -pattern_type glob -i '/home/mist/cam_renamed/*.jpeg' -s:v 1920x1080 -vf 'format=nv12,hwupload' -c:v h264_nvenc timelapse.mkv
[21:11:25 CET] <`mist> Error while opening decoder for input stream #0:0 : Operation not permitted
[21:11:27 CET] <`mist> so i run it with sudo
[21:11:52 CET] <`mist> [image2 @ 0x55e6bb0af0c0] Could not open file : /home/mist/cam_renamed/*.jpeg[image2 @ 0x55e6bb0af0c0] Could not open file : /home/mist/cam_renamed/*.jpeg[image2 @ 0x55e6bb0af0c0] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
[21:12:52 CET] <DHE> ffmpeg works on the commandline style of: ffmpeg {[options for file] [input or output file]} {...repeat...}
[21:13:06 CET] <DHE> so you've told it that the input video can be decoded as h264, which is incorrect
[21:13:26 CET] <`mist> aha...
[21:14:50 CET] <DHE> honestly I think you can simplify it down to: ffmpeg -framerate 24 -pattern_type glob -i '/home/mist/cam_renamed/*.jpeg' -s:v 1920x1080 -c:v h264_nvenc timelapse.mkv
[21:16:18 CET] <`mist> i know that hwencodign usually makes the quality go bad. Are there any presets i could change to increase the quality?
[21:17:02 CET] <`mist> (oh and the encoding is running right now, your command works thanks!) almost halfway through the video atm
[21:21:56 CET] <DHE> well you didn't specify any quality options so you get defaults. I'll bet they're not very good. I'd set a bitrate or qp value.
[21:22:21 CET] <DHE> ffmpeg -h encoder=h264_nvenc # for options specific to the nvidia encoder. other generic options like -b:v still apply as well.
[21:23:29 CET] <`mist> any recomendations? (I'm completely new to this kind of stuff)
[21:27:14 CET] <DHE> it's hard to give a recommendation without being able to see it. but slide shows tend to not need much bandwidth. for nvenc I'd try -preset slow and for a slide show maybe try -qp 25 and see how it turns out (both image quality and size)
[21:28:39 CET] <`mist> thanks! I'm trying to make a timelapse of the building of my house
[21:33:13 CET] <`mist> quality is a bazillion times better but the file is 4gb =D I don't mind though
[21:39:21 CET] <DHE> oh... yeah it's a time lapse not a slide show. I'd raise the qp to 32 or maybe even higher.
[21:39:47 CET] <DHE> sadly time lapses tend to be bad for motion compensation codecs since there's so much that changes at once between images
[21:39:59 CET] <DHE> (I've done something similar)
[22:51:27 CET] <Atlenohen> what if the ffmpeg's windows build process forgets to output golomb.h ?
[22:53:10 CET] <Atlenohen> it's in /ibavcodec
[22:53:38 CET] <Atlenohen> but not inside the make install output
[22:56:39 CET] <BtbN> that's not a public header
[23:20:18 CET] <Atlenohen> oh
[23:21:28 CET] <Atlenohen> BtbN, ff_golomb_vlc_len happens to be inside there, that's the only place it is, i grepped whole ffmpeg repo
[23:33:16 CET] <kepstin> Atlenohen: my guess is that you have a link order issue, libavformat is referencing a symbol defined in libavcodec.
[23:35:28 CET] <Atlenohen> don't know much about link order, you mean in the program's includes, or the way things get added in VS like the "additional lib" I think it has always been alphabetic
[23:35:34 CET] <Atlenohen> or it has to be strictly?
[23:35:46 CET] <kepstin> i don't know how link order in windows works
[23:35:51 CET] <Atlenohen> oh
[23:36:06 CET] <kepstin> in linux, with static libs, you have to put them in a specific order based on which libraries use symbols from which other libraries
[23:37:08 CET] <Atlenohen> I pretty much just compiled stock 4.2.1 with custom options the same I had with 4.1.3
[23:42:44 CET] <DHE> rm ffmpeg_g ; make ffmpeg_g V=1 # and write down the commandline used. :)
[23:43:50 CET] <Atlenohen> As additional libraries only the whole library folder is used, for the main projects there is dependencie where they're defined one by one, and it's alphabetic, first it's avcoded then avformat
[23:44:02 CET] <Atlenohen> at least the order in the string
[23:44:19 CET] <Atlenohen> DHE: for me?
[00:00:00 CET] --- Fri Nov 8 2019
1
0
[00:40:27 CET] <ocrete> the SRT library separate the client/server bit from the sender/receiver.. is there an API in ffmpeg so a server can ask the application for the password based on the received username ?
[07:05:27 CET] <cards> Hello. I understand ffmpeg has a few codecs (framemd5 framecrc framehash) for generating hashes of decoded frames for testing of codec development. Would there be something similar that generates a hash or hashes of the encoded (not decoded) frames, for use in comparing two files for similarity or truncation or metadata alteration
[07:08:07 CET] <cards> Basically, I would like a function that hashes the media content of the given container, excluding any content that might reasonably be altered by media maintenance / repackaging software.
[08:28:40 CET] <cone-201> ffmpeg 03Marton Balint 07master:425503291420: avcodec/libvpxenc: fix alpha stride
[08:28:40 CET] <cone-201> ffmpeg 03Marton Balint 07master:6b544770729e: avcodec/libvpxenc: only allocate alpha U/V planes on size changes
[08:28:40 CET] <cone-201> ffmpeg 03Marton Balint 07master:99e000704690: avcodec/libvpxdec: make sure BlockAdditional side data size >= 8
[08:28:40 CET] <cone-201> ffmpeg 03Marton Balint 07master:98aa1eb1cb1b: avcodec/libvpxdec: pass decoder instances to vpx_init directly
[08:28:40 CET] <cone-201> ffmpeg 03Marton Balint 07master:5478e2cc57d1: avcodec/libvpxdec: decode to custom framebuffers for vp9
[08:28:41 CET] <cone-201> ffmpeg 03Marton Balint 07master:c54268ce02f7: avcodec/libvpxdec: reject video and alpha dimension mismatches
[08:41:51 CET] <jdarnley> cards: the framehash feature is a muxer not an encoder
[08:42:07 CET] <jdarnley> so it should work with compressed streams
[08:45:32 CET] <cards> jdarnley: I thought it's a codec, and it generates its output on the decoded stream, not the encoded cipher
[08:45:59 CET] <cards> ie, i'm looking for a solution that doesn't require time cost decoding
[08:53:16 CET] <nevcairiel> all of those are in fact muxers, which can accept encoded streams or raw video/audio
[16:58:33 CET] <ocrete> the SRT library separate the client/server bit from the sender/receiver.. is there an API in ffmpeg so that when ffmpeg acts as the "server", it can ask the application for the password based on the received username ?
[17:42:32 CET] <cone-337> ffmpeg 03Baptiste Coudurier 07master:33203a08e0a2: avcodec/dvdec: correctly set interlaced and tff
[17:42:32 CET] <cone-337> ffmpeg 03Baptiste Coudurier 07master:004ebd4b37a3: avcodec/dvdec: correctly decode bottom mb row in 1080i field mode
[19:58:05 CET] <cone-337> ffmpeg 03Lou Logan 07master:0663f0e0da7e: configure: select mdct for dca encoder
[19:58:06 CET] <cone-337> ffmpeg 03Lou Logan 07master:9022a5e0c25a: avcodec/Makefile: add missing vorbis_data dependency to opus encoder
[19:58:07 CET] <cone-337> ffmpeg 03Lou Logan 07master:b973d2795224: avcodec/Makefile: add missing h263data dependency to snow encoder
[19:58:08 CET] <cone-337> ffmpeg 03Lou Logan 07master:a0c740607548: avcodec/Makefile: add missing msmpeg4* dependencies to wmv1 encoder
[20:39:52 CET] <cone-337> ffmpeg 03Andriy Gelman 07master:7b2ce27e56cf: avdevice/v4l2: Remove av_assert0 when format not supported
[20:39:53 CET] <cone-337> ffmpeg 03leozhang 07master:84c27c8c082b: avcodec/extract_extradata_bsf: fix typo in comments
[20:39:54 CET] <cone-337> ffmpeg 03Andreas Rheinhardt 07master:fc7b6d55741a: fftools/ffmpeg_opt: Fix mixed declarations and code
[00:00:00 CET] --- Thu Nov 7 2019
1
0
[01:03:31 CET] <GenTooMan> so how do I set a subtitle track as the default in FFMPEG when using something like "-i ./subs/BC105.ass -metadata:s language=eng" what is the key to set that? I can't seem to find a list of metadata keys
[01:08:25 CET] <cehoyos> Should be the "disposition" command line option, not directly related to metadata
[01:10:49 CET] <GenTooMan> well I should have expected that... LOL ffmpeg is a bit complicated I guess.
[01:20:14 CET] <ncouloute> I'm trying to get ffmpeg to make the audio stream and the video steam the same length. I used the flag -shortest but the audio stream is still longer than the video stream. Whats the secret to get this flag to work?
[01:22:41 CET] <cehoyos> What do you mean with "longer"? Audio and video (may) have different properties that make "same length" depend on the definition or impossible.
[01:25:53 CET] <ncouloute> Duration of video stream is 4280.826550 and Duration of audiostream: 4283.823000 as reported by ffprobe. MediaInfo Video: 1 hour 11 mins 20 second 791 ms MediaInfo Audio: 1 hour 11 min 23 seconds 840 ms .
[01:27:12 CET] <ncouloute> I'm guessing you getting at that the fps must be the same or at least divisble by each other?
[01:28:24 CET] <cehoyos> ffprobe (and mediainfo which is not needed for any FFmpeg question or bug report) likely cannot know the actual duration (or do not necessarily know it)
[01:28:43 CET] <cehoyos> What does "ffmpeg -i file -f null -" show (possibly with -an and -vn)?
[01:29:55 CET] <cehoyos> And more important: Please paste the command line you used to create the file together with the complete, uncut console output and provide a link here, that may be enough to understand your issue.
[01:35:53 CET] <ncouloute> I'm guessing we are looking for the "time:" and not the Duration that it comes back with instantly. Waiting for it to go through the file...
[01:45:55 CET] <ncouloute> Both time=01:11:23.77 when using -an and -vn. So I guess that means they are the same length ?
[01:47:29 CET] <cehoyos> That seems at least possible, yes
[01:48:06 CET] <cehoyos> But since we haven't seen any console output so far, nobody here can know. I primarily wanted to point out that ffprobe cannot easily see the duration of a stream
[01:50:21 CET] <ncouloute> I'm going to get a -report log here in a bit. Going to reencode both streams just to be sure and see if I can get the fps the same as well
[02:03:33 CET] <petecouture> Can the RTSP muxer be used as a server playing -i mp4s ? I would have thought so but Im not seeing anything in the spec and it seems to imply is a push only. The muxer can be used to send a stream using RTSP ANNOUNCE to a server supporting it (currently Darwin Streaming Server and Mischa Spiegelmocks RTSP server).
[02:04:15 CET] <petecouture> I can set it up by piping into CVLC but trying to keep it all in FFMPEG
[04:10:02 CET] <cpplearner> Guys, I'm trying to mux a raw H.264 stream into a FLV container programmatically. However, when I look though the FLV specification, it does not clearly state what a embedded H.264 stream looks like. It does mention for a F4V container, but it's a different container, right? Any thoughts?
[04:10:30 CET] <cpplearner> The specific document that I was referring to: https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec…
[08:54:07 CET] <pagios> hello, i need to run ffmpeg from my nodejs server, what is the best way to do it /
[09:15:40 CET] <TikityTik> pagios: why not ask nodejs?
[09:15:57 CET] <TikityTik> it's just a command, no?
[10:16:19 CET] <BeerLover> pagios install it and use it
[10:16:46 CET] <BeerLover> either via shell commands using child process or use a package with ffmpeg bindings
[10:17:18 CET] <BeerLover> ffmpeg man pages don't have -profile
[10:17:23 CET] <BeerLover> What does it do?
[10:40:29 CET] <pagios> How can i exit ffmpeg process if i stop receiving a livestream? by default it keeps waiting
[11:01:37 CET] <pagios> BeerLover any idea?
[11:03:40 CET] <BeerLover> you can try yourself
[11:08:58 CET] <BeerLover> if there is no stream, it should exit
[11:54:58 CET] <void09> anyone know if it's possible to detect video or audio (h264/aac) breaking errors in a file ?
[13:20:59 CET] <MarcWeber> I've been trying screen capture on Windows. The problem is that list devices (directx) has german special chars.
[13:21:19 CET] <MarcWeber> So the microfone gets listed, but no matter what I tried ffmpeg keeps telling me it doesn't find audio.
[13:21:50 CET] <MarcWeber> Eg I tried > x 2>&1 then copy paste from utf-8 file to .bat file (also setting utf-8) but didn't work.
[13:22:33 CET] <MarcWeber> Only the Mikrofon (Standard Audio Gerät) the ä is my problem.
[15:27:05 CET] <Freneticks> Is it possible to copy video file with ffmpeg without any remux ?
[15:27:53 CET] <DHE> umm. you mean "cp" ?
[15:43:02 CET] <Freneticks> I want to copy a video file (-map 0 -c copy) but since I use hls to cut it in piece I get a lot of DTS PTS problem and sound get desync
[15:43:19 CET] <Freneticks> I tried everything not sure how to solve this problem
[16:04:26 CET] <pagios> hi , can i use -i -vf scale ... -f hls ... -vf scale ... -f hls ... syntax?
[16:05:06 CET] <furq> no
[16:05:19 CET] <pagios> why?
[16:05:36 CET] <pagios> whats wrong furq
[16:06:14 CET] <furq> -lavfi "split[s1][s2];[s1]scale[o1];[s2]scale[o2]" -map "[o1]" -f hls out1 -map "[o2]" -f hls out2
[16:06:17 CET] <furq> something like that
[16:09:38 CET] <DHE> that's best if you're doing something else before it, like maybe deinterlacing. otherwise the original method doesn't seem any faster...
[16:21:39 CET] <pagios> DHE furq my syntax seems to work :/
[16:21:52 CET] <pagios> i am only scaling down and setting a bitrate
[16:22:02 CET] <pagios> can i go with that?
[16:26:01 CET] <DHE> if you were doing deinterlacing, your method would run the de-interlacer 3 times. furq's method scales better since you would deinterlace it once and then scale the version to your 3 different variants
[16:28:38 CET] <pagios> got it thanks all
[16:41:15 CET] <Radioactive> hello guys
[16:41:31 CET] <Radioactive> more ac-3 questions
[16:41:48 CET] <Radioactive> does libavcodec have known issues reading ac3 audio?
[16:41:56 CET] <Radioactive> particularly seeking
[16:43:10 CET] <Radioactive> for instance, calling av_seek_frame with a specific sample i wish to read from does not seem to provide an avFrame that has a sample start/end containing that sample
[16:46:24 CET] <Radioactive> for instance, say i want to seek to sample 192000, calling av_seek_frame will return an avFrame with a best_effort_timestamp of 190080 and nb_samples 1536
[16:46:40 CET] <Radioactive> i.e. this frame does not contain 192000
[17:12:14 CET] <Radioactive> also ive been assuming so far that timebase for audio files/streams is just in samples
[17:12:28 CET] <Radioactive> i mean that certainly seems to be the case for pcm and aac audio
[17:12:35 CET] <Radioactive> but is it possible that's not the case for ac3
[17:12:57 CET] Action: Radioactive channels JEEB
[17:22:20 CET] <DHE> any luck?
[17:47:28 CET] <Radioactive> forgot to mention the most serious issue
[17:49:03 CET] <Radioactive> so if that frame doesnt contain my sample im after, i continue the loop and decode the next frame, the frame range for the next frame however could now be way ahead of my seek frame, as if a bunch of frames have just been skipped
[17:49:09 CET] <Radioactive> my seek sample*
[19:18:08 CET] <desgroup> Hey, we're trying to do atrac9 decoding with avcodec but we're having trouble.
[19:18:16 CET] <desgroup> Hold on...
[19:18:29 CET] <desgroup> ```
[19:18:39 CET] <desgroup> AVCodec *atrac = avcodec_find_decoder(AV_CODEC_ID_ATRAC9); AVCodecContext *context = avcodec_alloc_context3(atrac); context->block_align = 0x1000; context->extradata_size = 12; int err = avcodec_open2(context, atrac, nullptr);
[19:18:48 CET] <desgroup> I hope you can read that better than I can.
[19:19:14 CET] <desgroup> We're getting bad access at 0x0 in avcodec_open2, any ideas?
[19:23:52 CET] <desgroup> Sorry, my internet disconnected. I'm not sure if my question went through.
[19:23:58 CET] <desgroup> But this time I have a pastebin link! https://pastebin.com/cPZKWwVa
[19:24:31 CET] <desgroup> avcodec_open2 gives me bad access at address 0, I'm not 100% sure why. Is there an obvious mistake I made or an atrac9 example? I haven't found any so far.
[19:25:22 CET] <desgroup> Do I have to specify a dictionary?
[19:27:49 CET] <desgroup> Eh?! I do? I thought I didn't need to...
[19:29:34 CET] <desgroup> It doesn't especially say in docs, but it works for other codecs like h264.
[19:29:47 CET] <desgroup> =L
[19:39:06 CET] <desgroup> Right, so my problem is still there... This is confusing.
[19:39:42 CET] <desgroup> avcodec_open2(context, atrac, (AVDictionary)0x100) will throw a bad access at 0x100, so clearly it is dereferencing the dictionary at some point when (I think) it should be checking for null.
[19:40:30 CET] <desgroup> However, if I pass it the reference to AVDictionary *dict = nullptr; (some existing dictionary), it throws a bad access at 0x0 anyway.
[19:40:41 CET] <desgroup> Even if I set a value with av_dict_set(&dict, "cheese", "bent", 0); it will still throw a bad access.
[19:40:49 CET] <desgroup> This is frustrating, am I doing anything wrong?
[19:43:26 CET] <desgroup36> eh?
[19:43:27 CET] <desgroup36> my bad, I'm back again
[22:50:13 CET] <Atlenohen> Hello
[22:50:44 CET] <Atlenohen> UTVideo codec's use cases?
[22:51:39 CET] <Atlenohen> I heard it can be alternative to ffv1?
[22:53:08 CET] <durandal_1707> nope
[22:53:25 CET] <durandal_1707> ffv1 and utvideo are very different
[22:53:54 CET] <Atlenohen> Oh I heard it a while back somewhere, or vs magicyuv
[23:18:53 CET] <furq> Atlenohen: ut video is very fast and correspondingly doesn't compress very well
[23:19:25 CET] <furq> it's better than huffyuv and there are vfw/dshow/quicktime components for it so it actually works with commercial NLEs
[23:25:16 CET] <Atlenohen> oh
[23:25:30 CET] <Atlenohen> tnx
[00:00:00 CET] --- Thu Nov 7 2019
1
0
[16:51:45 CET] <nevcairiel> man that guy with this pixel formats sure is clueless
[17:18:25 CET] <jdarnley> That dude needs to learn about memory layout
[17:21:50 CET] <jdarnley> I do have fun reading the replies
[17:21:56 CET] <jdarnley> even if they're identical
[17:22:34 CET] <nevcairiel> i copy-pasted my reply into his like 6 tickets yesterday already
[17:22:40 CET] <nevcairiel> now he does even sillier tickets
[17:28:17 CET] <jdarnley> The only one I slightly see an argument is 8-bit input for v210. An encoder shouldn't do that conversion, maybe.
[17:44:34 CET] <kierank> it's a bitexact conversion
[18:54:10 CET] <thardin> am I reading mov.c correct in that it's handling edit lists by just tossing packets out, not actually signalling to the upper layers start/end times of things?
[18:54:15 CET] <thardin> meaning it doesn't work with long gop
[18:57:12 CET] <thardin> I'm getting somewhat upset looking at this
[18:57:17 CET] <thardin> this crap doesn't belong in a demuxer
[19:01:19 CET] <jamrial> you're not the first to say that
[19:04:20 CET] <lotharkript> it works with long gop. it will trash all the packets before a seek point
[19:04:39 CET] <lotharkript> and mark some packets as dropped after decoding
[19:05:00 CET] <thardin> mmhm
[19:05:07 CET] <thardin> still doesn't belong in a demuxer
[19:05:27 CET] <thardin> one of many reasons why lavf is a huge mess
[19:06:53 CET] <thardin> how do I prevent trac from linkifying CamelCase again?
[19:08:28 CET] <thardin> !CamelCase
[19:42:55 CET] <cone-449> ffmpeg 03Lou Logan 07master:e5511bc1bd2e: configure: select mdct & sinewin for atrac3pal decoder
[19:42:55 CET] <cone-449> ffmpeg 03Lou Logan 07master:e8e788da97ed: configure: select mdct for atrac3al decoder
[19:42:55 CET] <cone-449> ffmpeg 03Lou Logan 07master:1c7e661adbf3: configure: select audiodsp for acelp_kelvin decoder
[19:42:55 CET] <cone-449> ffmpeg 03Lou Logan 07master:3bfd12d84c16: avcodec/Makefile: add missing ass dependency to ccaption decoder
[19:42:55 CET] <cone-449> ffmpeg 03Lou Logan 07master:04e23e027e58: configure: select bswapdsp for imm4 decoder
[19:42:56 CET] <cone-449> ffmpeg 03Lou Logan 07master:16503a933d5a: configure: select bswapdsp for mdec decoder
[19:42:56 CET] <cone-449> ffmpeg 03Lou Logan 07master:c69ade947abb: configure: select fft for qdmc decoder
[19:42:57 CET] <cone-449> ffmpeg 03Lou Logan 07master:121326d7b84c: configure: select bswapdsp for ylc decoder
[21:37:10 CET] <cone-449> ffmpeg 03Limin Wang 07master:377fa6612ae2: doc/bitstream_filters: Fix copy an paste typo
[21:37:11 CET] <cone-449> ffmpeg 03Michael Niedermayer 07master:e4fdeb3fcefe: avformat/nutenc: Do not pass NULL to memcmp() in get_needed_flags()
[00:00:00 CET] --- Wed Nov 6 2019
1
0
[00:09:46 CET] <kingsley> c_14: I'm happy to report you saved me precious time, and I found the upstream bug, and seem to have fixed it. Thanks again.
[00:37:44 CET] <pbox> yeah weird, I use the atomicwrites library to write the file and I still get the same error.
[00:57:14 CET] <kepstin> pbox: are you writing an empty file (no text) at some point?
[00:57:28 CET] <kepstin> pbox: if so, you could try putting a space or something in the file instead
[01:39:40 CET] <edenist> heyo everyone
[01:50:02 CET] <void09> trying to stitch together losslessly 2 piece of a tv capture (they overlap at some point, where i want to stich them)
[01:50:31 CET] <void09> being the same transmission (.ts) i assume they have keyframe in the same spots
[01:51:40 CET] <void09> I have managed to cut them with ffmpeg, but the last frame of the first video and the first frame of the second video are the same. this is kind of confusing, i was expecting them to be one frame apart, no ?
[01:52:18 CET] <void09> as ffmpeg cuts to the closest keyframe. maybe it also includes a keyframe as the last frame?
[02:25:33 CET] <montana> i have a question
[02:26:12 CET] <montana> if i have 1280x720 source video and i am cropping 10 pixels on all 4 sides, how is it possible i can still create 1280x720 video at the end
[02:26:33 CET] <AmyMalik> you cannot
[02:26:36 CET] <montana> shouldn't i be able to only create 1260x700
[02:26:49 CET] <AmyMalik> you then upscale to 1280x720
[02:26:58 CET] <AmyMalik> also, you should be cropping a ratio appropriate amount of pixels
[02:27:24 CET] <montana> amymalik i could be cropping because of black bars
[02:27:37 CET] <AmyMalik> what are you trying to crop out
[02:27:41 CET] <AmyMalik> what's the actual source video
[02:27:46 CET] <montana> black bars
[02:27:56 CET] <montana> 640x480
[02:28:50 CET] <AmyMalik> what dimension arethe black bars in
[02:28:59 CET] <AmyMalik> are you trying to create a 640x360 video
[02:29:06 CET] <montana> no 4:3 video
[02:29:19 CET] <AmyMalik> so the video itself is
[02:29:31 CET] <AmyMalik> once you have cropped the black bars what is the resolution you're upscaling from
[02:29:36 CET] <montana> let's say i have to crop 2 pixel on all 4 side
[02:29:57 CET] <AmyMalik> no, let's say you have to crop 4 pixels of height and 4 pixels of width
[02:30:13 CET] <montana> okay
[02:30:15 CET] <AmyMalik> per-side terminology is more difficult to mathematic
[02:30:23 CET] <montana> what should i be my final resolution
[02:30:29 CET] <montana> if i have to you have to crop 4 pixels of height and 4 pixels of width
[02:30:41 CET] <AmyMalik> nice typo
[02:30:51 CET] <AmyMalik> 640x480 minus 4 on all sides is 636x476
[02:30:52 CET] <montana> if i have to crop 4 pixels of height and 4 pixels of width
[02:31:16 CET] <AmyMalik> which is a 1.34 aspect ratio
[02:31:42 CET] <montana> right that should be the right resolution but i can still choose 640x480
[02:31:52 CET] <AmyMalik> yes, because ffmpeg can upscale
[02:31:54 CET] <montana> i shouldn't able to choose 640x480
[02:31:58 CET] <AmyMalik> yes you should
[02:32:07 CET] <AmyMalik> you can choose any output rez, as long as you know it is upscaling
[02:32:10 CET] <montana> upscale should be never allowed
[02:32:17 CET] <AmyMalik> yes it should, are you stupid?
[02:32:33 CET] <AmyMalik> but the target rez is 636x477 for this task to preserve the aspect ratio
[02:32:45 CET] <montana> you mean i can even upscale 640x480 to even 720x540
[02:33:08 CET] <AmyMalik> yes
[02:33:11 CET] <AmyMalik> why the hell would you want to
[02:33:13 CET] <AmyMalik> but yes
[02:33:35 CET] <montana> what is the point of upscalling
[02:33:41 CET] <montana> it would look like crap
[02:34:05 CET] <AmyMalik> the point of upscaling is to display the video on a larger screen than the video itself
[02:34:21 CET] <AmyMalik> if you have a HDTV but you plug a VHS machine into it, you have to do upscaling, or you can only use like a 1/5 the screen
[02:34:23 CET] <montana> i can do that during playback
[02:34:39 CET] <montana> i don't need to do that in encoding/trancoding
[02:34:53 CET] <AmyMalik> right, evaluate the video without and with transcoding level upscaling
[02:35:01 CET] <AmyMalik> if you're uploading to a platform you may need to upscale
[02:35:51 CET] <montana> and lot of dvd shows up as 720x480 but 4:3 aspect ratio
[02:36:22 CET] <montana> why is it 720x480 and not 640x480
[02:36:25 CET] <AmyMalik> yes, that's called anamorph
[02:36:52 CET] <montana> is anamorph downscaling?
[02:36:59 CET] <AmyMalik> both
[02:37:02 CET] <AmyMalik> it's also nonlinear
[02:37:04 CET] <AmyMalik> the 720x480 is scaled up or down (to 720x540, or to 640x480) to get the 4:3
[02:37:17 CET] <AmyMalik> like it's linear in the sense that it doesn't bend the image
[02:37:17 CET] <montana> i see
[02:37:42 CET] <montana> so how does it determine to use 720x540 or 640x480 during anarmorphing
[02:37:54 CET] <AmyMalik> by what size display you have
[02:37:59 CET] <AmyMalik> if you have a 480 line display, it uses 640
[02:38:00 CET] <montana> 1920x1080
[02:38:05 CET] <AmyMalik> then it uses 1440x1080
[02:38:30 CET] <montana> i am talking about viewing on computer
[02:38:40 CET] <AmyMalik> then it uses 1440x1080 on a 1080p/i screen
[02:38:52 CET] <AmyMalik> in a 640x480 box it will use 640x480
[02:38:57 CET] <AmyMalik> in a 720x540 box it will use that
[02:39:26 CET] <montana> the 720x480 is scaled up or down (to 720x540, or to 640x480) to get the 4:3 : which one is it on my 1920x1080 computer screen
[02:39:32 CET] <AmyMalik> 1440x1080.
[02:39:40 CET] <montana> no it doesn't
[02:39:45 CET] <AmyMalik> yes it does
[02:39:48 CET] <AmyMalik> it goes directly to 1440x1080
[02:39:57 CET] <AmyMalik> an anamorph video will always scale to fit the smaller dimension of the display multiplied by the aspect ratio
[02:40:14 CET] <montana> i am not talking about "full screen"
[02:40:26 CET] <AmyMalik> in a 720x480 box it will scale to 640x480
[02:40:36 CET] <AmyMalik> in a 720x540 box it will scale to that
[02:40:47 CET] <AmyMalik> in a 1280x720 box it will scale to 960x720
[02:41:04 CET] <montana> i don't know what kind of video player you use
[02:41:09 CET] <montana> on your computer
[02:41:16 CET] <montana> i am not talking about "full screen"
[02:41:28 CET] <AmyMalik> you are being obstinate deliberately
[02:41:34 CET] <AmyMalik> it doesn't matter if you are talking about full screen or not
[02:41:45 CET] <AmyMalik> if the video display box is 1920x1080, then the video will scale to 1440x1080
[02:42:10 CET] <montana> 640x480 regular video will always show up as 640x480
[02:42:57 CET] <AmyMalik> if the video display box (as is typical on a non full screen 1080 display) is, say, 900 px tall, it will scale to 1200x900
[02:43:39 CET] <AmyMalik> if the video display box is 540 lines high with unlimited width it will show 720, and if it's 480 lines high with unlimited width it will show 640
[02:46:24 CET] <montana> okay if you have 720x480 anamoph source and let's say you have to crop 4 pixels of height and 4 pixels of width , would you use 640x480 with upscaling? or would you use 636x476
[02:47:41 CET] <AmyMalik> if you have a 720x480 source, you do not have a 640x480 source, you have a 720x480 source
[02:47:54 CET] <AmyMalik> are there 4 display pixels you are cropping, or 4 source pixels
[02:48:17 CET] <AmyMalik> because 4 display pixels are 4.5 (~=5) source pixels
[02:49:03 CET] <montana> then what would you do as final resolution?
[02:50:22 CET] <AmyMalik> i would upscale
[02:50:26 CET] <AmyMalik> to 720x480
[02:50:38 CET] <AmyMalik> i don't have time to fuss
[02:51:06 CET] <montana> but 720x480 is not right aspect ratio
[02:51:34 CET] <montana> why not use 640x480 with upscaling then?
[02:52:00 CET] <AmyMalik> because that's both up and downscaling
[02:52:56 CET] <montana> i don't understand your reason
[02:53:37 CET] <AmyMalik> i don't understand why you aren't doing what works for you and saying fuck you to the people here
[02:54:13 CET] <montana> lol because i respect people's opinion
[02:54:42 CET] <AmyMalik> honestly
[02:54:51 CET] <AmyMalik> i would just upscale all the way to 720x540 in transcoding
[02:55:37 CET] <montana> i see
[02:55:58 CET] <montana> not all programs allow that
[02:56:19 CET] <AmyMalik> those programs are thick as a brick
[02:56:21 CET] <AmyMalik> do not use them.
[03:11:48 CET] <edenist> hey, is anyone around who is familiar with libx264, and in particular tuning -crf values?
[03:12:46 CET] <DHE> what about it?
[03:13:11 CET] <kepstin> it's pretty simple - you look at the video, if it's not good enough, you make the crf value smaller
[03:13:20 CET] <kepstin> if it's too big, you make the crf value bigger
[03:13:25 CET] <void09> well, found a better way to join the two overlapping .ts files. https://serverfault.com/questions/350546/join-large-overlapping-files
[03:13:49 CET] <DHE> when in doubt, a good starting value is 20 for good quality and maybe 27 if space matters
[03:14:04 CET] <void09> oh nvm it doesn't work :(
[03:14:08 CET] <DHE> but everyone has their opinions
[03:14:28 CET] <edenist> yeah I get what it does, it's more about some inconsistencies with latencies with various values
[03:14:42 CET] <DHE> latency?
[03:15:46 CET] <edenist> I'm using x11grab to do streaming of my main desktop machine to another system, along with -tune zerolatency -preset ultrafast
[03:16:27 CET] <DHE> oh dear...
[03:16:42 CET] <edenist> if I use -crf 18, I get maybe 20ms of display latency. But when I go up to, say, -crf 23, it goes up to around 80-100ms
[03:17:19 CET] <edenist> so I'm unsure why decreasing the quality has such a big impact on the latency
[03:19:00 CET] <montana> edenis why is 20ms latency matter so much to you, may i ask
[03:19:05 CET] <edenist> I've tried tuning -maxrate, -bufsize and -g as well, and I've got quite low latency on -crf 18....
[03:19:08 CET] <edenist> 20ms is fine!
[03:19:24 CET] <montana> edenis why is 80ms latency matter so much to you, may i ask
[03:19:38 CET] <edenist> but I don't want to use -crf 18, I'd like to decrease the quality down to say crf 23 or more. but it makes the latency much worse
[03:19:54 CET] <edenist> because high input latency makes the system difficult to use in real time
[03:20:04 CET] <montana> i don't understand
[03:20:15 CET] <montana> edenist do you use obs-studio?
[03:20:32 CET] <edenist> I'm basically implementing what steam does with it's remote play. I want to use my main desktop machine from my laptop
[03:20:42 CET] <edenist> so I'm sending inputs from the laptop, and receiving a stream of the desktop
[03:20:59 CET] <edenist> particularly if I want to do something like gaming.... low latency is critical
[03:21:15 CET] <montana> no it's not
[03:21:17 CET] <edenist> montana: no I don't use obs-studio
[03:21:22 CET] <edenist> and yes... it is
[03:21:38 CET] <montana> then what is better than obs-studio
[03:22:47 CET] <edenist> I'm using ffmpeg from the command line. obs-studio is for people streaming their stuff to remote viewers. latency doesn't matter there.
[03:23:58 CET] <edenist> but anyway. it's all much for muchness. I'm having success with ffmpeg, but I'm having some behaviour I don't understand. Hence I'm wondering if anyone in the [shock!] ffmpeg channel might have some insight as to why ;-)
[03:24:06 CET] <montana> ednist no , i use obs-studio for just recording
[03:24:20 CET] <edenist> ok, cool.
[03:24:37 CET] <edenist> I'm not recording
[03:24:54 CET] <montana> then what are you doing if you are not recording nor streaming?
[03:25:20 CET] <edenist> do you know what remote play is on steam? or the same on ps4?
[03:25:34 CET] <montana> no
[03:25:36 CET] <edenist> ok
[03:25:38 CET] <edenist> well
[03:26:35 CET] <edenist> my desktop machine is my main gaming machine. I also have a lower powered laptop. I can log into steam on both machines, and stream the game from my desktop to my laptop, with all inputs coming from the laptop itself.
[03:26:53 CET] <edenist> you can play games remotely [or, just use the desktop itself]
[03:27:46 CET] <montana> why not just play in your main gaming machine
[03:27:46 CET] <edenist> it's basically remote desktop but with streaming video instead of a protocol like RDP or vnc
[03:27:57 CET] <edenist> because that's sometimes not practical
[03:28:03 CET] <void09> edenist: main gaming pc is linux ?
[03:28:06 CET] <edenist> yes
[03:28:22 CET] <void09> nice, i used parsec for streaming from windows
[03:28:53 CET] <void09> wondering if nobody did a ffmpeg based solution for this as it seems a very common usecase
[03:28:59 CET] <edenist> void09: oh ok. Yeah it's going well.
[03:29:20 CET] <edenist> and yeah, I've done quite a bit of analysis on valve's solution, and I'm almost certain its using ffmpeg in some form
[03:29:37 CET] <void09> parsec is closed source and does not support streaming from linux, just to linux
[03:29:41 CET] <edenist> I'm just trying to reverse engineer their parameters, heh
[03:30:12 CET] <void09> having such a thing and using software encoding would be nice. parsec uses the gpu's x264 encoder which results in crap quality
[03:30:22 CET] <edenist> yeah I've got a few friends that use that. I think it has better HW encoding on nvidia than nvidia's own solution?
[03:30:26 CET] <void09> but very low latency
[03:30:52 CET] <edenist> I mean, like I said, I've got good quality and low latency with -crf 18
[03:31:05 CET] <edenist> but for some reason when I change it to -crf 23 the latency quadruples
[03:31:09 CET] <void09> don't know nvidia's own solution. i did use it on nvidia though, 1080ti. and the scene change quality is bad
[03:31:10 CET] <edenist> and that's where my confusion lies
[03:31:27 CET] <void09> i mean, takes a bit for it to catch up to scene changes before it becomes clear
[03:31:45 CET] <void09> what about in between values?
[03:32:35 CET] <edenist> it's pretty similar. I can't remember exact values
[03:33:00 CET] <void09> so reducing quality = more lag ?
[03:33:07 CET] <edenist> correct!
[03:33:20 CET] <void09> tried x265 ?
[03:33:28 CET] <edenist> lag in the actual literal use of the word ;-)
[03:33:34 CET] <edenist> no I haven't
[03:33:48 CET] <edenist> I'm trying to stick to x264 because I've got hardware decode support on my client
[03:34:01 CET] <edenist> which again minimises latency ;-)
[03:34:39 CET] <void09> you are pretty smart for a gamer ;)
[03:35:10 CET] <edenist> I'm unsure how to feel about that comment... haha ;-)
[03:35:25 CET] <void09> feels like these days most gamers are mindless zombies
[03:35:45 CET] <void09> "gaaaames" (braainz)
[03:35:56 CET] <edenist> maybe you get a lot of kids wanting to know how to become youtube stars with their 1337 fortnite skillz?
[03:36:32 CET] <void09> even ignoring those, and the minecraft/gta v kids, still looks bad :d
[03:37:16 CET] <edenist> I mean.... I find the technical challenges of obscure setups to be more fun than the gaming itself
[03:37:36 CET] <void09> I just remembered i tried to do what you did myself
[03:37:45 CET] <edenist> otherwise, yeah, just go for lowest hanging fruit. install windows and lots of LED lighting...
[03:38:17 CET] <void09> was pretty surprised input forwarding just worked.. after i googled and tried a solution
[03:38:28 CET] <void09> what are you using for input ?
[03:38:42 CET] <edenist> I'm not using x11 for input. I'm just using synergy.
[03:38:48 CET] <edenist> super low latency
[03:39:06 CET] <void09> oh payware
[03:40:02 CET] <edenist> well, you can pay. but its mostly GPLd. you don't need a license if you don't want it
[03:40:51 CET] <edenist> I did pay though, because free software devs still need to pay the bills ;-)
[03:41:11 CET] <void09> oh did not look like a gpl thing from their webpage
[03:41:48 CET] <void09> but of course you can't make it too obvious it's free if you want people to pay
[03:42:02 CET] <edenist> well, they are a company and the developers work on it full time, so they probably don't want to advertise [hey, come get this for free over here!]
[03:42:10 CET] <edenist> yup ;-)
[03:43:22 CET] <edenist> hmmmm, ok, so it seems I'm out in the fringes of applications of ffmpeg then ;-) I'll keep plugging at it then and maybe write up my work and what parameters are best once I've finished tuning
[11:17:13 CET] <th3_v0ice> Hi guys. I was wondering why would CUDA encoder output different PTS and DTS of a packet from the software encoder (CPU)? I have exactly the same code and they produce different values for encoded packets.
[11:31:19 CET] <BeerLover> I am using a static build (https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz) When I execute it, I get an error -> /opt/ffmpeg: /opt/ffmpeg: cannot execute binary file
[11:52:23 CET] <pbox> kepstin: thanks a lot for the answer. the file is never empty, as what is written is actually a string + a new line
[11:53:07 CET] <pbox> so at least the new line should be there even if the input is an empty string
[12:01:05 CET] <BeerLover> nevermind
[12:01:07 CET] <BeerLover> figured out
[18:25:19 CET] <BLZbubba> hi guys, I'm trying to convert a ts to mkv, but it is complaining about either missing streams or missing timestamps depending on the options I've tried - what is the best way to tell ffmpeg what the input file format is? someone gave me a good one here a few weeks ago but I lost it
[18:56:00 CET] <GenTooMan> Good question. You tried ffprobe on the file first?
[18:58:30 CET] <BLZbubba> yes, ffprobe seems happy with it
[19:01:20 CET] <GenTooMan> TS is just short for Transport Stream. That means it could be anything. ffprobe just checks what it is. To make MKV/MP4 files one needs a set of indexs for time codes. The transport stream may not have the time codes hence "no time stamps". If you are adding a subtitle make sure the subtitle has time stamps also. A raw text file shan't work well.
[19:05:47 CET] <kepstin> hmm? ts almost always refers to mpeg-ts, which is a specific container format. But it has some trickiness, because it doesn't have a header to list streams at the start, and it can contain multiple concatenated streams with timestamps restarting each time.
[19:06:33 CET] <kepstin> ffmpeg tries to find streams in mpegts by probing the file up to either a byte limit or time limit - but it's possible that in some mpeg-ts inputs this won't find all the media streams.
[19:08:27 CET] <BLZbubba> right, is there a way to tell it to look ahead further for the stream info?
[19:09:51 CET] <kepstin> yes, -probesize and -analyzeduration. see https://www.ffmpeg.org/ffmpeg-formats.html#Format-Options
[19:46:02 CET] <GenTooMan> now that I think about it I actually have a question. I'm converting MP4 files copying the audio stream and re-encoding the video. So I keep getting GSOM (Grey Screns of Meh) in it, the encoding pauses for a long period of time, and the player pauses at the same points. I get a grey screen then delta data afterward. It acts like a key frame was deleted. Settings I used https://pastebin.com/7NRavQV4
[19:47:31 CET] <kepstin> GenTooMan: without any other info, the best guess is that your input file is corrupt.
[19:49:27 CET] <GenTooMan> kepstin not much I can add but specifically it happense in transitions. So I guess I should look at ways to find issues in the input file.
[19:49:57 CET] <kepstin> does it play back fine in mpv?
[20:01:15 CET] <GenTooMan> now that you ask I'll have to look. I am uncertain I tested it with mpv specifically
[20:13:05 CET] <feos> I have a question about using PTS with libav when writing video frames. say the footage has frames that need to repeat, and we only write unique frames to the dump. we use PTS to indicate where the frame is meant to be in time, in our case it's just the framecount, since resulting framerate is constant. is the first frame's PTS meant to be 0? the code I'm looking at (video dumper of Dolphin emulator) always assigns non-zero values to first
[20:13:05 CET] <feos> frame's PTS, and I'm suspecting that it's problematic when dealing with segmented video dump.
[20:15:48 CET] <ddubya> is there a node-based gui for ffmpeg filter graph?
[20:15:56 CET] <GenTooMan> kepstin no mpv doesn't show that so likely ye olde mplayer is having issues. Right seems to be mplayer is not up to date in debian. mpv is likely better maintained.
[20:16:49 CET] <furq> feos: it's fine for the first pts to be non-zero
[20:18:28 CET] <feos> furq: in segmented video (like we have to split on resolution changes, then resize and splice back together) I think non-zero PTS may shift entire segment's timing, no?
[20:19:07 CET] <feos> I'm looking at the code and trying to understand if it's already shifting everything for no good reason https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/…
[20:20:31 CET] <furq> it shouldn't make any difference
[20:20:39 CET] <furq> the concat demuxer or whatever has to rewrite the timestamps anyway
[20:20:47 CET] <feos> it's calculating delta based on last and current pts but it's actually dealing with the *previous* emulated frame, yet it uses new frame's timing for it
[20:22:29 CET] <feos> furq: my quest started from experiencing extra frames in segments that cause av desync. if I avoid segmentation altogether by forcing the same resolution, the frames are correct. so I have to understand what can be wrong with those timings when new segments are created
[20:23:17 CET] <kepstin> dunno why you're calculating deltas, if you just throw the timestamp the frame was rendered (from a monotonic clock of some sort) into the pts field with an appropriate timebase, you're done.
[20:23:19 CET] <feos> so far I noticed that it doesn't tell duration of the last frame at all. so it's always shown only once even if it's meant to repeat
[20:23:29 CET] <feos> yep
[20:23:54 CET] <furq> wasn't someone in here a while back talking about rewriting all of this code and we told him to use wallclock timestamps
[20:24:14 CET] <feos> it wasn't Fog, right?
[20:24:34 CET] <furq> i don't think so
[20:24:39 CET] <kepstin> if you have something like a emulator cycle count or whatnot, that would work fine too.
[20:24:41 CET] <furq> it was a while back though
[20:24:53 CET] <kepstin> depending what you're trying to sync with
[20:24:56 CET] <feos> there are talks about complete overhaul, but for now I just need my tiny bug fixed, since it's causing lots of problems
[20:25:36 CET] <feos> (I'm calling it mine even tho I haven't written any of that code lol)
[20:25:51 CET] <feos> dolphin people are clueless so I had to go here
[20:26:39 CET] <feos> kepstin: so if I understand it correctly, duration of the current frame is meant to be calculated based on next frame's pts. in libav that is. is it correct?
[20:27:14 CET] <kepstin> duration of the current frame is the timestamp of the next frame (or of end of file, in formats that support that) minus the current frame pts.
[20:27:59 CET] <feos> yeah. but what happens if the next frame is in another segment, yet the last frame of this segment is meant to last for a while?
[20:28:25 CET] <kepstin> then you need to either use a format that can indicate an end of file after the time of the last frame, or have an audio track
[20:28:27 CET] <feos> so that if I splice them together, they align
[20:28:49 CET] <feos> okay I don't have an audio track since it's dumper separately
[20:28:54 CET] <feos> *dumped
[20:29:04 CET] <kepstin> that's inconvenient :/
[20:29:12 CET] <feos> indeed
[20:29:43 CET] <feos> I could dump that frame several times, as much as needed, I think that'd make it "last" for how many frames it needs to
[20:30:06 CET] <feos> I also tried setting packet duration. I got even more extra frames when I spliced tho
[20:30:27 CET] <feos> so then I started suspecting wrong *starting* timings for the next segment too
[20:30:34 CET] <kepstin> you'd do that by dumping it one extra time, at the timestamp of when it should disappear
[20:30:40 CET] <kepstin> what file format are you using?
[20:30:58 CET] <feos> *cough* AVI+FFV1 *cough*
[20:31:09 CET] <kepstin> ok, so first thing to do is stop using avi
[20:31:31 CET] <feos> unfortunately that's unfeasible for now :(
[20:31:35 CET] <furq> i was going to suggest just mpegts and cat them together to preserve the timestamps
[20:31:46 CET] <furq> but i guess that won't work great with resolution changes (or ffv1)
[20:31:46 CET] <kepstin> avi doesn't really support vfr stuff, so this whole thing is just terribly broken with avi
[20:32:02 CET] <kepstin> mpegts has no issue with resolution changes :)
[20:32:05 CET] <kepstin> but players might
[20:32:31 CET] <feos> well I admit it works well for single-segment, since it's not arbitrary VFR but rather repeating frames a few times, still CFR overall
[20:33:01 CET] <feos> each output frame's duration is the same
[20:33:14 CET] <kepstin> yeah, avi is a terrible ancient format.
[20:33:22 CET] <furq> kepstin: yeah i just meant having a file with resolution changes in general is going to be a bad time
[20:33:37 CET] <feos> apparently even winapi importers like avisynth and virtualdub handle ffv1 very well
[20:34:02 CET] <furq> are people seriously still using virtualdub
[20:34:14 CET] <feos> <kepstin> you'd do that by dumping it one extra time, at the timestamp of when it should disappear -- should it have zero duration somehow?
[20:34:16 CET] <furq> not sure whether that's more of an indictment on them or the stuff that was supposed to have replaced it
[20:34:24 CET] <furq> of
[20:34:30 CET] <kepstin> feos: you can't do that with avi, i was assuming you had a real container format
[20:35:11 CET] <furq> yeah the only way to do this with avi is to write a bunch of dup frames
[20:35:24 CET] <feos> regarding virtualdub, we (tasvideos) are currently stuck at avisynth so there's no way out YET. the plan is moving over to vapursynth
[20:35:56 CET] <feos> <furq> yeah the only way to do this with avi is to write a bunch of dup frames -- I tried setting packet duration and it *seemed* to do the job?
[20:36:25 CET] <kepstin> hmm. the muxer might be smart enough to encode some NULL frames to fill the duration
[20:36:32 CET] <furq> 19:30:06 ( feos) I also tried setting packet duration. I got even more extra frames when I spliced tho
[20:36:45 CET] <furq> yeah that sounds like something is duping frames for you because it's avi
[20:36:54 CET] <Hello71> furq: there's still *active development* on virtualdub.
[20:36:59 CET] <furq> incredible
[20:37:01 CET] <Hello71> not the original, virtualdub2, but close enough
[20:37:03 CET] <feos> yeah I mean the endings looked correct now but starts probably still weren't. and I suspected dolphin's dumping code
[20:37:15 CET] <furq> have they actively developed support for more than one container format yet
[20:37:24 CET] <Hello71> and they use ffmpeg for most i/o now
[20:37:30 CET] <kepstin> the avi muxer does an unreasonably good job of pretending avi isn't as bad as it is ;)
[20:37:58 CET] <furq> there's a whole ecosystem of pretending avi isn't as bad as it is
[20:39:48 CET] <feos> what do you guys think of vapoursynth, if anything?
[20:39:53 CET] <furq> it's pretty good
[20:39:56 CET] <Hello71> the avi junk is still all there, but you can open/save modern formats reasonably easily
[20:40:01 CET] <furq> shame it's python but it's better than avs
[20:40:10 CET] <feos> avs is a nightmare
[20:40:25 CET] <furq> but the main reason it's better than avisynth is that you get multithreading that doesn't crash 100% of the time
[20:41:54 CET] <feos> from the perspective of a person who has to maintain tas-encoding-package since 2012 (VfW, avisynth, batch, scripts that change text files), having a REAL programming language for all this feels like a more important reason :)
[20:42:10 CET] <feos> with python it can actually be an all-in-one thing
[20:42:45 CET] <furq> yeah i rarely used avs for anything other than qtgmc, which definitely needs stable multithreadnig
[20:43:29 CET] <feos> we pipe it to x264 that does have MT
[20:44:15 CET] <furq> that doesn't really help me
[20:47:48 CET] <feos> another question. all emulators I've seen use avi for video dumping. and only a few use ffmpeg. yet they actually integrate it and use directly, with hardcoded commands. but there's another approach, involving nut and piping, that allows a given application to send frames to ffmpeg along with arbitrary commands that it supports https://github.com/clementgallet/libTAS/blob/master/src/library/encoding/AV…
[20:47:48 CET] <feos> I've been advocating this approach for years, and it looks like the perfect solution to most problems emulator dumping may experience. does that make sense?
[20:48:57 CET] <kepstin> have to be careful with piping raw video, frames are big, pipe buffers are small, it's easy to make things block :)
[20:49:09 CET] <Hello71> pipe is not very fast compared to a fast codec.
[20:49:12 CET] <furq> not sure what you're saying is the alternative to this
[20:49:34 CET] <kepstin> so you need an encoder thread anyways, and it's honestly not much more work at that point to use ffmpeg libraries directly if it's license compatible
[20:49:39 CET] <feos> sending framebuffers to external ffmpeg
[20:49:43 CET] <Hello71> furq: tl;dr libav* vs pipe to ffmpeg
[20:49:52 CET] <feos> yeah
[20:50:06 CET] <furq> oh
[20:50:10 CET] <furq> i mean i'd probably just use the libs
[20:51:16 CET] <feos> the benefit is infinite flexibility. like it's tricky to set up full-blown libav support inside your app, while external ffmpeg can have all the libs and stream to twitch directly and whatnot
[20:56:50 CET] <kepstin> there's some major benefits to having frames in shared memory in terms of speed, and enough flexibility for most cases can be given by letting the user have some text fields for output filename/url, format, codec names, and avoptions per stream. (with some reasonable defaults or presets) worst case the user can set it up to pipe to an external tool if that's what's needed.
[21:01:56 CET] <furq> yeah piping huge amounts of data to an external tool is something i'd generally avoid in a widely-used multiplatform tool
[21:02:49 CET] <furq> unless you like getting hundreds of ffmpeg tickets on your issue tracker
[21:10:27 CET] <feos> what if we slightly compress before piping? for example with some fast lossless codec
[21:10:42 CET] <feos> "slightly"
[21:10:57 CET] <furq> well now you have your own implementation of nut and ffvhuff in your code
[21:11:04 CET] <furq> this isn't really simplifying things
[21:11:35 CET] <Hello71> furq: that's easy, i'll use ffmpeg!
[21:11:59 CET] <furq> damn that's smart
[21:12:43 CET] <feos> well honestly, having some super basic libav stuff built in and piping to a full-blown thing, why not
[21:13:28 CET] <furq> it seems weird to depend on the ffmpeg libs and also the ffmpeg cli
[21:13:33 CET] <feos> :D
[21:13:58 CET] <furq> especially on windows where you wouldn't get one of those for free
[21:14:10 CET] <feos> as an option that may not be too bad
[21:15:13 CET] <furq> well at this point you're encoding and muxing the file with the ffmpeg libs
[21:15:25 CET] <furq> is that not what you wanted to avoid
[21:16:09 CET] <feos> I wanted the flexibility, and previously I didn't know a lot about all those options
[21:17:02 CET] <feos> okay dolphin's code actually needs to calculate delta from last pts because it needs to set new segment's timings properly
[21:17:24 CET] <feos> they should act like it starts from scratch
[21:17:56 CET] <feos> I'm almost convinced repeating frames directly is the easiest solution
[21:18:18 CET] <feos> no need to worry about setting pts or anything
[00:00:00 CET] --- Wed Nov 6 2019
1
0