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

burek burek021 at gmail.com
Thu Jun 8 03:05:01 EEST 2017

[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-startcom-certificates
[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

More information about the Ffmpeg-devel-irc mailing list