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

burek burek021 at gmail.com
Wed Jan 18 03:05:02 EET 2017


[00:08:16 CET] <faLUCE> c_14: furq and others. I succeeded in streaming h264 mpegts frames with my custom http server, coded with libevent. The server sends mpegts frames as chunks in the response of a connected client. I can see the live stream with ffplay (ffplay http://localhost:8080), but I can't see it with vlc.... Then I wonder: is sending  mpegts chunks as the response enough for a HTTP LIVE streaming? Maybe vlc and mplayer want another
[00:08:17 CET] <faLUCE> format for live streaming, or they want a header at the begin of the stream.... any suggestion?
[00:09:53 CET] <JEEB> faLUCE: try loading it as http://localhost:8080/thing.ts
[00:09:55 CET] <JEEB> in vlc
[00:10:08 CET] <JEEB> if it still can't demux it as mpeg-ts, something's wrong somewhere
[00:10:44 CET] <faLUCE> JEEB: thanks, let's try
[00:11:12 CET] <JEEB> libavformat has a lot of chances of something just happening to work with it
[00:11:20 CET] <JEEB> esp. if you create your stream with it
[00:11:43 CET] <JEEB> so testing with the latest VLC, for example, is a good idea
[00:13:14 CET] <faLUCE> JEEB: tried. VLC doesn't see it yet. Anyway, vlc recognizes that it's a h264 stream and recognizes also its frame rate and resolution
[00:13:30 CET] <faLUCE> but I see a blank screen
[00:14:27 CET] <faLUCE> JEEB: in addition, if I curl "http://localhost:8080/stream.ts" > myfile.mpeg   then I can see the mpeg file with all the players
[00:14:43 CET] <JEEB> interesting
[00:16:20 CET] <faLUCE> to be more precise, I can see myfile.mpeg with mplayer and ffplay, but not with vlc
[00:16:50 CET] <faLUCE> I used av_write_frame() and not av_interleaved_write_frame()
[00:17:56 CET] <faLUCE> when I try to see the stream with mplayer, it buffers it and doesn't display it
[00:19:19 CET] <faLUCE> sorry. I was wrong again: I can play the stream with mplayer too. It takes some time (maybe due to h264 keyframe missing)
[00:27:54 CET] <JEEB> yeah, vlc should be able to do it, so if vlc is latest - something's going wrong
[00:32:09 CET] <solrize> DHE, thanks, that's lame of nvidia.  i hope radeon doesn't do that
[00:32:53 CET] <solrize> are the current built-in intel gpus anywhere near non-bleeding-edge separate gpus?
[00:50:11 CET] <DHE> libav: if I submit AVPackets to a muxer, can I rely on the corresponding bytes to come out the IO interface immediately?
[01:22:32 CET] <faLUCE> in an AVCodecContext I have to set the time_base field. I'm reading that it has to be 1/framerate. But If the framerate is variable, to which value I have to set it? max framerate?
[01:25:14 CET] <faLUCE> (1/max_framerate) ?
[01:35:16 CET] <DHE> time_base describes the units of the pts and dts. if you have time_base=1/30 for 30fps material then your pts should be 1, 2, 3, ...
[01:35:38 CET] <DHE> different formats have different requirements. mpegts uses 1/90,000 for example
[01:42:15 CET] <faLUCE> DHE: the point is that my frame rate is variable. And I have to set a time_base for both the AVStream and AVCodecContext linked to the muxer. So, to which value do I have to set them?
[01:45:46 CET] <DHE> pick the greatest common multiple then and have the PTS move in large increments as needed
[01:47:46 CET] <faLUCE> DHE: the greatest common multiple of what? I don't have framerate. I just know that it's variable
[01:58:32 CET] <DHE> no common time reference? or list of framerates?
[01:59:41 CET] <faLUCE> DHE: no, I grab frames from a v4l2 camera. And its framerates varies depending on the light
[02:00:49 CET] <faLUCE> then, should I update pkt's ts and dts manually?
[02:03:20 CET] <DHE> if time_base is 1/1000 then pts/dts are in units of 1 millisecond
[02:03:29 CET] <DHE> so how you want to timestamp your frames is up to you
[02:03:49 CET] <DHE> if you're alternating between 30 and 60 fps material, then a time_base of 1/60 makes sense
[02:03:52 CET] <DHE> and so on and so forth
[02:04:24 CET] <faLUCE> DHE: in fact my first question was:  to which value I have to set it? max framerate?
[02:04:50 CET] <DHE> max framerate is an option, but maybe not ideal. I'm trying to help you decide what's best without knowing the specifics of your situation
[02:05:31 CET] <DHE> if you have both 15 and 20 fps material, then the optimal setting is 1/60 because 20 would result in visible stuttering during 15fps material
[02:15:59 CET] <faLUCE> DHE: the situation is that I grab frames from a v4l2 camera, encode them with libx264 and then mux them into mpegts. Now, when I created the muxer, I had to set both the time_base for the AVCodecContext and for the AVstream linked to the muxer( AVOutputFormat) . I set them to maxFramerate (1/25). Then I encode packets with avcodec_encode_video2, which sets (I think but I'm not sure) their ts.   Then I have to rescale these
[02:16:00 CET] <faLUCE> ts, using av_packet_rescale_ts
[02:20:52 CET] <DHE> well, mpegts runs at 90,000 internally so I might suggest that as a common base
[02:22:39 CET] <faLUCE> DHE: so you say to set both the AVStream and AVCodecContext time_bases to 1/90?
[02:25:19 CET] <DHE> 90000
[02:25:34 CET] <DHE> the codec is mainly interested for the purposes of bitrate calculation, but yes you probably should
[02:34:12 CET] <faLUCE> thanks for you help DHE. I'm still confused, I have to understand better this stuff
[02:39:44 CET] <DHE> yeah it can be confusing..
[02:42:26 CET] <faLUCE> DHE: the main problem is that ffmpeg api is completely broken.... it's a ton of obscure structs, with wrong and confusing names, with tons of fields to set/unset and with segaults which can occour everywhere
[02:42:51 CET] <faLUCE> I really wonder how they can mantain this stuff
[03:00:14 CET] <klaxa> it's almost as if multimedia was hard!
[03:01:39 CET] <DHE> and had to deal with a thousand different formats and codecs that all behave differently
[03:24:33 CET] <faLUCE> DHE: obviously, the work made by the developers is wonderful and we all have to thank them. But the API is completely broken. This must be admitted
[03:25:03 CET] <DHE> I've seen worse...
[03:26:20 CET] <faLUCE> DHE: when you see something like:; AVFrame*   and write_frame() which has nothing to do with AVFrame*, it's hard to see worse
[03:27:43 CET] <faLUCE> maybe the one worse is MESA
[03:30:36 CET] <faLUCE> Now:  avcodec_encode_video2 (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)  <---- I see that it sets the pkt's ts as well. But which is the time_base on which they are set?
[03:31:01 CET] <faLUCE> the avctx's one?
[03:31:52 CET] <faLUCE> or they are copied from the source frame?
[03:39:32 CET] <faLUCE> well, just verified that they are copied from the source frame. This is WEIRD
[04:09:30 CET] <hayha> i have this video that works with ffplay.exe but doesn't work with avplay.exe , what does this mean?
[04:14:18 CET] <thebombzen> ohgod
[04:14:20 CET] <thebombzen> not this again
[04:36:48 CET] <hayha> i have this video that works with ffplay.exe but doesn't work with avplay.exe , what does this mean?
[05:29:00 CET] Last message repeated 1 time(s).
[07:28:54 CET] <julianbashx> Hello all, i'm looking for a command or a bash script which can extract 15 thumbs from a video mp4 (based on duration), anyone for help please?
[07:34:50 CET] <c_14> julianbashx: what about the one I linked yesterday?
[07:35:11 CET] <Diag> That's a burn
[07:35:46 CET] <Diag> Apply cold water to affected area
[07:37:28 CET] <julianbashx> Could you send me it again please, i got a problem of connexion
[07:37:59 CET] <c_14> juliengeekbcn: http://vpaste.net/GKtlx, replace $file with $1, and 20 with the amount of images you want, and potentially remove the scale. This will generate x "interesting" images that are evenly spaced around the input. Script written by furq
[07:38:10 CET] <thebombzen> oh it's this guy
[07:38:20 CET] <thebombzen> the guy who wants evenly spaced thumbnails throughout the video
[07:38:39 CET] <thebombzen> I'm not sure why they haven't listened the other twelve times people answered the question
[07:40:45 CET] <julianbashx> thanks c_14 will try it now
[07:42:51 CET] <julianbashx> c_14 where i should put the file ?
[07:43:02 CET] <c_14> pass it as the first argument to the script
[07:43:18 CET] <julianbashx> like script.sh file.mp4 ?
[07:43:28 CET] <c_14> yep
[07:43:30 CET] <julianbashx> ok
[07:44:33 CET] <julianbashx> i have cannot execute binary file
[07:45:05 CET] <c_14> you downloaded the script, saved it as script.sh and made it executable?
[07:45:13 CET] <c_14> and changed the $file to $1
[07:45:48 CET] <julianbashx> yes
[07:46:41 CET] <julianbashx> oh it creates screenshot but a lot
[07:46:52 CET] <julianbashx> it created like 8000.. i had to stop it
[07:48:16 CET] <julianbashx> c_14 the script creates screenshot in continue.
[07:49:12 CET] <c_14> add -vsync vfr to the last command
[07:49:23 CET] <c_14> before out%02d.png
[07:54:01 CET] <julianbashx> c_14 , its working but created 16 screen in order of 14
[07:55:11 CET] <c_14> add -frames:v 16 after the vsync vfr
[07:55:33 CET] <julianbashx> v 14 you mean
[07:55:34 CET] <julianbashx> ?
[07:55:40 CET] <c_14> yes
[07:56:30 CET] <julianbashx> c_14 its not working still creating 16 screens
[07:56:48 CET] <Diag> Then do 13
[07:56:54 CET] <c_14> What's the last command look like?
[07:57:22 CET] <julianbashx> ffmpeg -skip_frame nokey -i "$1" -vf "scale=320:240,thumbnail=$selection" -vsync vfr -frames:v 14 %d.jpg
[07:57:37 CET] <c_14> Did you delete the jpgs before running the script again?
[07:57:45 CET] <julianbashx> sure c_14
[07:57:51 CET] <julianbashx> in ssh result i have frame=   16 fps=7.2 q=-0.0 Lsize=N/A time=00:07:44.53 bitrate=N/A speed= 208x
[07:58:43 CET] <c_14> Hmm, it should work (works here)
[07:59:07 CET] <julianbashx> screenshot : http://puu.sh/tp9Bn/ea646d7ab0.png
[07:59:12 CET] <Diag> With 14 you're probably getting 14 plus start and end
[07:59:26 CET] <Diag> Do 13
[08:00:32 CET] <julianbashx> i also have to put 13 in selection=$(($keyframes/14)) ?
[08:00:42 CET] <Diag> I don't know lol
[08:00:52 CET] <c_14> Start with just the frames:v
[08:01:33 CET] <julianbashx> same thing with with just the frames:v
[08:01:56 CET] <julianbashx> screen : http://puu.sh/tp9IN/39b25abfb9.png
[08:02:18 CET] <c_14> It looks almost like your build of ffmpeg is ignoring -frames:v...
[08:02:21 CET] <c_14> Try changing it in the selection part
[08:03:07 CET] <julianbashx> what do you mean by selection part c_14 ?
[08:03:20 CET] <c_14> selection=$(($keyframes/13)
[08:03:26 CET] <c_14> )
[08:03:55 CET] <julianbashx> did it and still 16 screens
[08:04:19 CET] <Diag> :l
[08:04:24 CET] <c_14> change it to 10
[08:04:32 CET] <Diag> Delete a random one and call it a day
[08:04:43 CET] <c_14> or that
[08:04:44 CET] <Diag> Just say fuck it
[08:04:45 CET] <julianbashx> still 16
[08:04:48 CET] <Diag> They'll never know
[08:05:03 CET] <c_14> Are you sure you're editing the right file?
[08:05:06 CET] <c_14> Saving it before executing?
[08:05:43 CET] <julianbashx> ups
[08:05:50 CET] <julianbashx> was editing the wrong file very sorry
[08:05:56 CET] <Diag> Lololololol
[08:07:43 CET] <julianbashx> i tested with selection=$(($keyframes/12)) and now i have 13 screens
[08:09:02 CET] <julianbashx> if i put 12 i have 13 screens and if i put 14 i have 16 screens
[08:09:08 CET] <julianbashx> but impossible to have 14 screens
[08:09:21 CET] <c_14> And if you put 13?
[08:09:52 CET] <julianbashx> if i put 13 i have 13 screens
[08:10:10 CET] <c_14> probably rounding issues
[08:10:24 CET] <c_14> you'll have to use the -frames:v 14 with 14 in selection
[08:10:47 CET] <julianbashx> after -vsync vfr ?
[08:10:51 CET] <c_14> yes
[08:11:12 CET] <julianbashx> yes i have the 14 now
[08:11:14 CET] <julianbashx> uff
[08:11:59 CET] <julianbashx> thanks a lot c_14
[10:58:31 CET] <SysManOne> Hello!
[10:59:09 CET] <SysManOne> Can someone help me to understand a sequence calling of the FFMPE API routines to performs:
[10:59:44 CET] <SysManOne> capturing MPEG-TS stream and writign it to files/segments ?
[11:00:33 CET] <SysManOne> I'm need to implement : ./ffmpeg -i udp://235.xxx  -codec copy -f segment -segment_time 60out%0d.ts
[11:00:43 CET] <SysManOne> in C prog.
[12:27:41 CET] <DHE> SysManOne: in the doc/examples directory are a couple of API demonstrations. have you checked those yet?
[12:33:49 CET] <SysManOne> Yep. Sorry, but there is  nothing about segmentaion.
[12:40:12 CET] <DHE> do you want to do the segmentation manually or use the segmentation format?
[12:42:39 CET] <SysManOne> I'm need to align segment to "key frame boundary" so what is the right way ?
[12:46:06 CET] <DHE> the packet has a flag bit AV_PKT_FLAG_KEY indicating that this should be the start of the next segment
[12:46:27 CET] <SysManOne> Fine!
[12:47:09 CET] <SysManOne> So, do I'm need to performs reading stream packet-bypacket until this flag will occurs ?
[12:48:09 CET] <DHE> keep in mind which stream you're reading. a typical media file has both video and audio. you should be reading the video stream in search of key frames. audio codecs typically are all keyframes, or very nearly so
[12:51:21 CET] <SysManOne> So, do I'm need demuxing the input stream to audio and video ?
[12:59:21 CET] <DHE> the demuxer takes care of that. packets of have a steam_id field indicating whether they're part of the video or audio (or other)
[13:00:08 CET] <DHE> err, stream_index
[13:01:18 CET] <SysManOne> Thanks!  Can I ask you to provide some skeleton ? May be out of the general chat ?
[13:02:37 CET] <faLUCE> I'm still fighiting with these pts. Here's my situation. I grab frames from v4l devices  (  av_read_frame(...); avcodec_decode_video2(...);  )  .    Then I resample them  (   sws_scale(...);  )  .     Then I encode them:    (  avcodec_encode_video2(...) ).     Now:  avcodec_encode_video2()  wants good timestamps in order to encode. But av_read_frame and avcodec_decode_video2() don't set any timpestamp. Why?
[13:08:24 CET] <faLUCE> I folllowed this example, which was made by a developer of ffmpe:   https://gist.github.com/shahriman/619fd90ccbd17734089b  .  It captures frames from the camera, but it doesn't set any timestamp  (the printed ts is a foo number)
[13:20:08 CET] <faLUCE> this is strange... it seems that for raw frames, it's needed to set pts manually
[13:29:39 CET] <laserbled_> Hi. Could you recommend the most stable ffmpeg version to use desktopcapture (gdigrab, x11grab, avfoundation etc) and stream in mpeg for production.
[13:40:34 CET] <Mavrik> faLUCE, if the input doesn't set timestamps (either from container or on frames), then yes, you need to provide them yourself
[13:46:38 CET] <ZexaronS> I don't understand one thing
[13:48:06 CET] <ZexaronS> if CRF also makes variable bitrate, how is that reported to the header, how is this is not average bitrate encoding, but the number reported is an average with CRF as well unless it's constant bitrate encoding ?
[13:48:45 CET] <c_14> The bitrate ffmpeg reports isn't accurate
[13:48:50 CET] <c_14> It's just file size / duration
[13:57:38 CET] <kerio> it's not like h264 has "constant bitrate" as a concept anyway
[13:57:41 CET] <kerio> it's always averaged a bit
[14:02:27 CET] <faLUCE> Mavrik: thanks.
[14:03:27 CET] <faLUCE> And what about the stream's time_base? Should I set it or let the library set it according to the given codec?
[14:03:42 CET] <faLUCE> c_14: I succeeded in making the http stream with libevent
[14:04:53 CET] <c_14> nice
[14:05:16 CET] <c_14> Just for reference, was it easy to work with?
[14:05:27 CET] <faLUCE> c_14: very very easy
[14:05:40 CET] <faLUCE> c_14: I'll show you the code I modified
[14:06:03 CET] <faLUCE> https://gist.github.com/rgl/291085
[14:07:14 CET] <faLUCE> I only had to give frames to the chunk callback function
[14:08:56 CET] <faLUCE> in this way it's also easy to control the size of chunks... so I'll experiment that for latency
[14:09:16 CET] <furq> did you fix the segfault in the comment
[14:09:30 CET] <faLUCE> furq: I could not reproduce it
[14:10:19 CET] <faLUCE> in addition:  vlc has an option for setting asf packet size (for latency), but not a corresponding option for mpegts
[14:10:42 CET] <faLUCE> then, with the libevent server it's easy to set it
[14:11:22 CET] <furq> there's an option to set that in ffmpeg isn't there
[14:11:27 CET] <furq> so presumably there's one in libavformat
[14:11:41 CET] <faLUCE> furq: probably yes, but you know... options in ffmpeg are a mess
[14:11:52 CET] <faLUCE> you have to cross fingers when you try one
[14:12:15 CET] <furq> actually nvm the option i'm thinking of is for rtp
[14:12:19 CET] <faLUCE> when I have to manage buffers' size I wasted days
[14:12:27 CET] <faLUCE> *when I HAD
[14:12:54 CET] <furq> shrug
[14:13:04 CET] <furq> ffmpeg's interface is pretty ok considering how complex it is
[14:13:30 CET] <furq> i've certainly worked with many much simpler things with much worse interfaces
[14:13:34 CET] <faLUCE> furq: I have to thank you, because the http server in libevent has a main loop very easy to manage
[14:13:50 CET] <furq> good to know
[14:14:19 CET] <faLUCE> furq: to be honest, I think libavcodec is a wonderful (and absolutely necessary) work, but the API is broken
[14:14:28 CET] <furq> i'd normally run a mile before writing an http server in C, but you never know what'll come up
[14:14:40 CET] <faLUCE> furq: in fact I was discouraged too
[14:15:06 CET] <faLUCE> furq: but when I saw the first example... it is only 40 lines... then I tried
[14:15:17 CET] <faLUCE> it has a callback mechanism very similar to libcurl
[14:15:47 CET] <faLUCE> just implement the callback and call the event looper in main() and... voila
[14:16:30 CET] <faLUCE> no more lines than a python similar code
[14:37:40 CET] <taliptako> Hi
[14:40:38 CET] <kerio> i would've written a nginx module actually
[14:41:50 CET] <faLUCE> kerio: why?
[14:42:03 CET] <kerio> because it's a good http server
[14:42:13 CET] <kerio> and you're going to put a real http server in front of yours anyway, right
[14:42:21 CET] <furq> that seems needlessly overcomplicated
[14:42:48 CET] <furq> also if this is capturing and encoding then that's going to block the worker
[14:42:49 CET] <kerio> you're not actually exposing your http server written in C to the internet, right
[14:42:52 CET] <faLUCE> I use nginx mainly for port redirecting
[14:43:08 CET] <faLUCE> kerio: I'll writ my http server with nginx
[14:43:15 CET] <faLUCE> *I'll wrap
[14:44:36 CET] <faLUCE> the streaming libs have always their own server
[14:44:47 CET] <faLUCE> see live555
[14:48:33 CET] <kerio> nginx-rtmp is da best
[14:48:38 CET] <kerio> ...kinda
[14:48:49 CET] <furq> it is pretty good
[14:49:19 CET] <kerio> lots of idiosyncracies tho
[14:49:36 CET] <furq> it would be nicer if it took rtsp input though
[14:49:43 CET] <furq> or anything equivalent that takes mpegts
[14:50:12 CET] <furq> not that i have plans to use anything but avc+aac, but maybe i will some day
[14:50:16 CET] <faLUCE> furq: http://www.live555.com/mediaServer/
[14:50:21 CET] <faLUCE> it's the best one
[14:50:44 CET] <furq> this is way too complicated for my needs
[14:50:54 CET] <faLUCE> furq: it's really simple
[14:51:03 CET] <faLUCE> few lines of code
[14:51:15 CET] <furq> i don't care how many lines of code it has
[14:51:23 CET] <furq> i care how simple it is to configure and run
[14:51:34 CET] <furq> last time i was looking into this nginx-rtmp was the winner by a mile on that front
[14:51:46 CET] <furq> although it probably helps that i've been using nginx for the best part of a decade
[14:51:50 CET] <faLUCE> furq: I can affirm that for rtsp live555 is the best solution
[14:51:59 CET] <furq> that's probably true
[14:52:10 CET] <furq> good rtsp servers were pretty thin on the ground when i last checked
[14:52:12 CET] <faLUCE> I tried a lot of alternatives in the past
[14:52:16 CET] <furq> rtmp works for me though
[14:52:57 CET] <furq> and icecast can supposedly do webm now, although that was broken when i tried it
[14:53:20 CET] <furq> if that works then rtsp is pretty much useless to me unless i suddenly have a pressing need to stream mpeg2video
[14:53:46 CET] <faLUCE> furq: in fact rtsp is good only for complex streaming medias
[14:54:13 CET] <faLUCE> the main problem in rtsp is the implementation on the CIENT
[14:54:15 CET] <faLUCE> CLIENT
[14:55:00 CET] <faLUCE> instead, with http you just pick the frame and go
[14:55:47 CET] <faLUCE> mpegts has already timestamps. Why would you waste time with rtp's timestamps?
[14:55:48 CET] <furq> i wonder what browsers would make of that if you used fmp4 instead of mpegts
[14:56:21 CET] <furq> i imagine the best case is that it would work but cache the whole thing and eventually get oom killed
[14:56:42 CET] <faLUCE> furq: I see but I think the best scenario is to use one or two formats
[14:56:57 CET] <faLUCE> if you want to manage 100000 formats, then you become mad
[14:57:03 CET] <furq> i'm not suggesting it
[14:57:18 CET] <furq> i'm just wondering whether that would work at all
[14:57:31 CET] <faLUCE> furq: you can try with vlc
[14:57:37 CET] <furq> i mean specifically in browsers
[14:58:05 CET] <furq> but yeah since the word "browser" is involved i think it's a safe bet that it won't work
[14:58:06 CET] <faLUCE> furq: this depends on the browser's implementation...
[14:58:15 CET] <faLUCE> furq: exactly
[14:58:53 CET] <furq> there's obviously a reason we've ended up in a world where hls is the best solution for anything at all
[14:58:59 CET] <faLUCE> anyway, IMHO it's better to avoid spending time in managing lot of muxers
[14:59:06 CET] <furq> the reason is probably that everything sucks and is terrible
[14:59:35 CET] <faLUCE> furq: the workd says that youtube's codec and muxer's is the best.... which is not true
[15:00:22 CET] <faLUCE> I think they are only more common. Then, more supported.
[15:01:19 CET] <faLUCE> but the GPL players and encoders should rely on _standard_  (or close to standard) stuff, not on _common_ stuff
[15:01:31 CET] <faLUCE> this is my opinion
[17:17:17 CET] <faLUCE> I'm trying to compute mpegts timestamps from a stream with variable framerate. Then I used:  av_packet_rescale_ts(&encodedPkt,  variable_time_base,  mpegtsStream->time_base);  the obtained ts grow during the time, but they have non-monotonic fluctuations, given that variable_time_base is = 1/variable_frame_rate. Which rescale function should I use, in this case?
[17:18:20 CET] <faLUCE> or maybe I have to use fixed time_base and compute the pkt ts?
[17:19:16 CET] <DHE> time_base should not change once you start using the data sturcture (like avcodec_open and so on)
[17:20:02 CET] <faLUCE> DHE: then I have to compute pkt.pts manually, according to the variable framerate?
[17:21:07 CET] <DHE> yes
[17:21:23 CET] <faLUCE> thanks
[17:21:26 CET] <faLUCE> DHE
[18:03:40 CET] <donya> hi, I'm looking for a GUI for use ffmpeg on os x
[18:04:25 CET] <Diag> donya know of any?
[18:04:31 CET] <Diag> *crickets chirp*
[18:04:34 CET] <Diag> Ill see myself out
[18:20:28 CET] <pbos> boo
[18:21:41 CET] <Diag> pbos: are you booing me XD
[18:31:36 CET] <brontosaurusrex> Can I assume that ifThereIsAudio that first track will always map to 0:a:0 and so on?
[18:32:16 CET] <c_14> 0:a:0 is always the first audio track in the first file passed to ffmpeg it said file has an audio track
[18:32:25 CET] <c_14> *if said
[18:33:28 CET] <pbos> Diag: Definitely, get off the stage. :D
[18:33:37 CET] <Diag> lol
[18:34:49 CET] <brontosaurusrex> c_14: thanks
[18:35:04 CET] <Diag> c_14: dont forget the other dude
[18:36:06 CET] <c_14> You mean donya? I know of no GUIs for FFmpeg. Google will help him better than I can.
[18:37:10 CET] <brontosaurusrex> Stream #0:1: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s < also I can assume that ffmpeg knows nothing about mxf?
[18:37:37 CET] <brontosaurusrex> I mean it doesn't know that this is Left channel for example.
[18:41:07 CET] <cableguy> what up team
[18:41:37 CET] <cableguy> im trying to convert audio+jpg to video and im using this line ffmpeg -loop 1 -i 1.jpg -i 1.mp3 -shortest -c:v libx264 -preset superfast -crf 50  -c:a copy v1.mp4
[18:42:00 CET] <cableguy> now the .jpeg size is 400kb and .mp3 size is 150mb but output i get is 300mb
[18:42:03 CET] <cableguy> why's that
[18:42:19 CET] <cableguy> video bitrate is ~250kbps cuz its just a photo
[18:42:39 CET] <cableguy> and since audio file is 150mb size and 2h long it also takes like 1h till it finish
[18:42:46 CET] <Diag> soo
[18:42:53 CET] <Diag> the videos 2 hours long at 250kbps?
[18:42:58 CET] <cableguy> yes
[18:43:38 CET] <cableguy> so since i just want to combine audio with a photo so i could upload it to youtube
[18:43:44 CET] <cableguy> how do i make this process faster than 1 hour
[18:43:52 CET] <Diag> get a faster cpu lol
[18:43:56 CET] <Diag> hmm
[18:43:59 CET] <c_14> brontosaurusrex: I don't think ffmpeg natively supports multiple audio streams per channel without manually specifying what channel each stream maps to
[18:44:09 CET] <cableguy> it encoded it for 1h at crf 50 and superfast preset
[18:44:09 CET] <Diag> at 250kbps the video should only be 30 megs
[18:44:21 CET] <brontosaurusrex> there should be a way to use that jpg as single frame, also packing mp3 to mp4 is kinda weird.
[18:44:22 CET] <Diag> what cpu do you have
[18:44:32 CET] <brontosaurusrex> cableguy: ^
[18:44:38 CET] <brontosaurusrex> c_14: right, thanks.
[18:44:38 CET] <cableguy> 3rd gen i3
[18:44:40 CET] <Diag> also whats the bitrate the mp3 is going to
[18:44:50 CET] <cableguy> and mp3 is 192kbps
[18:45:00 CET] <Diag> whats the mp4 though
[18:45:37 CET] <cableguy> what u mean
[18:45:37 CET] <kerio> cableguy: why is your framerate higher than 0.1 or whatever
[18:45:52 CET] <Diag> cableguy: whats the bitrate of the mp4 its going in to
[18:46:24 CET] <cableguy> Overall bit rate                         : 413 Kbps
[18:46:41 CET] <Diag> bit or byte
[18:46:52 CET] <cableguy> i dont understand what ur asking
[18:46:55 CET] <furq> idk if it applies to mp3 but last i checked ffmpeg still has an issue copying audio into low-framerate video
[18:47:03 CET] <furq> certainly with aac in mp4 and mkv
[18:47:10 CET] <furq> so don't do that
[18:47:24 CET] <Diag> actually wait
[18:47:39 CET] <Diag> cableguy: all the size is the picture, was doing math wrong, its saying the video would be 225MB alone
[18:48:08 CET] <furq> add -tune stillimage -r 6
[18:48:44 CET] <furq> or -framerate 6 before -i, i forget if image2+loop accepts that
[18:49:00 CET] <furq> yeah it does
[18:49:12 CET] <brontosaurusrex> with x264 there must be a way to set I frame distribution, in this case framerate*10 is obivously silly
[18:49:20 CET] <furq> -g
[18:49:35 CET] <furq> and -x264-params keyint_min but you won't need that for a still image
[18:49:52 CET] <furq> it doesn't matter anyway because youtube will reencode it regardless
[18:50:23 CET] <furq> cableguy: how big is this image
[18:50:31 CET] <cableguy> im just looking for fastest way to merge audio and photo to video so i could upload that to youtube
[18:50:39 CET] <furq> if you only care about the audio then there's no point in having the image be bigger than 720p
[18:50:43 CET] <cableguy> photos is like 400kb
[18:50:49 CET] <furq> i mean dimensions
[18:50:49 CET] <Diag> wait
[18:50:55 CET] <Diag> cant youtube do that?
[18:50:56 CET] <cableguy> 1280x720
[18:51:00 CET] <kerio> i'd say use nut
[18:51:01 CET] <furq> that's ok then
[18:51:19 CET] <furq> and no you can't upload bare audio to youtube
[18:51:23 CET] <cableguy> Diag, youtube wont allow u to use ur own music for their Slideshow feature
[18:51:26 CET] <furq> it has to be muxed with a video track
[18:51:40 CET] <Diag> thats gay
[18:52:02 CET] <cableguy> they allow you to upload images but then ur forced to select music from their nice 150k music library
[18:52:20 CET] <kerio> yeah it's almost like it's a video sharing website
[18:52:26 CET] <furq> http://vpaste.net/J6Dy9
[18:52:29 CET] <furq> that's the command i use for this fwiw
[18:52:39 CET] <kerio> why are you uploading h264
[18:52:40 CET] <furq> that should be -framerate 6, not -r 6
[18:52:47 CET] <furq> why wouldn't i upload h264
[18:53:14 CET] <brontosaurusrex> Actually youtube still didn't discover EBU r128 < that is gay.
[18:53:17 CET] <furq> i only have 10mbit upload, i'm not uploading 720p rawvideo
[18:53:23 CET] <kerio> ffvhuff!
[18:53:26 CET] <furq> or that
[18:53:27 CET] <kerio> at 0 framerate
[18:53:31 CET] <kerio> i bet it works
[18:53:43 CET] <furq> you can test it out then
[18:53:45 CET] <cableguy> furq, is the output mp4
[18:53:49 CET] <furq> sure
[18:53:56 CET] <furq> i think i used mkv but mp4 is probably smarter
[18:54:08 CET] <cableguy> well speed is at x12 better than x2-3
[18:54:58 CET] <furq> you can try with -frameraet 1
[18:55:00 CET] <furq> rate
[18:55:09 CET] <cableguy> so what does it do exactly
[18:55:15 CET] <furq> but when i did that it would fuck up the duration if i was copying the audio track
[18:55:16 CET] <Diag> makes the framerate 1
[18:55:45 CET] <furq> what he said
[18:56:02 CET] <Diag> then make it interlaced
[18:56:05 CET] <Diag> so its only .5 fps
[18:56:17 CET] <furq> you could just do -framerate 0.1
[18:56:22 CET] <Diag> is that a thing?
[18:56:24 CET] <furq> yes
[18:56:26 CET] <Diag> lol
[18:56:29 CET] <furq> why wouldn't it be
[18:56:39 CET] <furq> youtube doesn't support <6fps anyway
[18:56:43 CET] <Diag> it daint?
[18:56:50 CET] <furq> not in the player
[18:56:53 CET] <Diag> huh
[18:56:55 CET] <furq> you should be able to upload it
[18:56:57 CET] <Diag> what about in the flash player
[18:57:01 CET] <furq> shrug
[18:57:12 CET] <furq> if you upload <6fps then it'll get converted to 6fps
[18:57:18 CET] <furq> not sure why they went with 6
[18:57:38 CET] <Diag> and by this time
[18:57:41 CET] <Diag> if he just uploaded it
[18:57:43 CET] <furq> like i said i had issues with the duration being screwed up when i used ultra-low framerates and -c:a copy
[18:57:50 CET] <furq> but that's what you should be aiming for
[18:58:01 CET] <cableguy> so maybe convert audio to aac
[18:58:09 CET] <cableguy> i mean
[18:58:15 CET] <Diag> do opus
[18:58:16 CET] <cableguy> this mp3 was ripped back in 2002
[18:58:22 CET] <Diag> some idiot the other day was bragging about that
[18:58:23 CET] <furq> that works but remember they'll be transcoding it again
[18:58:29 CET] <furq> so you'll have some fun generation loss there
[18:58:39 CET] <Diag> (it was meant to be a joke man)
[18:58:50 CET] <cableguy> oh i heard about opus, is it the next best thing
[18:59:05 CET] <Diag> accordion to kerio and furq yes
[18:59:05 CET] <furq> you can't mux opus into mp4
[18:59:18 CET] <furq> mkv will work though
[18:59:27 CET] <Diag> just encode to mpeg2
[18:59:30 CET] <kerio> cableguy: perceptually lossless stereo audio at 128kbps
[18:59:40 CET] <cableguy> uhh
[18:59:42 CET] <furq> not if the source is a napster mp3
[18:59:47 CET] <cableguy> hows that even possible
[18:59:50 CET] <kerio> fucking MAGIC
[18:59:54 CET] <Diag> cableguy: youll have to excuse him, hes gotta get a new hearing aid soon
[18:59:55 CET] <furq> because it's 2017
[19:00:05 CET] <furq> things got better in the last 15 years
[19:00:07 CET] <kerio> i mean, aac is also like that
[19:00:33 CET] <Diag> kerio: do you have space oddity?
[19:00:42 CET] <cableguy> so should i convert that mp3 to aac for less size
[19:01:12 CET] <kerio> cableguy: no
[19:01:24 CET] <brontosaurusrex> http://caniuse.com/#feat=opus
[19:01:29 CET] <cableguy> wait, does youtube also reencode audio
[19:01:32 CET] <kerio> you should go back to the source and obtain an actual lossless file
[19:01:35 CET] <kerio> cableguy: yes
[19:01:38 CET] <cableguy> oh
[19:02:14 CET] <cableguy> i dont think its possible to obtain source when ripping audio from sat radio station back in 2002
[19:02:28 CET] <Diag> cableguy: is it talk or music
[19:02:37 CET] <cableguy> with LAME3.89 (beta)
[19:02:39 CET] <furq> how come everyone can believe that cpus now have 10 gflops at 85W but nobody believes that 128k audio can be perceptually lossless
[19:02:59 CET] <cableguy> its music, live set
[19:03:05 CET] <Diag> furq: i think you mean tflops
[19:03:17 CET] <Diag> wait nvm nvm
[19:03:18 CET] <Diag> lo
[19:03:19 CET] <Diag> l
[19:03:29 CET] <cableguy> so is opus replacing mp3 one day
[19:03:34 CET] <kerio> i don't think cpus can do tflops
[19:03:36 CET] <furq> probably not
[19:03:39 CET] <Diag> was thinking graphics
[19:03:42 CET] <cableguy> maybe replacing flac
[19:03:46 CET] <furq> definitely not that
[19:03:52 CET] <cableguy> so whats the point
[19:03:56 CET] <cableguy> more and more formats
[19:03:58 CET] <furq> what's the point of doing anything
[19:04:10 CET] <Diag> is flac actual compression or just rle?
[19:04:24 CET] <cableguy> i mean
[19:04:30 CET] <furq> it uses rle but it does more than that
[19:04:30 CET] <cableguy> mkv/mp4 replaced avi
[19:04:37 CET] <cableguy> x264 replaced xvid, didnt it
[19:04:42 CET] <furq> more or less
[19:04:42 CET] <Diag> not really
[19:04:43 CET] <brontosaurusrex> furq: the word you are after is probably "transparent"
[19:04:49 CET] <cableguy> but when it comes to audio, nobody replace nothing
[19:04:52 CET] <furq> brontosaurusrex: probably
[19:04:56 CET] <furq> cableguy: you say that like it's in our hands
[19:04:57 CET] <Diag> cableguy: ever heard of mp3pro
[19:05:13 CET] <cableguy> no
[19:05:13 CET] <Diag> it came and went so fast
[19:05:28 CET] <Diag> but a 128kbps mp3pro file was similar to a >224kbps mp3
[19:05:30 CET] <brontosaurusrex> perceptually lossles = perceptual oxymoron
[19:05:32 CET] <furq> a new and incredibly popular method of watching videos came around just after h264 got popular
[19:05:36 CET] <furq> (phones)
[19:05:43 CET] <furq> mp3 never had anything like that to displace it
[19:05:53 CET] <Diag> furq: mp3pro >:l
[19:05:58 CET] <furq> also the size reduction and quality gain from xvid to x264 is huge
[19:06:04 CET] <cableguy> so why did it 'went so fast'
[19:06:05 CET] <furq> whereas v2 mp3 is pretty much good enough
[19:06:15 CET] <Diag> cableguy: it never caught on because it had licensing shit
[19:06:17 CET] <furq> you lose maybe 64kbps compared to an equivalent-sounding opus
[19:06:20 CET] <cableguy> oh so
[19:06:27 CET] <cableguy> something like with divx
[19:06:32 CET] <kerio> furq: you mean V0 mp3 :<
[19:06:36 CET] <Diag> https://en.wikipedia.org/wiki/Mp3PRO
[19:06:36 CET] <furq> if you like
[19:06:39 CET] <cableguy> everyone just switched to xvid
[19:06:53 CET] <Diag> it worked quite well
[19:07:01 CET] <Diag> one of the few programs that handles that format is cool edit
[19:07:01 CET] <furq> well the difference proportionally is about the same as xvid to x264
[19:07:02 CET] <Diag> lol
[19:07:15 CET] <furq> but in absolute terms it's way less because stereo audio is like 256kbps tops
[19:07:27 CET] <furq> or 320 if you're a weirdo
[19:07:33 CET] <Diag> hey feck off man
[19:07:37 CET] <Diag> i can hear the difference
[19:07:46 CET] <furq> i don't believe you can hear the difference between v0 and 320
[19:07:47 CET] <brontosaurusrex> Diag: lol
[19:07:52 CET] <Diag> whats v0?
[19:07:59 CET] <furq> what
[19:07:59 CET] <Diag> the only v0 i know is a register
[19:08:14 CET] <furq> how are you jerking off over mp3pro and you don't know what v0 mp3 is
[19:08:22 CET] <cableguy> hey encode already finished, thats very very nice
[19:08:30 CET] <cableguy> imma save that command line
[19:08:34 CET] <furq> cableguy: you probably want to check that the duration is correct
[19:08:50 CET] <Diag> huh lol
[19:08:50 CET] <furq> if you used -framerate 6 it'll probably be ok
[19:08:51 CET] <cableguy> yeah its correct, exact duration 1h57m14s
[19:08:52 CET] <Diag> interesting
[19:08:54 CET] <kerio> Diag: "V0" is a shorthand that refers to the output of LAME -V0
[19:09:02 CET] <Diag> well i see that now
[19:09:06 CET] <furq> cbr mp3 is dumb
[19:09:09 CET] <Diag> i never liked vbr though
[19:09:12 CET] <furq> as is cbr anything
[19:09:19 CET] <kerio> ie VBR MP3 at whatever "maximum" quality LAME ended up standardizing
[19:09:32 CET] <cableguy> isnt cbr empty bytes
[19:09:37 CET] <furq> more or less
[19:09:42 CET] <Diag> it depends
[19:09:44 CET] <furq> certainly for modern video codecs it is
[19:10:07 CET] <cableguy> it just takes more space
[19:10:09 CET] <furq> x264's "cbr" mode is just nal padding iirc
[19:10:17 CET] <furq> it doesn't affect the rate control at all
[19:10:49 CET] <furq> but yeah it's always pretty much just a waste of space
[19:11:13 CET] <Diag> waste of space, pff
[19:11:20 CET] <Diag> yall outcha damn minds
[19:11:55 CET] <Diag> ima go back to my asm
[19:12:00 CET] <Diag> where i DONT WASTE SPACE
[19:12:25 CET] <brontosaurusrex> Diag: you improving mp3pro?
[19:12:32 CET] <Diag> brontosaurusrex: no i write shit for the n64
[19:12:49 CET] <furq> sounds terrible
[19:12:58 CET] <Diag> actually
[19:13:51 CET] <Diag> the 64 was able to do something like 100 voices at 48khz 16bit
[19:14:04 CET] <Diag> though it was most common 16 (midi)
[19:14:08 CET] <Diag> it sounded quite nice
[19:14:14 CET] <kerio> Diag: have you seen the tas block at AGDQ2017?
[19:14:27 CET] <Diag> no ive seen some tas stuff before though
[19:14:38 CET] <Diag> I went to e3, not agdwhatever
[19:14:51 CET] <furq> why would you go to e3
[19:14:51 CET] <kerio> they actually streamed some videos on a super nintendo
[19:15:01 CET] <furq> do you collect human scents
[19:15:02 CET] <kerio> with audio coming through two NESes
[19:15:07 CET] <Diag> furq: because this last year i watched VR porn in public lol
[19:15:17 CET] <Diag> naughty america
[19:15:25 CET] <furq> you know you can do that in private right
[19:15:32 CET] <Diag> yeah but this was free
[19:15:38 CET] <kerio> furq: maybe he doesn't own a VR headset?
[19:15:45 CET] <Diag> i do not
[19:15:55 CET] <furq> how much did you spend on going to e3
[19:15:56 CET] <Diag> i have one plastic cardboard set
[19:15:58 CET] <Diag> hmm
[19:16:00 CET] <furq> you can probably see where this is going
[19:16:03 CET] <Diag> basically just the plane ticket
[19:16:07 CET] <Diag> and hotel
[19:16:10 CET] <Diag> split with a friend
[19:16:11 CET] <furq> and food
[19:16:22 CET] <Diag> i think it was ~150 each way and then 150 for the hotel
[19:16:40 CET] <Diag> not sure about food
[19:16:40 CET] <kerio> yeah why did you go and visit a video game convention when you could've stayed home and masturbated
[19:16:49 CET] <kerio> perfect sense
[19:16:53 CET] <Diag> kerio: i still masturbated, just in the shower
[19:16:55 CET] <Diag> come on man
[19:17:01 CET] <kerio> fair
[19:17:10 CET] <Diag> they even had like
[19:17:15 CET] <Diag> nice conditioner that worked really well
[19:17:23 CET] <Diag> but no i mean
[19:17:53 CET] <Diag> I got to meet a lot of people including someone named
[19:17:57 CET] <Diag> charles.......
[19:18:18 CET] <Diag> furq: you know anyone with the first name of charles
[19:18:28 CET] <brontosaurusrex> Darwin?
[19:18:33 CET] <Diag> lol
[19:18:35 CET] <Diag> well
[19:18:38 CET] <Diag> martinet
[19:18:48 CET] <kerio> mamma mia
[19:18:53 CET] <Diag> yeah man
[19:18:55 CET] <Diag> he was real nice
[19:19:18 CET] <Diag> and furq getting into e3 itself is free if youre part of the entertainment industry
[19:19:47 CET] <Diag> kerio: have you seen the people that load shit into super mario and execute it?
[19:19:51 CET] <Diag> from the console
[19:19:52 CET] <kerio> yes
[19:19:57 CET] <Diag> thats some crazy shit
[19:20:34 CET] <kerio> Diag: https://www.youtube.com/watch?v=pFScXj6KTdg&t=25m08s
[19:20:38 CET] <kerio> this will blow your mind
[19:21:48 CET] <furq> https://twitter.com/dril/status/804714777213800449
[19:22:09 CET] <Diag> furq: what just happened
[19:22:18 CET] <Diag> he just dropped a bomb and walked out and he finished the game?
[19:22:22 CET] <Diag> wait kerio *
[19:22:23 CET] <Diag> jesus
[19:22:24 CET] <Diag> wrong ping
[19:22:48 CET] <kerio> he dropped a bomb, walked out and somehow the game turned into a TAS of super mario 64
[19:23:00 CET] <Diag> wtf i thought that was something else lol
[19:23:09 CET] <kerio> well they're kinda cheating
[19:23:14 CET] <kerio> the audio is coming from two NESes
[19:24:02 CET] <Diag> god these people are on crack
[19:24:30 CET] <kerio> so they're streaming 10fps video at a very low resolution
[19:24:37 CET] <kerio> through a SNES multitap controller
[19:24:41 CET] <kerio> or whatever
[19:24:54 CET] <Diag> howd they get to an n64
[19:24:56 CET] <kerio> and two audio channels through two NES controllers each
[19:24:58 CET] <kerio> Diag: it's just video
[19:25:06 CET] <kerio> they playback a portal tas later
[19:25:09 CET] <kerio> and then they do a skype call
[19:25:10 CET] <Diag> huh
[19:26:23 CET] <atomnuker> they said in an inverview they're using ffmpeg to filter and stream to a pipe
[19:26:52 CET] <Diag> god i always gotta lookup the damn mips float instructions
[19:27:25 CET] <Diag> cvt.s.w
[19:27:30 CET] <Diag> i always get it backwards
[19:27:39 CET] <Diag> but its convert TO single FROM word
[19:28:01 CET] <Diag> sheez
[19:28:24 CET] <Diag> hmm
[19:28:40 CET] <Diag> i wonder if its worth doing the math integer only to convert to float at the end for the sqrt...
[19:29:55 CET] <furq> what exactly does this have to do with completing games quickly
[19:30:10 CET] <Diag> the faster the code is the faster the game runs
[19:30:45 CET] <furq> i meant the bit about skype or whatever
[19:31:24 CET] <furq> i remember when this was just cool guys speedrunning quake
[19:31:34 CET] <furq> a noble endeavour
[19:34:02 CET] <kerio> furq: GDQ went to shit tbh
[19:34:11 CET] <kerio> but the tech demos are cool :<
[19:34:20 CET] <furq> it was always a bit shit really
[19:34:30 CET] <furq> the first one i watched, someone did a speedrun of final fantasy 7
[19:34:32 CET] <furq> i mean really
[19:34:51 CET] <kerio> furq: https://www.youtube.com/watch?v=z7RGkw1HM4g
[19:34:55 CET] <furq> just admit you've run out of games and have nothing to do for 8 hours
[19:35:03 CET] <Diag> i think one of my favorite was a speedrun of DK64
[19:35:11 CET] <Diag> because the guy did a bunch of cool tricks and shit
[19:35:22 CET] <furq> i like that guy
[19:35:44 CET] <kerio> furq: what about the tetris players
[19:35:45 CET] <furq> also a guy did a speedrun of metal slug x, and he played the psx version (wtf) and didn't even all clear it
[19:36:02 CET] <furq> i didn't watch that
[19:36:03 CET] <kerio> is tetris good enough for you
[19:36:11 CET] <kerio> like honestly
[19:36:12 CET] <Diag> furq: well theres any% and 100%
[19:36:19 CET] <Diag> the any% stuff is funny as hell
[19:36:23 CET] <furq> he didn't beat it in one credit
[19:36:31 CET] <Diag> because people do goofy shit and get all around the games world
[19:36:32 CET] <furq> so in other words he didn't beat it
[19:36:58 CET] <Diag> furq: kerio have you seen the mario shit with parallel universes and shit
[19:37:01 CET] <furq> kerio: i've already seen the WRs for all the TGM games on youtube
[19:37:12 CET] <furq> why would i need to watch kevin be a minute slower
[19:37:36 CET] <furq> i mean i respect kevin, i know full well how monumental a task it is to get GM in TI
[19:37:46 CET] <furq> i've been playing TGM for years and i can't even get an M
[19:37:52 CET] <kerio> lol nub
[19:38:02 CET] <furq> but why would i watch him when i could watch KAN
[19:38:08 CET] <kerio> idk man
[19:38:10 CET] <kerio> because it's done live
[19:38:16 CET] <kerio> and you can spam PogChamp in chat
[19:38:23 CET] <furq> everything was done live
[19:38:32 CET] <kerio> no i mean
[19:38:34 CET] <kerio> as it happens
[19:38:43 CET] <kerio> watching recordings of GDQ is stupid yea
[19:39:56 CET] <furq> the metal slug stuff still annoys me lol
[19:40:09 CET] <furq> metal slug high score runs are way more interesting
[19:40:37 CET] <furq> there was one on youtube which took over 2 hours
[19:40:44 CET] <furq> the guy deleted his account though
[19:41:08 CET] <kerio> we need nethack at gdq
[19:41:20 CET] <furq> including a solid five minutes of him waiting for a chicken to lay eggs
[19:41:26 CET] <kerio> :D
[19:41:41 CET] <Diag> wtf lol
[19:42:06 CET] <furq> chickens are worth 500 points, but if you leave them alive they lay eggs which hatch into chicks which grow into chickens which lay more eggs
[19:42:17 CET] <furq> because metal slug is weird
[19:42:36 CET] <Diag> gotta love a square root instruction
[19:43:03 CET] <furq> the amount of point milking in that run is just crazy
[19:43:25 CET] <furq> i grabbed it before it got deleted, i should upload it somewhere
[19:43:48 CET] <acamargo> hi there. I'm receiving "Decklink input buffer overrun" when encoding a sdi input to 5 rtmp output with decklink studio 4k. using strace -c I see 81% of the time has been spent on futex. it's a machine with 16 cores and 12GB ram and htop shows a load of ~4. any clue what it could be the problem?
[19:55:34 CET] <phillipk> I'm having an issue with -filter_complex amix when one of my inputs has no audio.  What I want--is to layer in a silent audio I have.  It seems if my main input HAS audio I MUST use amix (or get a silent result) but if it doesn't, I can't use amix (or get error):
[19:56:13 CET] <phillipk> ffmpeg -i video_only.flv -i silence.mp2 -filter_complex amix -vcodec mpeg2video -acodec mp2 -f mpegts error_because_input_is_silent.ts
[19:56:38 CET] <phillipk> ffmpeg -i video_and_audio.flv -i silence.mp2 -filter_complex amix -vcodec mpeg2video -acodec mp2 -f mpegts okay.ts
[19:57:13 CET] <phillipk> so... is there some better strategy?  To handle this, I'm currently using ffprobe to figure out if the input has audio or not.
[19:58:12 CET] <phillipk> ffmpeg -i video_and_audio.flv -i silence.mp2 -vcodec mpeg2video -acodec mp2 -f mpegts get_silent_result.ts
[20:10:44 CET] <faLUCE> I'm using libavformat for muxint to mpegts frames grabbed from a live source. Unfortunately, I'm forced to write a header for this mux, because if I don't call avformat_write_header(), the function av_write_frame() segfaults (this is a bug of the API: in fact, the write_header function not only writes a header for the stream, but it also allocates the stream private data, which are needed by av_write_frame).  Is there a way
[20:10:45 CET] <faLUCE> to avoid that? I don't want any header for my stream
[20:25:22 CET] <rkantos> anyone got a quick idea on how to continue streaming even if there is nothing in the (rtmp) input?
[20:25:40 CET] <rkantos> using regular "exec ffmpeg -i rtmp://" with nginx-rtmp
[20:26:06 CET] <rkantos> but I want the stream to keep open even if the sources keep lagging or not streaming stuff
[20:26:14 CET] <rkantos> streaming to Youtube if that matters
[21:41:35 CET] <olgson> rkantos, I was asking sort of similar question ;) for last two days - no answer sadly here ;(
[21:41:47 CET] <olgson> So If you find some solution please share it here ;)
[21:53:33 CET] <rkantos> olgson: I'm thinking there is a way to maybe stream an empty jpeg image or something
[21:54:10 CET] <rkantos> or perhaps one just needs to code some script
[21:54:12 CET] <rkantos> hmm..
[21:57:52 CET] <rkantos> ffmpeg is no broadcasting software really anyway
[21:58:17 CET] <rkantos> OBS does already do it.. but it needs opengl and the gui running, which I dont really need
[22:19:30 CET] <faLUCE> given an AVCodecContext wih codec_id = AV_CODEC_ID_H264, how can I set the keyint parameter of libx264 ?
[23:48:34 CET] <faLUCE> is there a way to write the header of a stream, obtained with avformat_write_header(muxerContext, &opt)  into a string?
[23:50:23 CET] <faLUCE> more precisely: the header that I need is obtained with av_dump_format() .... but I can't find a way to print it into a string
[23:55:50 CET] <Nisani> hey, is it possible to do this with ffmpeg? i want to take a video file make a new file but only certain sections, like seconds 10-20, 15-25, 90-100
[23:55:53 CET] <Nisani> etc.
[23:56:36 CET] <kepstin> Nisani: yep, but depending exactly what you're doing it might end up being a pretty complicated command line.
[23:56:47 CET] <Nisani> how complicated?
[23:57:01 CET] <Nisani> also would it still work if i had, say, 100s of these sections for one file?
[23:57:04 CET] <furq> -vf select=between(t\,10\,20)+between(t\,15\,25)+between(t\,90\,100),setpts=PTS-STARTPTS
[23:57:41 CET] <furq> it'll work fine but iirc there's a character limit on filterchains that someone was running up against recently
[23:57:50 CET] <Nisani> :/ any way to get around that?
[23:57:51 CET] <furq> you can load it from a file though
[23:57:54 CET] <Nisani> oh ok
[23:58:04 CET] <furq> and you'd presumably want to generate this automatically
[23:58:05 CET] <Nisani> would this work for fractions of a second?
[23:58:11 CET] <Nisani> yeah i would definitely do it automatically
[23:58:12 CET] <thebombzen> it would yes
[23:58:14 CET] <furq> i think so
[23:58:17 CET] <Nisani> awesome, thanks so much
[23:58:21 CET] <furq> you can replace t with n for frames anyway
[23:58:45 CET] <kepstin> yeah, subsecond works up to the accuracy of whatever framerate you're using
[23:58:57 CET] <thebombzen> I think you can also use timebase units but those aren't as useful in general
[23:59:29 CET] <thebombzen> like shouldn't subsecond accuracy be good up to timebase units, not just framerate?
[23:59:51 CET] <Nisani> i only need 1 or 2 decimal places
[23:59:54 CET] <kepstin> well, you can't do something like "half a frame" or whatever, so it gets tricky
[23:59:57 CET] <Nisani> so it's not that important
[00:00:00 CET] --- Wed Jan 18 2017


More information about the Ffmpeg-devel-irc mailing list