[08:11:59 CEST] <ac_slater> sigh. Can -map let me dump to raw binary? [08:12:24 CEST] <ac_slater> I have an mpegts container with a data stream that ffmpeg identifies [08:12:29 CEST] <ac_slater> but there is no output type for it [08:15:27 CEST] <ac_slater> ahhh [08:16:00 CEST] <furq> -copy_unknown [08:17:45 CEST] <ac_slater> yu [08:17:46 CEST] <ac_slater> yup * [08:17:48 CEST] <ac_slater> thanks furq [08:18:02 CEST] <ac_slater> also, -f data worked [08:18:17 CEST] <ac_slater> just `ffmpeg -i input -map 0:1 -f data raw.bin` [13:31:18 CEST] <ArsenArsen> Anyone even tried to do MP4 generation from within C/C++ code without making a subprocess [13:33:09 CEST] <JEEB> yes, just use lavf API for muxing? [13:33:14 CEST] <JEEB> (and lavc if you need encoding) [13:36:50 CEST] <ArsenArsen> Aha. I see. Thanks :) [13:37:01 CEST] <JEEB> there are examples under docs [13:37:03 CEST] <JEEB> for API usage [13:37:14 CEST] <ArsenArsen> Found that one, reading through it now. [17:29:20 CEST] <Filystyn> how to probe with C api ?:> [17:29:27 CEST] <Filystyn> anyone did it before? [17:31:15 CEST] <DHE> clarify please [17:40:48 CEST] <c_14> Filystyn: avformat_find_stream_info [17:42:00 CEST] <c_14> check what https://ffmpeg.org/doxygen/trunk/demuxing_decoding_8c-example.html uses [17:49:12 CEST] <Filystyn> thank you [18:14:42 CEST] <Filystyn> how do i check AVERROR [18:14:43 CEST] <Filystyn> ? [20:32:56 CEST] <CaptainAmerica> HI everyone, I am completely stuck. I have 1 WAV + 1 GIF and I want to output 1 MP4 from this, so the video runs for the length of the audio with the image showing. That's all. But I keep getting loop errors. Does anyone know how to do this? [20:33:22 CEST] <CaptainAmerica> It is so simple but it driving me crazy trying to get it to work. Running a PC windows 10 [20:33:40 CEST] <CaptainAmerica> Thank you! [20:33:59 CEST] <furq> ffmpeg -ignore_loop 0 -i foo.gif -i bar.wav -shortest out.mp4 [20:36:11 CEST] <CaptainAmerica> Thank you @furq I will give it a go! [20:38:40 CEST] <CaptainAmerica> Nope @furq that doesn't work... It doesn't run for either the whole track OR show the image [20:38:42 CEST] <CaptainAmerica> Damn [20:41:58 CEST] <Filystyn> where do i find the audio stream.. ? [20:42:16 CEST] <Filystyn> I think i got it i guess this is raw audio stream but not sure where is it placed [20:43:05 CEST] <CaptainAmerica> Frustrating that ffmpeg is uber powerful and I can get it to do lots but the simplest thing I can't figure out. Doh. Any other ideas? [20:43:55 CEST] <ChocolateArmpits> CaptainAmerica, I think furq's command is missing -map 0:v -map 1:a [20:44:22 CEST] <CaptainAmerica> Thank you @chocolatearmpits (best handle ever!) I'll try that [20:45:47 CEST] <CaptainAmerica> I'm getting no such directory with the -map command which is a bit odd?! [20:46:20 CEST] <ChocolateArmpits> Can you paste your command line ? [20:46:22 CEST] <CaptainAmerica> Did I put it in the wrong place? >> ffmpeg -ignore_loop 0 -i -map 0:v -map 1:a foo.gif -i bar.wav -shortest out.mp4 [20:46:37 CEST] <ChocolateArmpits> oh yeah those two are output options [20:46:44 CEST] <ChocolateArmpits> you should place them after -shortest [20:46:51 CEST] <CaptainAmerica> Thank you I'll try that [20:48:33 CEST] <CaptainAmerica> nope same issue. Damn. [20:48:51 CEST] <CaptainAmerica> Maybe I do this is two steps. [20:49:36 CEST] <CaptainAmerica> WAV > MP4, then append image to display on the video on every frame. Any idea if that would work and how I'd do that? Thank you. [20:51:05 CEST] <CaptainAmerica> (or MP3 to MP4) [20:53:12 CEST] <ChocolateArmpits> maybe it would be smarter to create a video out of the gif first [20:53:41 CEST] <CaptainAmerica> yes sure... Just investigating how to do that now [20:55:57 CEST] <ChocolateArmpits> CaptainAmerica, does the image itself loop in image viewers or does it stop ? [20:56:23 CEST] <CaptainAmerica> it is just one title slide I want to join to an audio bed [20:56:33 CEST] <CaptainAmerica> I haven't got it to render as a video anywhere yet [20:56:52 CEST] <CaptainAmerica> ffmpeg foo.gif -t 00:55:00 bar.mp4 -- this gives me "output file does not contain any stream" error [20:57:12 CEST] <ChocolateArmpits> that's because you don't use -i input parameter [20:57:30 CEST] <ChocolateArmpits> that should go before foo.gif [21:02:07 CEST] <CaptainAmerica> Thank you ... Ok so it now appears in the video but the time/duration setting is completely ignored... Ie. It is just one frame [21:02:15 CEST] <CaptainAmerica> progress though :) [21:02:50 CEST] <ChocolateArmpits> try setting video encoding settings [21:02:56 CEST] <ChocolateArmpits> -vcodec libx264 for starters [21:03:17 CEST] <ChocolateArmpits> ffmpeg may be embedding the image as simple album art if no encoding information is given [21:07:32 CEST] <Filystyn> how do i error check on ffmpeg [21:07:43 CEST] <Filystyn> this manual is really confusing,... [21:09:28 CEST] <ChocolateArmpits> Filystyn, what error are you looking for ? [21:09:57 CEST] <ChocolateArmpits> You can get more verbose output with -loglevel trace [21:11:08 CEST] <Filystyn> i need the c api erorr [21:11:28 CEST] <Filystyn> having hard time to get the errno replacement for ffmpeg [21:11:29 CEST] <JEEB> the APIs generally define what is an error value [21:11:45 CEST] <Filystyn> what is the global errno [21:11:49 CEST] <JEEB> what? [21:11:50 CEST] <Filystyn> just the name of it [21:11:59 CEST] <JEEB> there is no global errno in the C APIs? [21:12:03 CEST] <JEEB> the APIs return values [21:12:15 CEST] <Filystyn> so it's different status ? [21:12:26 CEST] <JEEB> just look at the examples under docs? [21:12:30 CEST] <JEEB> like, there are examples in there [21:12:37 CEST] <JEEB> not the best ones, but there are [21:12:43 CEST] <JEEB> (29 [21:12:53 CEST] <Filystyn> i saw example sman but i tried to relay more on manual [21:13:11 CEST] <JEEB> the "manual" is for command line usage [21:13:14 CEST] <JEEB> not for the APIs [21:13:21 CEST] <JEEB> for API you look at the headers/doxygen [21:13:40 CEST] <Filystyn> yes im using thos https://www.ffmpeg.org/doxygen/trunk/error_8h.html [21:13:58 CEST] <Filystyn> anyway the way function are checked suggest that there was a global error code [21:14:06 CEST] <JEEB> uhh [21:14:07 CEST] <Filystyn> checke din the examples [21:14:16 CEST] <JEEB> I'm pretty sure there is no global error variable [21:14:21 CEST] <JEEB> it's almost always the return value [21:14:26 CEST] <Filystyn> well probably there is no since i could not find it [21:14:36 CEST] <Filystyn> i guess it's like with threads [21:14:39 CEST] <Filystyn> get the status [21:15:09 CEST] <JEEB> the error values are indeed defined and then can be gotten as string or something like that (human readable) [21:15:23 CEST] <Filystyn> ok the rest i can handle thank you for help ;') [21:18:47 CEST] <CaptainAmerica> Good news @chocolatearmpits... this is working re duration > ffmpeg -loop 1 -i foo.jpg -c:v libx264 -t 15 -pix_fmt yuv420p -vf scale=320:240 bar.mp4 [21:19:01 CEST] <ChocolateArmpits> cool [21:19:13 CEST] <CaptainAmerica> now I need to get duration exact and add audio on top for the next trick ;) [21:22:39 CEST] <kepstin> CaptainAmerica: easy way to do this, simply add another '-i input.mp3' or whatever for the audio file, add a "-c:a copy" (if the audio codec works in mp4) or some other codec (aac, libmp3lame), then replace the "-t 15" with "-shortest" and it'll automatically cut the video when the audio ends. [21:23:19 CEST] <CaptainAmerica> Thank you you @kepstin ... Will give that a go too! Thank you too [21:26:18 CEST] <CaptainAmerica> we're starting to win here guys... Thank you @kesptin @chocolatearmpits [21:27:19 CEST] <CaptainAmerica> last big challenge... I want to concat two videos (this one we just made and another) -- is it possible to cross fade / fade one into other? [ I know I am really pushing it now :) ] [21:29:39 CEST] <CaptainAmerica> maybe that is a bridge too far for now and I will just combine them :) [21:32:46 CEST] <Filystyn> where is open_codec_context defined what header [21:32:52 CEST] <Filystyn> and how to link this [21:32:56 CEST] <Filystyn> -lffmpeg doe snot work [21:33:36 CEST] <c_14> -lavformat probably [21:33:39 CEST] <c_14> or -lavcodec [21:33:51 CEST] <c_14> have you tried the search in the doxygen? [21:34:11 CEST] <Filystyn> yes im doxygening man [21:34:17 CEST] <blue_misfit> hey guys! Ever seen a quicktime file with 1 video track contain multiple types of video in that track (e.g. prores + dnxhd)?? [21:34:26 CEST] <Filystyn> the demuxing header is not there [21:34:59 CEST] <c_14> Filystyn: https://ffmpeg.org/doxygen/trunk/demuxing__decoding_8c_source.html#l00149 it's a private function in the examples [21:35:45 CEST] <Filystyn> ooo [21:35:53 CEST] <Filystyn> facepalmed k man but it;'s in manual [21:35:57 CEST] <Filystyn> anyway linking worked [21:35:59 CEST] <Filystyn> thx man [21:36:05 CEST] <Filystyn> should have just look on headers [21:37:00 CEST] <Filystyn> gona write my own for now i think we got this ;-) [21:37:10 CEST] <argwings> hi, did vf scale change recently? -vf scale=800:-1 doesn't seem to work anymore? sorry probably dumb question [21:37:27 CEST] <Filystyn> c_14 really big thx man you did help me much today [21:38:25 CEST] <c_14> argwings: probably not, should work [21:38:45 CEST] <c_14> what's the error? [21:42:01 CEST] <kepstin> argwings: keep in mind that with some source video files in some pixel formats (e.g. yuv420 with subsampled chroma), scale=800:-1 won't work because the size has to be a multiple of two. Use 'scale=800:-2' instead to fix that. [21:52:57 CEST] <argwings> kepstin: ah thanks yes it gave that error about multiple of two, and -2 worked [21:53:33 CEST] <argwings> cool, keep up the good work 8) [21:54:27 CEST] <CaptainAmerica> Hi again.. I'm trying to join 2 videos but it isn't working, it just outputs the first in the output file using > ffmpeg -i "concat:foo.mp4|C:\bar.wmv" -c copy output.mp4 [21:54:40 CEST] <CaptainAmerica> Can anyone see what I've done wrong? [21:54:42 CEST] <CaptainAmerica> Thank you [21:55:10 CEST] <kerio> well [21:55:10 CEST] <kerio> for instance [21:55:13 CEST] <blue_misfit> you probably won't be able to do a concat with -c copy mixing that mp4 and wmv, assuming they're different codecs [21:55:17 CEST] <kerio> you're here asking about how to concatenate two videos [21:55:24 CEST] <kerio> instead of learning an instrument to pick up chicks [21:55:30 CEST] <blue_misfit> ROFL [21:55:38 CEST] <kerio> it's a common mistake [21:55:55 CEST] <blue_misfit> switch -c copy to -c:v libx264 and see if it works. That will transcode, but you're likely gonna have to do that no matter what [21:56:25 CEST] <kerio> can you even -c:v copy with the concat demuxer [21:56:28 CEST] <kerio> like in general [21:56:37 CEST] <blue_misfit> yes, afaik [21:57:02 CEST] <blue_misfit> hmm not totally sure actually but I'd hope so, provided all inputs are the same format [21:57:23 CEST] <CaptainAmerica> Thank you @blue_misfit ... that didn't have an impact unfortunately :( [21:57:32 CEST] <furq> kerio: of course you can [21:57:45 CEST] <furq> obviously not in this case though [21:57:52 CEST] <furq> or in most cases, as it turns out, but it does occasionally work [21:58:21 CEST] <blue_misfit> CaptainAmerica, post your full cmd and output in a pastebin [21:58:38 CEST] <furq> that's the concat protocol though [21:59:05 CEST] <kerio> furq: mux both videos into mpegts, concat the files, pray? [21:59:23 CEST] <furq> not if one of them is wmv [21:59:35 CEST] <kerio> if one of them is wmv you must commit honorable subaru [22:00:07 CEST] <furq> why not mitsubishi [22:00:19 CEST] <kerio> anyway apple is adding flac support to ios [22:00:27 CEST] <kerio> but only in the Files app, not the Music app lul [22:00:49 CEST] <kerio> they're also adding support for opus because of webrtc :3 [22:01:05 CEST] <CaptainAmerica> this is my code https://pastebin.com/kRckeueu - thanks [22:01:05 CEST] <furq> astonishing news: apple are dickheads [22:01:11 CEST] <furq> "imagine that" [22:01:25 CEST] <blue_misfit> and of course hevc, which is neat [22:01:27 CEST] <kerio> the imac pro is so fucking slick tho [22:01:31 CEST] <furq> CaptainAmerica: https://trac.ffmpeg.org/wiki/Concatenate [22:01:44 CEST] <blue_misfit> it looks nice, but mehhhhhhhhhh it's for vanity pros [22:01:46 CEST] <furq> the protocol won't work with those input formats, use the demuxer or filter [22:01:58 CEST] <furq> also the hevc stuff looks like an absolute nightmare [22:02:01 CEST] <blue_misfit> there you go CaptainAmerica ! ^^ [22:02:11 CEST] <furq> aren't they using some bullshit hevc i-frame format for still images now [22:02:15 CEST] <blue_misfit> concat demuxer ftw [22:02:16 CEST] <kerio> :o [22:02:19 CEST] <blue_misfit> yeah, wouldn't that be awesome? [22:02:20 CEST] <CaptainAmerica> thanks @furq ... That is exactly the code I lifted and isn't working for me [22:02:36 CEST] <furq> which means you get to ride aboard the hevc licensing rollercoaster if you want to write something that decodes it without using the system APIs [22:03:11 CEST] <blue_misfit> well, I'm sure they still support jpg and stuff [22:03:17 CEST] <blue_misfit> and why wouldn't you use the system APIs? It's apple lol [22:03:18 CEST] <furq> and also avc, because the format allows you to use an avc i-frame as well [22:03:20 CEST] <CaptainAmerica> Under 'concat protocol' [22:03:38 CEST] <furq> 21:01:46 ( furq) the protocol won't work with those input formats, use the demuxer or filter [22:04:30 CEST] <CaptainAmerica> oh eurgh [22:04:40 CEST] <furq> you probably need to use the filter [22:05:05 CEST] <furq> -i foo.mp4 -i bar.wmv -filter_complex concat=n=2:v=1:a=1 [22:05:48 CEST] <furq> blue_misfit: what if i want to decode these images on a non-apple system [22:06:09 CEST] <furq> without buying five (at least) different licenses [22:06:21 CEST] <blue_misfit> oh well yeah sure [22:06:32 CEST] <blue_misfit> my guess is they will support jpeg export etc when sending images [22:06:46 CEST] <CaptainAmerica> Thank you @furq ... This is starting to give me a headache now :) [22:06:47 CEST] <blue_misfit> but maintain native exchange of data between apple devices for improved efficiency [22:07:16 CEST] <furq> and without doing this [22:07:16 CEST] <furq> https://www.youtube.com/watch?v=L397TWLwrUU&t=38s [22:07:57 CEST] <kerio> did mr "radiohead is such awful music" just link to a fucking judas priest song [22:08:06 CEST] <kerio> i dont even [22:08:25 CEST] <furq> is linking a video endorsement now [22:09:01 CEST] <furq> i like the idea that all the people in this video would be shocked into unconsciousness and broken glasses by a fairly sedate heavy metal song [22:11:17 CEST] <furq> anyway regardless of my feelings on judas priest they are definitely better than radiohead [22:11:41 CEST] <furq> here are some other bands that are better than radiohead: every band, including jedward, which is a band now [22:16:14 CEST] <CaptainAmerica> Thank you for your help guys on my ffmpeg issues... I'm going to pick this up again tomorrow after I've had some rest. Appreciate your help. [22:16:57 CEST] <blue_misfit> \m/ [22:20:51 CEST] <furq> my favourite take about the apple hevc stuff was "av1 is dead now...netflix and google will have to serve hevc, they won't risk pissing off iOS users" [22:21:17 CEST] <furq> as if netflix haven't already specifically done that and forced apple to have a secret mpeg-dash implementation in iOS that only netflix is allowed to use [22:21:45 CEST] <furq> and also as if google aren't going to relish giving iOS users a degraded experience compared to android (like they already do) [22:23:21 CEST] <blue_misfit> they already are serving hevc lol [22:23:28 CEST] <blue_misfit> to every 4k tv and connected device [22:23:29 CEST] <furq> netflix are for 4k, yeah [22:23:34 CEST] <blue_misfit> and it's fucking awesome [22:23:41 CEST] <furq> but i assume they'd much rather be serving av1 so they don't have to pay four different licensing authorities [22:23:43 CEST] <blue_misfit> my LG B6 looks amazing playing their dolby vision content [22:23:47 CEST] <furq> yes, it's four now [22:23:52 CEST] <blue_misfit> I mean they're part of AOM [22:23:55 CEST] <blue_misfit> so of course they will [22:24:09 CEST] <blue_misfit> once it becomes usable and there's silicon [22:24:18 CEST] <furq> yeah [22:24:32 CEST] <furq> it was just funny seeing people insisting that apple supporting hevc meant that hevc had won [22:24:43 CEST] <blue_misfit> lol I mean it means hevc is here to stay [22:25:05 CEST] <furq> i'm told that youtube supports uploading hevc now, which is a shame [22:25:07 CEST] <blue_misfit> it means providers will have to start encoding it if they're not already... eventually [22:25:22 CEST] <furq> i was hoping they were doing that for philosophical reasons in addition to them running an old-ass ffmpeg with no hevc decoder [22:25:38 CEST] <blue_misfit> but that's good news for them because having an hevc endpoint for a huge market share means we can save lots of cdn costs [22:25:45 CEST] <blue_misfit> maybe offset by hevc licensing, maybe not [22:25:58 CEST] <Filystyn> what does mean get best stream in file ? [22:26:13 CEST] <furq> i have nothing against the format itself, it's just the insane licensing [22:26:14 CEST] <Filystyn> vide av_find_best_stream [22:26:27 CEST] <furq> i'd sooner use vp9 in spite of its generally worse performance [22:26:42 CEST] <blue_misfit> sure, vp9 is fucking great! [22:28:02 CEST] <blue_misfit> it's just that if you're going to move away from avc you really want 10 bit and hdr [22:28:09 CEST] <blue_misfit> and you can do that with vp9 but it's esoteric [22:28:20 CEST] <blue_misfit> and widevine drm for vp9 is also esoteric [22:28:57 CEST] <blue_misfit> and there's also edge cases where devices that should support it (widevine vp9)... but don't quite [22:29:03 CEST] <furq> yeah i get the sense av1 is going to end up being about six months too late [22:29:23 CEST] <furq> 4k and bt.2020 isn't mainstream yet but it's close enough that big players are making decisions [22:29:58 CEST] Action: JEEB talked about the post-HEVC format at NHK's R&D labs [22:30:16 CEST] <JEEB> "are you also in the MPEG group?" "no, I'm just a random OSS guy" [22:30:56 CEST] <JEEB> blue_misfit: I thought widevine for VP9 pretty much meant ISOBMFF which on container level is specified as part of CENC? [22:31:32 CEST] <furq> JEEB: so what do you think about apple's new image format [22:31:33 CEST] <JEEB> of course the "HW support" for VP9 or 10bit VP9 is the real problem point [22:31:44 CEST] <JEEB> furq: "lol nokia" [22:31:54 CEST] <furq> which i believe is called "not webp" [22:31:57 CEST] <JEEB> HEVC already had the profile anyways [22:32:29 CEST] <furq> technicolor got to get paid son [22:34:10 CEST] <TD-Linux> JEEB, no there are webm encryption blocks for widevine [22:34:28 CEST] <JEEB> right [22:34:36 CEST] <JEEB> but they did recently define the ISOBMFF side of things, too [22:34:40 CEST] <Filystyn> what does mean get best stream in file ? vide av_find_best_stream ? [22:34:45 CEST] <Filystyn> what does it mean ? [22:35:12 CEST] <JEEB> it's an API for lazy people [22:35:34 CEST] <JEEB> libavformat has various random definitions by which it decides what is the "best" track of a type [22:35:53 CEST] <JEEB> if you are asking what that means and mean it, then do stream selection by yourself [22:36:09 CEST] <JEEB> since nobody forces y ou to use that lazy man's API [22:36:33 CEST] <JEEB> not to mention that there can be cases where the "best" according to that fuzzy logic is not what you want [22:38:33 CEST] <Filystyn> ok but what is best track of the type [22:38:40 CEST] <Filystyn> you mean there can be two tracks of same audio? [22:39:37 CEST] <JEEB> not best but "best", and if you really want to know what the flying fuck it means then go read the function's implementation [22:39:52 CEST] <JEEB> but yes, it's for cases where there are multiple tracks of the same type [22:40:22 CEST] <Filystyn> ok man now i understand well I have this for songs so i doubt this will even be used [22:40:51 CEST] <Filystyn> guess you can't tell which one is bets untill you hear it [22:40:55 CEST] <Filystyn> best* [22:41:09 CEST] <Filystyn> but when it comes to songs wel you get one stream always [22:47:38 CEST] <blue_misfit> JEEB, yeah vp9 in dash with widevine is done via webm - which again is esoteric [22:47:44 CEST] <blue_misfit> google does it for sure [22:47:56 CEST] <blue_misfit> netflix does it for their downloads as well afaik [22:48:10 CEST] <JEEB> yup, one of the ways at least [22:48:37 CEST] <blue_misfit> can you do vp9 in isobmff? [22:48:42 CEST] <JEEB> yes [22:48:45 CEST] <blue_misfit> oh wow! [22:48:55 CEST] <blue_misfit> had no clue :D [22:49:48 CEST] <JEEB> I think I saw it first getting implemented in content related systems somewhere last year? [22:50:40 CEST] <blue_misfit> neat! any particular advantage to that vs just using webm? [22:52:28 CEST] <JEEB> no idea, I haven't really looked into the support stuff on client side [23:39:32 CEST] <fiberbaby> https://www.ssllabs.com/ssltest/analyze.html?d=ffmpeg.org [23:41:28 CEST] <fiberbaby> https://blog.qualys.com/ssllabs/2017/04/05/ssl-labs-distrusts-wosign-and-sta... [23:41:53 CEST] <fiberbaby> how about using Let's Encrypt [23:52:42 CEST] <furq> is the person in charge of the website even here [23:53:31 CEST] <Papi> hello [23:54:34 CEST] <Papi> I have nginx server with rtmp module. When I try to run ffmpeg... it will stuck at the end of this log... https://pastebin.com/FCPQ2jep [23:54:40 CEST] <Papi> Nothing more happens [23:55:12 CEST] <Papi> When I try to open RTMP stream in VLC it normally works [00:00:00 CEST] --- Thu Jun 8 2017
participants (1)
-
burek