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

burek burek021 at gmail.com
Sun Jul 15 03:05:02 EEST 2018


[00:30:34 CEST] <chocolate-elvis> Been trying to find some jp2k acceleration plug-ins or something to speed up conversions. Anyone have any ideas?
[01:01:08 CEST] <kerio> chocolate-elvis: but y tho
[01:38:44 CEST] <RougeR> can anyone explain what a stream id is?
[01:38:48 CEST] <RougeR> new to video stuff
[01:38:54 CEST] <RougeR> or can anyone link a wiki article
[01:38:59 CEST] <RougeR> google isnt giving me answers i need
[01:40:54 CEST] <chocolate-elvis> Selection of media streams
[01:40:54 CEST] <chocolate-elvis> Some media containers like AVI, Matroska, MP4, etc. can contain multiple streams of various type,
[01:40:55 CEST] <chocolate-elvis> FFmpeg recognizes 5 stream types: audio (a), attachment (t), data (d), subtitle (s) and video (v).
[01:40:55 CEST] <chocolate-elvis> Stream are selected with -map option followed by a stream specifier with the syntax:
[01:41:13 CEST] <chocolate-elvis> file_number:stream_type[:stream_number]
[01:41:35 CEST] <chocolate-elvis> File_number and stream_number are denoted also file_index and stream_index and are counted from 0, it
[01:41:36 CEST] <chocolate-elvis> means that the first one is 0, the second one is 1, etc. There are some special stream specifiers:
[01:41:36 CEST] <chocolate-elvis> -map 0 selects all streams from all types
[01:41:37 CEST] <chocolate-elvis> -map i:v selects all video streams from the file with a number i (index), -map i:a selects all audio
[01:41:39 CEST] <chocolate-elvis> streams, -map i:s selects all subtitle streams, etc.
[01:41:39 CEST] <chocolate-elvis> special options -an, -vn, -sn exclude all audio, video or subtitle streams respectively.
[01:42:38 CEST] <RougeR> thankyou for that chocolate elvis, thats above n beyond
[01:42:39 CEST] <chocolate-elvis> this is from http://ffmpeg.tv/ FFmpeg Basics pdf by Frantisek Korbel
[01:42:40 CEST] <RougeR> will read now
[01:42:59 CEST] <RougeR> im doing a tech test for a company basically
[01:43:14 CEST] <chocolate-elvis> nice, best of luck
[01:43:34 CEST] <RougeR> thanks, its all going well. just pull some metadata and throw it into json, then manipulate
[01:43:34 CEST] <RougeR> ty
[02:28:28 CEST] <RougeR> chocolate-elvis: if the test asked for the audio "format"
[02:28:31 CEST] <RougeR> would AAC be correct?
[02:28:56 CEST] <chocolate-elvis> RougeR Yes, that would be a audio codec
[02:29:14 CEST] <RougeR> yeah i figure that they are after the codec
[02:29:18 CEST] <RougeR> sorry thats what i should have said
[02:29:25 CEST] <RougeR> thanks
[02:29:41 CEST] <RougeR> lol, ill throw up the repo when im done, its not very interesting but eh
[02:41:37 CEST] <RougeR> https://github.com/CodePint/VideoUrl-API
[02:41:39 CEST] <RougeR> think im done
[02:41:45 CEST] <RougeR> gotta make it into a little cli api
[02:41:48 CEST] <RougeR> but logic is done
[02:41:56 CEST] <RougeR> will wrap it up in methods etc too
[03:01:13 CEST] <chocolate-elvis> RougeR have you checked out FFprobe?
[03:01:40 CEST] <chocolate-elvis> you can get json outputs directly
[03:02:53 CEST] <RougeR> chocolate-elvis: ill have a look at that now, interesting
[03:04:07 CEST] <RougeR> i think for what i want to do, this probably works quite well. as i only want a small sample of the metadata saved to json
[03:04:15 CEST] <RougeR> but FFprobe looks pretty cool
[03:04:36 CEST] <RougeR> theres a ruby gem for FFprobe too, which is neat
[03:06:41 CEST] <chocolate-elvis> I think you're after ffprobe -v quiet -print_format json -show_format -show_streams , but perhaps another day
[03:08:54 CEST] <RougeR> chocolate-elvis: hmmm that would probably do it, although im not sure it is as good for demonstrating basic programming skills in a tech test
[03:09:09 CEST] <RougeR> thankyou all the same, im going to try that command and see if it works
[03:09:14 CEST] <RougeR> would be cool to do it in a one liner
[03:09:50 CEST] <chocolate-elvis> RougeR Probably good to know its there if you need it
[03:10:08 CEST] <RougeR> yeah it is, the role is backend as a service for video streaming
[03:10:12 CEST] <RougeR> medium startup
[03:10:14 CEST] <RougeR> first dev role
[03:10:23 CEST] <RougeR> so might end up doing thi smore
[08:41:58 CEST] <cesdo> Hi guys! I have three mp4 videos: 25 fps, 23.976 fps, 29.97 fps. How can I mix them with variable framerate?
[08:53:37 CEST] <cesdo> https://pastebin.com/EWjkEkXT
[08:54:46 CEST] <cesdo> Here is information about my files
[08:57:40 CEST] <cesdo> Ah, I need concatenate videos with sound, of course!
[13:35:38 CEST] <RougeR> finished it as an api
[13:35:39 CEST] <RougeR> https://github.com/CodePint/VideoUrl-API/blob/master/video_api_main.rb
[13:43:38 CEST] <commando> hey can anybody help me to use ffmpeg in iOS
[13:43:39 CEST] <commando> ?
[13:46:12 CEST] <JEEB> it should be the same as everywhere else
[13:46:17 CEST] <JEEB> use the API, basically
[13:46:40 CEST] <JEEB> I should try cross-compiling for iOS one of these days, got the mac VM running again
[13:47:07 CEST] <commando> iOS does not allow to excute commands .
[13:47:12 CEST] <JEEB> yes
[13:47:14 CEST] <JEEB> that's why I said
[13:47:18 CEST] <JEEB> "use the API"
[13:47:23 CEST] <commando> so complied the ffmpeg and i have that.
[13:47:26 CEST] <JEEB> ffmpeg.c is just an example command line API
[13:47:32 CEST] <JEEB> *API client
[13:47:37 CEST] <JEEB> the APIs are still there
[13:47:46 CEST] <JEEB> there's examples like the transcoding one under doc/examples
[13:49:47 CEST] <commando> okay i saw that example somewhere on ffmpeg
[13:49:59 CEST] <commando> but i forget where i saw it.
[13:50:09 CEST] <JEEB> if you have the FFmpeg source code
[13:50:10 CEST] <commando> @JEEB can you help me ?
[13:50:13 CEST] <JEEB> it's under doc/examples
[13:50:29 CEST] <JEEB> I think the transcoding one was relatively up-to-date
[13:50:36 CEST] <JEEB> but you should think what you want to do btw
[13:50:49 CEST] <JEEB> because there might be higher level abstraction libraries already available
[13:50:55 CEST] <JEEB> like libvlc/libmpv
[13:51:02 CEST] <JEEB> if you need playback for example
[13:51:43 CEST] <commando> i need to do some stuff like cropping video , resizing it, applying filter and adding music.
[13:52:47 CEST] <commando> i found example here -- https://ffmpeg.org/doxygen/trunk/examples.html
[13:53:03 CEST] <commando> that's what were talking about earlier
[13:53:07 CEST] <JEEB> yes that is the exactly same stuff that's in the source
[13:53:20 CEST] <JEEB> if you look under the doc/examples directory in the FFmpeg source tree the examples are there
[13:53:31 CEST] <JEEB> but yes, you can look at them through doxy as well
[13:54:39 CEST] <commando> thanks buddy. but these examples are in c language and i almost forgot that thing.
[13:55:04 CEST] <commando> do you know how i can find some java or objective-c examples ?
[13:55:15 CEST] <JEEB> you can use C libraries from swift or objc
[13:55:34 CEST] <JEEB> you can use the C stuff as an example and then translate that into swift or objc
[13:56:13 CEST] <commando> thanks for your help buddy. I will try that stuff.
[13:56:17 CEST] <commando> have a good day.
[13:59:33 CEST] <RougeR> yeah i just did it with ruby and used a library(gem) for it
[15:35:33 CEST] <sagax> hi all!
[15:35:51 CEST] <sagax> how to choose video position when set -video_size?
[15:36:24 CEST] <sagax> i try this, it's just example   -video_size  800x600+10,10
[15:36:32 CEST] <sagax> but this doesn't work
[15:40:41 CEST] <sagax> hm, maybe i found this
[18:34:20 CEST] <tidbit> new to ffmpeg, fills my needs perfectly. question though:
[18:34:20 CEST] <tidbit> if I use '-c libx264' or '-c:v libx264', I can't convert videos to gif (and probably other non-264 formats). is there either: a way to make it work for everything OR get a list of everything it supports, so I can check before I start converting?
[18:35:27 CEST] <JEEB> I think muxers only define their default video codec
[18:35:34 CEST] <JEEB> (possibly audio as well if relevant=
[18:36:12 CEST] <JEEB> usually an application will limit itself to some things for some containers
[18:37:24 CEST] <JEEB> you can see what the API returns with the command line application as well
[18:37:25 CEST] <tidbit> ya, I currently check "if converting to gif, user mist specify a bitrate instead". was hoping there was some like of format that x264 supported so I could toss them all in that If
[18:37:34 CEST] <JEEB> -h muxer=gif
[18:37:49 CEST] <JEEB> for example asks some basics about the gif muxer
[18:37:59 CEST] <tidbit> I see
[19:36:17 CEST] <dshowoff> hi all. been getting repeated video frames from a dshow capture dongle, but first few attempts encode without issues.
[19:37:32 CEST] <dshowoff> that common? any recommended way to fix it, preferably without a reboot.
[20:40:18 CEST] <nicolas17> is there anything that will let ffmpeg read from AWS S3? I was thinking of writing a new libavformat protocol but maybe there's an easier trick
[20:41:20 CEST] <DHE> isn't S3 just HTTP-based?
[20:42:19 CEST] <nicolas17> yes if the file is public, otherwise you need an authorization HTTP header with a signature
[20:43:21 CEST] <JEEB> I think you should be able to set HTTP headers?
[20:43:42 CEST] <JEEB> yes
[20:43:43 CEST] <DHE> ffmpeg -headers "X-Whatever-Header: valuegoeshere" -i http://s3.amazon.com/..../file.mp4  [...]
[20:43:48 CEST] <JEEB> there's a "headers" avoption for http
[20:43:58 CEST] <DHE> I don't know how s3 actually works so I just made all of the above up. I expect you can make it work properly
[20:44:29 CEST] <nicolas17> and in particular I'd like to point ffmpeg to an HLS .m3u8 in S3, for which it would have to calculate the signature every time it fetches a .ts
[20:44:49 CEST] <JEEB> right, those pesky meta-demuxers
[20:44:57 CEST] <JEEB> and if it's a separate signature/whatever for each file
[20:45:03 CEST] <JEEB> then it gets tricky
[20:45:15 CEST] <JEEB> so you can't just say "this authorizes the whole directory" kind of thing?
[20:45:43 CEST] <DHE> there is another option maybe? mpegts is highly stream-friendly, so if you can script something to just output all the .ts files in sequence then ffmpeg could just read stdin
[20:46:07 CEST] <nicolas17> afaik AWS auth signatures are a hash of the secret key, request URL, and current timestamp
[20:46:14 CEST] <nicolas17> and some headers
[20:46:25 CEST] <DHE> ( curl -H "X-Header: value" http://s3.amazon.com/../file1.ts ; curl -H ... ... ; curl ... ; curl ... ) | ffmpeg -f mpegts -i - [...]
[20:47:21 CEST] <nicolas17> maybe I should see if there is some kind of local proxy... such that unauthenticated http://localhost:8080/foo is proxied into an authenticated request to S3
[20:47:35 CEST] <JEEB> yea, that sounds scriptable
[20:50:17 CEST] <DHE> "timestamp" in the signature means that my curl command wouldn't be reliable. you'd have to make it a script that generates on-demand...
[20:50:59 CEST] <JEEB> yea you need scripting in any case
[20:51:35 CEST] <nicolas17> I still don't know what's the point of AWS having such complex auth system... instead of just sending the secret key in every request and relying on TLS to keep it secret and non-replayable
[20:52:23 CEST] <sfan5> the point is that you can give out links to some content to third parties
[20:52:50 CEST] <JEEB> nicolas17: they have a separate authentication system for streaming content delivery
[20:53:08 CEST] <nicolas17> the "pre-signed URL" thing is separate
[20:53:18 CEST] <JEEB> where you only need to authenticate for the playlist, and they will rewrite the URLs in the playlist
[20:53:32 CEST] <JEEB> so that all the accesses automagically are valid
[20:53:43 CEST] <JEEB> (for that piece of content, for X amount of time and for Y IP)
[20:59:07 CEST] <nicolas17> if I was crazy enough to make a lavf protocol, would the hls demuxer Just Work? it works with http: and file: so I guess it works with any protocol?
[20:59:51 CEST] <JEEB> it should work with various, yes
[21:00:48 CEST] <JEEB> I must say though that just making a python script that feeds you the data might be a better idea
[21:00:56 CEST] <JEEB> running as a http proxy or something
[21:01:16 CEST] <nicolas17> yeah
[21:31:17 CEST] <LukasStribrny> hi there,i would like to know what's the diference between : ffmpeg build 4.0.1 vs ffmpeg build 20180714-28ed68f
[21:31:32 CEST] <LukasStribrny> thanks
[21:31:42 CEST] <JEEB> 4.0.1 is from the 4.0 branch as the release 4.0.1
[21:31:51 CEST] <JEEB> the other one seems to have a beginning of the hash at the end
[21:31:52 CEST] <JEEB> 28ed68f
[21:32:07 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=commit;h=28ed68f
[21:33:19 CEST] <JEEB> the github mirror actually can show you all the commits from that release branch to master
[21:33:35 CEST] <JEEB> or well, that commit in master
[21:33:38 CEST] <JEEB> https://github.com/FFmpeg/FFmpeg/compare/n4.0.1...28ed68f
[21:33:40 CEST] <JEEB> there
[21:33:50 CEST] <LukasStribrny> yeah but what's the diference between : ffmpeg build 4.0.1 vs ffmpeg build 20180714-28ed68f
[21:33:53 CEST] <JEEB> comparison from n4.0.1 to thath hash
[21:34:09 CEST] <JEEB> LukasStribrny: one is a release branch release, and the latter is a thing from the active master branch
[21:34:13 CEST] <JEEB> releases get branched out of master
[21:34:23 CEST] <JEEB> and I just linked you the exact list of differences
[21:34:36 CEST] <JEEB> if you want to know exactly what has happened in master since the 4.0 release
[23:53:21 CEST] <killown> how can I cut the first 30 seconds from a video for a output.mp4
[00:00:00 CEST] --- Sun Jul 15 2018


More information about the Ffmpeg-devel-irc mailing list