[Ffmpeg-devel-irc] ffmpeg.log.20171008
burek
burek021 at gmail.com
Mon Oct 9 03:05:01 EEST 2017
[00:02:57 CEST] <kiroma> I hope the SDK didn't overwrite any file...
[00:09:43 CEST] <kiroma> I deleted every file installed by the sdk but it's still throwing the error
[00:09:51 CEST] <kiroma> and I've still got 2 render devices
[00:12:23 CEST] <jkqxz> Did you remove the extra environment variables from your shell config?
[00:12:57 CEST] <kiroma> Oh wait, I inspected install script ant there are some files left over in kernel modules.
[00:25:44 CEST] <kiroma> can you use hwaccel in ffplay?
[00:38:18 CEST] <Johnjay> can ffmpeg to told to cut at a keyframe when extracting audio?
[00:38:35 CEST] <Johnjay> i.e. something like "go to 1:47 in the video and then seek to the closest key frame"
[00:50:47 CEST] <Johnjay> What does mean Application provided invalid, non monotonically increas ing dts to muxer in stream 0?
[00:52:09 CEST] <klaxa> dts means decoding timestamp (as opposed to pts, presentation timestamp), the dts should obviously not jump around
[00:53:07 CEST] <Johnjay> I created 2 mp3 files and then concated several copies of them together with -f concat
[00:53:13 CEST] <Johnjay> when -c copy didn't work I changed it to -c mp3
[00:53:47 CEST] <klaxa> huh
[00:54:48 CEST] <klaxa> well what's your complete command line + output? (use pastebin or something)
[00:55:56 CEST] <Johnjay> it's not long enough for that
[00:56:03 CEST] <Johnjay> ffmpeg -f concat -safe 0 -i list1.txt test2.mp3
[00:56:14 CEST] <klaxa> the output sure is long enough for pastebin
[00:56:15 CEST] <Johnjay> It must be something to do with the way i created the 2 files maybe? idk
[00:56:35 CEST] <Johnjay> oh lol
[00:56:42 CEST] <Johnjay> my command window didn't get all of it.
[00:56:46 CEST] <Johnjay> just that same error over and over
[00:57:26 CEST] <Johnjay> https://pastebin.com/rTZXdu1B
[00:58:11 CEST] <klaxa> hmm... does the resulting file play though?
[00:58:30 CEST] <klaxa> as it seems it completed without an actual error
[01:01:36 CEST] <Johnjay> yeah
[01:01:58 CEST] <Johnjay> I used anullsrc for the first file and I clipped the second file
[01:02:01 CEST] <Johnjay> So it's just a warning?
[01:02:05 CEST] <Johnjay> maybe to do with vbr mp3?
[01:02:21 CEST] <Johnjay> since it failed to produce a usable file with -c copy
[01:02:38 CEST] <Johnjay> it was too short and didn't have the second file in it
[01:03:00 CEST] <klaxa> shouldn't have to do with vbr
[01:03:37 CEST] <klaxa> ah, but you probably can't randomly concat mp3s with different encodings maybe? although that is specified on a frame basis... hmm...
[01:03:48 CEST] <Johnjay> i can't just randomly concat mp3s together?
[01:03:58 CEST] <klaxa> well you should be able to
[01:04:06 CEST] <BtbN> mp3 is special and wonky
[01:04:24 CEST] <klaxa> it would be a problem if one is mono and one is stereo for starters
[01:04:48 CEST] <klaxa> i think?
[01:05:09 CEST] <Johnjay> they're both stereo
[01:05:21 CEST] <Johnjay> one's 48k and the other is 44k
[01:05:24 CEST] <klaxa> i was talking about the general case
[01:05:34 CEST] <klaxa> ah, that could also already make it a problem
[01:05:57 CEST] <Johnjay> the silence anullsrc generated was 44k
[01:06:04 CEST] <Johnjay> the downloaded file I split up is 48khz
[01:06:09 CEST] <klaxa> although i don't know, like i said, as far as i know mp3 negotiates all of this information in each mp3 frame
[01:08:18 CEST] <Johnjay> I redid the silence file as 48k and reran the concat command. still gives that error
[01:09:05 CEST] <Johnjay> both s16p, 128kb/s,stereo 48k
[01:14:57 CEST] <Johnjay> hmm
[01:15:02 CEST] <Johnjay> there might be a simpler way to do what i'm doing
[01:15:26 CEST] <Johnjay> can I tell ffmpeg to take a file F and at times t1,t2,t3,...,tn insert some silence?
[01:28:59 CEST] <Johnjay> I guess I'll have to split it up then use concat filter
[01:33:24 CEST] <JEEB> furq: for your reference I had no idea there was a filter to copy the thing to proper alignment
[01:33:31 CEST] <furq> lol oh
[01:33:38 CEST] <furq> well yeah that worked fine and didn't seem particularly slow
[01:36:13 CEST] <JEEB> yea, it shouldn't really
[01:36:22 CEST] <JEEB> if vapoursynth was able to just do it for cropping as well
[01:51:35 CEST] <Johnjay> furq can I do that insertion thing?
[01:51:44 CEST] <Johnjay> or do I have to split and concat ?
[02:02:50 CEST] <jerome-> I guess it should be possible to use the output of a ffserver as an input for fffmpeg?
[02:04:02 CEST] <JEEB> you'd be surprised if someone here knew about ffserver
[02:04:14 CEST] <jerome-> :)
[02:05:11 CEST] <jerome-> well, I tried, but ffmpeg gets stuck and doesn't give any output
[02:08:35 CEST] <jerome-> and when I add the input format, then ffmpeg is not happy: http://uu.zoy.org/p/8vLXqw#x=lIJWAKgxDgBcjsQA
[02:37:12 CEST] <Asher_> there is a way to render subtitle on video stream from subtitle stream srt embeded in same mkv ?
[02:46:15 CEST] <c_14> subtitles filter
[02:46:55 CEST] <c_14> https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
[02:46:57 CEST] <Asher_> Hello , i tryed but i have 2 problems .
[02:48:57 CEST] <Asher_> First my mkv source is an HTTP Link . because it's used to do on the fly transcoding . and subtitle don't take http src link ? and second i tryed subtitle with local file it's working , but the subtitle are not sync time ( they start from 0 ) insteed of starting at a time ( -ss ) .
[02:49:29 CEST] <Asher_> any way ?
[02:50:02 CEST] <c_14> The first one, no (sadly). The second, if you put -ss after the input filename or I think -copyts works as well
[02:50:37 CEST] <Asher_> oh ok
[02:50:55 CEST] <c_14> you need a file input for the subtitles filter because libavfilter still doesn't support subtitle streams
[02:51:21 CEST] <Asher_> i tryed to add after the input filename , but if i start like 10 min after the start of the movie i need to wait some time before the movie start
[02:51:30 CEST] <Asher_> and about the first problem
[02:51:36 CEST] <Asher_> There is another way ?
[02:51:43 CEST] <Asher_> or no way at all ?
[02:51:44 CEST] <c_14> yeah, try -copyts can't remember if it works or not
[02:51:57 CEST] <c_14> No, the only thing you can do is download the http stream into a file and use that as input
[02:52:09 CEST] <Asher_> hum i see
[02:52:15 CEST] <Asher_> :/
[02:52:20 CEST] <c_14> well
[02:52:32 CEST] <c_14> You can try feeding the stream url into the subtitles filter as a file=
[02:52:49 CEST] <c_14> It should probably just call avopen2 so it might work
[02:53:23 CEST] <Asher_> hum like file=http://xxxxx.mkv ?
[02:53:35 CEST] <c_14> yeah, -vf subtitles=file=http://
[02:53:59 CEST] <c_14> eh, it might be filename=
[02:56:06 CEST] <Asher_> [subtitles @ 0x1afc2a0] Unable to parse option value "//192.168.1.34" as image size
[02:56:22 CEST] <c_14> put it in single quotes
[02:56:27 CEST] <c_14> filename='http://'
[02:59:33 CEST] <Asher_> ok
[02:59:35 CEST] <Asher_> trying
[03:19:32 CEST] <Asher_> @c_14
[03:19:37 CEST] <Asher_> the single cote don't work also
[03:20:21 CEST] <c_14> error?
[03:21:21 CEST] <Asher_> [subtitles @ 0x182bfe0] Unable to parse option value "//192.168.1.34" as image size Last message repeated 1 times [subtitles @ 0x182bfe0] Error setting option original_size to value //192.168.1.34. [Parsed_subtitles_0 @ 0x17b52a0] Error applying options to the filter. [AVFilterGraph @ 0x1821f00] Error initializing filter 'subtitles' with args 'filename=http://192.168.1.34:81/test.mkv'
[03:21:38 CEST] <c_14> try a \ before the :
[03:23:16 CEST] <Asher_> [subtitles @ 0x13dffe0] Unable to parse option value "//192.168.1.34" as image size Last message repeated 1 times [subtitles @ 0x13dffe0] Error setting option original_size to value //192.168.1.34. [Parsed_subtitles_0 @ 0x13692a0] Error applying options to the filter. [AVFilterGraph @ 0x13d5f00] Error initializing filter 'subtitles' with args 'filename=http://192.168.1.34:81/test.mkv' Error opening filters!
[03:23:25 CEST] <Asher_> same error
[03:23:36 CEST] <c_14> then I'm out of ideas
[03:24:43 CEST] <Asher_> i wanted to do something like with the stream
[03:25:12 CEST] <Asher_> :/
[03:25:27 CEST] <Asher_> something with the stream*
[03:25:39 CEST] <Asher_> but i don't think subtitles take http link
[03:26:15 CEST] <Asher_> c_14 , do you know another way to make the subtitle in the video stream in live ?
[03:26:56 CEST] <c_14> not really, no
[03:27:11 CEST] <Asher_> :( , or ffmpeg alternative who can do this ?
[03:31:05 CEST] <Asher_> c_14
[03:31:07 CEST] <Asher_> seems i got it
[03:31:18 CEST] <Asher_> escaped with \\before all :
[03:31:21 CEST] <Asher_> did the work
[05:32:05 CEST] <Johnjay> hmm
[05:32:09 CEST] <Johnjay> i might be being dumb
[05:32:25 CEST] <Johnjay> but is there a way to insert a sound or file at certain times?
[05:32:31 CEST] <Johnjay> instead of splitting the file and re-concatting it?
[06:19:02 CEST] <postmodern> i noticed ffmpeg has zmq support. i was wondering if there was a way to change the -vf value in real-time, for live video effects?
[06:26:26 CEST] <furq> postmodern: that's pretty much all you can do with it afaik
[06:26:33 CEST] <furq> !filter zmq @postmodern
[06:26:33 CEST] <nfobot> postmodern: http://ffmpeg.org/ffmpeg-filters.html#zmq_002c-azmq
[06:34:12 CEST] <postmodern> eggsellent
[06:38:53 CEST] <postmodern> furq, is there a list of al TARGETs? Or do they all start with the Parsed_ prefix?
[06:54:37 CEST] <postmodern> furq, can you change the entire filter string and have that re-parsed?
[09:50:22 CEST] <rabbe> ok, i've got ffmpeg grabbing my webcam, sending flv over rtmp to nginx which creates mpeg dash that i receive in my browser. how do i reduce latency, at the web server or ffmpeg? ffmpeg -f v4l2 -i /dev/video1 -c:a aac -ac 2 -b:a 128k -c:v libx264 -pix_fmt yuv420p -profile:v baseline -preset ultrafast -tune zerolatency -vsync cfr -x264-params "nal-hrd=cbr" -b:v 5000k -minrate 5000k -maxrate 5000k -bufsize 10000k -g 60 -s
[09:50:22 CEST] <rabbe> 1920x1080 -f flv rtmp://localhost/live/test
[12:58:35 CEST] <Kiicki> I'm curious about something. Handbrake got this 2 pass and turbo option when doing average bitrate. What would that be equivalent to with meGUI? Handbrake on left, meGUI on right https://i.imgur.com/iYQNrVQ.png
[13:01:14 CEST] <DHE> not really an ffmpeg question. I'd suggest automatic 2pass
[14:07:08 CEST] <nostrora> Hello! I'm new with FFMPEG and video encoding in general. i want to encode MP4 to webm(vp9+opus) the source file have 5M v bitrate. i have to set bitrate to 5M ? my question is. xM bitrate in mp4 is equivalent of xM bitrate in vp9 ?
[14:08:43 CEST] <JEEB> when you re-encode you can forget the input bit rates altogether
[14:08:59 CEST] <JEEB> and no, first of all you're comparing container to a video format
[14:09:04 CEST] <JEEB> mp4 can contain a wide range of stuff
[14:09:16 CEST] <nostrora> JEEB: i mean, h264 sorry
[14:09:20 CEST] <JEEB> and whomever made your input clip could either have encoded it with good compression or bad compression
[14:09:25 CEST] <JEEB> or something in the middle
[14:09:37 CEST] <JEEB> so really, just stop thinking of your input file's file size or bit rate
[14:09:44 CEST] <JEEB> it's irrelevant when you decode the pictures
[14:09:53 CEST] <JEEB> what matters is if your output file looks good enough
[14:10:01 CEST] <nostrora> JEEB: i talking about output video bitrate
[14:10:10 CEST] <JEEB> yes, but you were comparing it to the input one
[14:10:30 CEST] <JEEB> and I was saying "you don't know how the input was encoded and many other things, so the output vs input doesn't matter"
[14:10:48 CEST] <JEEB> it generally just doesn't, what matters is that you encode something that it looks good enough to you on the output side
[14:11:07 CEST] <JEEB> I recommend using whatever is mapped to the -crf option and tweak that with whatever speed-related options there are for libvpx-vp9
[14:11:17 CEST] <nostrora> JEEB: ok, i don't know how to choice the output bitrate for VP9
[14:11:24 CEST] <JEEB> that's why you don't
[14:11:27 CEST] <e38383> overall vp9 should have a slightly better encoding as h264, if you have the same bitrate it should be fairly equal (just my opinion and in no way is anything JEEB just said wrong)
[14:11:44 CEST] <JEEB> you generally don't set a pre-defined bit rate if you are not following a limitation
[14:11:55 CEST] <JEEB> what you want is a certain quality level instead
[14:12:15 CEST] <JEEB> e38383: that is way too generalized
[14:12:28 CEST] <JEEB> I mean, you and me or him cannot know how well compressed that H.264 clip was
[14:12:46 CEST] <JEEB> so we cannnot know if compared to the input bit rate how well libvpx's vp9 encoder (at which settings?!) could compress it
[14:12:59 CEST] <nostrora> better solution i to just don't set output bitrate ?
[14:13:11 CEST] <e38383> JEEB: true, but it might give a general hint in what direction it will go
[14:13:14 CEST] <e38383> nostrora: definitly
[14:13:54 CEST] <JEEB> nostrora: drop the -b:v to zero and otherwise try these https://developers.google.com/media/vp9/settings/vod/
[14:14:03 CEST] <JEEB> it says to use whatever is mapped to the misnomer of "crf"
[14:14:13 CEST] <JEEB> and then it sets -quality good -speed 0
[14:14:23 CEST] <JEEB> those seem to be the speed VS compression parameters
[14:14:31 CEST] <JEEB> and of course if you don't want to rescale, remove the vf scale
[14:15:11 CEST] <JEEB> nostrora: and then you tweak the CRF parameter up/down to change the output quality
[14:15:32 CEST] <JEEB> with x264 it was up for less bits and down for more bits
[14:16:57 CEST] <nostrora> can we preview the current quality setting without encode all clip ? (because it's take long time)
[14:17:04 CEST] <JEEB> yes
[14:17:06 CEST] <nostrora> like a screenshot or somethink like, just a frame
[14:17:17 CEST] <JEEB> well usually you want to limit to like 1200 frames of content
[14:17:19 CEST] <JEEB> and play it through
[14:17:23 CEST] <JEEB> 1200-2500 frames
[14:17:24 CEST] <nostrora> jeeb oh cool :)
[14:17:42 CEST] <JEEB> -t 105 I think is 105 seconds
[14:17:55 CEST] <JEEB> or -vframes 2500 for exact frame count
[14:18:03 CEST] <nostrora> Is that true CPU encoding is better than GPU ?
[14:18:19 CEST] <JEEB> GPU is not really GPU it's the built-in decoder chips
[14:18:25 CEST] <JEEB> which you nowadays also do have in CPUs as well
[14:18:41 CEST] <JEEB> but the whole HW decoding thing is "it can work, BUT"
[14:18:54 CEST] <JEEB> if you want to know the gritty details I can link you the mpv manual entry
[14:19:13 CEST] <JEEB> which has all the various cases of how HW decoding, even when the decoding part works, can cause worse rendering
[14:20:27 CEST] <JEEB> nostrora: also if you want to test a part of the clip not in the beginning of the thing
[14:20:32 CEST] <JEEB> you can add -ss SECONDS
[14:20:35 CEST] <JEEB> before -i
[14:20:45 CEST] <JEEB> so it seeks there
[14:20:56 CEST] <nostrora> JEEB: \o/
[14:21:00 CEST] <JEEB> of course you will want to remove that when doing the final encode together with the -t / -vframes
[14:21:26 CEST] <JEEB> so you can see which part of the clip you'd be especially interested, encode that ~2500 frames of stuff and then keep checking
[14:21:48 CEST] <JEEB> and at the end of the day you will know which CRF value at those specific compression parameters are "good enough" for you
[14:22:01 CEST] <JEEB> and you should be able to use them with similar content
[14:22:37 CEST] <JEEB> at least that was the idea of the original CRF for libx264. "similar" libvpx options for vp8/9 were just mapped to the "crf" parameter
[15:15:43 CEST] <Sellerie> Hi, I am currently trying to update the ancient linux version of the PS2 to more up to date packages. For that I need to find out if there went work of porting tools e.g. ffmpeg from the standard packages to the ps2 package included (source)
[15:16:04 CEST] <Sellerie> For that I need to get some older package versions to compare
[15:16:20 CEST] <Sellerie> Can I find the source package of ffmpeg 0.58 anywhere?
[15:16:51 CEST] <JEEB> on the git most likely
[15:17:09 CEST] <JEEB> although I remember building FFmpeg in like 2011 for the PSP pretty much vanilla
[15:17:16 CEST] <JEEB> I just had to disable the command line tools for obvious reasons
[15:17:34 CEST] <Sellerie> Hmm, I could actually just get the source package and compile it on the ps2 locally
[15:17:49 CEST] <Sellerie> And just test whats broken
[15:18:22 CEST] <JEEB> yea, I would start with that. the basic cross-compilation parameters are...
[15:19:12 CEST] <JEEB> --arch=ARCH --enable-cross-compile --target-os=SOMETHING --cross-prefix=your-cross-prefix-
[15:19:28 CEST] <Sellerie> ohoh
[15:19:32 CEST] <JEEB> that way the build tools with your-cross-prefix (like your-cross-prefix-gcc) get used
[15:19:44 CEST] <Sellerie> I cant find a gcc in that package collection lol
[15:20:26 CEST] <JEEB> but yea, the last time I was poking around MIPS FFmpeg I could get it compiled
[15:20:38 CEST] <JEEB> I just had to disable command line apps because those aren't a thing on the PSP
[15:20:50 CEST] <JEEB> (you make libraries with specific entry points instead, IIRC)
[15:21:12 CEST] <Sellerie> https://github.com/ps2dev/ps2toolchain I found that thing. Guess that will work
[15:21:35 CEST] <JEEB> woah
[15:21:39 CEST] <JEEB> that's even older than the PSP stuff
[15:21:49 CEST] <JEEB> PSP I think got up until... 4.6 or 4.9 GCC
[15:21:52 CEST] <Sellerie> PS2 was released in 2001 :)
[15:22:20 CEST] <JEEB> yes, but neither is using the official sdk anyways
[15:22:29 CEST] <JEEB> it's just what people have kept up maintaining
[15:22:33 CEST] <Sellerie> Ye
[15:22:47 CEST] <JEEB> ok, gcc 4.9.3 for the PSP it seems
[15:22:56 CEST] Action: JEEB looked at https://github.com/pspdev/psptoolchain/tree/master/patches
[15:23:46 CEST] <JEEB> I think one of the guys tried to upstream the PSP target but I think he stopped due to authorship issues or so
[15:23:54 CEST] <Sellerie> Nice. The requirements say that I need a gcc or clang for that
[15:24:17 CEST] <JEEB> well yes, the toolchain will be running on your normal PC creating MIPS binaries
[15:25:02 CEST] <JEEB> &41
[15:25:05 CEST] <Sellerie> God this project will result in ultimate Frankenstein linux
[15:25:36 CEST] <JEEB> well if it's sane it will make the sysroot somewhere and then have the binaries cross-compilers with a cross-prefix
[15:25:41 CEST] <JEEB> that's how you usually keep things separated
[15:26:01 CEST] <JEEB> for example a lot of distros after all package ARM, mingw-w64 toolchains
[15:26:06 CEST] <Sellerie> Maybe I should get my phat PS2 to work again, I can get a goddamn harddrive for that
[15:26:14 CEST] <JEEB> so you get for example x86_64-w64-mingw32-gcc etc
[15:26:38 CEST] <JEEB> you're not meant to just have a "gcc" that targets another arch
[15:26:49 CEST] <Sellerie> I guess
[15:27:49 CEST] <Sellerie> So lets create some toolchain
[15:28:33 CEST] <JEEB> if you want to be extra safe, use systemd-nspawn or whatever your preferred way of spawning a new kernel namespace under a chroot is
[15:31:12 CEST] <Sellerie> I guess I need to read about crosscompiling anyway at first
[15:36:03 CEST] <Sellerie> Oh I see there is a cmake included... how far do I get with that?
[15:36:53 CEST] <Sellerie> Damn gcc 2.9.5
[15:44:19 CEST] <Sellerie> Thanks for your advise JEEB!
[16:16:46 CEST] <bodqhrohro1> Can I encode a video with bitrate less than 1 kbps using libvpx-9? The bitrate still keeps too high when I pass every of minrate, maxrate, b:v and bufsize
[16:17:32 CEST] <JEEB> that's more of a question to #vp8 than here, but I would guess no
[16:17:43 CEST] <JEEB> many APIs are limited to kilobits
[16:17:52 CEST] <JEEB> for example x264 does that as well
[16:18:09 CEST] <JEEB> so when libavcodec passes the bit rate to it, it divides it by 1000
[16:18:13 CEST] <JEEB> so you get kilobits instead of bits
[16:18:51 CEST] <bodqhrohro1> When I tried to limit opus to too small value it raised an error that only from 500 to 256000 bps. With vp9 I don't see anything like this
[16:20:11 CEST] <JEEB> https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/libvpxenc.c#L520..L522
[16:20:20 CEST] <JEEB> this is all that libavcodec does when passing the bit rate to libvpx
[16:20:36 CEST] <JEEB> libvpx seems to be limited to kilobits per second, yes
[16:20:58 CEST] <BtbN> Just show a black screen on the player and put some random noise on it, that will be about the same visual quality than less than 1kbps vp9
[16:21:37 CEST] <JEEB> bodqhrohro1: in theory the wrapper in libavcodec could check if the nonzero value was less than one thousand, but uhh
[16:25:51 CEST] <bodqhrohro1> So if vp9 doesn't, is there a video codec that supports any low bitrate?
[16:27:20 CEST] <bodqhrohro1> 12 kbps would be probably enough too
[16:28:23 CEST] <JEEB> that amount can be set in many encoders but I don't know many that would keep that bit rate considering the amount of headers for each frame that are required
[16:28:40 CEST] <JEEB> so unless you have a very low frame rate you can *very* easily go over that
[16:29:11 CEST] <BtbN> that's way less than you usually use for audio
[16:29:20 CEST] <BtbN> you are not going to get any kind of useful video with that low of a bitrate
[16:29:40 CEST] <JEEB> as far as I know only x264 actually has a rate control that will try its darnest to keep your set bit rate, but even it cannot fight the amount that goes onto headers
[16:29:54 CEST] <bodqhrohro1> I've set 4 FPS and 86x48 resolution so probably at least some moving squares of corresponding colours will still be seen
[16:30:59 CEST] <BtbN> so that's 256 byte per picture on average.
[16:35:00 CEST] <bodqhrohro1> And is MKV the only container to fit Opus and H.264 together? No anything supported with browsers?
[16:36:23 CEST] <dystopia_> anyone know how i can demux the audio from ea vp6
[16:36:29 CEST] <dystopia_> ffmpeg doesn't see the track
[16:36:30 CEST] <JEEB> I think opus in ISOBMFF (colloquially mp4) is standardized now
[16:37:07 CEST] <JEEB> at least it was heavily being drafted https://www.opus-codec.org/docs/opus_in_isobmff.html
[16:37:18 CEST] <JEEB> and FFmpeg seems to support it
[16:37:26 CEST] <JEEB> but no idea if the browsers do, I think mozilla had interest in it
[16:37:50 CEST] <bodqhrohro1> Mine still doesn't
[16:37:50 CEST] <bodqhrohro1> [mp4 @ 0x560078d54de0] Could not find tag for codec opus in stream #1, codec not currently supported in container
[16:37:51 CEST] <bodqhrohro1> Was it added in the latest versions?
[16:38:07 CEST] <JEEB> I see a patch in March, 2017
[16:38:31 CEST] <JEEB> also if it's experimental it's likely you have to enable -strict experimental
[16:38:51 CEST] <JEEB> and yea, it was merged in April
[16:39:02 CEST] <JEEB> and strict experimental is required
[16:40:04 CEST] <JEEB> bodqhrohro1: I wouldn't necessarily expect all the things to support that yet, but it's being standardized
[16:40:48 CEST] <JEEB> mozilla was rather interested in both FLAC and Opus in ISOBMFF standardization
[17:05:26 CEST] <Ducky^> hi all, I'm trying to use ffmpeg to encode captured raw video in realtime
[17:05:29 CEST] <Ducky^> if I run:
[17:05:33 CEST] <Ducky^> ./bmdcapture -C 0 -m 13 -V 3 -p rgb10 -F nut -f pipe:1 | ffmpeg -re -i pipe:0 -framerate 25 -c:v libx264 -preset ultrafast -maxrate 3000k -bufsize 256k -c:a aac -b:a 160k -ac 2 -ar 44100 -f mpegts udp://10.249.0.14:1234
[17:05:43 CEST] <Ducky^> it will work for a while, but eventually the process will stop
[17:06:03 CEST] <Ducky^> while running the speed is just under 1x so it doesn't seem to be quite doing it in realtime
[17:06:09 CEST] <c_14> get rid of the -re
[17:06:13 CEST] <JEEB> you shouldn't try to use -re, the encoder will be limited by the amount of data given to it
[17:06:23 CEST] <JEEB> -re is a horrible hack :D
[17:06:37 CEST] <Ducky^> ok, I've removed -re
[17:06:43 CEST] <Ducky^> I think the problem still occurs without re though
[17:06:46 CEST] <JEEB> (and if you have funkyness in input timestamps you *will* get funzies like "sleeping for 8+ hours"
[17:06:59 CEST] <JEEB> also cool that it supports NUT
[17:07:03 CEST] <JEEB> the capture thing that is
[17:07:13 CEST] <JEEB> has timestamps and video/audio data
[17:10:00 CEST] <Ducky^> the process died after a few minutes of running
[17:10:07 CEST] <Ducky^> any thoughts on how to keep it going?
[17:10:38 CEST] <JEEB> Ducky^: also if it's 10bit RGB the conversion to YCbCr might be slow
[17:12:15 CEST] <JEEB> Ducky^: also I'm not sure why you're setting an input frame rate if you have NUT input which *should* have timestamps already
[17:12:35 CEST] <JEEB> but yea, I would guess the x264 encoder shouldn't be slowing you down, or the AAC encoder
[17:12:44 CEST] <JEEB> although.. what's with that buffer size?
[17:12:45 CEST] <Ducky^> the input framerate is 50 and I thought if I downscaled it to 25 ffmpeg would keep up beeter
[17:12:53 CEST] <Ducky^> better*
[17:13:10 CEST] <JEEB> you're doing 3000 kbps maxrate and with 256 kilobit buffer
[17:13:11 CEST] <Ducky^> JEEB: higher buffer sizes that people recommend seem to break it
[17:13:21 CEST] <JEEB> that sounds coincidental
[17:13:27 CEST] <Ducky^> I can't tell why, but a 2M buffer size I can't see any video at all over the network
[17:13:40 CEST] <JEEB> there's a transfer rate option in the UDP output I think
[17:13:44 CEST] <JEEB> if that's the problem
[17:14:24 CEST] <JEEB> so that even if the encoder outputs more bits suddenly, they don't get spammed out of UDP right away
[17:14:39 CEST] <JEEB> but in a more stable manner, if the network doesn't like it otherwise
[17:15:28 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=libavformat/udp.c;h=8699c1c119c2e58c75b0aec01eaf73138e1b3a88;hp=f2446c62ed6eca5784755a1a2033a2de7920bcb4;hb=cc16229d914aa0eea827599f9df7716bb2afa36b;hpb=0a065694877e7fc37aa68d37cdfa2dee3823ad76
[17:15:50 CEST] <JEEB> so basically -bitrate and -burst_bits I think, and setting only one of those should be enough
[17:17:06 CEST] <JEEB> Ducky^: I would recommend looking at 10bit YCbCr from the capture card first, then increasing debug logging level to see which part is the one that gives up in ffmpeg.c
[17:18:33 CEST] <JEEB> the networks I've dealt with have dealt with the bursts you might get with a higher buffer size just fine, but the UDP bitrate and burst_size options should enable you to limit the output in case the network doesn't like the difference that a bigger buffer lets the encoder do
[17:20:49 CEST] <Ducky^> thanks JEEB, I'm seeing if I can get the hdmi input to be ycbr
[17:21:30 CEST] <JEEB> well you were setting -p rgb10 so I expected you'd be able to poke it to be something else as well
[17:21:41 CEST] <JEEB> not that I know what on earth you're using for capture :D
[17:21:44 CEST] <Ducky^> it actually looks like the capture software can only support yuv8, yuv10 or rgb10
[17:22:02 CEST] <JEEB> there's no digital yuv so that's YCbCr
[17:22:14 CEST] <JEEB> people just still call it YUV
[17:22:16 CEST] <JEEB> colloquially
[17:22:18 CEST] <Ducky^> right, ok
[17:22:59 CEST] <Ducky^> now I just need to see if I can get the raspberry pi to output at ycbr, it seems like there is an option but the pi still reports rgb
[17:23:05 CEST] <Ducky^> but strangely the colours changed
[17:23:39 CEST] <JEEB> yea, the desktop will still be rendered in RGB
[17:23:53 CEST] <JEEB> and then whatever is pushing the picture over will most likely be in control of the conversion YCbCr
[17:23:56 CEST] <JEEB> *conversion to
[17:27:27 CEST] <Ducky^> hmm, I can only get a picture from the capture card if I set pixel encoding to be rgb10
[17:28:01 CEST] <BtbN> if that's the format it captures
[17:31:19 CEST] Action: TrIPpY *waves* HI
[17:31:57 CEST] <TrIPpY> Hello. I have a ffmeg and ffplay use case involving capturing webcam images. Is anybody willing to help?
[17:33:15 CEST] <JEEB> just ask your actual questions
[17:34:41 CEST] <Ducky^> hooray, got yuv capture working!
[17:34:48 CEST] <Ducky^> lets see if it keeps running
[17:35:10 CEST] <Ducky^> speed is at 1x now
[17:35:32 CEST] <TrIPpY> OK. I'm actually trying to sort of like trying to use my webcam to digitalize documents (i do know they have scanners for that). When i look at the image like so:
[17:35:41 CEST] <TrIPpY> ffplay -f v4l2 -framerate 10 /dev/video0
[17:36:04 CEST] <TrIPpY> the characters on the page are readable
[17:36:59 CEST] <TrIPpY> to have no loss of info i capture it to rawvideo like this:
[17:37:03 CEST] <TrIPpY> ffmpeg -y -f v4l2 -framerate 10 -i /dev/video0 -c:v rawvideo -pix_fmt yuyv422 out.yuv
[17:37:56 CEST] <TrIPpY> camera pixel format seems to be yuyv422 when listing capabilities with ffplay
[17:38:53 CEST] <TrIPpY> after capture i play in ffplay like this:
[17:38:59 CEST] <TrIPpY> ffplay -fdebug 1 -video_size 640x480 -pix_fmt yuyv422 -framerate 10 out.yuv
[17:39:36 CEST] <klaxa> it'll be hard to digitize documents at 640x480...
[17:40:24 CEST] <TrIPpY> i know but when live playing in ffplay it's readable
[17:40:37 CEST] <TrIPpY> just about anyway
[17:40:49 CEST] <TrIPpY> the unwanted thing in the log is this:
[17:40:54 CEST] <TrIPpY> [ffplay_crop @ 0x7f18a4002aa0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'ffplay_buffer' and the filter 'ffplay_crop'
[17:40:54 CEST] <TrIPpY> [AVFilterGraph @ 0x7f18a4000d40] query_formats: 3 queried, 1 merged, 1 already done, 0 delayed
[17:40:54 CEST] <TrIPpY> [auto-inserted scaler 0 @ 0x7f18a4002160] w:640 h:480 fmt:yuyv422 sar:0/1 -> w:640 h:480 fmt:yuv420p sar:0/1 flags:0x4
[17:42:17 CEST] <TrIPpY> know, is it possible to not have the scaler auto inserted OR set the pixel format to yuyv422 because the conversion to yuv420p, I think makes it unreadable hwile the live image is much better
[17:43:20 CEST] <TrIPpY> capturing it to video is a test btw. Ultimately i'd like it to go to a photo format.
[17:45:00 CEST] <klaxa> i would think the filter is inserted for viewing only? i don't think you should worry about that too much?
[17:46:57 CEST] <TrIPpY> same effect (somewhat) also shows when capturing to bmp's or tiff's
[17:47:34 CEST] <TrIPpY> i'd would actually like to see the capture of the same quality as the live image in ffplay.
[17:48:11 CEST] <TrIPpY> capturing to rawvideo is as lossless as possible, is that right?
[17:49:12 CEST] <Ducky^> has anyone here used ffmpeg to send video into wowza engine?
[17:49:30 CEST] <klaxa> usually yes, codec copying is just as lossless though
[17:49:48 CEST] <klaxa> most webcams don't send rawvideo but encoded frames, often mjpeg or h264
[17:49:52 CEST] <Ducky^> I can open a video file with VLC and send it to local port udp 10010, which wowza is configure to watch
[17:49:55 CEST] <Ducky^> the video will appear
[17:50:00 CEST] <TrIPpY> ok. ok
[17:50:14 CEST] <Ducky^> but with ffmpeg there is either no video or it's just a static glitchy image
[17:51:45 CEST] <TrIPpY> so i should only change the -vcodec to mjpeg?
[17:52:21 CEST] <klaxa> no that would re-encode to mjpeg, use -c:v copy or -c copy
[17:53:27 CEST] <TrIPpY> i'll try that. see if it makes a difference. Thanks KLaxa
[17:56:20 CEST] <klaxa> also, jpeg (-c:v libopenjpeg) supports yuv422p (afaict it should be possible to convert yuyv422 to yuv422p without loss)
[18:02:58 CEST] <TrIPpY> Ok. Thanks again Klaxa.
[18:03:12 CEST] <TrIPpY> i try that too
[18:57:47 CEST] <brotherBox> hi guys. i have a program that asks me to recompile libswscale with -fPIC, however, i am already passing --enable-shared and it is still throwing that message. is there any way i can see how libsws is compiled?
[18:57:58 CEST] <brotherBox> *how libswscale is compiled
[18:58:38 CEST] <JEEB> --enable-pic if PIC is needed on architectures where it's not the default for shared libraries
[18:59:04 CEST] <JEEB> (it's not default for 32bit x86 because it kills off some required registers for SIMD optimizations
[18:59:29 CEST] <JEEB> but the thing can also be whatever it's depending on, of course. not necessarily FFmpeg's own libraries.
[18:59:46 CEST] <JEEB> basically clean your build root and re-configure with enable-pic and you should get PIC
[18:59:58 CEST] <brotherBox> alright, i'll try it and report back
[19:16:11 CEST] <brotherBox> wow that did it
[19:16:13 CEST] <brotherBox> thank you!
[19:33:58 CEST] <BtbN> that error should only ever show up when you are linking statically
[19:55:06 CEST] <thebombzen> how does interal AAC stack up with fdk-aac nowadays? should I still prefer fdk-aac if I have it?
[19:56:49 CEST] <BtbN> see "the bug": https://trac.ffmpeg.org/ticket/2686
[19:57:03 CEST] <JEEB> I don't think it's on par yet, but generally it's good enough. as in, when running live transcoding with it, I don't want to switch it
[19:58:03 CEST] <BtbN> I think it's pretty much indistiguishable for AAC LC
[20:00:44 CEST] <JEEB> not like it supports HE, right?
[20:34:31 CEST] <jiffe> is there a way to find out what the max bitrate of an mkv is?
[20:35:06 CEST] <JEEB> depends on which level. are you interested in the maximum amount of bits per picture or verification of VBV/HRD or something?
[20:35:58 CEST] <jiffe> I'm having buffering issues streaming to my TV so I'm trying to find out the max rate that would be sent to the tv
[20:36:32 CEST] <JEEB> well the amount of it being sent is not necessarily the max amount of bits per second (calculated over what?) in the file
[20:36:52 CEST] <JEEB> also for some reason my TV had issues with MPEG-TS, but if I remuxed to mp4 stuff worked somewhat better
[20:37:02 CEST] <JEEB> this was with an average of around 40mbps though :P
[20:37:42 CEST] <jiffe> yeah, reading up on similar issues people have had with plex and samsung TVs they've pointed to low bandwidth restrictions placed by the tv
[20:38:23 CEST] <JEEB> I don't use plex but rather the built-in stuff in windows (10)
[20:39:06 CEST] <JEEB> anyways, I'm not sure if you will find the details from the file side, you would have to look into what the logic on the TV's side is to know. otherwise you would be doing arbitrary decisions
[20:39:23 CEST] <JEEB> esp. given the fact that you don't know how quickly the content is being transferred and in what sort of buffers
[20:39:46 CEST] <JEEB> "what is the maximum bit rate according to X" is hard to answer if the X is unknown
[20:39:53 CEST] <jiffe> well I know that is buffers for about 3-4 seconds and runs for another 15 seconds before buffering again in some scenes
[20:40:16 CEST] <JEEB> to give you some glimmer of hope you can check the strings in the file if it's an encode done with x264
[20:40:40 CEST] <JEEB> or if you know it's a straight remux from a blu-ray (as in, streams are as-is unchanged)
[20:40:59 CEST] <JEEB> for x264 you check the output of `strings file.mkv |grep "x264"`
[20:41:04 CEST] <jiffe> yeah all my rips are done with makemkv straight from the blurays
[20:41:06 CEST] <JEEB> and hope you have maxrate and bufsize there
[20:41:09 CEST] <Mavrik> Some TVs (hi Sony!) have ethernet ports connected via internal USB 2.0 bus -_-
[20:41:09 CEST] <JEEB> ok
[20:41:16 CEST] <JEEB> jiffe: for blu-ray it's simple
[20:41:23 CEST] <JEEB> 40mbps maxrate and 40mbps bufsize
[20:41:27 CEST] <JEEB> the video will never go over that
[20:41:46 CEST] <JEEB> *40megabit bufsize
[20:42:03 CEST] <JEEB> so roughly a second's buffer within which the maximum bit rate is 40 megabits per second
[20:42:15 CEST] <jiffe> gotcha
[20:42:31 CEST] <JEEB> but that is only in the case of straight stream rips, as in you don't do re-encodes
[20:42:46 CEST] <JEEB> jiffe: with samsung I had better experience remuxing to mp4 btw
[20:43:00 CEST] <JEEB> also that enables you to use windows 10's own miracast/dlna thing
[20:43:17 CEST] <JEEB> `ffmpeg -i in.mkv -c copy -movflags faststart out.mp4`
[20:43:19 CEST] <jiffe> yeah, this all runs on linux
[20:43:28 CEST] <jiffe> I can try mp4 and see if that makes a difference
[20:43:40 CEST] <JEEB> yea, for some reason the TV liked mp4 compared to the original m2ts
[20:43:54 CEST] <JEEB> I haven't been able to try matroska since windows thinks it needs to transcode that to wmv3
[20:44:06 CEST] <JEEB> and I have been way too lazy to search for a sane miracast or dlna thing
[20:44:14 CEST] <JEEB> that just passes everything as-is to the device
[20:46:20 CEST] <e38383> minidlna is very basic
[20:46:25 CEST] <fahadash> I mapped an mp3 audio to my video using -map, the audio is shorter than the video; I want audio to start repeating as soon as it finishes, how do I do it?
[20:49:21 CEST] <jiffe> that re-encoded pretty quick
[20:49:42 CEST] <JEEB> no re-encode
[20:49:44 CEST] <JEEB> just remultiplex
[20:49:49 CEST] <JEEB> -c copy does that
[20:50:28 CEST] <JEEB> oh, and I forgot to say that audio tracks aren't calculated into that 40mbps/40 megabit maxrate/bufsize
[20:50:31 CEST] <JEEB> that's just for the video track
[20:59:21 CEST] <jiffe> no difference with the mp4, buffers the same
[21:00:17 CEST] <lindylex> When do i ad the resize to get this to resize the photos ffmpeg -r 60 -f image2 -s 1080x810 -start_number 633 -i IMG_%04d.JPG -vcodec libx264 -crf 15 -pix_fmt yuv420p test.mp4
[21:01:47 CEST] <jiffe> I have an email in to samsung to find out what kind of bandwidth this tv has
[21:03:23 CEST] <JEEB> jiffe: also when I play with miracast I don't have any buffering stuff on the TV side
[21:03:31 CEST] <lindylex> jiffe : is your smart tv not that smart?
[21:03:35 CEST] <JEEB> as in, I have no visible buffering levels
[21:04:14 CEST] <JEEB> lindylex: -vf 'scale=w=WIDTH:h=height,format=yuv420p' should handle both the pix_fmt and the scaling
[21:04:31 CEST] <lindylex> JEBB : Thanks
[21:04:35 CEST] <JEEB> width or height can be -2 for "automatical according to the aspect ratio"
[21:04:41 CEST] <JEEB> (and modulo 2)
[21:04:48 CEST] <JEEB> module 2 is needed for 4:2:0
[21:04:53 CEST] <JEEB> because chroma is in 2x2 blocks
[21:05:27 CEST] <lindylex> How can I automatically convert width to 1080 with calculating the height?
[21:07:03 CEST] <JEEB> do you really mean width to 1080?
[21:07:16 CEST] <lindylex> yes
[21:07:17 CEST] <JEEB> anyways, scale=w=1080:h=-2
[21:07:27 CEST] <JEEB> and then add ,format=yuv420p for the pixel format
[21:07:34 CEST] <JEEB> format is a kind of a metafilter :P
[21:07:36 CEST] <lindylex> oh ok thanks. Now I understand what you are saying.
[21:07:43 CEST] <BtbN> that's a very unusual width. If you want 1080p, 1080 is the height.
[21:08:02 CEST] <lindylex> 1080 X 720
[21:14:57 CEST] <Johnjay> why is 1.5 the aspect ratio for hd? seems a bit large to me
[22:02:00 CEST] <bodqhrohro1> What values can I set rc_strategy and b_strategy to?
[22:04:22 CEST] <furq> for what codec
[22:30:16 CEST] <Luigi12> michaelni: not sure if you'd heard about this http://openwall.com/lists/oss-security/2017/10/02/1 but just letting you know if not
[22:33:43 CEST] <bodqhrohro1> furq: H.264
[22:33:59 CEST] <durandal_1707> Luigi12: whats that?
[22:34:01 CEST] <furq> b_strategy is b-adapt, and rc_strategy doesn't exist for x264 afaik
[22:34:21 CEST] <bodqhrohro1> For what codecs does it exist?
[22:34:34 CEST] <Luigi12> durandal_1707: Internet Bug Bounty project. They were going to include ffmpeg, but they needed to hear from upstream before OK'ing it.
[22:34:40 CEST] <Luigi12> they already OK'd libav
[22:34:55 CEST] <Luigi12> which seems silly since nobody uses that anymore. It'd be much more useful to have ffmpeg in there.
[22:36:05 CEST] <JEEB> Luigi12: that is probably more useful to ask on -devel
[22:36:14 CEST] <Luigi12> true
[22:44:18 CEST] <plitter> Is it possible to change settings during a stream? I want to create content and want the background and webcam to be on at the same time. But would like to be able to move the webcam around if I need to show something at that part of the screen. The same if I have graphics on the stream I would like to be able to move it. I can imagine that one solution would be to put settings in a config file and make
[22:44:20 CEST] <plitter> ffmpeg continuously read it?
[22:45:12 CEST] <JEEB> sounds like you want to create your own API client for the APIs on which FFmpeg is built on
[22:45:30 CEST] <JEEB> or you just want to separate your overlay/whatever generation from the encoding process
[22:45:36 CEST] <furq> you could maybe do that with zmq
[22:46:29 CEST] <Johnjay> hey furq, jeeb
[22:46:37 CEST] <Johnjay> is there a way to do that thing
[22:46:44 CEST] <furq> no
[22:46:46 CEST] <Johnjay> about inserting a file within another file at time t1,t2,t3?
[22:46:59 CEST] <Johnjay> ok i'll split the file up then.
[22:47:07 CEST] <Johnjay> i needed to add intros and outros at regular intervals for a podcast
[22:47:13 CEST] <Johnjay> but the times are not always at exact times
[22:47:29 CEST] <plitter> JEEB: I want to do both at the same time, so I don't have to do postproduction
[22:47:35 CEST] <furq> there is probably a way to do it in a single command but i imagine it'd be more complicated than just split+concat
[22:47:54 CEST] <Johnjay> right
[22:48:06 CEST] <Johnjay> i wanted to do something like feed it a list of times and insert file A at time B
[22:48:20 CEST] <furq> the way i'm thinking is something like trim,setpts;trim,setpts;trim,setpts;amerge with anullsrc
[22:48:21 CEST] <Johnjay> filter_complex looks scary though
[22:48:42 CEST] <Johnjay> pts = presentation time stamp right?
[22:48:42 CEST] <JEEB> plitter: dynamic input means that you either want to create your own API client or you separate your overlay/whatever you're doing with the input(s) from the transcoding process (which could be ffmpeg.c for example)
[22:48:44 CEST] <furq> right
[22:49:14 CEST] <furq> !filter zmq @plitter
[22:49:14 CEST] <nfobot> plitter: http://ffmpeg.org/ffmpeg-filters.html#zmq_002c-azmq
[22:49:33 CEST] <furq> plitter: you can send commands to the overlay filter with that, but don't ask me exactly how
[22:49:37 CEST] <furq> i'm not sure anyone in here has ever used it
[22:52:25 CEST] <plitter> furq: thanks, I've seen someone saying they managed to do different text on a stream, I'll see if that is also applicable here http://ffmpeg.gusari.org/viewtopic.php?f=11&t=1897
[00:00:00 CEST] --- Mon Oct 9 2017
More information about the Ffmpeg-devel-irc
mailing list