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

burek burek021 at gmail.com
Thu Apr 21 02:05:01 CEST 2016


[00:26:38 CEST] <Prelude2004c> hey guys.. question.. i am running itsoffset -6 seconds to basically fix up some stuff... but the cc data is really behind now. is there something i can use to speed up closed caption and set it faster or slower to sync with the audio ?
[01:01:27 CEST] <gusto> hey
[01:01:44 CEST] <gusto> any idea why ffmpeg has problems resolving when there are many A records?
[01:02:03 CEST] <gusto> but I see that the problem also affects "host" but not "dig" interestingly
[06:59:38 CEST] <dongs> if I wantted to use vf=prespective to make video fit into http://www.wwvalue.com/cont/2012/05/2012052101display-17.jpg how do I calculate the points?
[07:00:42 CEST] <dongs> is that just x,y coordinates for each corner?
[07:19:48 CEST] <dongs> hm, sorta.
[07:19:54 CEST] <dongs> but it ends up taking up whole screen
[07:20:29 CEST] <dongs> not sure how to constrain it to original
[07:22:58 CEST] <dongs> perspective looks also fliipped
[07:23:01 CEST] <dongs> halp :(
[07:34:33 CEST] <dongs> https://www.dyne.org/software/frei0r/ absolutely awful fucking font
[07:34:48 CEST] <dongs> entire page is unreadable, I *STILL* cannot find a list of all the shit included in those "effects"
[09:39:44 CEST] <Gringham> Hi , I am receiving an incoming unicast and send it out via multicast (ffmpeg -i unicastadress -f mpegts multicast). Is there a way, to add a seperate audiofile or stream while doing this ?
[09:40:08 CEST] <Gringham> to the multicast*
[09:40:13 CEST] <dongs> sure
[09:40:24 CEST] <dongs> duno how it'll deal wiht modifying PAT/PMT and shit tho
[09:41:26 CEST] <Gringham> this is acceptable in the first test I think
[09:42:23 CEST] <dongs> just add another -i crap.aac and hope it will know what to do
[09:42:50 CEST] <dongs> or you mihgt have to have a copy of ffmpeg streaming it "looped" and then add that as input source
[09:44:38 CEST] <Gringham> thx, I will try that
[09:45:50 CEST] <dongs> for pmt modification youre gonna need to use -metadata: thing i think
[10:38:59 CEST] <Gringham> if I use -vcodec rawvideo to stream a video , how can I open it on the other side ?
[10:58:39 CEST] <dongs> err
[10:58:46 CEST] <dongs> isnt that uncompressed
[11:52:43 CEST] <hc2p> hey, how do i secure the rtmp input? with ffmpeg -listen 1 -i rtmp://user:pass@streaming.myip.com/live/streamtoken i still can connect to it regardless of correct username/password and streamtoken.
[13:20:53 CEST] <_Timon> How would I convert from h265 to h264 without any quality loss?
[13:21:05 CEST] <JEEB> by using lossless encoding
[13:21:10 CEST] <JEEB> which of course will be huge
[13:21:12 CEST] <_Timon> I found some lines but they all included a -crf suffix which changes the bitrate as far as I know
[13:21:19 CEST] <_Timon> file size is irrelevant
[13:21:26 CEST] <furq> not changing the bitrate isn't going to prevent quality loss
[13:21:40 CEST] <JEEB> then use -q:v 0 as that is always set to lossless mode in x264
[13:21:42 CEST] <furq> quite the opposite
[13:21:50 CEST] <JEEB> crf 0 is only lossless when the x264 is built for 8bit encoding
[13:22:08 CEST] <JEEB> the resulting file will be huge and not decode'able by most HW decoders
[13:22:30 CEST] <JEEB> but at least it will be exactly the same as the decoded HEVC stream, since you use lossless coding
[13:22:34 CEST] <_Timon> My h265 file is 3:45 long 1,5GB 3840x2160 60fps 56.2Mbps
[13:23:02 CEST] <_Timon> What would you guys recommend?
[13:23:36 CEST] <furq> i would recommend trying various crf settings and seeing which one gives the least bad set of compromises
[13:23:54 CEST] <JEEB> personally I would say go for the source and re-encode that, but I guess for you the HEVC file is the "source" :P
[13:24:01 CEST] <furq> or reevaluating your need to reencode it, if possible
[13:24:06 CEST] <_Timon> ya hevc is source sadly :/
[13:24:52 CEST] <_Timon> I'll try a lossless first
[13:24:54 CEST] <_Timon> see where that leads me
[13:25:10 CEST] <furq> i can't imagine any situation where lossless is what you want, but who knows
[13:25:36 CEST] <JEEB> well it is faster to decode with lavc than HEVC
[13:25:45 CEST] <JEEB> so if you just want to play it locally using some lossless format is OK
[13:25:53 CEST] <JEEB> if you need HW decoding support you'll have to do lossy
[13:26:09 CEST] <furq> is it really faster to decode lossless x264 than h265
[13:26:15 CEST] <JEEB> yes
[13:26:22 CEST] <JEEB> HEVC decoder misses a lot of optimizations
[13:26:31 CEST] <JEEB> in which case it is a case for nonzero CRF (start 23 and move up if it looks good and down if it looks bad)
[13:26:37 CEST] <furq> that doesn't match up with my experience but it's been a while since i dealt with lossless x264
[13:27:02 CEST] <JEEB> well the more bit rate you have the more data you have to process, but HEVC in general is slower to decode than AVC
[13:27:11 CEST] <JEEB> (and "helped" even more by the lack of asm in mainline FFmpeg)
[13:27:22 CEST] <_Timon> It's not about "looking good" in my case
[13:27:25 CEST] <JEEB> nev's FFmpeg fork has some assembly optimizations from openhevc ported
[13:27:26 CEST] <_Timon> it's about maxing out my hardware
[13:27:27 CEST] <furq> well for 60fps 4k i can see that being the bottleneck over decoder optimisations
[13:27:40 CEST] <JEEB> depends, really :P
[13:27:55 CEST] <JEEB> I wouldn't be surprised if HEVC being just that much slower is the main thing here
[13:27:57 CEST] <furq> maxing out your hardware?
[13:28:00 CEST] <JEEB> but not like I haven't tested :P
[13:28:13 CEST] <JEEB> *not like I have done proper benchmarks
[13:28:45 CEST] <JEEB> with the openhevc optimizations from nev's repo you can get quite nice speed-up, but that will most probably never get merged into mainline
[13:28:52 CEST] <JEEB> because they're written with intrinsics
[13:28:57 CEST] <JEEB> not pure asm
[13:29:00 CEST] <JEEB> >_>
[13:31:54 CEST] <_Timon> wait.. so "-h265-params" changes h265 to h264?
[13:32:05 CEST] <_Timon> That doesn't make alot of sense to me
[13:32:07 CEST] <JEEB> there's no such option
[13:32:09 CEST] <furq> what
[13:32:12 CEST] <furq> also yeah, that
[13:32:28 CEST] <JEEB> there's x264-params and x265-params, which controls parameters given to the library of one or the other encoder
[13:33:05 CEST] <_Timon> okay...
[13:34:16 CEST] <JEEB> so when you're encoding with libx264 the other option does absolutely nothing since there's no such parameter defined in it, vice versa for the other one :P
[13:34:43 CEST] <_Timon> with what encoder am I encoding when im converting to 265 to 264?
[13:35:01 CEST] <_Timon> I guess 264?
[13:35:05 CEST] <JEEB> it should say in the log but even more specifically you should be specifying it yourself with -c:v or vcodec :P
[13:35:17 CEST] <JEEB> otherwise ffmpeg will pick a random encoder for you and you will have a tons 'o fun
[13:35:31 CEST] <_Timon> I'll google some more
[13:35:33 CEST] <_Timon> nothing is making sense
[13:35:50 CEST] <JEEB> well you are doing ffmpeg -i INPUT PARAMS OUTPUT, right?
[13:35:56 CEST] <_Timon> yep
[13:36:02 CEST] <JEEB> if you don't set a video or audio encoder in PARAMS
[13:36:07 CEST] <JEEB> guess what happens
[13:36:22 CEST] <JEEB> (hint: ffmpeg looks at your output container/format and decides from a list)
[13:36:26 CEST] <_Timon> It'll just look at what it is you're converting and basing it's encoder on that information
[13:36:31 CEST] <JEEB> no
[13:36:33 CEST] <JEEB> never
[13:36:38 CEST] <_Timon> So it's not using logic?
[13:36:40 CEST] <_Timon> :P
[13:36:43 CEST] <JEEB> your input never matters at that point since it's been decoded
[13:38:45 CEST] <JEEB> it's using "logic" depending on your output container/format which might or might not be what you want
[13:38:55 CEST] <_Timon> okay..
[13:39:01 CEST] <JEEB> which is why you always specify video and audio encoders with -c:v/a or -vcodec/acodec
[13:39:04 CEST] <JEEB> latter being the old way
[13:39:09 CEST] <JEEB> and -c:v|a being the new way
[13:39:20 CEST] <JEEB> AVC encoder would be libx264 :P
[13:40:53 CEST] <_Timon> Seems like it doesn't accept any input when im not defining a crf value
[13:43:50 CEST] <_Timon> ok crf 25 puts the video down to 9887 Kbps overall bitrate
[13:44:45 CEST] <_Timon> so that's not going to work
[14:25:42 CEST] <Infiltrator> How do I use VBR with opus?  I tried -aq but it says "libopus @ 0x8d2f60] Quality-based encoding not supported, please specify a bitrate and VBR setting."
[14:26:21 CEST] <hc2p> has someone answered my question? sorry, i was disconnected. Question was regarding how to secure the ffmpeg rtmp connection in listening mode. It seems that whatever i set for appname and playpath everyone can just stream to it
[14:28:18 CEST] <kepstin> Infiltrator: vbr is the default with opus, just specify a bitrate.
[14:29:02 CEST] <kepstin> (in the default vbr mode, bitrate is basically used as a quality level rather than target bitrate)
[14:29:21 CEST] <Infiltrator> Ah okay.  So just -abitrate?
[14:29:47 CEST] <kepstin> or -b:a if you want to use the short modern syntax :)
[14:30:24 CEST] <Infiltrator> kepstin: I'm chucking it into a script, so when I came back later I don't want to be scratching my head.  :P
[14:30:29 CEST] <Infiltrator> Thanks.
[14:31:45 CEST] <Infiltrator> But abitrate doesn't work anyway.  :\
[14:32:17 CEST] <kepstin> The vbr mode in opus is set so that everything encoded will be basically the same quality, and over a large corpus of files the average bitrate over everything will be close to the requested bitrate.
[14:33:31 CEST] <kepstin> ah, there was never an '-abitrate' option, it was '-ab'. Probably etter to use '-b:a' for consistency tho.
[14:33:38 CEST] <Infiltrator> Do you mean that there is no point setting the bitrate?
[14:33:51 CEST] <Infiltrator> Yeah, I just ended up doing -b:a.
[14:33:53 CEST] <kepstin> hmm? no, it sets the quality level
[14:34:15 CEST] <Infiltrator> What did you mean then by "basically the same quality"?
[14:34:21 CEST] <kepstin> add a "with the same bitrate setting" after "everything encoded"
[14:34:29 CEST] <Infiltrator> Ah okay.
[14:35:06 CEST] <Infiltrator> By the way, if I'm converting away from mpeg4, I don't need to worry about the B-frame warning, right?
[14:35:41 CEST] <kepstin> yeah, that's a warning from the decoder. If you're re-encoding, it's not an issue.
[14:35:50 CEST] <Infiltrator> Cool.
[14:35:54 CEST] <Infiltrator> Thanks for the help.
[14:38:21 CEST] <Infiltrator> Is there a good reference for the options to give to various codecs?  I had a look at https://ffmpeg.org/ffmpeg-codecs.html#libopus but it didn't say much about opus.
[14:38:42 CEST] <Infiltrator> And even less about hevc.
[14:41:45 CEST] <furq> ffmpeg -h encoder=libx265
[14:42:13 CEST] <furq> most of the options are shared between codecs so they're not documented separately on the website
[14:53:24 CEST] <fling> DTS -295798475818, next:22628395 st:0 invalid dropping
[14:53:29 CEST] <fling> PTS -295798475818, next:22628395 invalid dropping st:0
[14:53:46 CEST] <fling> ^ video and audio out of sync when capturing from a webcam with 4.5.1 kernel
[14:54:05 CEST] <fling> tested with ffmpeg 2.8.6 and master.
[14:54:15 CEST] <fling> Is this a known behavior? How do I fix? ^
[14:54:37 CEST] <fling> Or should I just use the older kernel?
[15:01:01 CEST] <fling> The command I use -> https://bpaste.net/show/31b6d6944b89
[15:31:49 CEST] <__raven> hi (again) :)
[15:32:23 CEST] <__raven> i need to extract subtitle track out of a hls stream but i only get several different errors now
[15:32:47 CEST] <__raven> do i need the map option, the c:s:0.2 or just 0 option?
[15:32:53 CEST] <__raven> do i need a copy or srt?
[15:33:26 CEST] <furq> pastebin the errors
[15:33:33 CEST] <furq> or ideally the command line and full output
[15:33:45 CEST] <__raven> just a moment
[15:38:17 CEST] <__raven> http://pastebin.com/1GdJjznR
[15:38:31 CEST] <__raven> it should be the 0.2 unknown
[15:40:44 CEST] <furq> you probably just want -map 0:s
[15:41:05 CEST] <__raven> furq: map 0:2 i tried already :(
[15:41:07 CEST] <furq> and using -c:s copy probably won't work as hls is most likely using webvtt subtitles
[15:41:20 CEST] <furq> well yeah that's apart from the error
[15:41:46 CEST] <furq> "Consider increasing the value for the 'analyzeduration' and 'probesize' options"
[15:41:56 CEST] <__raven> furq: what would be the best way to get the original text-stream out though?
[15:42:23 CEST] <furq> -map 0:s -c:s copy out.vtt
[15:43:45 CEST] <__raven> 0:s or 0:2?
[15:43:52 CEST] <furq> either
[15:44:06 CEST] <furq> 0:s is all subtitle streams
[15:44:15 CEST] <furq> which in this case is identical to 0:2
[15:54:24 CEST] <__raven> furq: now i get Cannot map stream #0:2 - unsupported type. :(
[16:08:10 CEST] <a1fa> hello, i am trying to capture audio using ffmpeg and alsa, and i am having some issues
[16:08:22 CEST] <a1fa> arecod -l gives me card 3 as acceptable input
[16:09:21 CEST] <a1fa> arecord -l
[16:09:23 CEST] <a1fa> card 3: Headset [Logitech G35 Headset], device 0: USB Audio [USB Audio]
[16:09:33 CEST] <a1fa> [alsa @ 0xe7d4c0] cannot set channel count to 2 (Invalid argument)
[16:09:33 CEST] <a1fa> hw:3: Input/output error
[16:09:38 CEST] <a1fa> this is the ffmpeg error i get
[16:10:26 CEST] <a1fa> ffmep -f alsa -i hw:3,0 test.wav is the command i used
[16:12:06 CEST] <a1fa> https://obsproject.com/mantis/view.php?id=387
[16:12:08 CEST] <a1fa> it could be a bug
[16:14:53 CEST] <a1fa> adding -ac 1 fixes my problem :)
[16:14:54 CEST] <a1fa> lol
[16:16:20 CEST] <a1fa> is it possible to use a playback device as recording hw?
[16:16:44 CEST] <a1fa> without using loop back?
[16:20:05 CEST] <maziar> chrome can not play m3u8
[16:20:22 CEST] <maziar> why chrome can not play m3u8? how should i do ?
[16:23:54 CEST] <Bombo> maziar: try vlc media player
[16:24:52 CEST] <maziar> Bombo i want to play it on web, like youtube
[16:26:56 CEST] <Bombo> maziar: how about firefox?
[16:27:11 CEST] <maziar> Bombo, same
[16:28:26 CEST] <Bombo> maziar: internet exploder?
[16:28:31 CEST] <Bombo> maziar: opera?
[16:31:47 CEST] <maziar> Bombo same error, but in safari its ok
[16:32:49 CEST] <Bombo> maziar: maybe complain to the developers of chrome/firefox then
[16:35:02 CEST] <Snoo20664> it's not an error
[16:35:12 CEST] <Snoo20664> you just need to associate it with something
[16:35:29 CEST] <Snoo20664> or just download it with ffmpeg and play it locally
[16:38:58 CEST] <Bombo> HTTP Live Streaming (also known as HLS) is an HTTP-based media streaming communications protocol implemented by Apple Inc. as part of its QuickTime, Safari, OS X, and iOS software.
[16:39:11 CEST] <Bombo> https://en.wikipedia.org/wiki/HTTP_Live_Streaming
[16:39:42 CEST] <Bombo> maybe thats why it works with safari ;)
[16:39:55 CEST] <maziar> Snoo20664 you mean we can not play m3u8 on chrome ?
[16:41:19 CEST] <Bombo> ffplay seems to be able to play HLS
[16:42:32 CEST] <Bombo> maziar: wikipedia says 'Unsupported on desktop OSes' so chrome on android and iOS works i guess
[16:43:05 CEST] <maziar> Bombo let me check
[16:43:19 CEST] <Bombo> maziar: tried with ffplay?
[16:43:33 CEST] <Bombo> oh you want it in a browser...
[16:43:39 CEST] <maziar> Bombo no, what is this ?
[16:43:51 CEST] <kepstin> in some cases, you might be able to play HLS in browsers by using a javascript player that uses media source extensions, but iirc DASH is generally preferred for that
[16:44:04 CEST] <Bombo> maziar: do you know what ffmpeg is? (this channel name)
[16:44:14 CEST] <kepstin> but if you're targetting desktop browsers, and are encoding stuff in advance, just make an mp4 file
[16:44:23 CEST] <kepstin> (with -movflags faststart)
[16:44:35 CEST] <Bombo> maziar: (it's a player)
[16:45:22 CEST] <maziar> Bombo i know what is ffmpeg
[16:45:46 CEST] <maziar> i want to play m3u8 on web browser with JWPlayer, that i bought
[16:46:46 CEST] <Bombo> jwplayer is in the list
[16:47:04 CEST] <Bombo> 'Adobe Flash, iOS, Android'
[16:47:15 CEST] <kepstin> looks like jwplayer uses a flash fallback for hls, because browsers don't support it natively
[16:47:41 CEST] <kepstin> maziar: I'd suggest reading https://support.jwplayer.com/customer/portal/articles/1430218-using-hls-streaming - this isn't an ffmpeg issue at this point.
[16:48:10 CEST] <maziar> kepstin thank you i will read it and notify you
[16:48:22 CEST] <kepstin> they recommend having an mp4 file for desktop browsers
[16:49:47 CEST] <Bombo> maziar: https://en.wikipedia.org/wiki/HTTP_Live_Streaming#Clients
[16:50:17 CEST] <maziar> Bombo i will read it too
[16:50:41 CEST] <maziar> kepstin but website like youtube, don't use m3u8 ?
[16:51:07 CEST] <kepstin> youtube uses a combination of webm files, mp4 files, and DASH with a fancy javascript player.
[16:51:22 CEST] <kepstin> and possibly also HLS for apple devices, i'm not sure
[16:56:32 CEST] <Bombo> maziar: what do you want to do anyway? really stream live? or just play files?
[16:58:31 CEST] <Bombo> https://www.youtube.com/html5
[17:05:53 CEST] <maziar> Bombo play movie in different quality and it can be adaptive bitrate, its mean that quality can be changed by user network speed
[17:09:59 CEST] <xviper33> Hey there, just a quick question I couldn't find an answer to using google. I can use "-disposition:a:0 default" to give an audio track the "default" tag. But how do I remove a "default" tag from a track that already had it set in the input file?
[17:10:31 CEST] <maziar> Bombo i want something like this http://pastebin.com/U5Q92qUq
[17:17:30 CEST] <kepstin> maziar: you're almost certainly going to have to look at coding a javascript player with media source extensions. This is well out of the scope of ffmpeg :/
[17:18:02 CEST] <xviper33> Figured it out by guessing. By using -disposition:a:1 "-default". Kinda weird approach but seems to work
[17:18:23 CEST] <maziar> kepstin i know that, because of that i bought jwplayer
[17:19:44 CEST] <kepstin> jwplayer doesn't appear to support what you want to do.
[17:20:07 CEST] <kepstin> although I could be wrong. That said, you should be asking jwplayer support, not random people in this irc channel :)
[17:22:45 CEST] <maziar> kepstin would you please check these sites : http://www.filimo.com http://www.aparat.com
[17:23:17 CEST] <maziar> kepstin would you please check them and tell me which technology they use ?
[17:27:14 CEST] <explodes> Does the probe buffer for av_probe_input_format get saved for later use in the returned AVInputFormat?
[17:28:44 CEST] <kepstin> maziar: no, please read the sites yourself to find out what technology they use.
[17:38:30 CEST] <maziar> kepstin unfortunately i can not find the technology
[19:02:14 CEST] <fling> fixed with a reboot ^ wtf
[19:05:08 CEST] <fling> It is now only slightly out of sync
[19:05:12 CEST] <fling> I'm now updating ffmpeg
[19:13:20 CEST] <fling> the video is freezing sometimes somehow hmm hmmm
[19:26:34 CEST] <fling> hmm hmm fps is somehow way too low
[19:26:53 CEST] <fling> I'm now downgrading the kernel
[19:27:40 CEST] <pfelt> hey all, i'm playing with some modifications to the movie filter and it looks like ffmpeg is calling the .init function twice.  is that normal?
[19:31:12 CEST] <fling> [matroska @ 0x55f75933c580] Non-monotonous DTS in output stream 0:0; previous: 37023, current: -1567689; changing to 37023. This may result in incorrect timestamps in the output file.
[19:46:33 CEST] <maxcnc> hi can i reorder the timeindex of a vob as the recorder did all 4 vidio sequences in one vob sequence and the menue frames in between i need them to be seperate
[19:46:53 CEST] <maxcnc> i stitched all vob together with cat
[19:46:57 CEST] <maxcnc> on linux
[19:47:29 CEST] <maxcnc> but the timindexes jump on etch sequence
[20:36:35 CEST] <blue_misfit101> does -c:a aac have a pure VBR mode or must you specify a bitrate?
[20:36:56 CEST] <blue_misfit101> looking to encode highest possible quality stereo AAC for an intermediate file
[20:39:01 CEST] <benlieb> what's the state of the art for html5 in browsers? do I still need mp4 and ogg?
[20:39:03 CEST] <benlieb> formats
[20:39:26 CEST] <blue_misfit101> only if you care about really old / fringe browsers or operating systems
[20:39:42 CEST] <blue_misfit101> basically everything can play HLS now if you use a decent player like video.js or flowplayer
[20:40:04 CEST] <Mavrik> benlieb, VP8 in WebM container + H.264 in MP4 is usually good.
[20:40:31 CEST] <benlieb> Mavrik: are there browsers that can't play that?
[20:41:02 CEST] <TD-Linux> nope
[20:41:07 CEST] <Mavrik> Hrmf, Lynx? :P
[20:41:16 CEST] <Mavrik> But all major ones should handle those two.
[20:41:36 CEST] <benlieb> last I looked (couple of years) there was one browser that needed ogg
[20:41:40 CEST] <benlieb> can't remember what
[20:41:44 CEST] <blue_misfit101> benlieb, I'd look into ABR encoding (HLS or DASH) if you're not doing it already
[20:41:46 CEST] <Mavrik> benlieb, Firefox
[20:41:51 CEST] <blue_misfit101> you'll get much better user experience with ABR
[20:42:00 CEST] <TD-Linux> http://caniuse.com/#search=H.264%7CVP8
[20:42:02 CEST] <Mavrik> benlieb, and chromium
[20:42:10 CEST] <Mavrik> benlieb, but FF now supports VP8
[20:42:13 CEST] <Mavrik> together with chrome etc.
[20:42:32 CEST] <TD-Linux> in fact if you're patient you can get basically the same support with VP9 instead of VP8
[20:42:44 CEST] <TD-Linux> http://caniuse.com/#search=H.264%7CVP9
[20:42:46 CEST] <Mavrik> Hrmf, did FF enable VP9 yet?
[20:42:52 CEST] <Mavrik> Ah.
[20:42:55 CEST] <benlieb> wow, I feel like your speaking a foreign language. Is there a one-stop-spot to understand all of this?
[20:42:56 CEST] <Mavrik> Certanly go with  VP9 then.
[20:43:12 CEST] <Mavrik> benlieb, you're getting links right now?
[20:43:18 CEST] <Mavrik> And any video tutorial on the web? :/
[20:43:21 CEST] <blue_misfit101> benlieb, nope :D you've got a lot of research ahead of you
[20:43:50 CEST] <benlieb> lol, the VP9 is Heckler & Koch's latest handgun and the first striker fired HK since the renowned...
[20:44:18 CEST] <blue_misfit101> lololol
[20:44:52 CEST] <TD-Linux> benlieb, I also forgot to ask, I assume you're talking about video, not just audio
[20:44:58 CEST] <benlieb> yes video
[20:46:22 CEST] <TD-Linux> yeah webm (vp8+vorbis or vp9+opus) has more or less replaced ogg (theora+vorbis)
[20:46:33 CEST] <benlieb> Can you break down what this means a bit more: VP9 in WebM container + H.264 in MP4? Wikipedia says VP9 is a coding format. Isn't that what H.264 is? And mp4?
[20:46:52 CEST] <benlieb> or is that vid / audio
[20:46:59 CEST] <TD-Linux> H.264 is a video format, but mp4 is the container
[20:47:08 CEST] <TD-Linux> mp4 is usually H.264+AAC
[20:47:17 CEST] <blue_misfit> ^
[20:47:20 CEST] <benlieb> and WebM container?
[20:47:30 CEST] <TD-Linux> VP8+vorbis or VP9+opus
[20:47:42 CEST] <benlieb> so what does using both together mean?
[20:47:49 CEST] <TD-Linux> one is video and one is audio
[20:48:14 CEST] <benlieb> Which is which? I need a vid container and an audio container?
[20:48:23 CEST] <benlieb> I thought the vid container contained the audio
[20:48:29 CEST] <TD-Linux> no, just one container, and an audio and video format that fit inside the container
[20:49:01 CEST] <TD-Linux> note that ffmpeg will pick appropriate audio and video codecs for you based on extension
[20:49:09 CEST] <benlieb> right so there seems to be two containers suggested here: VP9 in WebM container + H.264 in MP4
[20:49:16 CEST] <TD-Linux> yup
[20:49:56 CEST] <benlieb> so is this recommendation to have two videos, one in each of these formats: VP9 in WebM container + H.264 in MP4?
[20:50:09 CEST] <TD-Linux> yes
[20:50:51 CEST] <Mavrik> yp
[20:50:58 CEST] <TD-Linux> (your initial thought of ogg + mp4 would have been fine too, just that ogg theora is a bit long in the tooth)
[20:53:19 CEST] <benlieb> I guess my question is can I get by with offering just one video? I run an instructional video website that I started 9 years ago. It mostly just works and I don't touch it much, but I want to make some upgrades, and one important one is offering streaming
[20:53:54 CEST] <benlieb> This page seems to suggest that the only browser that can't handle MPEG-4/H.264 is opera mini http://caniuse.com/#search=H.264%7CVP8
[20:54:37 CEST] <TD-Linux> benlieb, opera mini prerenders web pages on the server and so doesn't support video at all
[20:54:55 CEST] <benlieb> I'm not sure I care about open mini to be honest
[20:55:00 CEST] <benlieb> opera
[20:55:03 CEST] <TD-Linux> you shouldn't care about it
[20:55:23 CEST] <TD-Linux> the one thing that the chart is missing though is that Firefox and I think IE depend on Windows's H.264
[20:55:49 CEST] <TD-Linux> so people on Windows XP or the N versions of Windows won't have it
[20:55:50 CEST] <benlieb> TD-Linux: so FF on mac won't play it?
[20:56:03 CEST] <TD-Linux> bencoh, FF on mac will because it can use mac's H.264 decoder
[20:57:17 CEST] <benlieb> TD-Linux: so the only people that won't be able to play mp4/H264/AAC are older windows users?
[20:57:31 CEST] <TD-Linux> benlieb, or windows N users
[20:58:06 CEST] <benlieb> I'm not clear on what that means exactly
[20:58:12 CEST] <benlieb> thanks for your help by the way
[20:58:15 CEST] <TD-Linux> it's the european version of windows
[20:58:18 CEST] <TD-Linux> np
[20:59:06 CEST] <benlieb> Let's see if I have this right. so firefox users on windows in Europe won't be able to play it.
[20:59:30 CEST] <benlieb> TD-Linux: ^
[21:00:30 CEST] <TD-Linux> yes.
[21:00:43 CEST] <benlieb> oh, I forgot IE users in europ
[21:01:27 CEST] <Mavrik> Also Linux users.
[21:01:32 CEST] <Mavrik> (Some of them.)
[21:01:37 CEST] <benlieb> damn
[21:01:51 CEST] <benlieb> linux can't play mp4?
[21:02:04 CEST] <benlieb> Mavrik: ^
[21:02:11 CEST] <Mavrik> MP4 is a container.
[21:02:17 CEST] <benlieb> H.264
[21:02:21 CEST] <TD-Linux> benlieb, if they haven't installed a copy of lavc
[21:02:32 CEST] <TD-Linux> sorry for all the conditionals and fine rules here...
[21:02:43 CEST] <TD-Linux> I don't know if this is documented anywhere hmm
[21:02:48 CEST] <Mavrik> TD-Linux, all distrost have lavc pretty much, most ship without H.264 decoder ;)
[21:03:24 CEST] <benlieb> I'm going to just assume that if someone is using linux, they know how to get to a video they want to watch
[21:03:37 CEST] <TD-Linux> overall I'd say you get 95% of the way there with mp4 and basically 100% with mp4 and webm
[21:04:26 CEST] <benlieb> I think I can be ok just offering one format then. It's a lot of work and a lot of storage to keep copies in multiple formats.
[21:04:44 CEST] <benlieb> Is AAC the recommended audio encoding?
[21:06:45 CEST] <TD-Linux> for mp4 it's basically your only choice for compatibility
[21:08:13 CEST] <benlieb> TD-Linux: ok, I'll go with mp4 / h.264 / AAC. Thanks for your help!
[21:08:25 CEST] <benlieb> also is H.264 decoder the same as H.264 codec?
[21:08:42 CEST] <benlieb> I think codec = encoder / decoder?
[21:09:17 CEST] <TD-Linux> technically yes but "format" and "codec" tend to be interchanged a lot
[21:10:06 CEST] <Mavrik> Encoder - software that encodes
[21:10:11 CEST] <Mavrik> Decoder - software that decodes
[21:10:27 CEST] <Mavrik> Codec - usually interchangable with format of encoded data
[21:11:14 CEST] <benlieb> anyone have a book recommendation or website that might cover all of this in some detail?
[21:11:32 CEST] <TD-Linux> encoding, or browser support?
[21:12:08 CEST] <benlieb> Audio, Video formats, containers, codecs...
[21:12:50 CEST] <TD-Linux> https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video
[21:13:13 CEST] <benlieb> I assume ffmpeg can encode into VP9? Where does it get that codec? I installed ffmpeg several years ago, would I have to upgrade ffmpeg, or just install the codec?
[21:14:14 CEST] <kepstin> depends how you got your ffmpeg in the first place. I'd expect most current builds have vp8/9 encoding enabled
[21:14:34 CEST] <benlieb> TD-Linux: that link is just for the HTML side of things. I'm pretty good on that part.
[21:14:38 CEST] <kepstin> at a minimum, you'd need to install a recent libvpx and rebuild ffmpeg.
[21:15:00 CEST] <benlieb> kepstin: is there a flag I can check what codecs I have available/
[21:15:01 CEST] <benlieb> ?
[21:15:10 CEST] <kepstin> ffmpeg -codecs
[21:15:38 CEST] <TD-Linux> you'll want to upgrade to a recent ffmpeg to get the much improved aac encoder as well.
[21:16:11 CEST] <benlieb> looks like I got it:  D.V.L. vp9                  Google VP9
[21:16:17 CEST] <benlieb> What is D.V.L ?
[21:16:22 CEST] <kepstin> read the labels at the top
[21:16:32 CEST] <benlieb> ah
[21:16:40 CEST] <benlieb> had to scroll way up
[21:16:57 CEST] <benlieb> this one must be evil:  DEVIL. mjpeg                Motion JPEG
[21:17:03 CEST] <benlieb> lol
[21:17:41 CEST] <benlieb> looks like I'm running ffmpeg version 2.2.1 Copyright (c) 2000-2014
[21:18:59 CEST] <benlieb> ooh now I'm remember the pain of the install back then.
[21:19:40 CEST] <benlieb> I needed freetype, theora, libass, etc
[21:20:28 CEST] <kepstin> what os are you on? you can probably get a prebuilt or packaged ffmpeg...
[21:21:43 CEST] <benlieb> mac
[21:32:05 CEST] <benlieb> ok upgraded to 2.8.5
[21:32:25 CEST] <benlieb> TD-Linux: what is the improvement in the aac encoder?
[21:35:03 CEST] <kepstin> for the built-in aac encoder? the fact that the quality is now actually useful.
[22:47:32 CEST] <jacobwg> Is this the right place to get help with a MP4 media encoding issue (the file was transcoded with ffmpeg, though the question is only tangentially related to ffmpeg)?  I'm experiencing issues with QuickTime (and by extension, my Apple TV) playing multiple audio channels at the same time, though only under certain conditions (I have one file that works and
[22:47:32 CEST] <jacobwg> one that doesn't, with seemingly unrelated differences) and am looking for a second pair of eyes to look at what's going on.
[23:20:18 CEST] <pfelt1> hey all, i've got something of a silly question.  on a -filter_complex i'm playing with a filter that works as a passthrough on video.  if my input has audio and video, and i do a [0:v]filter; in my filter, how do i join it back up with the audio for ultimate output from the filtering?
[23:21:31 CEST] <durandal_1707> same with audio
[23:21:40 CEST] <durandal_1707> 0:a
[23:22:46 CEST] <pfelt1> yeah, i know that, but, for example: with the last video output be automatically added to the last audio output, or do i need to add a filter of some kind to say "[inputVideo][inputAudio]jointogether" as the last thing in my filter
[23:23:23 CEST] <kepstin> pfelt1: the audio and video are always separate until the muxer
[23:23:27 CEST] <pfelt1> that should read:  &. for example: will the .....
[23:23:49 CEST] <pfelt1> ok.  so i don't need anythign special at the end to join them back up.  the muxer will do it for me
[23:24:06 CEST] <kepstin> pfelt1: at worst, you might need to use a separate -map option for each of the video and audio
[23:24:24 CEST] <kepstin> if your filter chain has a named audio output and named video output, for example.
[23:25:04 CEST] <pfelt1> 'movie=filename=/tmp/tmp1.fifo:streams=dv+da:pts=2 [str]; [str:v]zmq'
[23:25:21 CEST] <pfelt1> is what i've got right now, and it's failing, but i'm sure it's because i've got somethign specified wrong
[23:25:49 CEST] <kepstin> why are you using 'movie' in the filter_complex string rather than using an input with -i ?
[23:26:09 CEST] <pfelt1> i'm actually adding some functionality to it to allow me to restart the stream
[23:26:16 CEST] <pfelt1> (via a process_command)
[23:26:39 CEST] <pfelt1> and that's what zmq is for
[23:26:52 CEST] <kepstin> right now, the 'movie' filter in the filter chain only has a single output pad '[str]' which will have the video
[23:27:14 CEST] <pfelt1> it should have two.  one for the dv and one for the da
[23:27:24 CEST] <kepstin> but you only gave it one
[23:27:46 CEST] <kepstin> i think...
[23:27:59 CEST] <pfelt1> oh snap
[23:28:05 CEST] <pfelt1> i just saw the last example
[23:28:10 CEST] <pfelt1> i need to name both on output
[23:28:59 CEST] <kepstin> yeah, and to include a named output in the resulting file, add a -map '[outputname]'
[23:29:20 CEST] <kepstin> (if you do that, you should name all outputs, and add a -map for each of them)
[23:29:30 CEST] <pfelt1> ugh.  ok
[23:34:32 CEST] <kepstin> but yeah, a single filter pad will only ever have one stream on it; audio and video always have to go through different pads. In this case, the :v on [str:v] is redundant at best, I'm not sure how that's handled.
[23:35:02 CEST] <kepstin> probably best to use just [str] to avoid confusion (or rename it, to make it obvious that it's the video)
[23:35:58 CEST] <johnnny22-afk> what's the biggest PTS that a mpeg-ts can have ?
[23:36:03 CEST] <pfelt1> it'll be interesting to see what happens when i send the process_command to switch streams
[23:36:33 CEST] <pfelt1> johnnny22-afk: i believe it's a 64bit int
[23:36:40 CEST] Action: pfelt1 guesses 2^64
[23:37:29 CEST] <johnnny22-afk> I'm guessing that makes a big pts, more than 48h
[23:37:31 CEST] <pfelt1> that's not right
[23:37:39 CEST] <pfelt1> A time stamp is a 33 bit number that is a sample of a counter driven by a 90 kHz clock
[23:37:48 CEST] <pfelt1> so 2^33
[23:38:10 CEST] <johnnny22-afk> which makes 8589934592
[23:38:27 CEST] <johnnny22-afk> what are those, seconds ? frames ?
[23:39:21 CEST] <kepstin> the clock is 90kHz
[23:39:40 CEST] <pfelt1> yeah.   khz
[23:39:41 CEST] <kepstin> so apparently it's designed to be a little more than 24H
[23:40:19 CEST] <johnnny22-afk> humm makes more sense from what I've heard, but I wasn't sure of the intrisic details :)
[23:40:33 CEST] <johnnny22-afk> and then the mpeg-ts pts roll-over back to 0:00 I assume.
[23:40:43 CEST] <kepstin> yeah, looks like they just picked the smallest number of bits that can fit 24H
[23:40:56 CEST] <johnnny22-afk> broadcasting people.. eh !:P
[23:41:00 CEST] <kepstin> i'd expect in most cases on a continous stream it would count to 24H then roll over
[23:41:29 CEST] <johnnny22-afk> and how do players or ffmpeg handle playing such a stream that rolls over, doesn't that cause issues when seeking around ?
[23:41:36 CEST] <johnnny22-afk> or ffplay
[23:41:37 CEST] <kepstin> but a lot of broadcast streams aren't actually continuous, of course, you have commercial splicing etc.
[23:41:50 CEST] <kepstin> mpeg-ts isn't designed to be seekable.
[23:42:06 CEST] <johnnny22-afk> even when on disk ?
[23:42:33 CEST] Action: kepstin wonders how the bdmv format does seeking, actually
[23:43:09 CEST] <kepstin> probably has some extra constraints on the mpeg ts on blurays so you have to have monotonic pts or something
[23:45:00 CEST] <kepstin> if you have an mpeg-ts file with timestamp discontinuities, without an external index of some sort, I don't think you can seek much better than picking a file position based on average bitrate and resyncing :/
[23:45:30 CEST] <johnnny22-afk> m'ok, humm makes me think
[23:45:56 CEST] <kepstin> it is designed as a streaming format, after all.
[23:46:04 CEST] <johnnny22-afk> maybe I should change the fileformat, while keeping the v and a codecs intact :)
[23:47:55 CEST] <johnnny22-afk> I'd like a fileformat that doesn't have a header or a tail, that can be truncated anywhere (or almost) without making the fileformat unplayable. Ideally a fileformat that can take more than 24 hours.
[23:48:00 CEST] <johnnny22-afk> and is seekable :P
[23:48:23 CEST] <johnnny22-afk> Obvioulsly, I could use ffmpeg to regenerate the pts, so as to not create discontinuities.
[23:48:34 CEST] <kepstin> an interesting note on DVDs is that seek points are actually handled by having external data files storing *sector* offsets within specific VOB files to mark chapters, etc.
[23:49:25 CEST] <johnnny22-afk> that's probably not obvious to do on the fly as you're saving the stream to disk, or  maybe it is.. but players probably wouldn't like this.
[23:50:22 CEST] <johnnny22-afk> I could also just rotate to another file after 24h, or make sure to remove the head of the file so that not more than 24h exists on the file.
[23:50:37 CEST] <kepstin> yeah, segmenting the file is probably your best option
[23:51:15 CEST] <johnnny22-afk> for 24h rollover sure. but not within that 24h stretch (i think).. cuz players really hate dealing with multiple files and seeking in them.
[23:51:36 CEST] <kepstin> you could probably even use the HLS muxer to do it, and then you'd have an m3u8 playlist file that HLS-supporting players can use - it even handles seeking across files.
[23:51:53 CEST] <johnnny22-afk> currently seeking in the mpegts file I'm generating seems smooth... but I do have my worry about pts's existing twice, or what happens when it roll-over back to 0:00
[23:52:28 CEST] <johnnny22-afk> yeah, but I've had bad experience seeking on a m3u8 that doesn't contain a end-list tag.
[23:53:02 CEST] <johnnny22-afk> merging those ts files and seeking within that mpegts file seems just so much smoother. By far.
[23:54:08 CEST] <johnnny22-afk> I could seek by segment in a HLS, but finer than that just exhauses the player.
[23:59:41 CEST] <kepstin> if you just need an arbitrarily long file that is readable and seekable as it's being encoded, mkv might work. But you can't just chop the head off an mkv file like you can with mpeg-ts.
[00:00:00 CEST] --- Thu Apr 21 2016


More information about the Ffmpeg-devel-irc mailing list