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

burek burek021 at gmail.com
Thu Jul 11 03:05:02 EEST 2019


[00:12:24 CEST] <switchnode> the output of `ffmpeg` is colored in the terminal, uncolored if passed to a pipe. is there a way to disable this behavior (as in e.g. ls's --color=always)?
[00:13:15 CEST] <furq> AV_LOG_FORCE_COLOR=1
[00:13:41 CEST] <furq> https://www.ffmpeg.org/ffmpeg.html#Generic-options
[00:13:43 CEST] <furq> under -loglevel
[00:15:15 CEST] <switchnode> ah, perfect. thanks.
[00:38:00 CEST] <pzy> I have a stupid MP4 that contains mostly 720p60 video, but some 1080p30 parts because streaming is stupid
[00:38:19 CEST] <pzy> can ffmpeg delete or extract frames from a video based on frame resolution?
[00:39:32 CEST] <BtbN> Does mp4 even support that, given that the extradata with that kind of stuff is not stored inline with the video?
[00:39:48 CEST] <pzy> it "supports" it but wow do players hate it
[00:39:57 CEST] <pzy> "This works because the stream consists of special NAL units which indicate the frame size for the following sequence. When you wrap it in a container, these NAL units are removed and the information about when the frame size changes is put in the container's global header."
[00:41:24 CEST] <BtbN> Yeah, and mp4 only has one global header, unless it's fmp4
[00:42:22 CEST] <pzy> I guess the container doesn't matter, since it's just dumping the HLS into whatever
[00:42:31 CEST] <pzy> I just need to get rid of those pesky 1080p segments
[01:34:26 CEST] <sine0> I have a video and I want to slow it down a bit. its 25 fps, I want it still to be 25fps but slow. I guess my options is to interpolate, right ? also is this what the popular twixtor does ?
[02:36:12 CEST] <relaxed> Thomas_J: I always provide the current release, bugs and all
[04:16:04 CEST] <nine_milli_> blb_
[07:15:17 CEST] <MoziM> so is there any ffmpeg based package you all know of that continuously records the desktop but only while there's motion on the screen?
[16:23:08 CEST] <dastan> hello people
[16:23:40 CEST] <dastan> i am getting an error and i dont know how to solve it
[16:23:59 CEST] <durandal_1707> what error?
[16:24:32 CEST] <dastan> i am getting some videos from youtube that are in 30 fps and i need to download first and resend the video over a decklinks card
[16:26:51 CEST] <dastan> ffmpeg decklink module only support 50 or 60 fps in 720, so i make the configuration from 30 to 60, but when i want to put it in the decklink, it shows me a duplicated frames errors and after ten minutes it stop sending video
[16:27:35 CEST] <dastan> someone know how to convert from 30 to 60 without getting dup frames?
[16:28:29 CEST] <dastan> and the other question, can someone of the developper tell us why the decklink module dont support 25 and 30 fps over decklink cards?
[16:28:53 CEST] <dastan> does someone knows if another cards, like matrox, are more compatible with FFMPEG?
[16:33:25 CEST] <durandal_1707> i do not have such card so I couldn't help you
[16:36:11 CEST] <dastan> if you send a video that originally was in 30 fps to another location in udp but in 60fps you will see the dup frames
[16:36:22 CEST] <dastan> dont need a decklink card?
[16:36:53 CEST] <durandal_1707> dastan: do you want to motion-interpolate missing frames ?
[16:38:34 CEST] <Mavrik> dastan: what kind of card is that?
[16:38:39 CEST] <Mavrik> SDI? HDMI? Composite?
[16:41:53 CEST] <dastan> sdi
[16:50:12 CEST] <kexec> hello, please how to do in linux bash incrementing output file names (1.mkv, 2.mkv, ...)?
[16:51:30 CEST] <dastan> you want to process the same video two tiomes?
[16:53:20 CEST] <kexec> dastan: no, i want to convert all videos in a folder (through for)
[16:57:36 CEST] <steve___> kexec: cd /path/to/folder; for i in *.mkv; do CMD; done
[16:58:49 CEST] <kexec> steve___ yeah i have that but how should i set the output file name in ffmpeg?
[17:15:14 CEST] <MoziM> is there a way to remove duplicate frames as ffmpeg is recording instead of doing it at the end?
[17:21:39 CEST] <steve___> kexec: in bash you can do "${i/.mkv/-new.mkv"}
[17:21:49 CEST] <steve___> kexec: in bash you can do "${i/.mkv/-new.mkv}"
[17:27:31 CEST] <N4ppeL> Hi all. So I managed to encode a video made from grayscale images with format=gray using libx264, the funny part is: its bigger than with yuv420p. Is this a problem in ffmpeg or rather libx264 and should I even file it as an issue?
[17:28:03 CEST] <ChocolateArmpits> N4ppeL, What other settings did you use?
[17:28:58 CEST] <N4ppeL> high profile (but it sometimes gets ignored by preset ultrafast)
[17:29:39 CEST] <N4ppeL> heres the full command
[17:29:39 CEST] <N4ppeL> https://pastebin.com/CniBt1zz
[17:30:37 CEST] <N4ppeL> output below the command is however outdated (i upgraded to 4.1.3 which ran the command successfully)
[17:31:36 CEST] <furq> i suspect that bit contains the useful information
[17:31:40 CEST] <furq> x264 [error]: high profile doesn't support 4:4:4
[17:31:43 CEST] <furq> this looks like a clue though
[17:32:26 CEST] <N4ppeL> I can run it again and post the full output
[17:32:27 CEST] <N4ppeL> but
[17:32:45 CEST] <N4ppeL> its not crucial for me. I was just wondering why the final size is bigger
[17:32:54 CEST] <N4ppeL> and whether its a bug that should be filed
[17:54:10 CEST] <dastan> i have a video that is 48 mins
[17:54:20 CEST] <dastan> when i put the video to sart from the minute 47 it says too many packets buffered
[17:54:27 CEST] <dastan> my command is
[17:54:36 CEST] <dastan> ffmpeg -ss 00:47:00 -f mpegts -i /home/build/MSS-ONE/temp/decklink.ts
[17:55:02 CEST] <dastan> someone know what is the problem?
[17:55:12 CEST] <JEEB> provide a full command line and terminal output with at least -v verbose in a pastebin and link it here
[17:56:33 CEST] <dastan> [graph_1_in_0_1 @ 0x55bfad5d9f00] tb:1/48000 samplefmt:s16p samplerate:48000 chlayout:0x3
[17:56:33 CEST] <dastan> x55bfad43bfc0] Reinit context to 1280x720, pix_fmt: yuv420p
[17:56:52 CEST] <dastan> ffmpeg -v verbose -ss 00:46:00 -f mpegts -i /home/build/MSS-ONE/temp/decklink.ts -vcodec v210 -r 60 -s 1280x720 -acodec pcm_s16le -ac 2 -ar 48000 -f decklink 'DeckLink SDI (1)'
[17:57:51 CEST] <ZeroWalker> wasn't there two ways to cut losslesly with ffmpeg, one that cuts at keyframe, other that cut anywhere and aligns with the audio
[17:59:41 CEST] <JEEB> dastan: don't cut things, just provide a text file on a web server or pastebin or whatever
[17:59:46 CEST] <JEEB> and link here
[17:59:56 CEST] <JEEB> with the full command line and terminal output
[18:01:00 CEST] <ChocolateArmpits> N4ppeL, well you're not really specifying any bitrate related settings in any of your outputs
[18:01:30 CEST] <N4ppeL> yes, but that shouldnt matter should it?
[18:01:40 CEST] <ChocolateArmpits> I don't know if it's fair to expect the default properties to somehow remain true in both cases
[18:01:52 CEST] <N4ppeL> I mean... gray should basically be YUV420 but ...well, just the Y channel
[18:01:57 CEST] <N4ppeL> how can it be bigger?
[18:02:01 CEST] <ChocolateArmpits> I would probably try crf and then compare how the two format fare
[18:02:09 CEST] <ChocolateArmpits> formats*
[18:03:58 CEST] <ChocolateArmpits> N4ppeL, it also writes "yuvj444p for H.264 encoding chosen", doesn't look like gray to me
[18:04:28 CEST] <N4ppeL> well, yes, its the old output of ffmpeg 3.2 that didnt even run the command through. On 4.1.3 it did
[18:04:38 CEST] <N4ppeL> as stated i can re-run and paste
[18:04:47 CEST] <ChocolateArmpits> would be good so we stay on the same page
[18:05:16 CEST] <N4ppeL> sure.
[18:06:37 CEST] <N4ppeL> ah well. I do not state any bitrate, true, but i do give a quality
[18:09:11 CEST] <N4ppeL> no i dont. Sorry.
[18:11:35 CEST] <N4ppeL> ffmpeg states a default crf of 23 though. But I will still try to set it explicitly. Is there a fine tool to compare the quality differences of the output?
[18:13:21 CEST] <ChocolateArmpits> N4ppeL, ffmpeg has ssim and psnr filters for that
[18:13:44 CEST] <N4ppeL> of course it does :)
[18:14:42 CEST] <JEEB> N4ppeL: the CRF default depends 100% on the encoder
[18:14:47 CEST] <JEEB> 23 is the default of the libx264 encoder
[18:14:56 CEST] <JEEB> (which is actually not the FFmpeg default but the library default)
[18:15:10 CEST] <JEEB> so if x264 was to switch the default somewhere else it'd become that :P
[18:15:22 CEST] <dastan> i am not understanding
[18:15:25 CEST] <JEEB> N4ppeL: also I recommend just encoding like 2500 frames or so with -ss and -t
[18:15:29 CEST] <dastan> is only the time start
[18:15:46 CEST] <JEEB> with different CRF values
[18:15:58 CEST] <JEEB> then you will probably figure out the highest CRF value that still looks good enough for you
[18:16:00 CEST] <dastan> i only want to thart from the point x that is minute 47
[18:16:06 CEST] <N4ppeL> hm well technically ffmpeg could specify its own default and explicitly pass it to libx264, but if you say that is not what is happening i believe it
[18:16:20 CEST] <JEEB> yes, technically the libx264 wrapper could do that
[18:16:53 CEST] <JEEB> the crf option is specific to the module (libx264 wrapper)
[18:17:05 CEST] <JEEB> and the default I think is zero
[18:17:21 CEST] <JEEB> ah no
[18:17:22 CEST] <JEEB> { "crf",           "Select the quality for constant quality mode",    OFFSET(crf),           AV_OPT_TYPE_FLOAT,  {.dbl = -1 }, -1, FLT_MAX, VE },
[18:17:26 CEST] <JEEB> so the default is -1 :)
[18:17:46 CEST] <JEEB> also it's not really "constant quality", and I've been reprimanded about that by one of the x264 authors in my younger days :P
[18:17:57 CEST] <N4ppeL> heres my source for comparison... https://trac.ffmpeg.org/wiki/Encode/H.264
[18:18:17 CEST] <furq> N4ppeL: could you maybe reproduce this with a smaller command line
[18:18:39 CEST] <JEEB> N4ppeL: basically probably user provided text and for them it's the same if it's FFmpeg's default or libx264's ;)
[18:18:46 CEST] <furq> i just tried replicating it here and i get a smaller result for 4:0:0
[18:18:57 CEST] <N4ppeL> @furq hell yes i am on it
[18:19:17 CEST] <uartie> It was suggested on ML (RE: add rawdump filter) that the "split" filter could be used.  But the whole point of "rawdump" is so we can dump all frames unscaled.  I don't see how "split" can avoid the auto-inserted scaler.  Is that possible?
[18:19:22 CEST] <JEEB> since the end result with the libx264 wrapper is that CRF 23 is what you end up with by default
[18:19:30 CEST] <N4ppeL> what's -ss -t btw?
[18:19:36 CEST] <JEEB> -ss seeks to X seconds
[18:19:41 CEST] <JEEB> -t encodes X seconds
[18:19:50 CEST] <JEEB> so if you know a good point in your longer clip that you want to iterate over
[18:20:06 CEST] <JEEB> then you use those options to not encode the whole clip
[18:20:07 CEST] <furq> [libx264 @ 0000017fc5808b80] profile Constrained High, level 1.3, 4:0:0, 8-bit
[18:20:08 CEST] <JEEB> for testing purposes
[18:20:12 CEST] <furq> i had no idea this was a thing
[18:31:43 CEST] <N4ppeL> ok so: https://pastebin.com/QXnAcQZF
[18:32:20 CEST] <N4ppeL> there are 4 commands: 1. yuv420p, 2. yuv420p and -crf 23 3. gray and -crf 23 4. gray
[18:32:48 CEST] <JEEB> btw if you have filter chains etc I recommend -v verbose
[18:32:58 CEST] <JEEB> it doesn't spam, but it gives you some extra logging
[18:33:00 CEST] <N4ppeL> file sizes is both times 296 KB for yuv and 352 for gray
[18:33:43 CEST] <JEEB> also CRF between completely different things isn't really comparable, sorry.
[18:34:07 CEST] <JEEB> I think if you want a simple check then probably using lossless for both is better
[18:34:34 CEST] <JEEB> that or you have to start graphing some metrics or whatever :/
[18:34:34 CEST] <N4ppeL> it should not be that much different
[18:34:39 CEST] <N4ppeL> output is a grayscale video
[18:34:49 CEST] <N4ppeL> in both cases
[18:34:58 CEST] <N4ppeL> since the input images are only grayscale..
[18:35:37 CEST] <JEEB> I'm just noting that unfortunately "I just used the same CRF value" is not the same quality if you have changed parameters
[18:35:59 CEST] <JEEB> if you want an easy to do comparison, utilize -q:v 0
[18:36:01 CEST] <JEEB> which is lossless
[18:36:16 CEST] <JEEB> because your preset would end up being the same by default (preset medium9
[18:37:49 CEST] <JEEB> and I do recommend -v verbose since it f.ex. logs the full creation of the filter chain
[18:38:06 CEST] <JEEB> in the API there's actually an option to disable auto-inserted format conversions
[18:38:13 CEST] <JEEB> unfortunately the command line app doesn't have an option for that :)
[18:39:43 CEST] <dastan> so there is no option to start playing the video from a x point
[18:39:54 CEST] <dastan> only if it is less than 45 minutes
[18:40:02 CEST] <JEEB> dastan: have you provided any info requested?
[18:40:15 CEST] <dastan> which one?
[18:40:26 CEST] <dastan> i already send the log
[18:40:29 CEST] <furq> N4ppeL: fwiw there is no reason to use -level 5.1 there
[18:40:30 CEST] <JEEB> full command line and terminal output preferably with -v verbose in a pastebin or so
[18:40:30 CEST] <dastan> and the command
[18:40:39 CEST] <JEEB> dastan: so you linked it at some point?
[18:40:41 CEST] <furq> idk if that would throw things off but 512x512 4:0:0 would be like level 2 or something
[18:41:04 CEST] <N4ppeL> I was told it gets ignored with preset ultrafast anyway, so, yeah.
[18:41:18 CEST] <furq> well it tells x264 to flag the stream as 5.1
[18:41:18 CEST] <dastan> [graph_1_in_0_1 @ 0x55bfad5d9f00] tb:1/48000 samplefmt:s16p samplerate:48000 chlayout:0x3
[18:41:18 CEST] <dastan> x55bfad43bfc0] Reinit context to 1280x720, pix_fmt: yuv420p
[18:41:28 CEST] <dastan> ffmpeg -v verbose -ss 00:46:00 -f mpegts -i /home/build/MSS-ONE/temp/decklink.ts -vcodec v210 -r 60 -s 1280x720 -acodec pcm_s16le -ac 2 -ar 48000 -f decklink 'DeckLink SDI (1)'
[18:41:48 CEST] <furq> so if nothing else you should probably just let it have the right flag set
[18:41:51 CEST] <JEEB> dastan: full log, in a text file or pastebin. not just bits and pieces that have nothing to do with it
[18:42:13 CEST] <dastan> i only receive that
[18:42:32 CEST] <JEEB> add 2> ffmpeg_sucks.log
[18:42:32 CEST] <dastan> ffmpeg dont start when i put more then 45 minutes in the -ss flag
[18:42:34 CEST] <JEEB> at the end :P
[18:42:51 CEST] <JEEB> then check the file at the end of it
[18:44:27 CEST] <dastan> i am creating a video with another ffmpeg process that is 01:45:30 and growing (is created from a youtube live conection) and is muxed in mpegts with h264 codec
[18:44:52 CEST] <JEEB> please just provide the log instead of wriggling around. if it has some secret keys or file names you can just change that shit
[18:45:02 CEST] <JEEB> if you do not want to provide that, do not expect help in resposne
[18:45:36 CEST] <dastan> then i take that video from a point to stream to the decklink, so, if the video i am creating as a cache is is 01:43:50 i want to stream to the sdi from the point 01:43:25
[18:45:53 CEST] <dastan> theres is no s
[18:45:58 CEST] <dastan> there is no secret
[18:46:32 CEST] <dastan> is that i am dont doing nothing else, i am providing what i have
[18:46:50 CEST] <dastan> i can give you a teamviewer acess by private if you want
[18:48:35 CEST] <JEEB> no you clearly are not providing what you have
[18:48:50 CEST] <JEEB> I even told you how to dump the standard error output into a goddamn file
[18:49:06 CEST] <JEEB> yet you still have focused on saying that you have provided everything evne though you clearly have not
[18:49:40 CEST] <JEEB> also for the record, with an mp4 file here if I do -ss to 47min+ it works just fine, so whatever the flying dog fungus is happening in your case is specific to some things that are specific to YOUR USE CASE
[18:49:51 CEST] <JEEB> so please understand that to help you we need your logs
[18:49:52 CEST] <dastan> tell me what to do and i will do
[18:50:10 CEST] <JEEB> `<YOUR FFMPEG COMMAND> 2> ffmpeg_sucks.log`
[18:50:16 CEST] <JEEB> with the failing command with -v verbose
[18:50:24 CEST] <JEEB> then provide me the contents of ffmpeg_sucks.log
[18:50:33 CEST] <JEEB> link it on the channel
[18:50:38 CEST] <JEEB> either through pastebin or whatever you like
[18:51:44 CEST] <JEEB> 2 is "standard error" there, and "2>" is "redirect standard error" and the file name after that is where it gets redirected in the current working directory
[18:51:58 CEST] <dastan> i have the log of the command in a file
[18:52:07 CEST] <dastan> where i can send it to you
[18:52:21 CEST] <dastan> i dont have pastebin access
[18:52:23 CEST] <JEEB> whatever means is convenient to you. be it pastebin.com, gist.github.com or whatever
[18:52:32 CEST] <JEEB> your web server, even
[18:52:45 CEST] <JEEB> I personally do not care how you provide the access as long as it is not insane
[18:53:39 CEST] <dastan> i am asking for help so i am the most interested in given you access to the information
[18:54:46 CEST] <JEEB> I have given alternatives, and there are plenty of other ones as well
[18:55:07 CEST] <JEEB> just by searching for pastebins you can probably find a few in addition to those I mentioned
[18:56:14 CEST] <Thomas_J> I needed help co I signed up for pastebin.com and now I'm streaming with ffmpeg.
[18:56:27 CEST] <JEEB> you don't evn need to sign up for anything I think?
[18:56:40 CEST] <JEEB> also if you don't need a web interface you can even use curl and 0x0.st
[18:57:05 CEST] <dastan> i am searching an alternative to pastebin
[18:57:09 CEST] <JEEB> curl -F'file=@/path/to/file' https://0x0.st
[18:57:15 CEST] <JEEB> if you are on something with curl
[18:57:26 CEST] <JEEB> then it gives you back the url to your file
[18:57:27 CEST] <JEEB> :P
[18:57:48 CEST] <Thomas_J> They do like you to have an account and log in just to keep spammers off. It only takes a minute and all they want it your email and set a password.
[18:57:51 CEST] <Hello71> http://google.com/search?q=pastebin+alternative
[18:59:24 CEST] <Thomas_J> I'm curious. What problem do you have with pastebin?
[18:59:57 CEST] <Thomas_J> I just signed up the other day. Should I be worried?
[19:00:13 CEST] <BtbN> It's riddled with ads and trackers
[19:00:31 CEST] <dastan> https://docs.google.com/document/d/1RE08fEki3D02CuETMNJddg5UvzoZRzW5ez9Nao6vJf8/edit?usp=sharing
[19:00:32 CEST] <N4ppeL> hmm JEEB it seems you're right that the gray version is also higher quality
[19:00:38 CEST] <dastan> i make it with google docs
[19:00:45 CEST] <dastan> this is the log of my commans
[19:00:50 CEST] <JEEB> dastan: I wouldn't call it sane but thank you
[19:00:59 CEST] <Thomas_J> There isn't a website on this Earth dhat isn't. If you Google, They are the worst.
[19:01:00 CEST] Action: JEEB opens a private window and all that jazz
[19:01:17 CEST] <dastan> ffmpeg -v verbose -ss 01:43:00 -f mpegts -i /home/build/MSS-ONE/temp/decklink.ts -vcodec v210 -r 60 -s 1280x720 -acodec pcm_s16le -ac 2 -ar 48000 -f decklink 'DeckLink SDI (1)' 2>irc
[19:01:30 CEST] <dastan> this is the command
[19:01:50 CEST] <N4ppeL> hah, fun, fun ,fun ;)  will try to measure PSNR against lossless tomorrow to verify my assumption
[19:02:02 CEST] <JEEB> N4ppeL: you could just switch from crf 23 to -q:v 0
[19:02:06 CEST] <JEEB> which should be quantizer zero
[19:02:07 CEST] <JEEB> aka lossless
[19:02:11 CEST] <JEEB> not exactly the same as lossy coding
[19:02:16 CEST] <JEEB> but you should be able to get another data point
[19:02:23 CEST] <dastan> jeeb, you are talking to me
[19:02:37 CEST] <JEEB> dastan: you do not tell me who I am talking to
[19:03:05 CEST] <JEEB> anyways, it sounds like for some reason there are no video frames coming in quickly enough
[19:03:06 CEST] <Thomas_J> :P
[19:03:09 CEST] <dastan> a sory
[19:03:19 CEST] <dastan> sory, didnt read
[19:03:20 CEST] <N4ppeL> thanks for all the inputs! have a nice evening (or day, night, whatever time it is in your place)
[19:03:26 CEST] <JEEB> > Too many packets buffered for output stream 0:1
[19:03:36 CEST] <dastan> yep, that is my log
[19:03:39 CEST] <JEEB> this means that ffmpeg.c tried to wait until video became available
[19:03:44 CEST] <JEEB> because 0:1 is audio
[19:03:58 CEST] <JEEB> dastan: how often are there keyframes in your input?
[19:04:42 CEST] <JEEB> also I would recommend the way of saving the log that I noted with the redirection
[19:04:47 CEST] <JEEB> most likely simpler :P
[19:04:48 CEST] <dastan> ime=02:05:20.78 bitrate=5588.1kbits/s speed=1.01x
[19:04:59 CEST] <JEEB> that contains no info regarding that
[19:05:03 CEST] <Hello71> lol
[19:05:10 CEST] <dastan> jajajaja
[19:05:11 CEST] <JEEB> anyways, so you probably do not know, right?
[19:05:16 CEST] <dastan> sory
[19:05:45 CEST] <JEEB> in any case, additionally seeking in mpeg-ts is not exact because there is no index in mpeg-ts
[19:06:01 CEST] <JEEB> so if you are going to do -ss with mpeg-ts you can have fun results. but I think this has more to do with long GOPs
[19:06:32 CEST] <dastan> i dont know why if i am creating a video that is based in a transpor stream and i can use the video from the point 00:45:00 or 00:50:00 but not from 01:30:00
[19:07:09 CEST] <pink_mist> did you try 90:00?
[19:07:35 CEST] <dastan> not, let me check
[19:07:39 CEST] <dastan> only in minutes
[19:07:42 CEST] <JEEB> 1) mpeg-ts seeking is not exact 2) mpeg-ts has timestamp discontinuities every 26.5 (IIRC) hours 3) ffmpeg.c does not find a decode'able video frame
[19:08:03 CEST] <JEEB> if you want further info on how many things get passed through, utilize -debug_ts
[19:08:07 CEST] <JEEB> and post that log
[19:08:31 CEST] <dastan> pink, doesent work
[19:08:32 CEST] <JEEB> also one thing worth a try is -ss after -i :P although I'm not sure if ffmpeg.c differentiates these any more :P
[19:09:55 CEST] <dastan> https://docs.google.com/document/d/1nEPNVDPl4WlyHRv_3cjnxCa_JE4Xau2SvFSuyEqNqgI/edit?usp=sharing
[19:10:02 CEST] <dastan> jeeb, checj this link
[19:10:20 CEST] <dastan> this is the command that i am using to create the mpegts
[19:11:19 CEST] <dastan> what i want to do is to take a command to create a file from a HLS input (live channel)
[19:11:46 CEST] <dastan> and then take this video as an input of another ffmpeg process to stream to the decklink
[19:12:31 CEST] <dastan> so if it is not possible with mpegts muxer, what is the muxer i can use for doing that?
[19:12:42 CEST] <JEEB> I know ffmpeg.c probably isn't perfect for this, but have you thought about just having two outputs in your dumping operation?
[19:13:12 CEST] <JEEB> ffmpeg -i INPUT [OPTIONS] blah.ts [ANOTHER SET OF OPTIONS] DECKLINK_OUTPUT
[19:13:39 CEST] <JEEB> that will of course die if the decklink device errors out or dies
[19:15:06 CEST] <JEEB> alternatively, write your .ts in segments (pretty sure there is a module for that), and feed the correct segments to your other process through stdin or something, instead of trying to seek in it?
[19:15:18 CEST] <JEEB> because clearly you're hitting a case of not having keyframes or something
[19:15:29 CEST] <JEEB> I did note how you can debug the seeking and buffering part, but you seem to have ignored that
[19:15:32 CEST] <dastan> HLS is not friendly with decklink
[19:15:51 CEST] <dastan> more if the HLS is a youtube link
[19:16:22 CEST] <dastan> i am thinking to create a local HLS in separate folder and tes the decklink with a local HLS link
[19:17:08 CEST] <JEEB> godspeed is all I can tell you at this point :P
[19:20:54 CEST] <dastan> yep
[19:21:05 CEST] <dastan> i am testing with HLS local
[19:21:17 CEST] <dastan> right now is working
[19:22:22 CEST] <dastan> i want to check when the video be like 50 or 70 minutes and i try to open the video staring in the minute 65 65
[21:04:29 CEST] <amosbird> Hello, is it possible to do multiple thread m3u8 downloading  using ffmpeg?
[21:19:02 CEST] <DHE> probably not
[21:22:37 CEST] <DHE> best you can hope for is HTTP keepalive
[21:28:35 CEST] <Thomas_J> I can't find a way to open an audio source input in ffmpeg. the use of plughe: command generates "plughw:CARD=1,DEV=0 (No such file or directory)"
[21:29:24 CEST] <Thomas_J> Using USB audio adaptor on a raspbian
[21:29:32 CEST] <DHE> ffmpeg -devices  # does it list your device or API type?
[21:30:56 CEST] <Thomas_J> lsusb and aarecord -l both find my usb audio adaptor.
[21:33:00 CEST] <Thomas_J> It lists at card:1 dev:0
[21:33:30 CEST] <kepstin> then that would be `hw:1,0`
[21:33:46 CEST] <kepstin> might be that the "plug" plugin isn't available in alsa on that device?
[21:34:01 CEST] <Thomas_J> I'll try that again but I have also tried that.
[21:35:01 CEST] <Thomas_J> cannot open audio device hw:1,0 (No such file or directory)
[21:35:02 CEST] <Thomas_J> hw:1,0: Input/output error
[21:35:33 CEST] <kepstin> pastebin the complete output please, just in case there's something you're missing :/
[21:35:38 CEST] <another> https://trac.ffmpeg.org/wiki/Capture/ALSA
[21:36:19 CEST] <another> my best guess: you're not specifying the format
[21:36:31 CEST] <kepstin> or wrong sample rate or something like that
[21:37:33 CEST] <another> anyway, unless there's command+log i won't try to debug this
[21:37:52 CEST] <kepstin> check your device capabilities with cat /proc/asound/card1/stream0
[21:38:42 CEST] <Thomas_J> https://pastebin.com/0RrfmRqT
[21:40:39 CEST] <another> missing - before c:a aac
[21:41:08 CEST] <DHE> also wrote it as "acc"
[21:41:46 CEST] <another> right
[21:42:04 CEST] <Thomas_J> https://pastebin.com/V4ieX1DK
[21:42:22 CEST] <Thomas_J> Ouch!
[21:43:08 CEST] <kepstin> you might need to use "-channels 1" (default is 2)
[21:43:50 CEST] <kepstin> and note that you can just copy/paste one of the device names from "arecord -L" and use that in ffmpeg if you're not sure.
[21:44:29 CEST] <Thomas_J> Good to know.
[21:47:15 CEST] <Thomas_J> tried -channels 1 before and after the -i hw:1,0 declaration.
[21:49:22 CEST] <Thomas_J> arecord -l result: card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
[21:49:27 CEST] <Thomas_J>   Subdevices: 1/1
[21:49:27 CEST] <kepstin> options for a specific input go before the input (-i) option)
[21:49:27 CEST] <Thomas_J>   Subdevice #0: subdevice #0
[21:49:45 CEST] <kepstin> try using one of the device names from `arecord -L`
[21:50:04 CEST] <Thomas_J> Yup but just in case I tried it after also.
[21:51:23 CEST] <Thomas_J> remove the parts in perens?
[21:51:30 CEST] <kepstin> some ffmpeg options will do *entirely different things* when moved to a different place, some will just give errors, some will be ignored.
[21:52:37 CEST] <kepstin> Thomas_J: uhh, there's nothingin in parens in the device names in that output
[21:52:43 CEST] <kepstin> or shouldn't be at least
[21:52:53 CEST] <another> Thomas_J: arecord -L with a capital L
[21:54:24 CEST] <Thomas_J> This is the first line of arecord -l output:
[21:54:25 CEST] <Thomas_J> card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
[21:54:54 CEST] <Thomas_J> OHHH okay with -L
[21:55:49 CEST] <another> altough your output suggests that you're missing some libs
[22:05:19 CEST] <Thomas_J> Okay. I tried every line in the arecord -L output except the surround sound and no success.
[22:05:54 CEST] <Thomas_J> Let me look at the libs.
[22:07:03 CEST] <Thomas_J> OOHHHH1 it's looking for pulseaudio instead of alsa.
[22:08:45 CEST] <Thomas_J> Well, I have pulseaudio installed. Need to figure out why it can't find it.
[22:11:03 CEST] <Thomas_J> Dang! This ffmpeg build doesn't have either pulse or alsa enabled.
[22:16:32 CEST] <Thomas_J> I really don't want to go back to compiling ffmpeg all over again but it looks like this bin doesn't hae any audio dupport.
[22:26:37 CEST] <another> pretty sure there is alsa support built in https://johnvansickle.com/ffmpeg/git-readme.txt
[22:27:15 CEST] <another> ffmpeg -devices
[22:27:30 CEST] <another> shows alsa support on my pi
[22:27:59 CEST] <Thomas_J> It doesn't show libalsa enabled when it reports it's resources.
[22:29:00 CEST] <another> you mean right at the top after "configuration:" ?
[22:29:00 CEST] <Thomas_J> I have both alsa and pulseaudio installed. but not enabled in my ffmpeg binary.
[22:30:10 CEST] <Thomas_J> Each time ffmpeg is run, it reports all enabled processes that it was compiled with. That's what I am reffering to.
[22:30:36 CEST] <another> no
[22:30:48 CEST] <another> it reports all config options
[22:30:56 CEST] <another> not including defaults
[22:31:02 CEST] <kepstin> Thomas_J: according to the output you pasted earlier, your ffmpeg definitely supports alsa input
[22:31:40 CEST] <another> the readme also says that it was built with alsa
[22:32:08 CEST] <Thomas_J> I don't know but the ffmpeg docs show that the -enable-libalsa has to be used to activate it.
[22:32:21 CEST] <furq> where does it say that
[22:32:52 CEST] <furq> there is no such option in configure, the only option is --disable-alsa
[22:32:56 CEST] <another> that's true, if you want to be sure that support is built-in
[22:33:07 CEST] <furq> it'll be automatically enabled if you have libasound installed when you run configure
[22:33:07 CEST] <kepstin> note that another way to check if something is enabled in your ffmpeg is the builtin help - e.g. "ffmpeg -devices" will show a D and/or E, and "ffmpeg -h demuxer=alsa" will show a list of options.
[22:33:14 CEST] <another> but there are defaults in configure
[22:33:40 CEST] <furq> https://github.com/FFmpeg/FFmpeg/blob/master/configure#L203
[22:34:07 CEST] <another> what furq said
[22:36:28 CEST] <Thomas_J> To enable this input device during configuration you need libasound installed on your system. https://www.ffmpeg.org/ffmpeg-devices.html#alsa
[22:36:47 CEST] <Thomas_J> Sorry, the library is libasound.
[22:37:15 CEST] <furq> right
[22:37:17 CEST] <furq> that's auto-enabled
[22:37:26 CEST] <furq> the configuration string ffmpeg prints is literally just the string that you ran configure with
[22:37:38 CEST] <Thomas_J> Okay, I was reading that as libsound enabled.
[22:38:27 CEST] <Thomas_J> This is a prebuilt binary
[22:38:35 CEST] <furq> you = whoever built the binary
[22:39:03 CEST] <kepstin> (as an unrelated aside, I find it really amusing that prores is 'DEVIL.' and jpeg2000 is 'DEVILS' in the ffmpeg -codecs output)
[22:39:31 CEST] <Thomas_J> I have alsa working on my system. I need to check for the libasound lib.
[22:39:42 CEST] <another> other codecs are devils as well ;)
[22:39:42 CEST] <furq> if you have alsa then you have libasound
[22:39:45 CEST] <Thomas_J> Correct?
[22:40:55 CEST] <furq> as other people said just run ffmpeg -devices and see if alsa is in there
[22:41:01 CEST] <Thomas_J> You would think so. forcing alsa, why is it looking for pulseaudio?
[22:41:27 CEST] <Thomas_J> I forgot about that.
[22:42:34 CEST] <Thomas_J> DE alsa            ALSA audio output
[22:42:38 CEST] <kepstin> your alsa configuration is attempting to load the pulseaudio plugin, but that plugin isn't installed
[22:42:49 CEST] <Thomas_J> I need input.
[22:42:55 CEST] <furq> if you have pulse installed then you should probably just use the pulse input
[22:43:33 CEST] <furq> nvm those static builds apparently don't have it
[22:44:13 CEST] <Thomas_J> I have pulseaudio installed on the system.
[22:45:26 CEST] <kepstin> I wouldn't be surprised if the pulse library has some issues with static linking.
[22:45:39 CEST] <Thomas_J> Shouldn't ffmpeg be able to find the system modules?
[22:46:16 CEST] <kepstin> ffmpeg supports the stuff that was enabled when it was compiled. it can't magically gain support for new things at runtime.
[22:46:18 CEST] <Thomas_J> Ohhh, Lightbulb turned on. it's a static build!
[22:46:40 CEST] <kepstin> that would be true even if it wasn't a static build
[22:48:02 CEST] <Thomas_J> Isn't that the point to dynamic builds is that it will locate the modules it needs at runtime and link them in?
[22:48:43 CEST] <pink_mist> not even remotely
[22:48:44 CEST] <kepstin> no, the point of dynamic builds is that a shared copy of the library from the system can be used rather than making a duplicate copy in apps, saving disk space and in some cases memory.
[22:49:02 CEST] <kepstin> (also, system libraries can be updated independently, if compatible)
[22:49:53 CEST] <kepstin> to do something where you add new functionality at runtime, you need to build a runtime loading plugin system, like e.g. gstreamer has
[22:54:35 CEST] <Thomas_J> Anyway, I need to recompile because the static build doesn't have what I need compiled into it. Correct?
[22:55:42 CEST] <kepstin> if you want to use pulseaudio, then yes. If you don't want to do that, you might be able to stop or suspend pulseaudio to use also devices.
[23:17:25 CEST] <Thomas_J> I'm missing alsa-lib. I am looking for it. If it was supposed to come with libasound, I don't have it.
[23:35:29 CEST] <Thomas_J> I reinstalled libasound2 but I still do not have the /usr/lib/alsa-lib subdirectory for which ffmpeg is trying to search. Do you think that If I recompile ffmpeg that it will stop looking for that directory that libasound2 obviously no longer uses.
[23:38:32 CEST] <nine_milli_> blb_
[23:40:11 CEST] <nine_milli_> can yall give me some tips covering a directory full of jpegs to a video using as little cpu as possible libvpx
[23:42:40 CEST] <kepstin> nine_milli_: not sure what you mean "as little cpu as possible". normally you want it to use all available cpu power so it goes as fast as possible.
[23:43:13 CEST] <nine_milli_> i want the opposite
[23:43:28 CEST] <nine_milli_> dont care how long it takes dont want to effecty other threads
[23:43:39 CEST] <Thomas_J> Are the packages on ffmpeg.org/downloads updated with the rtmps fix yet?
[23:43:42 CEST] <kepstin> running libvpx with the defaults should do that fine then, it runs single-threaded by default
[23:44:38 CEST] <kepstin> other than that, you'd have to use external scheduling tools to e.g. lower process priority
[23:45:38 CEST] <nine_milli_> well im talking android running as a .so
[23:46:02 CEST] <nine_milli_> i am doing setpiority 18 on the thread just wanted to know if there's anything else i can do
[23:47:40 CEST] <nine_milli_> would it help if i did only a few jpegs at a time?
[23:49:28 CEST] <kepstin> if ffmpeg's running faster than realtime, you could slow it down by using the "-re" input option to add some sleeps in the input reading between frames.
[23:49:58 CEST] <nine_milli_> let me look into that thanks
[23:50:20 CEST] <kepstin> other than that i'm not really sure how you'd throttle it. You could always send SIGSTOP/SIGCONT periodically i guess?
[23:51:11 CEST] <kepstin> that would mostly be useful if you want to keep the device cool by inserting idle time, rather than preventing it from interfering with other apps
[00:00:00 CEST] --- Thu Jul 11 2019


More information about the Ffmpeg-devel-irc mailing list