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

burek burek021 at gmail.com
Thu Jan 8 02:05:01 CET 2015


[01:28] <xreal> I'm decoding AC3 to WAV. Why - the heck - is this such slow? it uses 25-30 % cpu only :(
[01:28] <xreal> Perhaps I should spread it to multiple cores?
[01:50] <xreal> can ffmpeg decode Dolby Surround ?
[01:50] <xreal> Prologic 2, I mean
[02:30] <xreal> Ah DAMN. drc doesn't work for DTS :(
[07:37] <hjjkhjhjhj> Why am I getting not a desired result after "ffmpeg -vsync throughput  -i input.mkv -vf -mpdecimate=max=35000 -c:v libx264 output.mkv" ?  Timecodes shifted in a some weird way because after comparing with blend +-1 frame difference.
[07:39] <hjjkhjhjhj> *-vsync passthrough
[11:05] <baran> hey guys
[11:05] <baran> do you know where i could find scaning type in ffmpeg data structures?
[11:05] <baran> i mean interlaced vs progressive
[11:06] <c_14> look at what the idet filter does
[11:09] <SirDarius> baran: maybe you are looking for this: https://ffmpeg.org/doxygen/trunk/structAVFrame.html#a7f761518da738c704676c6a5f08eeb8e ?
[13:18] <pagios> anyone familiar with Set top boxes?
[13:22] <Mavrik> asking a concrete question helps.
[13:24] <pagios> hi Mavrik
[13:24] <pagios>  well ok i am trying to stream to STBs like 10 channels, how will the user instruct the stb to read a certain stream? do i need to broadcast the 10 streams individually to my server and then publish those on the server for the user to select from?
[13:24] <Mavrik> Yes, that's how it's usually done in IPTV installations
[13:24] <Mavrik> You broadcast 10 streams on multicast on the network
[13:24] <Mavrik> and the STB then "tunes-in" to the right multicast address for that channel
[13:25] <Mavrik> STBs usually have JavaScript or somesuch interface where you tell the player which multicast (or unicast or whatever) address to read
[13:27] <pagios> Mavrik: the STB establishes a kind of VPN to the main cloud server?
[13:27] <pagios> and listens to a private multicast address like 224.0.0.0 ?
[13:27] <Mavrik> ugh
[13:27] <Mavrik> no
[13:28] <Mavrik> STBs are dumb
[13:28] <pagios> tell me more about it
[13:28] <Mavrik> How about you actually explain what you're trying to achieve.
[13:28] <pagios> ok sure
[13:28] <Mavrik> You're asking about a huge field with alot of solutions :)
[13:29] <pagios> well i have 10 signals received on my main server, i would like to broadcast those to STB clients
[13:29] <pagios> i already have a WOWZA server
[13:29] <pagios> to broadcast to STBs
[13:29] <pagios> but want to understand the workflow of how to design and implement
[13:29] <Mavrik> those clients are on your local network or do you want to stream over public internet?
[13:29] <pagios> public internet , Mavrik
[13:30] <Mavrik> did you already buy STBs? Which?
[13:30] <pagios> nop didnt buy the STBs yet
[13:30] <Mavrik> pagios, so basically, over internet you'll probably do unicast streaming
[13:30] <Mavrik> currently most elegant is the HLS protocol, RTMP works as well (both are supported by Wowza)
[13:31] <Mavrik> the "standard" IPTV STBs are just dumb browsers essentially... you preupload a HTML/JS app (the GUI essentially) that controls what you're playnig
[13:31] <pagios> yes WOWZA provides an HLS stream
[13:32] <Mavrik> but essentially what you'll do on STB is something in line of .play("http://your.wowza.server/channel5.m3u8")
[13:32] <pagios> Mavrik: how will you handle subscription in this case? and make sure only authorized STBS get the streams?
[13:32] <Mavrik> that's the hard part :)
[13:33] <Mavrik> I've seen tons of solutions, mostly done via STBs sending their serial/MAC over a secure HTTPS connection to Wowza and wowza then uses auth module to verify them
[13:33] <Mavrik> but thats only one of the ways, that's hard to get right :/
[13:34] <Mavrik> pagios, but essentially your authentication/subscriptions have to be done on HTTP(S) layer or via DRM like on a usual webapp
[13:36] <pagios> Mavrik: so mainly i broadcast 10 channels over wowza and the stb client just switches hls urls on his side right?
[13:37] <Mavrik> yep
[13:37] <Mavrik> or RTMP or plain MPEG-TS over HTTP, depending on what your STBs will support
[13:37] <Mavrik> HLS is just an example of tech that works rather well for that kind of streaming
[13:38] <pagios> is the switch so fast usually on the STB side?
[13:38] <pagios> or do you just provision manually the 10 channels first on stb and then start switcing?
[13:39] <Mavrik> switch time heavily depends on how the stream is encoded and the network latency
[13:39] <Mavrik> but usually you have little choice, since I haven't seen alot (or indeed any) STBs that could stabily decode two streams at once
[13:39] <pagios> rtmp is faster as i recall
[13:40] <pagios> right?
[13:40] <Mavrik> as I said, it depends heavily on network infrastructure and encoded stream (we got it to under 500ms, but it required some really heavy work)
[13:40] <Mavrik> mostly be prepared for zap times of about 1 sec
[13:40] <pagios> zap time means when you press the remote control button to switch a stress right
[13:41] <Mavrik> you press the button -> you see the new channel
[13:41] <Mavrik> as I said, STBs are mostly really dumb and crappily programmed
[13:42] <pagios> i see
[13:43] <pagios> but mainly i need a very strong connection to be able toupload the 10 channels from source site to WOWZA right? specially if content is in HD
[13:44] <Mavrik> yes
[13:44] <Mavrik> e.g. a well encoded FullHD stream is about 15Mbit/s
[13:45] <Mavrik> meaning you need 150Mbit + overhead, that is 200Mbit/s link from your source to wowza to keep it stable
[13:45] <Mavrik> and remember, you need to provider bandwidth from wowza to EACH user :)
[13:45] <Mavrik> (note that you can get away with well-encoded 720p sterams at 3-5Mbit as well :) )
[13:47] <pagios> Mavrik: i need 150mbit/sec for each user from wowza to the user
[13:47] <Mavrik> no, remember, each user will be connected to only one stream
[13:47] <Mavrik> so if you'll be streaming 10Mbit/s streams, you need users * 10Mibit from wowza to users
[13:48] <pagios> Mavrik: for a best SD signal i need how much ? ;/
[13:48] <pagios> if it is 720x576 which is the best you can get with  an SD i gyess
[13:49] <Mavrik> we usually do 1Mbit for good quality SD signals
[13:49] <Mavrik> 3Mbit for 720p, 6-8 for 1080p
[13:49] <Mavrik> it's not as pretty as the 30Mbit broadcast, but looks good enough on TV :)
[13:51] <pagios> Mavrik: 1mbit/sec for a 720x576?
[13:51] <pagios> thats around 100KB/sec
[13:51] <Mavrik> yep
[13:52] <Mavrik> there's alot of people wanting to watch videos on 1Mbit DSL lines :)
[13:52] <pagios> Mavrik: do some STB provide adaptive bitrating?
[13:52] <pagios> so they switch to a low res of the HD signal
[13:52] <Mavrik> yes, mostly over HLS
[13:52] <pagios> thats a good option
[13:52] <Mavrik> but remember, you need to provide both then yourself :)
[13:53] <Mavrik> some of them are buggy while switching over though
[13:53] <pagios> on wowza i would provide the transcoded streams
[13:53] <pagios> and the user would choose one
[13:53] <Mavrik> ah, that would work yes
[13:53] <pagios> so i am same on bandwidth for the user :)
[13:53] <pagios> even less sometimes
[13:54] <pagios> my big question is now authentication of stb toward the server
[13:55] <pagios> Mavrik: cant you send the full 10 channels to the user STB for him to choose locally?
[13:56] <pagios> or that would require a huge connection? it is not the usual  way of doing it right?
[13:56] <pagios> like traditional TVs..
[13:56] <Mavrik> pagios, that would require the user to have the internet fast enough to download all channels at once :)
[13:56] <pagios> Mavrik: the traditional tv does that..
[13:56] <pagios> how much b/w does the tv receive handle?
[13:56] <pagios> huge i think right?
[13:58] <Mavrik> according to Wikipedia, DVB-T is up to 30Mbit/s, DVB-C up to 40
[13:58] <pagios> the switching does not happen locally right?
[13:58] <Mavrik> it does
[13:58] <pagios> 30mbit/sec means around 30 channels at most
[13:58] <pagios> sd
[13:58] <Mavrik> you get a whole bucket of channels on a single TS stream
[13:58] <Mavrik> pagios, usually you get like 5
[13:59] <pagios> 5 HD or 30 SD
[13:59] <Mavrik> since they encode at 3-5 Mbit/s for SD
[13:59] <pagios> some cable providers provide 100 channels, how are they handled?
[13:59] <Mavrik> multiple frequencies
[13:59] <Mavrik> coaxial cable can carry several 100s of Mbit :)
[13:59] <pagios> oh so the receiver receives multiple freq
[13:59] <pagios> each having liets say 10 channels at most
[13:59] <Mavrik> you switch between "buckets" of channels
[13:59] <pagios> lovely
[14:00] <Mavrik> also called "multiplexes" in DVB-T terminology
[14:00] <pagios> so mainly a receiver handles 30mbit/sec x number of freq
[14:00] <Mavrik> but the catch is, RTMP or HLS don't support that... and I haven't seen STBs that could demux MPEG2-TS streams with multiple programs :/
[14:00] <Mavrik> pagios, no, receiver tunes into one freq
[14:00] <Mavrik> and handles 30Mibt/s, then throws away programs it's not showing
[14:00] <pagios> ok so 30mbit/sec at a time
[14:01] <pagios> thats why when you are switching from a channel on a different freq you experience more zapping time
[14:01] <Mavrik> yep
[14:03] <pagios> Mavrik: how can i implement the authentication for the STB
[14:03] <Mavrik> *shrug*, can't help you much there
[14:04] <Mavrik> I know we track them via serial numbers and use HLS/DRM protection, but can't really tell you much more
[14:04] <Mavrik> the whole HTML UI / auth layer is done by another team, I just deliver video :)
[14:04] <pagios> any specific STB model you advise?
[14:04] <pagios> something popular stable flexible enough
[14:09] <Mavrik> pretty much anything I've dealt with was crap (Motorola, Albis, Amino, Sagem)
[14:09] <Mavrik> just check if they support your protocols and resolution
[14:10] <pagios> Mavrik: how about the multicast you talked about?
[14:10] <pagios> it is not applicable over public internet right?
[14:10] <Mavrik> yep
[14:10] <Mavrik> that's for IPTV for ISPs where they have a separate network to users :)
[14:11] <pagios> thanks Mavrik
[14:11] <pagios> i will do my researc for authentication
[14:16] <pagios> Mavrik: Roku is considered a good STB?
[14:17] <Mavrik> no idea, Roku isn't available in EU
[14:20] <pagios> Mavrik: hmm i think i will point the STBs to an initial page where they get to authenticate with a user/pass using an html form
[14:20] <Mavrik> pagios, well, just remember that users can extract URL to wowza
[14:20] <Mavrik> and you still need something there
[14:21] <pagios> Mavrik: your STBs authenticate with a user providing a user/pass by the remote control?
[14:28] <pagios> Mavrik: the STBs require any cards to be inserted?
[14:29] <Mavrik> pagios, no to both
[15:17] <sectroyer> Hello I have raw video data of size 960x540. For single grame size in bytes is: 1036800. I am able to play it using ffplay as rawdata but I don't get correct colors. How to detect/find correct pixel_format?
[15:52] <kruug> Is there a preset for WinFF that just does the `-codec copy` option?
[15:53] <kruug> or am I restricted to the cli for that?
[15:56] <relaxed> this is not the place for WinFF support
[15:57] <kruug> Well, there isn't a WinFF channel, and when I searched for "WinFF community" in Google, it brought me to the FFMpeg community page, so...
[15:57] <kruug> I think someone in the FFmpeg community did some fun SEO on that :)
[16:01] <relaxed> kruug: https://groups.google.com/forum/#!forum/winff
[16:01] <relaxed> found on the fromtpage of http://winff.org
[16:01] <relaxed> frontpage*
[18:29] <bigzed> Hello guys, I have a file input.mp4. If I encode it like this 'ffmpeg -i input.mp4 out.mp4' the file has two more frames after encoding even though the framerate is the same. Is this intended behaviour?
[18:33] <Mavrik> um
[18:35] <bigzed> I can provide you with a sample if you want to try it out :)
[18:35] <Mavrik> doing what you did makes no sense anyway
[18:35] <Mavrik> ffmpeg did whatever it felt like it... hard to talk about "intenteded behaviour"
[18:36] <Mavrik> because you just said "do whatever" :P
[18:38] <bigzed> I use ffmpeg to encode incoming files (of variuous codecs) to mp4 proxies of the same resolution and bitrate including a burned in timecode. I just noticed that this one mp4 gets additional two frames. So the timecode between original and proxie is of.
[18:39] <bigzed> So, yeah encoding mp4 to mp4 seems senseless. But generally we use ffmpeg to encode various formats. Just this example is mp4 to mp4
[18:39] <bigzed> debug output of ffmpeg while encoding shows these lines [h264 @ 0x5499a00] no picture
[18:39] <bigzed> [h264 @ 0x54dec80] no picture. Maybe those are the two additional frames?
[18:43] <Mavrik> bigzed, no.
[18:44] <Mavrik> I suggest you report that on bugtracker with proper parameters (at least codec + quality) and a sample and ffmpeg version / commandline output
[18:45] <bigzed> thanks
[18:52] <dowdle> How does one specify a 2.39:1 aspect ratio?
[18:53] <dowdle>  -aspect ?
[18:53] <Popara> Hello, i'm trying the -progress argument into ffmpeg to report me statistics about the process encoding
[18:54] <Popara> IT seems that it doesnt work at all, it does POST, i debug it using PHP, but it onyl writes at the end of the encoding but the post array is empty
[18:54] <Popara> so it does only a single request without anything, only at the end
[18:54] <dowdle> Nevermind... -aspect 2.39 seems to work.
[19:05] <Popara> ah it works with a static file, i put a php file thought it does post
[19:42] <t4nk081> anyone here with ffmpeg and xcode development experience? I am pretty new to ffmpeg dev and have difficuties compiling a sample source.
[19:50] <c_14> I have no idea about xcode, but if you state your problem in a bit more detail somebody might be able to help
[20:17] <xreal> I wonder if it's possible to store a whole transponder in mkv and make the single streams readable? :)
[20:22] <xreal> Doesn't seem to work: ffmpeg -threads 16 -f mpegts -i tcp://localhost:2345 -c:v:0 copy -map 0:16 -c:v:1 copy -map 1:23 -f dvd -y test.mkv
[20:23] <c_14> you can't map 1, you only have 1 input
[20:24] <c_14> and -f dvd doesn't really make sense if you're trying to produce an mkv
[20:24] <xreal> lol, got it :)
[20:24] <xreal> I wanted to "route" 16 to 0 and 23 to 1 :)
[20:24] <llogan> and you should always use pastebin to show your command and the complete console output
[20:24] <xreal> llogan: even1 liners?
[20:24] <llogan> everything
[20:25] <llogan> what i mean is you need to always include your console output too
[20:26] <xreal> llogan: ok. but it was my fault. Thanks for help.
[20:28] <xreal> Nice, I know can record the whole transponder and capture it in MKV :)
[20:35] <xreal> This won't work, will it? http://pastie.org/9818794
[20:36] <xreal> ah, it's target.
[20:37] <xreal> no, it's also not target :D
[20:45] <xreal> I can do it the manual way :) http://todayiwantedtoprogram.tumblr.com/post/15142587796/what-does-ffmpegs-target-pal-dvd-actually-do
[20:46] <llogan> why are you using a dvd target for MKV container?
[22:33] <dvir> hello! I'm using FFmpeg to convert a GIF into an MP4, with the following command: "ffmpeg -f gif -i ~/transparent.gif  -c:v libx264 -f mp4 ./transparent.mp4". This is the input GIF: http://media.giphy.com/media/lXiRla43JDySJhTLW/giphy.gif and this is the output mp4: https://vid.me/aGv6
[22:33] <dvir> it seems like FFmpeg is skipping the first frame of the GIF, and skips the timing for the last frame (the first and last frame are 200ms long, yet it doesn't halt at the end like it does in the beginning).
[22:33] <dvir> 2000ms*
[22:34] <dvir> anyone has an idea why would that happen? am I missing a parameter?
[23:07] <mbrittsess> Hello, everyone...I hate to have to ask this but I've been trying for 90 minutes now with no success...
[23:07] <mbrittsess> I've got a video with some uniform light-grey areas and uniform pure-black areas
[23:07] <mbrittsess> I'd like to change this to uniform pure-white areas and uniform pure-black areas
[23:08] <mbrittsess> I've tried experimenting with colorbalance, colorlevels, curves, and lutrgb without success, the grey just stays grey
[23:08] <mbrittsess> Although it's quite possible I'm using one or more them wrong
[23:09] <mbrittsess> So, in summation: Using filters, how can I map black and grey to black and white?
[23:16] <justinX> dvir: oh so some of the frames in the animated gif are longer?
[23:21] <dvir> justinX: yup! if you have ImageMagick installed, you can get it easily by running "identify -format '%T|' transparent.gif"
[23:21] <dvir> the first one is 2000ms, second is 50ms, etc etc
[23:22] <dvir> (200|5|5|5|5|10|10|10|10|10|10|10|200, separated by | for each frame, multiply by 10ms)
[23:43] <dvir> justinX: if you said anything after what I said, I got disconnected apparently :\
[23:50] <xreal> llogan: for archive use.
[23:50] <xreal> llogan: I can play MKV anywhere and "output" the scream easily to VOB when I need it.
[00:00] --- Thu Jan  8 2015


More information about the Ffmpeg-devel-irc mailing list