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

burek burek021 at gmail.com
Mon May 30 02:05:02 CEST 2016


[00:24:41 CEST] <DHE> well, I have my sample
[00:35:10 CEST] <prelude2004c> hello, just to reiterate what DHE and i have been looking at... i am having a problem with live TS streams.. i get signals from Multicast UDP live stream sources and they are either mpeg2video or h264 ... i am simply doing http://pastebin.com/raw/vxiuF0Xd
[00:35:42 CEST] <DHE> my sample TS video looks fine in wireshark, but isn't working properly in ffmpeg. so I'll have to figure this one out..
[00:35:57 CEST] <prelude2004c> the issue is 2 fold ( and they may not be related )... but  1. every 26.5 hours the encoding stops and i have to restart the event.  and 2. the closed caption that is embeded inside the video doesn't flow through to the output
[00:36:46 CEST] <DHE> considering your encoding pipeline through 3rd party apps, I'd say your closed captions issue isn't ffmpeg's fault
[00:36:53 CEST] <DHE> (libx264 supports closed captions btw)
[00:38:04 CEST] <prelude2004c> maybe you are right.. it could be nvtranscoder that looses it.  the problem with libx264 it uses up too much cpu power.. that is why we bought an M4000 Nvidia card to do the decoding/encoding on the hardware side
[00:38:15 CEST] <kierank> no it don't
[00:38:25 CEST] <kierank> you have to inject custom sei
[00:38:38 CEST] <prelude2004c> we have to fit like 10 HD channels through each machine.. but let's skip that closed caption issue until we figure out the more pressing issue which is .. why the streams stops at 26.5 hours every day
[00:39:12 CEST] <prelude2004c> kierank ? custom sei .. can you decipher that for me a bit more ?
[00:39:15 CEST] <DHE> holy shit that's an expensive video card
[00:39:28 CEST] <DHE> it's a term for the encoding of the H.264 codec payloads
[00:39:33 CEST] <prelude2004c> yup.. consumer version video cards only allow 2 streams  (  2 channel limit )
[00:40:07 CEST] <prelude2004c> getting around it would be another complete project :) 
[00:40:29 CEST] <DHE> wait, how many streams does it do? I've played with nvenc and ran into the 2 limit
[00:40:44 CEST] <prelude2004c> yes on consumer limit cards
[00:40:49 CEST] <prelude2004c> the M4000 has no limit
[00:41:31 CEST] <prelude2004c> the quadro cards have their limit released ... that's why i use it..can fit over 10 HD channels per card with less than 30% Overall CPU usage
[00:42:29 CEST] <prelude2004c> 2 cards = 20 channels.. etc etc.. only draw back is the BUS speed .. if i try to get 2 cards on one system i start running into board and ram / cpu issues .. so i dropped it back to 1 card per system.. still pretty damn good
[00:42:38 CEST] <DHE> okay, that makes sense in text
[00:42:49 CEST] <DHE> dual CPU?
[00:42:54 CEST] <prelude2004c> 24 ocre
[00:42:54 CEST] <DHE> *in context
[00:43:01 CEST] <prelude2004c> core*
[00:43:18 CEST] <prelude2004c> some have 16 cores.. depends on the system.. but its not the CPu's.. its bus speeds and stuff and the ram speed counts too
[00:43:42 CEST] <prelude2004c> all of that talking back and forth .. the system seems to act weird when you start going over like 15 channels... so i kept it light .. will test later with newer boards and stuff
[00:44:10 CEST] <prelude2004c> new gaming boards have a much higher threshold so.. i will test later.. but for now. i had the hardware in stock so i used it.. only problem is these two anoying issues i am running into
[00:45:13 CEST] <DHE> wow, what do you do that you just have cards like that laying around?
[00:45:24 CEST] <prelude2004c> lol no we had to buy them.
[00:45:59 CEST] <DHE> oh, supplier stock
[00:46:10 CEST] <prelude2004c> we were using a purchased product before that was using old nvidia 580 cards with cuda cores.. but i had to raise bit rate to 5Mbit/s to get decent quality out of them... and i can only fit 5 - 6 channels per card.  Now with the new cards i can do much better quality at 1.8Mbit/s 
[00:46:59 CEST] <prelude2004c> after nvidia moved the encoding/decoding to its own cores in the cards.. its become much better at it.. later would be nice to find a way to use the cuda cores too .. but i doubt it will work anymore.. + they were not as good in terms of quality.. these new cards have lossess on it
[00:47:13 CEST] <prelude2004c> the encoding between the CPU vs nvidia hardware is pretty much the same
[00:47:15 CEST] <prelude2004c> except they can do more
[00:49:05 CEST] <prelude2004c> now getting back to the problem at hand... so we need a fix for this whole 26.5 hours thing... how do we prevent the system from flipping out after that timeout
[00:50:07 CEST] <prelude2004c> for the closed caption thing.. do you guys think that i should do it with the nvtranscoder code ? its open source and i have all the .h and .c files .. so maybe in there it could be done to do something with the closed caption instead of throwing it away
[00:50:34 CEST] <DHE> I'm interesting in why ffmpeg's nvenc is inferior to nvtranscoder. streamline the whole process
[00:50:49 CEST] <DHE> libx264 has CC handling already, might be easily added to nvenc
[00:51:38 CEST] <prelude2004c> wow.. i am loving the idea of trying it.. i am totally ok with changing my approach if i can make it work correctly
[00:51:49 CEST] <prelude2004c> DHE , i can give you access to a test system if you wish .. 
[00:51:54 CEST] <prelude2004c> let you play with it
[00:52:21 CEST] <prelude2004c> i will give you access to the input stream, the M4000 card , etc
[00:52:24 CEST] <DHE> tempting, but I have an nvenc-enabled GPU right now. GTX770, nvenc and opencl both working
[00:52:37 CEST] <DHE> for testing I can dance around the 2-stream limit
[00:52:42 CEST] <prelude2004c> yes but who does your decoding ? 
[00:52:50 CEST] <DHE> ffmpeg
[00:52:54 CEST] <prelude2004c> oh cpu time right ?
[00:53:10 CEST] <prelude2004c> ya ok.. by comparison .. my whole entire ffmpeg process is like 20% of one more for each channel
[00:53:21 CEST] <prelude2004c> when i use ffmpeg to decode, it jumps over 100%
[00:54:32 CEST] <prelude2004c> my suggestion to have you play on the system was that i also found that source matters .. so your behavior may be slightly different depending on the input
[00:54:49 CEST] <prelude2004c> anyways just a thought.. i am looking to get to a solution that's all.. fastest way possible and whatever it takes 
[00:55:41 CEST] <prelude2004c> btw, DHE . not sure how the GTX 770 performance is compared to the M4000
[00:56:58 CEST] <prelude2004c> probably pretty close by the looks of it
[00:58:37 CEST] <prelude2004c> next project is to jack firmware to get the 2 stream limit lifted on your card :) 
[00:58:55 CEST] <DHE> let me see if I can get this sample made first...
[00:59:14 CEST] <prelude2004c> i bet nvidia just put some artificial limit on your card to have us buy more expensive ones
[01:00:56 CEST] <cone-624> ffmpeg 03Petru Rares Sincraian 07master:af56d0dffa3e: fate: add aemphasis test
[01:00:56 CEST] <cone-624> ffmpeg 03Michael Niedermayer 07master:2be3007ed55f: avformat/utils: avoid overflow in update_stream_timings() with huge durations
[01:00:56 CEST] <cone-624> ffmpeg 03Michael Niedermayer 07master:c1ed78a591f6: avformat/utils: avoid overflow in compute_chapters_end()  with huge durations
[01:00:56 CEST] <cone-624> ffmpeg 03Thomas Guilbert 07master:1a82d2cf8fb6: avformat/oggparseopus: Fix Undefined behavior in oggparseopus.c and libavformat/utils.c
[01:01:20 CEST] <DHE> now I'm intrigued. I must examine this patch
[01:02:28 CEST] <DHE> nope, seems unrelated
[01:05:23 CEST] <prelude2004c> DHE , tried to send you something but system will not let me 
[01:05:42 CEST] <DHE> oh, private messages? yeah I have that filtered by default. sorry.
[01:05:53 CEST] <prelude2004c> you may want to see it
[01:05:59 CEST] <prelude2004c> can't you message me?
[01:07:02 CEST] <DHE> sure go ahead then...
[01:16:10 CEST] <prelude2004c> here is something of a quick fix for you guys maybe.... [hls muxer @ 0x3832b00] failed to delete old segment http://10.0.200.2/webdav/disneyxd1648/disneyxd16482M16041.ts: No such file or directory ... the PUT works as per my code.. but how come delete doesn't work? nginx has the put, delete everything allowed from that source
[01:16:17 CEST] <prelude2004c> very odd how it can't delete..must be another bug
[01:17:14 CEST] <prelude2004c> less concerned as i can just do an nfs mount but just through i would mention it.. if i am missing something or it's a bug
[01:19:19 CEST] <BtbN> you can't delete via PUT.
[01:19:35 CEST] <BtbN> Use DELETE for that.
[01:19:46 CEST] <BtbN> or REMOVE, or whatever HTTP decided to call it
[01:19:52 CEST] <DHE> and I can't find a DELETE reference in the code. heck I can't even find PUT except for icecast
[01:20:20 CEST] <BtbN> I think it's set via command line in the http output as method...
[01:20:35 CEST] <prelude2004c> do you mean -method PUT -method DELETE
[01:20:39 CEST] <prelude2004c> i can use multiple like that ?
[01:20:42 CEST] <BtbN> No.
[01:20:47 CEST] <prelude2004c> ok didn't think so 
[01:20:57 CEST] <BtbN> I'd guess it's simply not supported.
[01:21:00 CEST] <nevcairiel> the http  protocol doesnt support file management operations, so you cant have it delete things
[01:21:17 CEST] <BtbN> What the hell are you even doing? hls via http, what?
[01:21:21 CEST] <prelude2004c> got it... by default its POST .. so i changed it to PUT
[01:21:21 CEST] <nevcairiel> its only implemented for file and ftp i think
[01:21:30 CEST] <prelude2004c> its outputting to webdav
[01:21:35 CEST] <prelude2004c> for remote file writing and deleting
[01:21:38 CEST] <BtbN> yeah, don't do that.
[01:21:54 CEST] <prelude2004c> works for write :P ..
[01:22:15 CEST] <DHE> may I recommend a CIFS share?
[01:22:24 CEST] <BtbN> CIFS over the internet?
[01:22:27 CEST] <prelude2004c> then i have a script taking care of the delete on the other side.. not a big deal.. i can also nfs mount or sftp mount or whatever.. forget this.. just thought i would bring it up thinking maybe some silly bug or maybe my mistake
[01:22:39 CEST] <BtbN> Why not just a good old rtmp stream, and another ffmpeg instance on the other end writing the HLS?
[01:22:48 CEST] <prelude2004c> its local network actually .. but some people may want to use webdav, just saying
[01:22:59 CEST] <BtbN> You are creating a huge bunch of hacks for something where clean implementation exists for.
[01:23:12 CEST] <prelude2004c> hey i like to get creative :P
[01:23:29 CEST] <BtbN> Well, then don't complain if stuff doesn't work.
[01:23:31 CEST] <prelude2004c> actually i was thinking before that my nfs mount was a problem.. hence the drops 
[01:23:43 CEST] <prelude2004c> but then i moved to webdav and still same so that's not it
[01:24:28 CEST] <prelude2004c> anyways ok... i wont use webdav.. will swap it out again to local mount which already exists.. that will solve the delete function issue.. so i dont care much about that
[01:24:56 CEST] <prelude2004c> would be good to support though because i can see some people may want to use it and it may be something simple to do
[01:24:59 CEST] <prelude2004c> just an idea
[01:25:57 CEST] <BtbN> Just mount them?
[01:26:22 CEST] <BtbN> But none of these protocols are good for streaming data like that.
[01:26:35 CEST] <BtbN> Set up an nginx-rtmp or something on the streaming server.
[01:27:07 CEST] <prelude2004c> i have the mount already in place from one system to the other.. i used http to test if it was not that mount doing something .. only after i changed it and it kept happening did i begin to understand the 26.5 hour problem.. so i just have to put things back to the mount instead of the webdav
[01:27:39 CEST] <prelude2004c> no its not really a streaming server where  it goes.. its going out to a network point that holds all the encoder data and then the distribution network pulls from it
[01:27:45 CEST] <prelude2004c> all that is working 100% 
[01:54:18 CEST] <drazin> can anyone instruct me how to apply a patch to ffmpeg?
[01:55:16 CEST] <DHE> save the patch to disk, use "patch -pX < inputfile.patch" where X is typically either 1 or 0
[01:55:39 CEST] <drazin> can i do that to the .exe?
[01:55:42 CEST] <DHE> if it's a git repo, git has funcitons for that
[01:55:52 CEST] <DHE> no, patches are source code modifications. once applied you have to recompile
[02:02:02 CEST] <DHE> that explains so much, and why this code sucks.
[02:02:43 CEST] <drazin> damn
[02:02:56 CEST] <DHE> this is unrelated to your thing
[02:03:11 CEST] <drazin> oh lol
[02:13:25 CEST] <drazin> anyone in windows willing to do me a favor ;)
[02:18:26 CEST] <DHE> testing a sorta hacky patch
[02:38:05 CEST] <DHE> prelude2004c: the hack works I think. fixing a big and running again
[02:46:15 CEST] <prelude2004c> F&$%$N A :P .. isn't that such an old expression
[02:46:53 CEST] <prelude2004c> DHE , you are awsome
[02:47:03 CEST] <DHE> wait for the test to come back positive
[02:47:11 CEST] <DHE> ly
[02:47:56 CEST] <DHE> it'll be ~12 minutes
[02:50:23 CEST] <prelude2004c> i know you can do it
[02:50:35 CEST] <prelude2004c> is it a bug or a new flag that could be added
[02:50:44 CEST] <prelude2004c> maybe creating a flag that can be set or someting
[02:50:51 CEST] <prelude2004c> then people can use it whenever they need it
[02:52:18 CEST] <DHE> right now it's just a new mode of dealing with timestamps. there are certain API usages that will cause issues, but basic ffmpeg should just work
[02:56:58 CEST] <prelude2004c> ic.. you mean coming from a live .ts source was a problem ?
[03:21:59 CEST] <Shiz> /w 29
[03:32:34 CEST] <DHE> as I said earlier, I recorded about 28 hours of live streaming for use as a test video.
[04:44:52 CEST] <cone-318> ffmpeg 03Michael Niedermayer 07master:17d320800b70: avformat/movenc: Avoid integer overflow
[04:44:52 CEST] <cone-318> ffmpeg 03Michael Niedermayer 07master:dac030d3aa1b: avformat/movenc: Fix potential track width/height overflows
[04:58:13 CEST] <rcombs> is there actually no way to express non-standard channel layouts in vorbis and opus, or does lavc just not support it?
[09:15:28 CEST] <cehoyos> rcombs: Years ago, there was no way, if this has changed, please provide a sample (and name the application that can handle it)
[09:15:59 CEST] <rcombs> no sample; just wondering
[09:25:09 CEST] <cehoyos> I checked it four or five years ago: At that time, no special layouts were supported, I never looked at it again.
[10:19:22 CEST] <nevcairiel> as far as I know opus only supports the vorbis  layouts at this time rcombs, but it is designed with flexibility in mind and could adopt any other kind of channel layout standards
[10:20:02 CEST] <rcombs> I'm of half a mind to add arbitrary mapping support to lavc, start using it in my own applications, and see if it catches on
[10:20:03 CEST] <nevcairiel> (ie. it carries a tag to identify which kind of channel mapping i used, tag 0 is mono/stereo without channel mappings, tag 1 is vorbis
[10:20:33 CEST] <nevcairiel> and producing files that do not conform to any standard is not something avcodec should be doing
[10:53:42 CEST] <kierank> Opus in MPEGTS has a mapping rcombs 
[14:40:15 CEST] <cone-020> ffmpeg 03Michael Niedermayer 07master:cbd19881f7e4: avformat/udp: Remove unused variable
[14:54:20 CEST] <ubitux> http://lists.ffmpeg.org/pipermail/ffmpeg-user/2016-May/032266.html mmh.
[15:02:36 CEST] <andrey_turkin> BtbN: I've finished reworking my previous patches to separate all the "good" parts: https://github.com/tea/FFmpeg/commits/nvenc. All those patches (except for last) are IMO useful on their own and they also bring ffmpeg/libav implementations closer together. Compatibility impact should be minimal.
[15:07:48 CEST] <durandal_1707> michaelni: you know how gradient prediction in huffyuv works?
[15:37:18 CEST] <BBB> ubitux: maybe nevcairiel can help with that, he was quite familiar with the transition
[16:59:16 CEST] <prelude2004c> hey guys.. anyone know why segmenting has run away files ? 
[16:59:35 CEST] <prelude2004c> i am segmenting files but for some reason the segmenter sometimes doesn't turn files over and keeps going until they fill up the hard drive
[17:13:11 CEST] <DHE> wrong channel
[17:15:45 CEST] <DHE> but see the help for -hls_flags
[17:49:32 CEST] <michaelni> durandal_170, IIRC the 2 variants are T+L-TL and median(T,L, T+L-TL)
[17:51:19 CEST] <cone-657> ffmpeg 03Michael Niedermayer 07master:52ca24bdd2d1: avutil/softfloat: Improve doxy for av_sub_sf() and av_sf2int()
[17:51:19 CEST] <cone-657> ffmpeg 03Michael Niedermayer 07master:7ae4d574e873: avfilter/vf_fieldhint: Assert that mode is valid
[18:43:42 CEST] <prelude2004c> -hls_flags delete_segments   i am aware of the delete segments  but i am thinking its a bug in the code or something because it sometimes doesn't happen for an entire day or two days and sometimes two hours.. then the file segment doesnt' actually change to next file and whatever last file was being written just goes on and on forever without cutting into a new file
[18:56:52 CEST] <BtbN> I guess you are still using your fuse webdav/ssh mount?
[19:00:16 CEST] <DHE> I feel it's not quite appropriate for this channel, our previous chat kinda spilled into here back when we had an actual ffmpeg bug/misfeature going on
[19:02:30 CEST] <cone-657> ffmpeg 03Michael Niedermayer 07master:be96ebdcd795: avfilter/vf_fieldhint: Reorder operation to prevent hypothetical integer overflow
[22:09:48 CEST] <drazin> can anyone help me with applying a patch then compiling ffmpeg in windows
[22:14:13 CEST] <Compn> drazin : did you askin  #ffmpeg ?
[22:14:23 CEST] <drazin> yeah, no help so far
[22:17:21 CEST] <DHE> he's looking for a windows build but he doesn't have a compiler
[22:18:41 CEST] <durandal_1707> drazin: what patch?
[22:19:10 CEST] <drazin> https://gist.github.com/outlyer/4a88f1adb7f895b93fd9
[22:22:14 CEST] <drazin> durandal_1707: can you help
[22:22:45 CEST] <durandal_1707> I'm on ubuntu
[22:29:55 CEST] <drazin> can it compile an exe on there?
[22:30:40 CEST] <durandal_1707> nope
[22:33:08 CEST] <DSM_> drazin: you can use Cygwin. to apply patch you'll need git and some packages. https://www.ffmpeg.org/platform.html#toc-Compilation-under-Cygwin
[22:33:53 CEST] <drazin> ok i have cygwin from my previous go
[22:34:01 CEST] <drazin> but was usisng differnt instructions
[22:39:25 CEST] <drazin> DSM_: the problem is that when i try to install packages in that list i get this https://dl.dropboxusercontent.com/spa/tr6kpc6gjq961c0/d2jgmvr5.png
[22:43:10 CEST] <drazin> oh
[23:02:56 CEST] <cone-657> ffmpeg 03Michael Niedermayer 07master:645f7c1ce547: avfilter/f_loop: Fix leak on error
[00:00:00 CEST] --- Mon May 30 2016


More information about the Ffmpeg-devel-irc mailing list