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

burek burek021 at gmail.com
Fri Sep 16 03:05:02 EEST 2016


[00:00:13 CEST] <kepstin> vans163: with MSE you go though the buffering interface, and feed it video frames muxed inside a container of some sort :/
[00:00:52 CEST] <vans163> so the consensus seems to go back to Broadway.js, NaCl, Chrome App, or 3rd party program
[00:01:04 CEST] <furq> this doesn't apply to webrtc
[00:01:34 CEST] <vans163> seems reports say WebRTC cant play zero latency encoded video / custom encoded. But I guess culd use a test to know 10)%
[00:01:47 CEST] <furq> i'd be really surprised if that was the case
[00:02:47 CEST] <furq> is the openh264 decoder usable in ffmpeg
[00:02:51 CEST] <furq> i don't have a build with it to check
[00:03:20 CEST] <TD-Linux> <kepstin> it actually uses gstreamer to get a decoder on linux <- nope, dlopens libavcodec
[00:03:40 CEST] <kepstin> TD-Linux: huh, that must have changed at some point. Last time I looked, it dlopened gstreamer.
[00:03:53 CEST] <TD-Linux> at some point being like two years ago :)
[00:04:51 CEST] <kepstin> hmm, looks like chrome's webrtc support is also using openh264 (for encoding, at least, dunno about decoding)
[00:04:52 CEST] <TD-Linux> hwdec is painful for webrtc because it traditionally has required a large amount of buffering and adds lag
[00:05:15 CEST] <furq> it looks like there's a patch for decoding with openh264
[00:05:15 CEST] <kepstin> I guess they didn't want to deal with the complications of GPL code for x264
[00:05:27 CEST] <furq> that should be an easy way to test if your stream will decode with webrtc
[00:05:47 CEST] <TD-Linux> kepstin, well plus x264 isn't a decoder and isn't designed for webrtc
[00:06:12 CEST] <furq> license fees are paid up as well
[00:06:28 CEST] <kepstin> TD-Linux: chrome already has an embedded copy of libavcodec that they use for h264 decoding, i'm pretty sure.
[00:06:35 CEST] <vans163> This looks relevent https://bugs.chromium.org/p/chromium/issues/detail?id=450205
[00:06:38 CEST] <kepstin> like 65% sure
[00:06:39 CEST] <vans163> Maybe NaCl is the way to go
[00:06:41 CEST] <TD-Linux> kepstin, right, but firefox doesn't
[00:06:54 CEST] <vans163> You can use the Pepper Decoder
[00:07:04 CEST] <vans163> (and avoid paying h264 licensing fee)
[00:07:26 CEST] <furq> ugh
[00:07:42 CEST] <furq> seeing that bug report reminded me of what chrome's user-agent string is and why the web is a garbage world
[00:07:49 CEST] <TD-Linux> <vans163> seems reports say WebRTC cant play zero latency encoded video
[00:07:51 CEST] <TD-Linux> wat
[00:08:07 CEST] <TD-Linux> webrtc is pretty much exclusively used for zero lag (no b frame) video
[00:08:12 CEST] <furq> yeah that's the whole point
[00:08:26 CEST] <furq> you can use the openh264 encoder if you want to be extra sure
[00:08:28 CEST] <vans163> TD-Linux: Reports say that video they encode with NvEnc for example cant be played by WebRTC, but one user said he had success
[00:08:44 CEST] <TD-Linux> use the right options to nvenc?
[00:09:09 CEST] <vans163> TD-Linux: If that is the case those options are not documented anywhere
[00:09:24 CEST] <furq> just test it and see if it works
[00:09:24 CEST] <vans163> might take a while, and it might be fruitless
[00:09:24 CEST] <kepstin> vans163: it was probably using some non-baseline feature (CABAC maybe?)
[00:09:30 CEST] <DHE> openh264 only supports baseline codecs, so you need to specify that. main or high are more likely to be encoder defaults
[00:09:45 CEST] <furq> if nvenc has a zero-latency option then it should be baseline anyway
[00:09:54 CEST] <furq> if it's anything like x264's then it will be
[00:10:03 CEST] <vans163> kepstin: could be that the video was encoded with NvEnc but it was a non-baseline / high latency good qualitry
[00:10:15 CEST] <TD-Linux> https://ffmpeg.org/doxygen/trunk/nvenc_8h.html
[00:10:38 CEST] <TD-Linux> try reading the docs
[00:11:06 CEST] <vans163> TD-Linux: I try, there is just so much information to take in
[00:11:14 CEST] <DHE> not a lot of options, but baseline and 1-pass mode should give the closest equivalent to zerolatency mode
[00:11:28 CEST] <TD-Linux> I mean it literally has a low latency mode.
[00:11:44 CEST] <DHE> oh? even better
[00:11:45 CEST] <furq> also didn't you already say that you'll probably need to use a software encoder
[00:11:51 CEST] <kepstin> x264 zerolatency mode doesn't actually disable cabac, so if you use it with a preset other than ultrafast, it'll generate non-baseline
[00:11:55 CEST] <vans163> TD-Linux: Yea but that low latency mode, what does it mean, it does things behind the scenes, liek setting 1 pass, 0 bframe etc
[00:11:58 CEST] <furq> ffmpeg supports the exact encoder used by webrtc
[00:12:26 CEST] <TD-Linux> in fact both of them (most webrtc calls are vp8)
[00:13:00 CEST] <vans163> furq: 2 options, 1 to use NvEnc, 1 to use software.  Am looking at both currently.
[00:14:00 CEST] <vans163> so software ffmpeg shuld most likely work with webrtc
[00:14:18 CEST] <vans163> the annoying part would be getting the webrtc serverside coded up
[00:14:34 CEST] <vans163> maybe I can leverage off a library to test basics with
[00:17:56 CEST] <kepstin> you should probably be starting with the standalone webrtc codebase from chrome, if you don't want the pain of attempting to implement something interoperable :/
[00:18:47 CEST] <kepstin> but I know that e.g. freeswitch can talk to browser webrtc, and I think there might be a few other independent implementations.
[00:20:43 CEST] <vans163> kepstin: NaCl is looking more and more great, also one user of Broadway.js switched to using Pepper APIs to decode x264
[00:20:57 CEST] <vans163> assuming he switched to NaCl or Chrome App?
[00:21:02 CEST] <vans163> (he did not mention)
[00:22:18 CEST] <kepstin> Isn't nacl only available to chrome apps or extensions?
[00:23:43 CEST] <TD-Linux> janus worked pretty well as a standalone gateway when I tried it
[00:24:11 CEST] <TD-Linux> can blast rtp or rtsp in
[00:25:50 CEST] <vans163> Yup he used pnacl decoder instead
[00:25:58 CEST] <vans163> https://github.com/koush/vysor.io/tree/master/public/app/video_decode/pnacl/Release
[00:27:11 CEST] <vans163> funny thing is he included a comiled verison no source code
[00:27:15 CEST] <vans163> so ppl would not steal the idea i guess :(
[00:27:18 CEST] <vans163> makes my work harder :(
[00:27:36 CEST] <vans163> (the rest of project is open source)
[00:27:38 CEST] <TD-Linux> he switched because he got a visit from MPEG-LA
[00:27:42 CEST] <vans163> yup
[00:28:10 CEST] <vans163> kepstin: You cannot launch NaCl app from webpage like you launch flash/java before?
[00:29:34 CEST] <vans163> the examples lead me to believe you can, but its not stated clearly anywhere
[00:32:24 CEST] <furq> TD-Linux: that looks pretty cool
[00:32:56 CEST] <furq> even if the person for whom that was obviously intended doesn't seem to have noticed it
[00:34:02 CEST] <TD-Linux> furq, yeah, it's the closest thing I've found to "icecast but for webrtc"
[00:34:16 CEST] <furq> yeah i was looking for something like that a while back
[00:34:30 CEST] <furq> it's a shame there is no middle ground in browsers between no latency and 20 seconds of latency
[00:34:43 CEST] <furq> i'd be totally fine with 2-3 seconds and it would make my life a lot easier
[00:35:36 CEST] <TD-Linux> MSE chunks with no iframe is probably the way to go there
[00:38:55 CEST] <furq> that sure sounds like i'd have to write javascript
[00:41:58 CEST] <TD-Linux> yeah I'd go for webrtc but I don't think there's a way to set a huge jitter buffer
[00:42:57 CEST] <furq> baseline-only is my main objection to webrtc
[00:43:16 CEST] <furq> although i imagine the buffer isn't ideal either
[00:53:44 CEST] <vans163> furq: things like janus are great to test with (present a low latency stream to WebRTC and see how it decodes)
[01:13:33 CEST] <vans163> It seems you can run NaCl compiled things inside Chrome!
[01:13:41 CEST] <vans163> and communicate with it by sending messages and recving from the webpage
[01:14:39 CEST] <vans163> will probably get to this tomorrow, but this looks great so far
[01:15:00 CEST] <vans163> pepper media api that NaCl allows you to call will take advantage of any hardware decoders available
[02:15:12 CEST] <Kiicki> Do you guys normally download music from Youtube or is there a better place? The bitrate there is not really that impressive when I look at it.
[02:15:12 CEST] <Kiicki> http://pastebin.com/raw/7CxB2w9y
[02:18:53 CEST] <tdr> Kiicki, depending on the tool you use to grab it, you can specify format and/or bitrate
[02:19:19 CEST] <DHE> is 192 AAC 2-channel that bad?
[02:19:44 CEST] <klaxa> if the person uploaded a 96 kbps mp3 in the first place, yes
[02:19:56 CEST] <klaxa> but i doubt that would get encoded to 192k aac
[02:20:05 CEST] <klaxa> youtube should be smart enough to not do that
[02:20:06 CEST] <furq> yeah youtube being a bad place to download music has nothing to do with the bitrate it's served at
[02:20:13 CEST] <furq> and also it will be encoded to 192k aac
[02:20:14 CEST] <Kiicki> so 192 should be fine, if it's actually that?
[02:20:23 CEST] <klaxa> huh, funny
[02:20:37 CEST] <furq> the video/audio quality is based entirely on the video height
[02:21:24 CEST] <klaxa> can i upload a 2x1080 video?
[02:21:29 CEST] <furq> probably
[02:21:31 CEST] <furq> try it and find out
[02:21:45 CEST] <Kiicki> I usually convert from Youtube so I think I even lose more quality than it already has. I use a GUI program that's called "youtube to mp3 converter" where I chose the setting "mp3 original quality"
[02:22:14 CEST] <furq> i've seen 600x1080 videos on youtube
[02:22:15 CEST] <Kiicki> I also have the option to do "AAC original quality" and I guess that would be better, but since it's already compressed, I chose mp3 because it just works with everything
[02:22:17 CEST] <furq> you probably have too
[02:22:26 CEST] <furq> Kiicki: if you must download music off youtube then use youtube-dl
[02:22:43 CEST] <furq> and there is no such thing as "mp3 original quality" on youtube
[02:22:45 CEST] <furq> they don't serve mp3
[02:22:49 CEST] <Kiicki> I know
[02:22:57 CEST] <Kiicki> They do AAC
[02:23:16 CEST] <Kiicki> youtube-dl is just not suited for me
[02:23:16 CEST] <furq> so that's another extra transcode
[02:23:21 CEST] <Kiicki> yeah
[02:23:41 CEST] <Kiicki> but does it get to bad with 2 transcodes?
[02:23:48 CEST] <furq> probably three
[02:23:55 CEST] <furq> unless the upload was lossless
[02:24:04 CEST] <Kiicki> Most likely not
[02:24:22 CEST] <Kiicki> ooh, how I miss the Limewire days
[02:24:27 CEST] <furq> i'm going to go and cry into my eac logs
[02:24:58 CEST] <klaxa> how long does it take to process a 20 second 2x1080 video with all green pixels :|
[02:25:21 CEST] <furq> do not try to understand the mysteries of youtube
[02:25:32 CEST] <Kiicki> Just do it
[02:26:04 CEST] <Kiicki> I guess I would just deal with the worse quality. It's still free though, and youtube-dl is not an option
[02:26:33 CEST] <furq> fwiw soulseek is still going
[02:26:42 CEST] <furq> if anyone remembers that
[02:26:57 CEST] <Kiicki> nah, never heard of it
[02:26:58 CEST] <furq> i use it for super-obscure stuff occasionally
[02:27:05 CEST] <furq> it's better than fucking youtube anyway
[02:27:05 CEST] <klaxa> wait what
[02:27:22 CEST] <klaxa> sounds like direct connect, but not really intranet only
[02:27:33 CEST] <furq> dc isn't intranet only
[02:27:38 CEST] <furq> i still use that occasionally as well
[02:27:49 CEST] <Kiicki> Yeah, but at least Youtube pretty much has it all
[02:27:59 CEST] <furq> soulseek is more like a traditional p2p client
[02:28:01 CEST] <klaxa> usually it's set up like that though, isn't it?
[02:28:05 CEST] <furq> in that you can search the whole network
[02:28:16 CEST] <furq> i wouldn't say usually, there's loads of internet hubs
[02:28:22 CEST] <furq> it's often used for filesharing at universities and stuff though
[02:29:26 CEST] <klaxa> how does soulsearch not get me into jail?
[02:29:56 CEST] <klaxa> have people been arrested for using it?
[02:30:01 CEST] <furq> shrug
[02:30:02 CEST] <furq> i doubt it
[02:30:08 CEST] <furq> does anyone still care about p2p networks
[02:30:39 CEST] <klaxa> wow this was 2008 https://torrentfreak.com/music-industry-takes-soulseek-to-court-081120/
[02:30:41 CEST] <furq> everyone outside of china has given up on them now
[02:30:47 CEST] <furq> 2008 is already pretty late
[02:30:51 CEST] <furq> its heyday was over 10 years ago
[02:31:18 CEST] <klaxa> i think the anime industry still doesn't like perfect dark and co
[02:31:27 CEST] <furq> those seem pretty much dead these days
[02:31:33 CEST] <klaxa> i read about people getting arrested a few years ago or so
[02:31:39 CEST] <furq> afaik the only thing still widely used is ed2k in china
[02:31:46 CEST] <furq> everyone else just uses torrents
[02:32:41 CEST] <klaxa> yeah, there's not really a reason not to
[02:32:51 CEST] <furq> the last perfect dark arrests were in 2010 according to wikipedia
[02:33:05 CEST] <klaxa> except that you need some sort of external index
[02:33:08 CEST] <klaxa> oh
[02:33:15 CEST] <furq> well the main problem is lifetime
[02:33:45 CEST] <furq> i wouldn't resort to soulseek if this stuff was easy to find
[02:35:09 CEST] <klaxa> oh yeah, torrents die quick
[02:37:23 CEST] <klaxa> well with companies focusing on streaming with subscription it's to be expected that piracy drops, no?
[02:37:37 CEST] <klaxa> i don't like these models though
[02:38:19 CEST] <klaxa> what's even worse is DRM on physical devices
[02:38:30 CEST] <klaxa> see, i bought blurays, but i can't watch them
[02:38:48 CEST] <Kiicki> I still torrent. Just to prefer to have the content
[02:38:54 CEST] <Kiicki> just prefer*
[02:51:41 CEST] <klaxa> video still not processed, lol
[02:57:27 CEST] <furq> huh
[02:57:42 CEST] <furq> i tried it and it's not even bothered trying
[02:57:51 CEST] <furq> just gives me "upload failed"
[02:59:42 CEST] <furq> fun
[02:59:47 CEST] <furq> 32x1080 is no good but 64x1080 is fine
[05:49:46 CEST] <ItWasntMe2013> does anyone know if its possible to screen grab a specific window on OSX instead of having to set X and Y for a location on the screen?
[07:18:43 CEST] <beastwick987> Is anyone here knowledgeable about vbv-bufsize?
[10:10:59 CEST] <nitenq> Hi, is there a way to get the latency of an RTMP video stream using ffmpeg ?
[10:59:05 CEST] <sunny26> While using a avbitstreamfilter am getting "Packet header is not contained in global extradata"  error
[10:59:18 CEST] <sunny26> can anyone please help
[11:07:32 CEST] <BtbN> Well, it means quite exactly that. There is no packet header in the global extradata.
[11:08:01 CEST] <BtbN> https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/h264_mp4toannexb_bsf.c#L99
[11:10:21 CEST] <sunny26> I have used this bitstream filter inside my decoder
[11:10:31 CEST] <sunny26> can you please suggest what to do !
[11:10:51 CEST] <sunny26> also posted this on libav-user community
[11:11:02 CEST] <sunny26> http://libav-users.943685.n4.nabble.com/Libav-user-Demuxer-not-giving-proper-data-to-decoder-td4662628.html#a4662645
[11:55:27 CEST] <jkqxz> sunny26:  Maybe the stream is already in annex B format?  What sort of file are you reading from?
[11:56:19 CEST] <sunny26> mp4 container
[11:57:02 CEST] <sunny26> in am getting error when using av_bitstream_filter_filter API
[11:57:25 CEST] <sunny26> where i use incoming avcodeccontex
[12:00:50 CEST] <sunny26> jkqxz: http://pastebin.com/7Ev7Eh6d
[12:01:33 CEST] <sunny26> jkqxz: can you suggest what am missing !
[12:03:02 CEST] <jkqxz> Have a look at the bytes inside the packet.  Is it already in annex B format?
[12:18:13 CEST] <sunny26> jkqxz: nope its in avcc format
[12:18:26 CEST] <sunny26> i just double checked it
[12:18:54 CEST] <sunny26> the problem here is the use of avctx, this avcodeccontex is of decoder
[12:19:32 CEST] <sunny26> If i use the same api "av_bitstream_filter_filter" in my application, this works fine
[12:19:56 CEST] <sunny26> My aim is to make sure that any incoming data be in annexb format
[12:20:15 CEST] <sunny26> my usecase is currently only limited to mp4 files
[12:20:45 CEST] <sunny26> so am using h264_mp4toannexb filter on incomming packet data
[12:21:06 CEST] <sunny26> jkqxz: suggest what should i do !
[14:09:28 CEST] <thunfisch> can i capture the same v4l2 device with 2 different ffmpeg processes? or is this not at all possible? can't try it out right now, hardware is in office and i'm at home
[14:11:33 CEST] <JEEB> y/33
[14:17:16 CEST] <roxlu> Hey, I'm using ffmpeg to extract a piece from a video. I want to skip the first X-seconds. The output of ffmpeg shows me the resulting video is e.g. 19s (which it should be), but ffprobe shows me it's 24 seconds. Any idea why I get these differences? I've pasted the output here: https://gist.github.com/roxlu/4dd865fb5478a2da84c26a509dcd565b
[14:27:56 CEST] <AnonBaiter> again, how do I load a headerless input data?
[14:28:14 CEST] <AnonBaiter> does a input file need a specific header in order to work?
[14:28:24 CEST] <JEEB> no, ffmpeg can take in raw YCbCr for example
[14:28:42 CEST] <JEEB> although many people use y4m for such use cases
[14:29:50 CEST] <AnonBaiter> then why I do something like this and not works:
[14:30:04 CEST] <AnonBaiter> -acodec adpcm_ima_wav -f data -ar 44100 -i
[14:30:09 CEST] <AnonBaiter> [input file] -ac 2
[14:31:46 CEST] <roxlu> When I have a video of 36 seconds and I use `./ffmpeg -ss 00:00:11 -i in.webm -c copy -y out.webm` will the resulting video always be exactly 25 seconds?
[14:32:05 CEST] <furq> roxlu: -ss -c copy cuts at the nearest keyframe
[14:33:00 CEST] <roxlu> furq: ah thanks I was thinking that might be the reason, but here: https://trac.ffmpeg.org/wiki/Seeking I read that it's frame accurate; or do I need to reencode for that?
[14:33:25 CEST] <furq> seeking is frame accurate but cutting has to start at a keyframe
[14:33:30 CEST] <furq> unless you reencode
[14:33:35 CEST] <roxlu> Ok, thanks a lot furq
[14:39:45 CEST] <klaxa> furq: it's still processing :^)
[14:39:51 CEST] <furq> nice
[14:39:55 CEST] <klaxa> the 20 seconds all green 2x1080 video that is
[14:40:06 CEST] <klaxa> https://www.youtube.com/watch?v=sCAfpQxZWag
[14:40:08 CEST] <furq> i tried a few and they threw an error immediately
[14:40:22 CEST] <furq> 48x1080 worked though
[14:40:38 CEST] <furq> https://www.youtube.com/watch?v=RaFrYpjOcsM
[14:40:50 CEST] <furq> although there's no 1080p version
[14:41:19 CEST] <klaxa> huh
[14:43:32 CEST] <furq> http://vpaste.net/c0pDr
[14:43:33 CEST] <furq> what
[14:43:37 CEST] <furq> youtube is weird
[14:43:59 CEST] <klaxa> wow i'll stop trying to understand how they think
[14:44:36 CEST] <furq> it's good that they're using 128k aac to reproduce the full quality of this sine wave
[14:44:44 CEST] <klaxa> how can you even put 2310k in that video
[14:44:45 CEST] <AnonBaiter> anyone?
[14:44:59 CEST] <furq> well the 720p video doesn't even show up for me in the player
[14:45:03 CEST] <furq> and the 1080p video is 7kbps
[14:45:45 CEST] <klaxa> AnonBaiter: -f data is probably not what you want, maybe -f rawaudio?
[14:46:40 CEST] <klaxa> uhh that doesn't exist
[14:46:48 CEST] <klaxa> what are you trying to do exactly?
[14:47:13 CEST] <klaxa> i'm guessing let ffmpeg interpet some raw stream as audio
[14:48:56 CEST] <klaxa> i don't think you need -f data at all then
[14:49:12 CEST] <AnonBaiter> what do I need, exactly?
[14:51:34 CEST] <bencoh> klaxa: have a look at ffmpeg -formats|grep -i pcm instead of "rawaudio"
[14:52:36 CEST] <klaxa> something like this works: ffmpeg -c:a pcm_s16le -ar 44100 -f s16le -i /dev/zero -c copy test.wav
[14:53:32 CEST] <klaxa> depends on your file what codec and format you need
[14:56:17 CEST] <AnonBaiter> but what if it doesn't work?
[14:56:28 CEST] <AnonBaiter> "unknown input format" or something
[14:56:49 CEST] <AnonBaiter> wait
[15:19:49 CEST] <mr_dude> hello guys, anyone here can help me setting some parameters on ffmpeg?
[15:20:45 CEST] <mr_dude> When I put this code on ffmpeg, I can capture my PCI TV card with an preview to see what happens, and I notice that hte sdl preview has a range of 16-235 instead of 0-255 that the output puts. Here's the code that I'm using and an screenshot
[15:20:56 CEST] <mr_dude> ffmpeg -framerate 29.97 -vsync 1 -video_size 720x480 -f dshow -rtbufsize 250000k -crossbar_video_input_pin_number 1 -i video="713x BDA Analog Capture":audio="Line (VIA High Definition Audio" -t 1:16:00 -vf "yadif=0:0:1,format=rgb24" -c:v libx264 -preset medium -crf 15 -maxrate 1800k -bufsize 3500k -preset medium -c:a aac -b:a 192k -strict -2 -r 29.97 "ttt.mp4" -c:v copy -an -f sdl "VHS"
[15:21:00 CEST] <mr_dude> http://i.imgur.com/tWq97c7.jpg
[15:21:23 CEST] <mr_dude> I want to put the same range of sdl colors (left video) in output (right video), how can I do that using my code?
[15:23:32 CEST] <mr_dude> btw when I add "-color_range 1" parameter doens't seem to work
[15:41:13 CEST] <nonex86> just curious, is it possible to copy streams (video/audio) from mpeg2ps to mkv (without reencoding) using ffmpeg cli?
[15:41:40 CEST] <furq> sure
[15:41:59 CEST] <nonex86> the problem is mpeg2video not always have pts set
[15:42:10 CEST] <nonex86> as a result i have an error message:
[15:42:30 CEST] <nonex86> Cant write packet with unknown timestamp
[15:42:37 CEST] <furq> try with --flags +genpts
[15:42:42 CEST] <furq> -fflags +genpts
[15:42:51 CEST] <nonex86> ok, thanks, one moment
[15:43:49 CEST] <nonex86> ffmpeg -i %1 -fflags +genpts -dn -c:v copy -c:a copy %2
[15:43:54 CEST] <nonex86> is it correct?
[15:44:02 CEST] <nonex86> because i have same error
[15:44:32 CEST] <furq> put it before -i
[15:44:36 CEST] <nonex86> ok
[15:45:06 CEST] <nonex86> brilliant, thank you :3
[16:33:44 CEST] <ses1984> hey, i'm not that knowledgeable about all the correct terminology so i was hoping a human could help me figure out what to search for... i was wondering if ffmpeg would work for my use case
[16:33:48 CEST] <ses1984> there are two live video feeds i want to consume, one is over rtsp and the other is something like... asf over http? not sure ... i was wondering if i could get the stream, apply some filters, and then pipe it to something else like a gui video player
[16:33:52 CEST] <ses1984> i'm not sure if ffmpeg is the right tool for the job, or there is some other tool i need to use instead of, or in addition to, ffmpeg
[16:51:33 CEST] <pgorley> hi, i want to compile the .so for ffmpeg, what configure options do i need to use? i've tried --enable-shared with no success
[16:52:27 CEST] <BtbN> "the .so"?
[16:52:33 CEST] <DHE> ffmpeg is actually several libraries, should be libavcodec.so, libavformat.so, and so on and so forth
[16:52:39 CEST] <BtbN> --enable-shared should give you all the libav* libraries as .so
[16:52:42 CEST] <pgorley> oops, i wasn't using the right prefix :S
[16:52:46 CEST] <pgorley> sorry about that
[16:52:58 CEST] <DHE> ah, so they got dumped into /usr/local and you weren't expecting it
[16:53:13 CEST] <pgorley> yes
[16:58:49 CEST] <iamawesome> Hi, how can i convert from out.ogv to out.avi ?
[16:58:59 CEST] <iamawesome> I don't want to lose quality.
[16:59:18 CEST] <iamawesome> ffmpeg -i out.ogv out.avi loses quality
[16:59:38 CEST] <kepstin> iamawesome: if the video is a codec supported in avi, you can do ffmpeg -i out.ogv -c copy out.avi
[16:59:56 CEST] <kepstin> if not, then you'll have to transcode, and pick a codec+options that minimizes the quality loss :/
[17:01:14 CEST] <furq> ffmpeg -i out.ogv -c:v rawvideo out.avi
[17:01:19 CEST] <furq> that ought to do it
[17:01:41 CEST] <DHE> rawvideo? oh god...
[17:03:49 CEST] <iamawesome> What is that -c:v and rawvideo ?
[17:05:08 CEST] <klaxa> -c:v => codec video rawvideo means... raw video? raw rgb pixels
[17:05:12 CEST] <klaxa> or so
[17:06:21 CEST] <furq> you said you don't want to lose quality
[17:06:27 CEST] <furq> i choose to take that literally
[17:08:21 CEST] <iamawesome> ffmpeg -i out.ogv out.mp4, i think, it doesn't lose quality , why? How can i check if it decreases quality?
[17:08:31 CEST] <iamawesome> .mp4 looks good
[17:08:47 CEST] <iamawesome> What's special about .avi ?
[17:09:06 CEST] <AnonBaiter> sometimes it depends on the bitrat
[17:09:08 CEST] <AnonBaiter> *bitrate
[17:09:09 CEST] <iamawesome> What does it mean by 'codec supported in avi' ?
[17:09:39 CEST] <iamawesome> ffmpeg -i out.ogv out.mp4, and it takes more time than ffmpeg -i out.ogv -c:v rawvideo out.avi
[17:09:40 CEST] <klaxa> different containers have different "preferences" for codecs
[17:09:50 CEST] <kepstin> iamawesome: "ffmpeg -i out.ogv out.mp4" still loses quality, just less, because it picks a different default codec (h264 instead of mpeg4 asp, probably)
[17:09:54 CEST] <klaxa> mp4 usually uses h264, no idea what avi uses (xvid?)
[17:10:07 CEST] <furq> mpeg4
[17:10:40 CEST] <iamawesome> What does codec do? What is codec ?
[17:10:56 CEST] <iamawesome> Is mpeg4 not good?
[17:11:20 CEST] <iamawesome> Is h264 better than mpeg4 ?
[17:11:22 CEST] <BtbN> mpeg4 is ancient.
[17:12:04 CEST] <iamawesome> Everytime i convert a video file, does it lose quality everytime?
[17:12:26 CEST] <iamawesome> Is there any possibility or a way not to lose quality?
[17:12:47 CEST] <BtbN> don't convert.
[17:13:51 CEST] <iive> codec-> COder DECoder
[17:14:25 CEST] <iamawesome> BtbN: Why won't i convert? I may need to have a different format.
[17:14:41 CEST] <BtbN> just remuxing does not convert the video.
[17:14:46 CEST] <iive> file format could be changed without reencoding.
[17:14:53 CEST] <BtbN> And if you need a diffrent codec, you have no other option.
[17:15:07 CEST] <BtbN> But using a diffrent codec won't improve the quality, so there is not really a reason to do so.
[17:15:26 CEST] <iamawesome> BtbN: What is remuxing?
[17:15:45 CEST] <iive> video frames are encoded into packets.
[17:15:48 CEST] <iamawesome> BtbN: ffmpeg -i out.ogv out.mp4 , is remuxing here?
[17:15:55 CEST] <iive> demuxing is taking pakets from a file
[17:16:03 CEST] <iive> muxing is putting packets into a file
[17:16:10 CEST] <BtbN> that's transcoding. And i doubt you can remux from ogv to mp4
[17:16:13 CEST] <iive> remuxing is taking from one and putting into other file
[17:16:24 CEST] <BtbN> Even if it works, not a lot of software will play the resulting file.
[17:16:42 CEST] <iive> you also need -c copy
[17:16:46 CEST] <furq> he wants avi, not mp4
[17:16:55 CEST] <iive> why do you want .avi?
[17:17:00 CEST] <iamawesome> I'm trying to understand the process now.
[17:17:10 CEST] <iive> what do you want?
[17:17:42 CEST] <iamawesome> I don't know what's the difference between .avi and .mp4 , both are video file, when i download movie, most of them are in .avi format, i don't know why.
[17:18:05 CEST] <furq> oh
[17:18:07 CEST] <iive> history.
[17:18:23 CEST] <furq> apparently theora and vorbis works in avi
[17:18:23 CEST] <iive> do you have other reason to want .avi ?
[17:18:38 CEST] <furq> and by "works" i mean ffmpeg will put it there and the only player i tested will play it
[17:18:49 CEST] <iamawesome> If i want to upload video in youtube, which format is better to have?
[17:19:00 CEST] <furq> it makes no difference if you're uploading to youtube
[17:19:03 CEST] <furq> just upload what you have now
[17:19:20 CEST] <furq> youtube will convert it even if you upload a video with the exact same settings they use
[17:19:46 CEST] <iive> you'd need to worry only if youtube rejects it. and they also use mencoder and ffmpeg
[17:19:47 CEST] <iamawesome> So if youtube converts it, will it decrease the quality?
[17:19:50 CEST] <furq> yes
[17:19:59 CEST] <iive> but you won't notice
[17:20:02 CEST] <furq> but there's nothing you can do about that
[17:20:30 CEST] <iamawesome> Which format does youtube convert it to?
[17:20:54 CEST] <furq> mp4 and webm
[17:22:50 CEST] <mr_dude> hey, someone can help me in my question?
[17:23:12 CEST] <furq> mr_dude: -pix_fmt yuvj420p
[17:23:13 CEST] <iamawesome> Another reason is that .ogv is not a common video format, so i don't know if it will be run with other video players.
[17:24:01 CEST] <iive> iamawesome: youtube will reencode the video you upload in all formats they support
[17:24:32 CEST] <iive> you don't have to do it on your own.
[17:24:34 CEST] <iamawesome> If i give this .ogv to my friend, he can not be familier with this format.
[17:24:39 CEST] <iamawesome> It's not a common format.
[17:24:46 CEST] <iamawesome> .avi and .mp4 look common
[17:25:11 CEST] <iive> youtube is not serving the file you upload
[17:25:26 CEST] <mr_dude> furq: that is going to save it in 16-235?
[17:25:26 CEST] <iive> it is not FILE sharing service.
[17:25:45 CEST] <furq> mr_dude: yuvj420p is full range, yuv420p is limited
[17:26:00 CEST] <furq> i'm pretty sure x264 supports yuvj420p
[17:26:03 CEST] <iamawesome> I got a command here: http://www.cyberciti.biz/faq/linux-unix-bsd-appleosx-convert-ogv-to-avi-video-audio/
[17:26:12 CEST] <iamawesome> ffmpeg -i my-demo-video.ogv -vcodec mpeg4 -sameq -acodec libmp3lame my-demo-video.avi
[17:26:34 CEST] <furq> could we put "don't use commands you found on blogs" to the topic
[17:26:38 CEST] <iive> iamawesome: are you listening at all? do you understand english?
[17:26:40 CEST] <BtbN> if that works, your ffmpeg must be ancient. sameq was removed.
[17:26:57 CEST] <iamawesome> Ok
[17:31:04 CEST] <iamawesome> Which one is the most common video format now a days?
[17:44:21 CEST] <kepstin> most common video format now? probably h264 codec in mp4 container.
[17:44:51 CEST] <mr_dude> nobody here know how to put 16-235 range on video output?
[17:49:01 CEST] <kepstin> do you need to convert a video from full range to limited range, or do you have a limited range video incorrectly marked as full range?
[17:56:32 CEST] <mr_dude> kepstin: I have a limited range video incorrectly marked as full range
[17:57:06 CEST] <mr_dude> kepstin: this is the code i'm using
[17:57:11 CEST] <mr_dude> ffmpeg -framerate 29.97 -vsync 1 -video_size 720x480 -f dshow -rtbufsize 250000k -crossbar_video_input_pin_number 1 -i video="713x BDA Analog Capture":audio="Line (VIA High Definition Audio" -t 1:16:00 -vf "yadif=0:0:1,format=rgb24" -c:v libx264 -preset medium -crf 15 -maxrate 1800k -bufsize 3500k -preset medium -c:a aac -b:a 192k -strict -2 -r 29.97 "ttt.mp4" -c:v copy -an -f sdl "VHS"
[17:57:53 CEST] <mr_dude> see, in sdl preview it shows perfect, but in output nope https://a.uguu.se/MGAkfeDICqbx_8820544.jpg
[17:59:42 CEST] <kepstin> why in the world do you have format=rgb24?
[18:00:02 CEST] <kepstin> you should be sticking with yuv formats, probably either yuv420 or yuv422
[18:00:27 CEST] <kepstin> which should do the correct range automatically, assuming the capture device knows what range it is
[18:02:27 CEST] <mr_dude> so the correct code will be
[18:02:36 CEST] <mr_dude> kepstin: ffmpeg -framerate 29.97 -vsync 1 -video_size 720x480 -f dshow -rtbufsize 250000k -crossbar_video_input_pin_number 1 -i video="713x BDA Analog Capture":audio="Line (VIA High Definition Audio" -t 1:16:00 -vf "yadif=0:0:1" -c:v libx264 -pix_fmt yuv420 -preset medium -crf 15 -maxrate 1800k -bufsize 3500k -preset medium -c:a aac -b:a 192k -strict -2 -r 29.97 "ttt.mp4" -c:v copy -an -f sdl "VHS"
[18:03:06 CEST] <kepstin> mr_dude: assuming the video from the capture card is read with the correct range, that should be fine, yeah.
[18:03:26 CEST] <kepstin> it could be that the capture card via dshow api is reporting the wrong range, in which case you will need to override it...
[18:03:33 CEST] Action: kepstin tries to remember how to do that
[18:04:34 CEST] <kepstin> probably just adding a ",scale=in_range=tv:out_range=tv" to the end of your -vf will reset it if needed.
[18:07:13 CEST] <mr_dude> I see... let me test
[18:11:45 CEST] <mr_dude> kepstin: I need to add that parametter (",scale=in_range=tv:out_range=tv") into -vf right? sorry, i'm new on ffmpeg
[18:12:18 CEST] <sSeraphiMm> has anyone had much luck encoding for youtube 4k uploads with ffmpeg?
[18:12:58 CEST] <kepstin> mr_dude: I said "add ... to the end of your -vf", if you read my message again...
[18:13:35 CEST] <mr_dude> oh sorry, miss check
[18:13:57 CEST] <mr_dude> btw I added it but  didn't work
[18:14:12 CEST] <mr_dude> also I tried with yuv420p, didn't work too
[18:15:05 CEST] <mr_dude> ffmpeg -framerate 29.97 -vsync 1 -video_size 720x480 -f dshow -rtbufsize 250000k -crossbar_video_input_pin_number 1 -i video="713x BDA Analog Capture":audio="Line (VIA High Definition Audio" -t 1:16:00 -vf "yadif=0:0:1",scale=in_range=tv:out_range=tv" -c:v libx264 -pix_fmt yuv420p -preset medium -crf 15 -maxrate 1800k -bufsize 3500k -preset medium -c:a aac -b:a 192k -strict -2 -r 29.97 "ttt.mp4" -c:v copy -an -f sdl "VHS"
[18:15:29 CEST] <mr_dude> ffmpeg -framerate 29.97 -vsync 1 -video_size 720x480 -f dshow -rtbufsize 250000k -crossbar_video_input_pin_number 1 -i video="713x BDA Analog Capture":audio="Line (VIA High Definition Audio" -t 1:16:00 -vf "yadif=0:0:1,scale=in_range=tv:out_range=tv" -c:v libx264 -pix_fmt yuv420p -preset medium -crf 15 -maxrate 1800k -bufsize 3500k -preset medium -c:a aac -b:a 192k -strict -2 -r 29.97 "ttt.mp4" -c:v copy -an -f sdl "VHS"
[18:16:10 CEST] <mr_dude> https://a.uguu.se/5Z6FkuHr1aRs_4006877.png
[18:16:20 CEST] <mr_dude> still seems dark
[18:26:36 CEST] <kepstin> mr_dude: that looks correct to me, the white parts of the image are hitting true white, and the black parts are below the minimum if the range was wrong
[18:28:33 CEST] <kepstin> anything else about the image is basically to taste, you might want to do e.g. some gamma adjustment if you find it too dark
[18:28:39 CEST] <mr_dude> kepstin: https://a.uguu.se/MGAkfeDICqbx_8820544.jpg
[18:28:48 CEST] <mr_dude> kepstin: but I want to be look like in sdl preview, there's no way to put it on the same colors?
[18:29:06 CEST] <mr_dude> also some tapes seems very darkness, that's the mainly reason because i'm doing this
[18:29:22 CEST] <kepstin> and ntsc is of course well known as "never twice same color"
[18:30:33 CEST] <kepstin> mr_dude: which is the one that's how you want it to look? right or left?
[18:30:56 CEST] <kepstin> it could also just be that the "sdl" window doesn't handle color ranges correctly :/
[18:31:09 CEST] <kepstin> (I wouldn't be surprised at that, tbh)
[18:31:18 CEST] <mr_dude> left
[18:31:44 CEST] <mr_dude> I dunno, but imo it seems a little bit better than right
[18:32:16 CEST] <mr_dude> (In terms of the darkness on some tapes)
[18:32:55 CEST] <kepstin> well, neither is wrong...
[18:33:21 CEST] <kepstin> you're gonna end up having to do some tweaks per-tape :/
[18:50:12 CEST] <mr_dude> kepstin: but there is has to be a way to put the same parametters that sdl uses to output
[18:50:20 CEST] <mr_dude> look https://a.uguu.se/RiUt1BuxRufB_3682000.png
[18:59:19 CEST] <meego> Anyone familiar with loudnorm filter ? I'm getting wide loudness variations (at 0:36 http://goo.gl/ldeIer) running the following commands:
[18:59:19 CEST] <meego> ffmpeg -i musicTrimmed.wav -af loudnorm=I=-16:TP=-3:LRA=7:print_format=json -f null - 2>&1 >/dev/null
[18:59:19 CEST] <meego> ffmpeg -i musicTrimmed.wav -af loudnorm=I=-16:TP=-3:LRA=7:measured_I=${ loudness.input_i }:measured_LRA=${ loudness.input_lra }:measured_TP=${ loudness.input_tp }:measured_thresh=${ loudness.input_thresh }:offset=${ loudness.target_offset }:linear=true:print_format=summary -ar 44100 musicNormalized.wav
[18:59:19 CEST] <meego> Am i using it properly ? The objective I'm pursuing is to reduce dynamic range, avoid clipping, and get Integrated Loudness around -16LUFS.
[19:03:51 CEST] <durandal_1707> meego: can't loudnorm do it in two passes
[19:08:58 CEST] <meego> durandal_1707: yes i'm doing it in two passes
[19:09:10 CEST] <pgorley> avformat_find_stream_info constantly times out on my rtp stream, all while returning the stream info once it reached the timeout
[19:09:15 CEST] <pgorley> is this a known bug?
[19:10:20 CEST] <pgorley> i'm on master, btw
[19:55:12 CEST] <kepstin> meego: hard to say - if you pasted the stats output from the filter somewhere, I could give a better opinion. But I suspect that the issue was the peak limiter kicking in.
[19:55:53 CEST] <kepstin> meego: picking a lower I value, or allowing higher peaks (TP=1.5 is probably ok) might help
[20:06:14 CEST] <meego> kepstin: sending outputs in DM
[20:06:41 CEST] <kepstin> meego: please just use pastebin
[20:07:24 CEST] <meego> kepstin: sorry ok
[20:13:02 CEST] <meego> kepstin: there it is http://pastebin.com/HYWV6KpC. Thanks for the assistance, trying higher TP as suggested
[20:14:23 CEST] <kepstin> meego: the fact that the 'Output True Peak:     -3.0 dBTP' is right on the requested limit means that it's engaged the peak limiter at some point, which introduces distortions :/
[20:15:03 CEST] <kepstin> no idea if that's what caused the specific distortion you noticed, but it seems reasonable.
[20:15:31 CEST] <meego> kepstin: interesting. i'll try raising it 0 and see if it makes a difference
[20:16:06 CEST] <kepstin> the other option is to simply lower the I value to give more headroom.
[20:20:33 CEST] <mosb3rg> hey fellas this error im experience on all streams being dumped and relayed as -f flv as output and rtmp://
[20:20:34 CEST] <mosb3rg> [flv @ 0x433d100] Non-monotonous DTS in output stream 0:1; previous: 95383697, current: 3399819; changing to 95383697. This may result in incorrect timestamps in the output file
[20:21:23 CEST] <mosb3rg> it will spam it ridiculously and the feed isnt working, i can stop and reload and instantly it works fine until eventually occurring again who knows how long out, sometimes its a while honestly. is there anyway to bypass this or to error handle it correctly ?
[20:24:24 CEST] <furq> mosb3rg: you can silence the warning with -v error
[20:24:43 CEST] <mr_dude> http://ffmpeg.gusari.org/viewtopic.php?f=11&t=3114
[20:24:49 CEST] <mr_dude> someone pls help ;_;
[20:25:32 CEST] <mosb3rg> ya but its also not working
[20:26:05 CEST] <mosb3rg> -v meaning NOT verbose right ?
[20:26:13 CEST] <furq> verbosity
[20:26:16 CEST] <furq> it's an alias for loglevel
[20:27:16 CEST] <mosb3rg> alright but ultimately what causes this problem.
[20:27:20 CEST] <furq> that warning normally doesn't mean anything
[20:27:26 CEST] <mosb3rg> the source is HLS playlist
[20:27:36 CEST] <mosb3rg> and shows it like 1000s of times
[20:27:37 CEST] <furq> and if ffmpeg is spamming thousands of log messages it can potentially slow down encoding
[20:27:40 CEST] <furq> especially on windows
[20:27:43 CEST] <mosb3rg> ohhh
[20:27:49 CEST] <mosb3rg> its linux but that makes sense
[20:27:53 CEST] <mosb3rg> so where in the command line
[20:27:58 CEST] <furq> anywhere
[20:29:25 CEST] <mosb3rg> gotcha man thank you for the help
[20:36:12 CEST] <mosb3rg> furq it seems to be a toggle you can place after a command you want to specifically affect ?
[20:36:38 CEST] <mosb3rg> for example when i placed it before -vcodec it tried to relate any logging function to that
[20:36:56 CEST] <mosb3rg> Invalid loglevel "-vcodec". Possible levels are numbers or:
[20:37:43 CEST] <furq> `-v error`
[20:41:14 CEST] <mosb3rg> doesnt seem to start at all
[20:41:19 CEST] <mosb3rg> or its outputting no details
[20:42:08 CEST] <furq> you probably want -stats as well
[20:43:20 CEST] <mosb3rg> thank you very much bro its working
[20:47:28 CEST] <mosb3rg> i need a more affective way to ensure this script restarts inside the screen because ffmpeg keeps coming to a natural end some how in certain situations playlist failures etc. and it doesnt restart itself with until do done alone
[22:24:13 CEST] <Dresk|Dev> So really basic, I'm using ffmpeg for dshow capture, and it's SPAMMING log messages that's affecting my performance.  Here's the beginning of the lines it spams when capturing : dshow passing through packet of type video size
[22:24:19 CEST] <Dresk|Dev> I've been looking into setting the log level and the log flags but to no avail
[22:24:27 CEST] <Dresk|Dev> (referred here by Chloe in #ffmpeg-devel)
[22:27:24 CEST] <durandal_1707> log level via AVOptions
[22:28:39 CEST] <Dresk|Dev> durandal_1707: It seems like it's being reset, since we set AV_LOG_QUIET which is -8 and DEFINITELY less than AV_LOG_VERBOSE (40) which is the value used for that particular log message
[22:29:13 CEST] <Dresk|Dev> durandal_1707: We tried setting it every time we restore the AVLogCallback, didn't seem to help
[22:32:21 CEST] <durandal_1707> av_log_set_level?
[22:36:42 CEST] <Dresk|Dev> durandal_1707: Thanks, we got it, we needed to fix our OWN log callback function
[23:41:25 CEST] <ianbytchek> can someone point in the right direction for setting muxer / format specific options? from what i understand this is done by passing options `AVDictionary` to `avcodec_open2`, but that doesn't make any difference.
[23:45:56 CEST] <ianbytchek> aha! that should go into `avformat_write_header`&
[00:00:00 CEST] --- Fri Sep 16 2016



More information about the Ffmpeg-devel-irc mailing list