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

burek burek at teamnet.rs
Tue Dec 10 03:05:02 EET 2019


[00:04:11 CET] <scramblez> Hi All, I've created a series of sinewave frequencies to help tuning a subwoofer. I'd like to add a video showing on the screen the actual frequency of the audio, as it changes. I've seen drawtext and could use it, but I assume I would need a video file as input to add to it.
[00:04:33 CET] <scramblez> I have no such video file, how could I create a black screen to add the text to?
[00:06:07 CET] <durandal_1707> see filter color
[00:06:34 CET] <scramblez> durandal_1707: thanks, I'll have a look at it.
[00:31:45 CET] <scramblez> durandal_1707: OK, I got this much working: "ffmpeg -f lavfi -i color=color=0x483D8B -pix_fmt yuv420p -t 5 test.mp4" now I need to specify hd1080 resolution ... how do I do that?
[00:32:09 CET] <nicolas17> try -s hd1080 before -i
[00:33:18 CET] <scramblez> Thanks nicolas17! Sadly it gives: "Option video_size not found."
[00:33:54 CET] <nicolas17> hm
[00:34:08 CET] <furq> color=0x483D8B:s=1920x1080
[00:35:15 CET] <scramblez> Ha! It works!  :-)  Thank you furq!
[00:36:14 CET] <furq> https://ffmpeg.org/ffmpeg-filters.html#sine
[00:36:15 CET] <furq> there's also this
[00:37:59 CET] <scramblez> yes, I have already used this to generate the audio frequencies, I'm now looking into adding a video displaying the actual frequency being played using text on the TV screen.
[00:38:42 CET] <scramblez> Is it necessary to specify a font file, or will some generic font get used?
[00:39:29 CET] <furq> FREQ=200 ffmpeg -f lavfi -i sine=f=$FREQ -f lavfi -i color=0x483D8B:s=1920x1080,drawtext=text=${FREQ}hz ...
[00:39:35 CET] <furq> something like that
[00:40:04 CET] <scramblez> WOW! furq you're saving me a lot of work here!
[00:40:20 CET] <nicolas17> I think if you're on Linux, something as generic as "sans" will be resolved to an actual font by fontcondig
[00:40:34 CET] <furq> you might need to specify a font, it depends on how your fontconfig is set up iirc
[00:40:47 CET] <scramblez> OK, will see what it gives.
[00:43:40 CET] <scramblez> Hmm ... "Error initializing filter 'sine' with args 'f=' sine=f=: Invalid argument"
[00:44:44 CET] <scramblez> No matter, I'll hardcode it,
[00:45:08 CET] <furq> you probably need FREQ=200;
[00:45:21 CET] <furq> but if you have multiple frequencies then just use a loop for that
[00:45:43 CET] <furq> for FREQ in 100 200 300; do ffmpeg ...; done
[00:46:07 CET] <nicolas17> multiple videos?
[00:46:23 CET] <furq> apologies in advance to all the posix guys who will tell me that uppercase variable names are reserved
[00:46:28 CET] <scramblez> No, I was going to end up with one video, 5 seconds of each freq.
[00:46:46 CET] <scramblez> Starting at 10Hz and going up to 130Hz.
[00:47:03 CET] <scramblez> I don't mind doing it manually and concatenating the result.
[00:47:14 CET] <furq> yeah that's a lot simpler
[00:47:22 CET] <furq> you can do it in one command but it'll be a lot more complicated
[00:47:46 CET] <scramblez> Now it doesn't like text:  "Error initializing filter 'drawtext' with args 'text=10hz'"
[00:48:14 CET] <scramblez> I may need to add a font file path.
[00:48:45 CET] <scramblez> I've got this at present: "drawtext=text="10hz"" and it errors out.  :-/
[00:49:36 CET] Action: scramblez back in mo
[01:17:58 CET] <scramblez> Excellent! I got it done with: "ffmpeg -f lavfi -i sine=f=130 -f lavfi -i color=0x483D8B:s=1920x1080,drawtext="fontfile=/usr/share/fonts/dejavu/DejaVuSans.ttf:text='130Hz':fontcolor=white:fontsize=96:x=(w-text_w)/2: y=(h-text_h)/2" -t 5 130Hz.mp4"
[01:18:17 CET] <scramblez> Thank you All for your help!  :-)
[01:19:31 CET] Action: scramblez off to bed ... zzz
[03:52:54 CET] <byte4byte_> blb
[06:20:30 CET] <byte4byte_> ffmpeg.exe -y -framerate 31.788647 -f rawvideo -pix_fmt rgb24 -vcodec rawvideo -s 640x480 -i tcp://127.0.0.1:54184 -acodec pcm_f32le -f f32le  -ar 32006 -ac 2  -i tcp://127.0.0.1:54183 -c:v libvpx -crf 20 -pix_fmt yuv420p output.webm
[06:20:44 CET] <byte4byte_> im not getting any audio with the video does the command look ok?
[08:52:21 CET] <void09> got a .ts file i'm trying to -> .mkv, but ffmpeg stops at ~320mb / 4gb. getting these errors:
[08:52:22 CET] <void09> [mpegts @ 0x564037773080] start time for stream 0 is not set in estimate_timings_from_pts
[08:52:22 CET] <void09> [mpegts @ 0x564037773080] Could not find codec parameters for stream 0 (Video: h264 (HDMV / 0x564D4448), none): unspecified size
[08:52:22 CET] <void09> Consider increasing the value for the 'analyzeduration' and 'probesize' options
[08:52:56 CET] <void09> tried remuxing with mkvtoolnix/avidemux and it works, but the file is not seekable (only for short durations, and takes a bit)
[08:54:18 CET] <JEEB> those sound like something that happened at the beginning, and possibly due to how static ffmpeg.c is. anyways, if it's UHD BD or so, I recommend raising those two so it finds all streams.
[08:54:28 CET] <JEEB> or more specifically, gets the first packet for all streams
[08:56:49 CET] <void09> it's hdtv capture
[08:57:58 CET] <void09> ffmpeg -analyzeduration 45000000000 -probesize 45000000000 -i "
[08:58:00 CET] <void09> is this good?
[08:58:24 CET] <JEEB> it depends on how far it is in the stream
[08:58:34 CET] <JEEB> I think by default it scans 7 seconds and XX megabytes
[08:58:51 CET] <void09> i ran that and get : Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[08:58:51 CET] <void09> [matroska @ 0x55e310f46140] Can't write packet with unknown timestamp
[08:58:51 CET] <void09> av_interleaved_write_frame(): Invalid argument
[08:58:51 CET] <void09> [matroska @ 0x55e310f46140] Can't write packet with unknown timestamp
[08:58:51 CET] <void09> Error writing trailer of outputvideo.mkv: Invalid argument
[08:59:07 CET] <JEEB> so yea, packets don't have timestamps; that's a separate problem
[08:59:20 CET] <void09> -fflags +genpts ?
[08:59:42 CET] <void09> nope, that doesn't work
[08:59:55 CET] <JEEB> wlel I'd recommend checking which stream has that tbh :P anyways, afk
[09:00:20 CET] <void09> which stream has what ?
[09:00:44 CET] <void09> only seeing an audio+ video stream
[09:01:18 CET] <void09> the .ts is perfectly seekable in mpv. just bugs me that this file is not .mkv-able
[09:01:34 CET] <void09> I can save 200MB :P
[09:04:03 CET] <void09> this is a weird ass .ts file. can anyone with some experience with these download 4gb and check it out ?
[09:04:33 CET] <void09> The knowledge gain on how to fix it will be valuable
[09:05:48 CET] <JEEB> DVBInspector is what I utilized generally to check out timestamps, and `ffprobe -of json -show_programs -show_packets -i BLAH.ts > dump.json` lets you have a json dump which contains how all packets are read by lavf
[09:05:57 CET] <JEEB> s/timestamps/MPEG-TS/
[09:06:00 CET] <JEEB> (but also timestamps)
[09:06:21 CET] <JEEB> then you can script around that JSON output to see any irregularities etc
[09:06:30 CET] <void09> I most definitely can't :(
[09:07:18 CET] <void09> I have no idea what to look for there
[12:49:41 CET] <snappy> Hi. Sorry this is a bit lazy to ask but I cannot stand the google search results on this. Is there a way to get ffmpeg convert mkv to mp4. I don't mind a quality loss. I prefer to do this via command line rather than some dubious 3rd party app that wraps ffmpeg. I'm on macos.
[12:51:43 CET] <snappy> ah nevermind i found a gist to do just this, plus a few tweaks because i guess the audio codec is ogg vorbis
[13:25:20 CET] <zerodefect> I'm tring to stream an MXF file off AWS s3 via https (ffplay).  It seems like there is an issue related to this specific file because ffmpeg seems to be seeking backwards from the end of the file trying to stream it. I don't have problems when the file is played locally or with other streamed files. One interesting thing is that this is the largest file in my collecion ~63.3GiB.
[13:25:49 CET] <zerodefect> I don't have the rights to this file, so is there any way I can report this without it being publicly available?
[13:49:12 CET] <familiyaF> Hi, I am using hardware acceleration, is there a way to validate if the hardware is actually getting invoked
[14:16:32 CET] <DHE> if you specifically request a hardware encoder and it runs, it should be working. you can also query GPU usage on some hardware (eg: nvidia)
[17:32:56 CET] <encho> I am building ffmpeg on Linux/PC as a buildroot package for a mips32 server. It says it can not find fontconfig, when in fact fontconfig is present in the build environment which is easily verified because :
[17:33:07 CET] <encho> a) host/usr/bin/pkg-config --list-all | grep -i fontconfig
[17:33:27 CET] <encho> ... produces "Fontconfig - Font configuration and customization library"
[17:33:31 CET] <encho> and
[17:33:32 CET] <kepstin> you need fontconfig for the target, not for the host
[17:33:45 CET] <encho> b) ls -l staging/usr/lib/pkgconfig/fontconfig.pc -rw-r--r-- 1 alexander alexander 892 45:  9 18:09 staging/usr/lib/pkgconfig/fontconfig.pc
[17:34:39 CET] <encho> kepstin: I need fontconfig ON the target. It is built on the host. The tool to configure in the cross build env is in the host dir
[17:35:51 CET] <encho> If I were building ffmpeg on my embedded device then yes, I would need fontconfig on the target :)
[17:36:33 CET] <kepstin> you need to make sure that ffmpeg configure script is using a pkg-config binary that is searching the pkg-config dirs for the system you're building for.
[17:36:43 CET] <encho> Yup
[17:36:52 CET] <encho> That's the tool. The one I mentioned
[17:37:02 CET] <encho> It works fine for all the other packages btw :)
[17:37:15 CET] <kepstin> would be good if you can share the ffbuild/config.log then
[17:37:24 CET] <kepstin> might have some info as to what went wrong.
[17:37:24 CET] <encho> Sure, no problem
[17:37:53 CET] <encho> I think it does not ... I looked at it already.. i will pastebin it and trim it a little coz its HUGE
[17:39:13 CET] <encho> Oh and the version of ffmpeg which is used in my buildroot tree is 3.2.8... if anybody knows of any related fixes in more recent version that could probably save me a lot of typing :)
[17:39:39 CET] <kepstin> encho: there's a ton of fixes in every more recent version, please update
[17:39:54 CET] <kepstin> (not necessarily related, but those fixes will affect anything you're actually using ffmpeg for)
[17:41:06 CET] <encho> kepstin: ok I will try some more recent vesion ... that's the one which was "shipped" with the version of buildroot I am using and I was reluctant to update out of fear of dependencies failing
[17:41:43 CET] <encho> I will be using it to recode youtube videos downloaded by youtube-dl to my embedded box
[17:42:28 CET] <kepstin> fun thing about youtube-dl is that you need to /continuously/ update it due to changes on the web pages, and it does work best with a newer ffmpeg build.
[17:43:12 CET] <kepstin> doing transcoding on an underpowered mips box doesn't sound like fun tho
[17:44:17 CET] <kepstin> most of the nas-style systems that do transcoding use intel cpus so they can use the quicksync hw transcoder
[17:46:15 CET] <encho> kepstin: well I will only usiously e it for youtube not other sites. Hopefully I don't need to constantly update it coz that would be a serious problem
[17:46:32 CET] <encho> only *use it*
[17:46:50 CET] <kepstin> you do, google changes the youtube pages probably more often than the other sites youtube-dl supports :)
[17:47:08 CET] <encho> hmmmm
[17:47:40 CET] <encho> kepstin: ok then how does my semi-smart tv work? it has a youtube function
[17:48:01 CET] <encho> and probably was never updated since I bought it ... like 4 years ago
[17:48:05 CET] <kepstin> they presumably use private apis licensed to them by google
[17:48:22 CET] <encho> so the licensed api is guaranteed not to change?
[17:48:41 CET] <kepstin> that there have been some "smart devices" which lose accesses to services due to not being able to update
[17:48:50 CET] <kepstin> and most smart tvs do receive firmware updates
[17:49:16 CET] <encho> yeah thats why I said "semi" smart :) it does not have netoworking
[17:49:24 CET] <encho> so can not receive updates
[17:49:30 CET] <kepstin> if it doesn't have networking, then it can't play youtube
[17:49:41 CET] <kepstin> if it can play youtube, it has networking, therefore it can receive updates
[17:50:16 CET] <encho> errr ... right :)  it does have newtorking I got confused about the other TV
[17:50:50 CET] <encho> ok heres the pastebin of the config.log:
[17:50:58 CET] <encho> https://pastebin.com/qZt9NvWE
[17:51:54 CET] <encho> kepstin: ok so  now I will try a more recent version... Perhaps the latest 3.x would be a good candidate?
[17:52:22 CET] <kepstin> encho: you almost certainly need to remove the --disable-libfreetype (or change it to --enable-libfreetype)
[17:52:36 CET] <kepstin> 3.x is old, if you most use a release use the latest one
[17:52:50 CET] <encho> ok...
[17:53:39 CET] <kepstin> that said, that appears to be unrelated to the error
[17:54:24 CET] <kepstin> your actual error is "/home/workHD/buildroot-output/host/usr/lib/gcc/mipsel-buildroot-linux-uclibc/4.8.5/../../../../mipsel-buildroot-linux-uclibc/bin/ld: /tmp/ffconf.doV5zRg0.o: linking -mfp64 module with previous -mfp32 modules"
[17:54:25 CET] <encho> kepstin: actually it could be yet  another manifestation of the problem and the error - if it can not find the freetype either it disables it?
[17:54:36 CET] <kepstin> the library is built with a different, incompatible abi
[17:55:10 CET] <encho> and what if mfp?
[17:55:13 CET] <encho> *is
[17:55:47 CET] <kepstin> i'm not familiar with mips, but fp64 vs fp32 probably means 64-bit floating point vs. 32bit floating point
[17:55:57 CET] <kepstin> i don't know which your system requires or how to set that appropriately.
[17:56:52 CET] <encho> Thank you kepstin, I will look  into that :)
[17:57:24 CET] <encho> By the way - if I build mplayer... which has a 'built-in' ffmpeg source in one of its sub-dirs...
[17:57:31 CET] <encho> it builds fine.
[17:57:42 CET] <encho> But does not produce a ffmpeg executable LOL...
[17:58:28 CET] <encho> Anyway - for starters I will try the most recent source and look into this mfp problem. Thanks again kepstin
[18:00:39 CET] <kepstin> looks like you need to either rebuild all the other libraries with -mfp64 or remove the option --enable-mipsfpu from your ffmpeg configure line
[18:02:07 CET] <encho> ahh ... there was some grief with this FPU business... I remember ... long time ago I had do some patching and to fiddle with some asm instructions in the kernel code :(
[18:04:14 CET] <encho> So the CPU is indeed 32 bit and based on what you pointed kepstin, it seems that for some reason ffmpeg's configure adds the  -mfp64 switch instead of -mfp32?
[18:04:30 CET] <kepstin> that has no bearing on whether the cpu is 32bit or not
[18:05:28 CET] <kepstin> you told ffmpeg to use the hardware fpu on a mips32r5 or newer cpu, and ffmpeg knows that the fpu on that chip can do 64bit floating point, so it added the option.
[18:06:36 CET] <kepstin> (note that i'm referencing latest git master, it's possible that this code is broken on the old version you have, although i doubt there were major changes)
[18:07:56 CET] <encho> Ok just a quick sidetrack - all these errors (mfp) happen in tests that configure runs to identify what is available on the system. So this may be an indication of some inconsistecny or inefficiency and eventally the fpu will not be used...
[18:08:31 CET] <kepstin> it just means that the shared libraries you're trying to link to are not compatible with the options that ffmpeg is using to build its own code
[18:08:36 CET] <encho> but is probalby not the real cause of the build failing?
[18:08:39 CET] <kepstin> that's it.
[18:08:46 CET] <byte4byte_> can someone assist?
[18:08:48 CET] <byte4byte_> ffmpeg.exe -y -framerate 31.788647 -f rawvideo -pix_fmt rgb24 -vcodec rawvideo -s 640x480 -i tcp://127.0.0.1:54184 -acodec pcm_f32le -f f32le  -ar 32006 -ac 2  -i tcp://127.0.0.1:54183 -c:v libvpx -crf 20 -pix_fmt yuv420p output.webm
[18:08:53 CET] <encho> There are tons of these. In many tests.
[18:08:56 CET] <byte4byte_> i am not getting an audio in the video
[18:09:06 CET] <kepstin> encho: since the libraries aren't compatible, ffmpeg can't link to them
[18:09:07 CET] <encho> And only one mention of "fontconfig not found"
[18:09:12 CET] <byte4byte_> i verified i am getting a connection on port 54183
[18:09:20 CET] <kepstin> encho: it's probably disabling a bunch of other things as well
[18:09:44 CET] <kepstin> byte4byte_: the "rawvideo" input format only supports video
[18:10:08 CET] <kepstin> byte4byte_: not sure how you'd expect a video-only stream without a container to contain any audio?
[18:10:11 CET] <byte4byte_> but i have a 2nd input for audio
[18:10:24 CET] <kepstin> oh, right, didn't read far enough.
[18:10:46 CET] <encho> kepstin: Ok then I will continue as planned: newer version... if that does not help - investigatethe mfp bit problem
[18:10:49 CET] <kepstin> but I suspect that you might just have to add some -map options to select the right streams.
[18:11:13 CET] <kepstin> encho: newer version should behave the same way in terms of building, but unlike the old version, more people here will be willing to help you
[18:11:31 CET] <kepstin> encho: you have to sort out the mips library abi issue, determine which cpu you have and use matching options
[18:13:36 CET] <encho> kepstin: maybe now is the time to mention that I am fairly ahead in this project? I mean I have various apps and libs working including things like SDL2, several GUIs, apps which do blitting, play video and audio and display PNGs?
[18:14:06 CET] <encho> I mean isn't improperly built ABI something which would prevent all this from happening?
[18:14:17 CET] <kepstin> encho: if all your other libs are already built, easiest thing to do is to make ffmpeg use matching abi, which means that you should remove the --enable-mipsfpu option
[18:14:28 CET] <byte4byte_> hey kepstin https://pastebin.com/xqZ167Mq
[18:15:28 CET] <encho> kepstin: right.. but that will probably affect performance ?
[18:15:48 CET] <kepstin> encho: probably? i mean it might make it go from "pretty awful" to "really awful"
[18:15:59 CET] <kepstin> encho: but the alternative is you have to rebuild everything else
[18:16:36 CET] <kepstin> (and you should check if you actually have a mips32v5 chip with a hardware fpu first)
[18:16:57 CET] <encho> kepstin: right! :)
[18:19:34 CET] <encho> kepstin: so.... in buildroot's "Target Architecture" option it is "Generic MIPS32" that's selcted, and there are the R2, R5 and R6 variants there as well as interAptiv and M5150
[18:20:55 CET] <encho> So that tells me that a) I will need to talk to my hardware colleague tomorrow and b) that ffmpeg for some reason is selecting an options which it should not
[18:21:28 CET] <kepstin> you told ffmpeg to use the hardware fpu with the --enable-mipsfpu option, that's what caused ffmpeg to use the different abi
[18:21:51 CET] <kepstin> if you remove that option, then it will match the other stuff you've built
[18:24:03 CET] <encho> kepstin: ... so there is no user-controlled option in buildroot to select ffmpeg build with or without mpisfpu... which probably means it somehow infers that it has an FPU
[18:24:31 CET] <encho> Time to open buildroots config files I guess ... <sigh>
[18:24:46 CET] <kepstin> it is explicitly passing --enable-mipsfpu to the ffmpeg build, so... :/
[18:30:27 CET] <encho> kepstin ....
[18:30:31 CET] <encho> you rock man :)
[18:31:02 CET] <encho>  --disable-mipsfpu did the trick.. it is building now
[18:31:58 CET] <encho> I will of course investigate further coz I think it does have an FPU so I will need to reconfigure the thing to recognize its FPU and build everything properly...
[18:33:07 CET] <encho> ... but you did point me in the right direction coz I was all about "ffmpeg is not invoking the cross config tool properly and hence does not find fontconfig and the other libs"
[18:33:07 CET] <kepstin> yeah, you probably would want to rebuild everything with the fp64 abi for best performance with media stuff
[18:33:16 CET] <encho> oh yeah :)
[18:33:35 CET] <kepstin> not that it'll ever be good
[18:33:51 CET] <encho> why..?
[18:33:57 CET] <kepstin> probably be faster to transcode on a 5 year old intel laptop instead of most mips hardware i've seen
[18:34:09 CET] <encho> :(
[18:34:27 CET] <encho> and it's a lower end mips system too...
[18:34:37 CET] <encho> so .. pretty hopeless huh?
[18:34:38 CET] <kepstin> (partly because a 5 year old intel laptop has a hardware video transcoder, but even on cpu it would be faster)
[18:34:39 CET] <kepstin> yeah
[18:35:30 CET] <encho> ok.. well... we'll see! for now I am happy that it is building and nothing can dimmer this joy! nothing I tell ya!
[18:36:37 CET] <encho> ok, kepstin thanks again for your help, I am off for now :)
[19:43:31 CET] <ScarletMarauder> hello, I have a question about splitting mkvs and keyframes. So I am sure this question has been asked a million times before, but here it goes. I am interested in splitting an mkv by its exact chapter markers. but since the keyframes do not perfect line up, the files are a few seconds long.
[19:44:21 CET] <ScarletMarauder> is there a way I could split the mkvs and only reencode the from the nearest keyframe to the chapter mark getting a third file.
[19:45:25 CET] <ScarletMarauder> so if say  I had an hour long file with 20 chapters in it, and the keyframe is a few seconds after the chapter marker, I reencode from section from the keyframe to the chapter marker, and so on.
[19:46:23 CET] <c_14> It's possible, yes, but not without scripting or using the libraries
[19:48:06 CET] <ScarletMarauder> C_c14 ah, I figured I would be doing some scripting to get it work. would I be better off doing it in ffmpeg or mkvmerge.
[19:49:42 CET] <c_14> whichever's easier for you, should be doable with either
[19:49:45 CET] <ScarletMarauder> I recall there was a windows program in 2015 that could split files using that method, but it was abandoned before cli access was added. I figured something that would get keyframes and compare that list with the files chapter list.
[19:50:15 CET] <ScarletMarauder> c_14, thank you. shame it doesn't look like anyone has published something like that recently.
[19:50:39 CET] <c_14> yeah, just grab a list of all the keyframes and chapters. Then iterate over both, find the nearest keyframe before the chapter, copy that out, encode from that keyframe to the chapter, concat and repeat
[19:52:28 CET] <ScarletMarauder> this will be fun
[19:53:26 CET] <ScarletMarauder> I am trying to reedit the old clone wars cartoon, make an abridged version with less filler and move ventress's introduction to the start of the series.
[20:31:30 CET] <kepstin> the trickiest bit is that you need to match the encoder and settings used when re-encoding the parts of the video
[20:32:08 CET] <kepstin> otherwise it won't play correctly when concatenated
[20:50:08 CET] <ScarletMarauder> kepstin ah
[20:50:27 CET] <ScarletMarauder> i got a feeling this project is goign to take me a while
[20:52:11 CET] <kepstin> honestly, i'd just re-encode the whole thing. with appropriate encoder settings, there should be minimal quality loss, and it would be far easier to do.
[21:50:29 CET] <ScarletMarauder> kepstin that probably makes the most sense
[22:09:24 CET] <TanaPanda> Helo
[22:09:26 CET] <TanaPanda> Hello
[22:26:50 CET] <burek021> test
[22:26:58 CET] <JEEB> yup
[22:26:59 CET] <burek021> yay :)  hi all :)
[22:28:04 CET] <burek021> is it possible to use ffmpeg together with an ocr tool (like tesseract) to convert dvb subtitles (image stream) into a text based subtitle stream (like srt or similar), on a live input stream? :)
[22:28:29 CET] <JEEB> definitely possible
[22:28:54 CET] <burek021> do you happen to know of any reference out there which i could take a look at? :)
[22:29:43 CET] <JEEB> it would be very similar to what ffmpeg.c's filtering stuff does with the sub2video functionality, and then what the OCR filter does with that https://www.ffmpeg.org/ffmpeg-all.html#ocr
[22:30:18 CET] <JEEB> now, the problem is that ffmpeg.c does nada with the frame metadata returned by that filter
[22:30:46 CET] <JEEB> so you need something that does AVFrame -> AVSubtitle
[22:31:04 CET] <JEEB> then you can feed that AVSubtitle to a subtitle encoder
[22:31:21 CET] <JEEB> be it srt, ass, webvtt
[22:31:40 CET] <burek021> i see, quite clear indeed, thanks a lot
[22:32:15 CET] <JEEB> it would be all simpler if subtitles used AVFrames, but alas we are not yet there :)
[23:14:02 CET] <TanaPanda> How many TS can ffmpeg transcode?
[23:14:07 CET] <TanaPanda> is there a limit?
[23:14:21 CET] <TanaPanda> i mean simultaneously
[23:15:25 CET] <JEEB> depends rather well on how many outputs from a single input, and what sort of inputs etc
[23:18:28 CET] <TanaPanda> IP and then IP back out
[23:18:37 CET] <TanaPanda> so IP in and then IP back out
[23:18:55 CET] <TanaPanda> transcoding a MP4 TS to a MPEG2 TS
[23:18:59 CET] <TanaPanda> MPEG4
[23:20:38 CET] <TanaPanda> which then goes to a QAM modulator and goes to the TV RF
[23:20:42 CET] <TanaPanda> its a mess
[23:22:09 CET] <JEEB> so probably libx264 and friends. and for the latter you need maxrate+bufsize for the encoder, and also the mpeg-ts muxer's buffer handling needs to be enabled
[23:28:26 CET] <DHE> I've tried that. but when I tried it, ffmpeg couldn't run for more than ~26.5 hours at a time due to timestamp wraparounds
[23:28:34 CET] <DHE> oh he's gone...
[23:52:14 CET] <JEEB> DHE: I've definitely done that
[23:52:41 CET] <JEEB> and I'm not sure if it's the lavf wrap-around handling, or ffmpeg.c's. but in either case it seems to work
[23:52:52 CET] <JEEB> like, surprisingly long amount of time
[23:53:18 CET] <JEEB> now, of course it should be in lavf but I haven't had the time to look into which side is properly handling the wrap-around
[00:00:00 CET] --- Tue Dec 10 2019


More information about the Ffmpeg-devel-irc mailing list