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

burek burek021 at gmail.com
Wed Feb 14 03:05:01 EET 2018


[00:32:40 CET] <Classsic> Hi
[00:33:42 CET] <Classsic> somebody know why when compile ffmpeg with vaapi not have mjpeg_vaapi encoder
[00:33:45 CET] <Classsic> only this  V..... h264_vaapi           H.264/AVC (VAAPI) (codec h264)  V..... mpeg2_vaapi          MPEG-2 (VAAPI) (codec mpeg2video)  V..... vp8_vaapi            VP8 (VAAPI) (codec vp8)
[00:36:34 CET] <JEEB> Classsic: what version of FFmpeg?
[00:36:49 CET] <JEEB> although I'm really not sure why you'd do JPEG encoding with VAAPI
[00:36:54 CET] <JEEB> but it is there
[00:36:55 CET] <JEEB> lol
[00:37:02 CET] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/vaapi_encode_mjpeg.c;h=c949e896461103375626386bdb10e38cbc5cce9f;hb=HEAD#l415
[00:48:39 CET] <Classsic> latest version 3.4
[00:50:54 CET] <Classsic> I get docker with vaapi support, and works with mjpeg_vaapi, but when try compile myself, doesn`t work
[00:52:28 CET] <jkqxz> Are you on an oldish distribution?  It requires libva of some not-too-old version.
[00:54:06 CET] <Classsic> debian jessie
[00:55:04 CET] <sfan5> that qualifies as "old"
[00:56:24 CET] <Classsic> ok, I will try with a newer distro
[01:22:14 CET] <Classsic> that`s it! debian 9, it works! :D
[01:48:57 CET] <JummerBimmer> Hi
[01:48:59 CET] <JummerBimmer> anyone here?
[01:49:08 CET] <JummerBimmer> I was wondering is it possible to lets say use ffmpeg line
[01:49:27 CET] <JummerBimmer> for one watermark to show for lets say some seconds and then another one for the rest of the video in another place?
[01:51:38 CET] <furq> JummerBimmer: https://ffmpeg.org/ffmpeg-filters.html#Timeline-editing
[03:11:56 CET] <DHE> so, what's the best deinterlacer today? assuming CPU usage is no object
[06:13:16 CET] <naftulikay> Does anyone know offhand how to calculate an MP3 file's length? FFmpeg bindings may not be available for my language, but there are generalized parsers which return a sequence of MP3 audio frames. Do I have to iterate through all frames and sum sample rate * sample count?
[06:13:29 CET] <naftulikay> (length = duration, sorry for confusion)
[12:30:35 CET] <DHE> naftulikay: with mp3 being variable bitrate at times, that calculation may not be accurate. the only 100% sure way is to iterate the whole file. reading a second or two to verify the bitrate is steady and sane might be sufficient if you're smart
[14:45:38 CET] <Fyr> guys, I found out that PGS subtitles go slightly faster after muxing.
[14:45:42 CET] <Fyr> how do I fix them?
[14:45:55 CET] <Fyr> I loaded them, the timings are normal.
[14:46:36 CET] <DHE> as in they're all consistently fast, or that they speed up over the running of the video?
[14:46:42 CET] <Fyr> however, when I mux them into an MKV, the captions appear slight earlier and in the end there is huge desync.
[14:46:57 CET] <Fyr> DHE, they speed up.
[14:48:42 CET] <Fyr> so, there is framerate thing messed up, methinks.
[14:55:05 CET] <woo543> I'm looking for the magic incantation to use tee with a listening http output, eg making this: ffmpeg -i '...' -c copy -listen 1 -f mpegts 'http://127.0.0.1:1234'  work when the output is -f tee ...
[14:55:24 CET] <woo543> I tried with -tee "[f=mpegts]/tmp/foo.mp4|[f=mpegts,listen=1]http://127.0.0.1:1234/"
[14:55:46 CET] <woo543> but it looks like the listen=1 option is ignored, as it tries to connect to 127.0.0.1:1234 rather than listening
[14:55:53 CET] <woo543> any clue?
[15:13:19 CET] <woo543> (I mean -f tee "[f=mpegts]/tmp/foo.mp4|[f=mpegts:listen=1]http://127.0.0.1:1234/" sorry, but the failure is real)
[15:14:21 CET] <woo543> [tee @ 0x562bb79b02a0] Slave '[f=mpegts:listen=1]http://127.0.0.1:1234/': error opening: Connection refused
[15:24:24 CET] <FireBurn> Hi can anyone explain what the libdrm stuff is for in ffmpeg?
[15:27:00 CET] <jkqxz> It's needed for the RockChip decoder and kmsgrab input device, since they output DRM objects only.  It can also be used for some VAAPI and OpenCL interop.
[15:38:20 CET] <Fyr> guys, what value should I set to -max_interleave_delta?
[15:55:21 CET] <Fyr> guys, does itsoffset affect only the video or a file after the option?
[15:56:45 CET] <JEEB> itsoffset affects the overall start time of the input as a whole
[15:57:22 CET] <JEEB> also it can be very easily reset by the timestamp discontinuity fixing logic unless you are using -copyts as well :P
[15:57:24 CET] <Fyr> JEEB, what if there are a few itsoffset options set?
[15:57:36 CET] <JEEB> most likely the last one gets applied :P
[15:57:47 CET] <Fyr> like, -i video -i audio -itsoffset sub1 -itoffset sub2
[15:58:01 CET] <JEEB> itsoffset goes before input tho, no?
[15:58:17 CET] <JEEB> since it's an input option
[15:58:21 CET] <Fyr> I need to sync subtitles.
[15:58:55 CET] <Fyr> ok, -i video -i audio -itsoffset XX -i sub1 -itsoffset XX -i sub2
[15:59:29 CET] <JEEB> now just note that ffmpeg.c's massive "timestamp fixing" code can fsck with your itsoffset
[15:59:33 CET] <JEEB> I recommend staring at -debug_ts
[15:59:42 CET] <JEEB> that shows the timestamps at various points of ffmpeg.c
[15:59:54 CET] <JEEB> godspeed is all I can say :D
[16:25:39 CET] <Fyr> guys, what full name of language for ell?
[16:26:04 CET] <Fyr> is it "Greek (Modern)" or just "Greek"?
[21:57:03 CET] <Guest63060> Hello. I'm trying to play RTP using multicast over satellite, but it seems the packets are coming out of order. I tried to set -max_delay in order to increase rtpdec queue_size, but no success. Did anyone got it working?
[22:12:32 CET] <saml_> yo are you happy
[22:12:48 CET] <saml_> if you're happy teach me how to reencode with different framerate
[22:12:52 CET] <saml_> -r am i right
[22:27:02 CET] <DHE> saml_: probably. the magic is making sure you put it in the right place. parameter order matters
[22:28:24 CET] <saml_> yeah as output opt
[22:30:31 CET] <rtp_fragment_ord> Hello, does anybody knows if FFPLAY is supposed to handle RTP fragmented packets and out of order packets?
[23:02:03 CET] <darkwater> hey, I want a system where I can feed ffmpeg into something (eg. socket or fifo) which then plays through chromecast on my tv
[23:02:53 CET] <darkwater> so mkchromecast.py (or something else) would "play a fifo" which I would feed externally through ffmpeg, so I can later decide to play another file without restarting mkchromecast
[23:03:23 CET] <darkwater> right now I have this command:
[23:03:25 CET] <darkwater> ffmpeg -re -stream_loop -1 -i mpv.fifo -vcodec libx264 -preset ultrafast -tune zerolatency -maxrate 10000k -bufsize 20000k -pix_fmt yuv420p -g 60 -f mp4 -max_muxing_queue_size 9999 -movflags frag_keyframe+empty_moov pipe:1 | mpv -
[23:03:38 CET] <darkwater> (mpv for testing, this would eventually go into mkchromecast.py)
[23:03:53 CET] <mifritscher1> moin
[23:03:55 CET] <darkwater> and then I'd do ffmpeg -i some_video.mkv ... mpv.fio
[23:04:48 CET] <darkwater> I think this almost works for audio, but ffmpeg is complaining a lot abobut timestamps
[23:07:24 CET] <darkwater> sounds messy but I can't really think of a better way to explain it
[23:37:39 CET] <mifritscher1> is it normal that e.g. pause and resume a process for few seconds  (e.g. for dumping it) let the libav bibliothek eat 100++MB RAM when reading a http MJPEG stream? not even av_read_frame or similiar is called, the stream is yust started
[23:39:26 CET] <mifritscher1> on windows 7 64 bit and java
[23:39:53 CET] <mifritscher1> (example code etc. can be found under https://github.com/bytedeco/javacv/issues/846 )
[23:41:42 CET] <BtbN> well if you don't read it, it has to be stored somewhere
[23:44:44 CET] <mifritscher1> BtbN: but the memory consumption does not go up in normal operation  - only if the process is severly hampered (extreme CPU load, dumped etc.)
[23:44:57 CET] <mifritscher1> the variant with reading doesn't help as well
[23:45:51 CET] <mifritscher1> normal operation: 110 MB - steady. then dumping, then it goes up to 325 MB instantly and is steady as well
[23:46:20 CET] <klaxa> my guess: since it's converting everything to Frame it decodes a lot of frames and has to save them somewhere (all decompressed too)
[23:46:21 CET] <mifritscher1> dump takes about 4 seconds
[23:47:18 CET] <furq> if it's a live input then that's pretty normal, yeah
[23:48:18 CET] <mifritscher1> ok, is there a way to say ffmpeg to limit the buffer size (and throw the old pictures away)?
[23:48:29 CET] <SortaCore> can someone explain how MOVTrack->timescale works? It has track->timescale = st->time_base.den; while(track->timescale < 10000) track->timescale *= 2;
[23:49:06 CET] <mifritscher1> ah, if I dump the process the MJPEG-server is paused as well btw (is in the same process)
[23:49:08 CET] <SortaCore> later, that's used in time_base, and I'm trying to duplicate ffmpeg.c's time_base in my C++ code
[23:51:43 CET] <JEEB> SortaCore: that's not ffmpeg.c, that's lavf's movenc.c
[23:51:43 CET] <JEEB> lol
[23:52:02 CET] <mifritscher1> but it makes no difference if the Server is in an other process
[23:52:27 CET] <JEEB> timescale is what time base is called in MOV/ISOBMFF, it's what movenc.c will use in the actual output file
[23:53:02 CET] <JEEB> and as you can see it's not a fractional
[23:54:03 CET] <SortaCore> herk
[23:54:23 CET] <JEEB> I do agree that that code with the *=2 there is not exactly documented
[23:54:58 CET] <SortaCore> yea, but later ffmpeg uses it in time_base, I was getting confused by where it was pulling 12800 from, when it had a 4/25 r_framerate, a 1/6 avg framerate, and a 1/90000 for the rtsp stream
[23:55:08 CET] <SortaCore> hence I was a bit puzzled by that
[23:56:08 CET] <mifritscher3> sorry, got network problems :-(
[23:56:49 CET] <JEEB> SortaCore: it doesn't get set back to time base, but it is the time base written into the MOV or ISOBMFF file
[23:57:42 CET] <JEEB> anyways, I'm really not sure what's going on there. I know for 1001/24000 for example the denominator would already be big enough for example
[23:58:08 CET] <JEEB> (that's the time base for 24/1.001 video)
[00:00:00 CET] --- Wed Feb 14 2018


More information about the Ffmpeg-devel-irc mailing list