Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
March 2014
- 1 participants
- 62 discussions
[00:28] <BBB> plepere: x86/vp9dsp_init.c
[00:29] <BBB> plepere: top of the file
[02:20] <cone-645> ffmpeg.git 03James Almer 07master:7fd64e3e36f7: x86/synth_filter: add synth_filter_fma3
[03:01] <cone-645> ffmpeg.git 03Marton Balint 07master:d08bb065f2ac: mpegts: use goto out instead of break on truncated or invalid pmt tables
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:5e01cd3b697e: dnxhdenc: fix mb_rc size
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:e925fd215f9f: avcodec/vmnc: Check that rectangles are within the picture
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:ca9d302519b6: avcodec/takdec: always check bits_per_raw_sample
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:b3cc4bd18f3c: avcodec/vc1: reset fcm/field_mode in non advanced header parsing
[03:54] <cone-645> ffmpeg.git 03Justin Ruggles 07release/1.2:bb683ebdba9b: samplefmt: avoid integer overflow in av_samples_get_buffer_size()
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:11b14d0e63f8: avcodec/wmalosslessdec: fix mclms_coeffs* array size
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:a57d29a50c7a: avformat/mpegtsenc: Check data array size in mpegts_write_pmt()
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:ab31a9ee4af5: avcodec/msrle: use av_image_get_linesize() to calculate the linesize
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:9085cdd67799: avcodec/ansi: fix integer overflow
[03:54] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:b580bae53ac7: avcodec/snow: split block clipping checks
[03:55] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:ddcccababe34: avcodec/utvideoenc: fix slice_bits size
[04:02] <cone-645> ffmpeg.git 03Michael Niedermayer 07release/1.2:e63346f7e8d3: update for 1.2.6
[04:25] <cone-645> ffmpeg.git 03Marton Balint 07fatal: ambiguous argument 'refs/tags/n1.2.6': unknown revision or path not in the working tree.
[04:25] <cone-645> Use '--' to separate paths from revisions
[04:25] <cone-645> refs/tags/n1.2.6:HEAD: mpegts: use goto out instead of break on truncated or invalid pmt tables
[07:48] <ubitux> > First of all: where is VP9? There isnt. Why? Because after a whole week it still didnt finish encoding.
[07:48] <ubitux> heh.
[07:49] <wm4> does ffmpeg plan to add a vp9 encoder?
[07:49] <wm4> or is that left to google
[07:49] <ubitux> an encoder is a lot of work
[07:49] <ubitux> a lot of /continuous/ work
[07:51] <ubitux> not sure we have enough manpower for that
[12:06] <ubitux> funman: i don't understand why don't you change the check in configure.ac by not using pkg config?
[12:07] <ubitux> like making two different requirements
[12:07] <funman> ubitux: go for it
[12:07] <ubitux> funman: also, isn't the requirement for avcodec pretty high?
[12:07] <ubitux> i mean, is there any libav release with those versions?
[12:08] <funman> i doubt it
[12:08] <funman> PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
[12:08] <ubitux> mmh in that case
[12:08] <ubitux> how can that compile with libav?
[12:08] <funman> ?
[12:09] <ubitux> 53.34.0 had that vdpau code?
[12:09] <funman> no
[12:09] Action: wm4 wonders when there will be finally different pkg-config versions for libav and ffmpeg
[12:09] <funman> vdpau has higher requireemnts yes
[12:09] <funman> PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 55.26.0], [
[12:09] <ubitux> ah indeed that's below, ok
[12:11] <ubitux> funman: is that important to have it in 2.1.x?
[12:12] <ubitux> (it was "working" previously?)
[12:13] <funman> ?
[12:14] <ubitux> funman: i mean, if you disable the check properly (by that i mean you add the appropriate version check for ffmpeg in configure), it will disable that vdpau code for 2.1.x
[12:14] <ubitux> would that be ok?
[12:14] <funman> is the current code not OK ?
[12:15] <ubitux> what do you mean by current code? the code you imported from recent versions?
[12:15] <ubitux> i'm just wondering if it's more important to have the feature+hackfix vs nofeature+properfix
[12:18] <funman> i think it's not important at all
[12:18] <funman> lot of fuss for nothing
[12:48] <Keestu> dear all, i am build ffmpeg in android, when i use --enable-pthreads, looks like it is unable to lik pthread_cancel .
[12:49] <Keestu> i m using android ndk r9b
[13:15] <plepere> I hope that this time my code is good enough so I can go on something else. :p
[13:25] <plepere> hey BBB, my body is ready for your critics.
[13:25] <kurosu_> plepere: have you setup the START/STOP_TIMER macros to see how the changes are helping?
[13:26] <kurosu_> Maybe it is less important now, but I suspect the initial round helped
[13:26] <plepere> kurosu_, no, I'm going to see how that works. :) you've written a little thing about it in a reply IIRC.
[13:27] <kurosu_> yeah, I think it really helps keeping motivation, and it also helps justifying your own choices and/our reject parts of reviews :D
[13:27] <kurosu_> *and/or
[13:27] <plepere> ok
[13:28] <kurosu_> but as I said, it may be small timing changes now
[13:29] <plepere> I'm going to try it now, so I know how to use it another time
[13:30] <ubitux> START_TIMER\n//code...\nSTOP_TIMER("generally_the_func_name_ssse3_but_anything_is_fine")
[13:30] <ubitux> then ffmpeg -threads 1 -i ... -f null -
[13:30] <kurosu_> plepere: btw, are you ever using m10/m9 (m10 might, depending on parameters, not sure)
[13:31] <plepere> kurosu_, I'm using this logic : m0 -> m7 is input, m15 -> m11 are filters
[13:32] <plepere> in 4-tap I use less registers
[13:32] <plepere> unless it's hv.
[13:32] <kurosu_> ok anyway the reg count seems ok, so probably x264asm is smart enough to know how to allocate them
[13:33] <kurosu_> it's just that if m9/m10 are unused it's less regs used to declare
[13:34] <BBB> plepere: lol
[13:34] <plepere> I think I'm never declaring the m registers correctly in the cglobal...
[13:34] <BBB> I'm still reviewing the actual functions
[13:34] <BBB> it gets a little more fuzzy at this point because it's just so much code
[13:34] <BBB> but anyway
[13:34] <kurosu_> plepere: it's minor declaring more (useless backing and restoring) but less could crash
[13:35] <kurosu_> (not minor if you don't want to avoid loosing a few cycles for nothing)
[13:35] <BBB> why does hevc_put_hevc_epel_hv2_8 use PEL_STORE6?
[13:35] <BBB> I'm so confused
[13:36] <plepere> errr, it shouldn't
[13:36] <plepere> it's in hevc_put_hevc_epel_hv%1_%2 which calls PEL_STORE%1 dst, m0, m1
[13:42] <plepere> damn, I messed-up my patches. :/
[13:44] <cone-536> ffmpeg.git 03Rémi Denis-Courmont 07master:eeaf4f3b8781: av_vdpau_get_profile: mask out H.264 intra profile flag
[13:44] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:a44a27b5c817: Merge commit 'eeaf4f3b87815cbae4c12856cfaafb3a2dae8e0c'
[13:45] <plepere> ok, the timers work. :)
[13:45] <plepere> it's a nice thing to know
[13:46] <nevcairiel> the timer macros are really a easy way to benchmark :)
[13:46] <plepere> I'll use that to bench ASM vs intrinsics. :D
[13:47] <kurosu_> the timers can have side effect, but really, like nevcairiel said; I can't imagine applying small changes without this to confirm
[13:49] <plepere> well I really want the current code to be validated so I can try to do qpel hv in asm and how to make the mc + weighted done together.
[13:51] <kurosu_> yeah, you might actually need to undo things :)
[13:51] <cone-536> ffmpeg.git 03Reinhard Tartler 07master:5ddc9f505231: configure: enable PIC on s390(x)
[13:51] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:5abbeefd5e64: Merge commit '5ddc9f5052316608799b932c604f9e7561f8ce24'
[13:51] <kurosu_> anyway, with those macrofests, I usually end up decompiling just to try and spot stupid things
[13:55] <cone-536> ffmpeg.git 03Luca Barbato 07master:e995cf1bccc6: avfilter: Add missing emms_c when needed
[13:55] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:e3c93f1f84a3: Merge remote-tracking branch 'qatar/master'
[13:56] <plepere> yes, I might undo things, but having this batch of code validated would be a good base to start from.
[13:57] <plepere> kuro : what editor do you use to extend the ASM macros ?
[13:58] <BBB> gdb
[13:58] <BBB> in gdb prompt, run disass functionname
[13:59] <plepere> ok. nice
[14:00] <kurosu_> I have this in my ~/.gdbinit
[14:00] <kurosu_> display/i $pc define da disass $pc-32,$pc+32 end
[14:00] <kurosu_> arg, didn't keep the eols
[14:01] <plepere> BBB. I messed up. You need to fuse the 2 patches to see the good asm. :/
[14:02] <plepere> I see your mail about loop_init whih is gone.
[14:14] <ubitux> wm4: i can't reproduce the seek issue
[14:14] <ubitux> wm4: i tried -ss 10 -c copy -y out.ogg, works the same
[14:15] <ubitux> more text flood though
[14:16] <wm4> try with ffplay
[14:16] <ubitux> i see a problem with ffplay indeed
[14:16] <wm4> probably depends on the seek flags
[14:16] <ubitux> i guess you can reproduce with mpv?
[14:16] <ubitux> (aka not ffplay specific)
[14:16] <wm4> yes, it was reported by a mpv userr
[14:17] <ubitux> ok
[14:18] <ubitux> wm4: please at least provide a command to reproduce next time
[14:18] <ubitux> i know you just want to provoke carl but well... :)
[14:18] <wm4> "ffplay file.ogg"
[14:18] <wm4> then click with mouse somewhere
[14:19] <wm4> that was hard
[14:19] <ubitux> you should have mentioned it, it wasn't obvious
[14:20] <wm4> I didn't expect anyone to test seeking with ffmpeg.c
[14:20] <BBB> plepere: can you resend one single asm patch instead of several? it's hard to know what to do with so many
[14:20] <wm4> but yes, it's true that I might have been more detailed if cehoyos didn't own the bug tracker
[14:20] <BBB> anyway
[14:20] <BBB> I'll first finish qpel review then I'll start back at the beginning
[14:22] <BBB> hm i'll skip qpel
[14:22] <BBB> it's identical to epel
[14:22] <BBB> so same comments
[14:22] <BBB> ok I'll wait for new patch and re-review
[14:22] <BBB> enjoy the comments so far, hope they help
[14:30] <plepere> yes, they help quite a bit.
[14:30] <cone-536> ffmpeg.git 03Christophe Gisquet 07master:93c4cd618cd2: ra144enc: fix use of scalarprod_int16
[14:30] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:100e8f8b67b4: avcodec/ra144enc: avoid calling emms when the SSE2 version is used
[14:30] <plepere> I'm trying to make a C wrapper for high width
[16:11] <cone-536> ffmpeg.git 03Jason Hsu 07master:8fb4dba89d7b: doc/examples/remuxing: dont use the input codec_tag, it may be invalid tor the output
[16:24] <plepere> 860 lines left in my ASM. :)
[16:53] <nevcairiel> :)
[17:31] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:12b97dd37573: avformat/oggparsevorbis: dont use invalid granules
[17:37] <wm4> <3
[19:03] <ubitux> michaelni: we should update APIChanges with our versions more often
[19:03] <ubitux> courmisch is complaining about that
[19:04] <wm4> yeah I found that pretty useful when I found out about that
[19:04] <wm4> but then I saw only Libav did this properly
[19:05] <wm4> (marking releases in the file)
[19:06] <ubitux> michaelni: ideally when libav update the file, we should do the same with our version
[19:07] <ubitux> since you actually have to merge the version, the APIChanges should be updated as well
[19:08] <ubitux> don't we have a script btw?
[19:08] <michaelni> my script only works if the entry contains a git hash
[19:08] <michaelni> libav omits these hashes often
[19:10] <michaelni> ubitux, also speaking of ommited hashes, there are plenty ommited ones for .100 versions
[19:13] <michaelni> ubitux, just tried my script, but it found no new entries that have just a libav git hash
[19:13] <ubitux> ok
[19:13] <ubitux> then what about updating the APIChanges files when you get a version.h conflict?
[19:14] <ubitux> (if there is a conflict it's probably bumped and documented in the APIChanges)
[19:14] <ubitux> it should be too much trouble
[19:14] <ubitux> because the versions we are documenting currently are wrong
[19:14] <ubitux> that's not very cool for users
[19:15] <ubitux> (wrong in the sense that they don't match the one in the project)
[19:16] <michaelni> i should update them when theres a conflict, lets see if i forget next time theres one
[19:17] <ubitux> thank you
[19:17] <ubitux> i suppose courmisch is trying to get the version for ffmpeg' vdpau introduction
[19:18] <ubitux> and so he's rage-complaining, which i can understand
[19:59] <JEEB> Skyler_, you might want to chime in on the 8x8 lossless decoding patch on the ML before anyone pushes it in case it's the thing that breaks x264's 8x8dct in lossless (which was written when JM and the spec were less working)
[19:59] <JEEB> didn't check the patch myself yet, but 1) fixes lossless to match JM and 2) 8x8 remind me of that
[20:01] <JEEB> http://ffmpeg.org/pipermail/ffmpeg-devel/2014-March/155228.html
[20:02] <Skyler_> I'm not subscribed to the ML
[20:02] <Skyler_> how do I reply
[20:02] <Skyler_> and yes, that is the thing that breaks it
[20:03] <J_Darnley> I think you can click on the sender link at the top of the page
[20:03] <Skyler_> that will break lossless decoding on all historical x264 lossless files
[20:03] <nevcairiel> maybe it shouldn't have created out of spec files then :D
[20:04] <nevcairiel> i suppose someone could come up with a hack to support both versions and detect x264 encodes
[20:04] <JEEB> the problem was that IIRC the spec was vague and JM didn't work back then
[20:04] <JEEB> and then it was like a couple of years later when it was found out
[20:05] <JEEB> and the only implementations of the lossless profile already had done it the x264 way
[20:05] <Skyler_> yeah, x264 was literally the first encoder to implement the lossless profile fully
[20:05] <Skyler_> as far as I know
[20:05] <Skyler_> JM's implementation was bugged and incomplete
[20:05] <Skyler_> so it was impossible to verify that x264's interpretation of the spec was correct
[20:08] <JEEB> but yeah, it'd be nice of course if it was possible to make both types decode nicely
[20:08] <JEEB> but not sure what kind of hacks that'd take .-.
[20:11] <nevcairiel> not sure if there arent any encoder version shims already in the code
[20:11] <nevcairiel> there is h->x264_build
[20:12] <nevcairiel> where it parses the sei that x264 puts into the stream
[20:12] <nevcairiel> could duplicate the implementation and switch based on that
[20:13] <nevcairiel> I dont suppose there are plans to fix x264?
[20:13] <Skyler_> "fixing" x264 breaks compatibility with the decoders
[20:13] <Skyler_> it's a catch-22
[20:14] <nevcairiel> spec compliance is worth it if you ask me
[20:18] <saigono> Greetings! Question about developing muxer/demuxer should be asked here or on #ffmpeg?
[20:18] <nevcairiel> didn't someone suggest once to simply stop encoding the 8x8 thingys in lossless mode to workaround the issue :D
[20:18] <JEEB> saigono, developing stuff within libavformat itself would be here
[20:18] <JEEB> nevcairiel, yeah
[20:18] <JEEB> not using 8x8dct should fix it
[20:18] <Skyler_> I guess I could accept a patch for that, really
[20:19] <Skyler_> I guess I'm a little embarrassed I botched it the first time :p
[20:19] <Skyler_> and iirc the "correct" version has worse compression
[20:19] <Skyler_> (albeit totally marginal)
[20:22] <saigono> So, I got a question %) What value should I return in 'read_packet' if i know, that current packet is the last one in file?
[20:50] <Compn> saigono : can ask here if its for ffmpeg :)
[20:51] <saigono> Compn: already asked :)
[21:17] <michaelni> ubitux, see ML for a APIChanges with more versions & hashes filled in
[21:19] <nevcairiel> saigono: if its still a valid packet, you dont return anything special. the next call would then return eof
[21:26] <ubitux> michaelni: will look, thanks
[21:34] <cone-536> ffmpeg.git 03Diego Biurrun 07master:3741aa37c2a0: x86: cabac: Use correct #includes to make header compile standalone
[21:34] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:146b476ba0c9: Merge commit '3741aa37c2a0d0717faff74a5c4cc357d16f6d1d'
[21:38] <michaelni> ubitux, btw, which APIChanges entries exactly where needed / missing about VDPAU ?
[21:40] <ubitux> 2013-11-14 - 31c09b7 / 728c465 - lavc 55.26.0 - vdpau.h
[21:40] <ubitux> this entry
[21:40] <ubitux> but it's fine for now, courmisch fixed all of that properly in vlc
[21:58] <cone-536> ffmpeg.git 03Janne Grunau 07master:cbddee1cca0e: arm: hpeldsp: prevent overreads in armv6 asm
[21:58] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:a74bab7079d7: Merge remote-tracking branch 'qatar/master'
[22:19] <cone-536> ffmpeg.git 03Michael Niedermayer 07master:91550f46cd3f: doc/APIchanges: fill in missing version for "2013-11-14 - 31c09b7 / 728c465 - lavc 55.26.0 - vdpau.h"
[22:49] <cone-536> ffmpeg.git 03Andrey Myznikov 07master:9deecdf85f0c: Fix pthread-related compile errors in iec61883.c
[22:55] <ubitux> michaelni: mmh why does libav' libavutil have a major > to our?
[22:55] <ubitux> what magic is this?
[22:55] <j-b> magic
[22:55] <ubitux> did we avoid breaking the api/abi somehow?
[23:02] <michaelni> yes
[23:02] <michaelni> see libavutil/lls*
[23:03] <ubitux> ah the lls thing, i remember now
[23:06] <ubitux> ill have a closer look to the apichanges diff, feel free to push now if you can't wait
[23:06] <ubitux> 'night
[23:06] <michaelni> ubitux, night, sleep well
[00:00] --- Thu Mar 6 2014
1
0
[00:53] <Jack64> jangle any luck ?
[00:53] <jangle> I'm about to find out
[01:00] <Jack64> jangle: did you replace the fread() call for your own memory reader?
[01:02] <jangle> I'm doing a sanity check first.
[01:19] <jangle> nope, didn't work
[01:20] <jangle> I realized i'd been linking the example directory against my macports build of ffmpeg and not the local build I was using for testing. Corrected this, same problem
[01:22] <jangle> starting with the avcodec.c code
[01:22] <jangle> I changed the decoder to be h264, and included a call to video_decode when using the h264 command line flag for the program, decoder pukes
[01:23] <jangle> so clearly, theres more to it than the fread call, mister programmer.
[01:23] <Jack64> hmm
[01:26] <Jack64> is it possible to change your inputs?
[01:26] <Jack64> not having them in those in memory buffers
[01:26] <jangle> http://paste.lisp.org/display/141486
[05:03] <orbisvicis> hi, I'm running ffmpeg revision d41efc1f267c1b71d83c8c6dff72eab0967c4365, or roundabouts there anyway (mplayer doesn't give a specific version, but the commit corresponds to the date of the svn mplayer version I've built. does say "libavcodec version 54.92.100" though)
[05:04] <orbisvicis> curious if there have been any significant performance improvements to the x264 decoder since
[05:05] <orbisvicis> (that would be Feb 18 2013)
[05:17] <relaxed> orbisvicis: probably, but they come in small doses over time.
[05:19] <orbisvicis> so nothing headline-worthy | no major todo goals accomplished
[05:20] <orbisvicis> not to say I won't try it. just unlikely that miniscule performance improvements accumulated over 2 years would give my slow system enough of an edge
[05:25] <orbisvicis> s/x264 decoder/ffmpeg h264 decoder/
[08:32] <agentOrange> how would i go about setting up a server to listen for and receive RTMP streams, and hand them off to fmmpeg to transcode and broadcast?
[08:59] <bparker> mathis98: VLC can probably do it, not sure about the rtmp support though
[08:59] <mathis98> yeah the RTMP is the kicker
[08:59] <bparker> but I highly doubt you will get much help with such a huge question
[08:59] <mathis98> i think im going to have to write my own server
[08:59] <mathis98> right on
[09:00] <bparker> there is librtmp
[09:00] <mathis98> well ive got most of it figured out, just not the very front edge, the listening socket
[09:00] <mathis98> yeah im looking at it now
[09:00] <bparker> I know gstreamer supports it
[09:00] <bparker> (rtmp)
[10:35] <ranman> I have ~100s of images stored in a database. I'd prefer not to persist all of them to disk before passing them into ffmpeg to render into a video. Is there an example of how to do this? programming language doesn't matter...
[10:36] <JEEB> see the docs/examples/demuxing_decoding one in the git repo
[10:36] <JEEB> and stare at the doxygen
[10:36] <JEEB> good luck
[10:36] <JEEB> there are other examples in there, too
[10:37] <ranman> here ?https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/demuxing_decoding.c
[10:37] <JEEB> yes, although you might want to actually clone the git repo
[10:37] <ranman> yup, just glancing through it first, wanted to make sure I had the right file.
[10:38] <ranman> do you think ffmpeg is the right tool for this or should I consider something else?
[10:38] <JEEB> FFmpeg's libraries most probably are the right tool, not sure about ffmpeg the cli tool
[10:39] <JEEB> but if you're already ready to jump into code, then yes -- FFmpeg's libraries are going to do it for you (parsing and decoding the pictures, which you can then feed to an encoder, and then mux into a container)
[10:40] <ranman> ok, thanks for your help, one last question, do you know of any good python bindings for FFmpeg (I was not able to find any)
[10:40] <JEEB> no
[10:40] <JEEB> even if there were some, they are most probably outdated by now
[10:40] <ranman> to c it is :/
[10:40] <ranman> farewell for now
[11:01] <amigojapan> hey JEEB, are you the same JEEB that used to hang out in Japanese on the rizu/2chan networked channel thinggy?
[11:02] <JEEB> yes
[11:02] <amigojapan> JEEB nice to see you again EWv
[11:03] <JEEB> JrU
[11:38] <ranman> another nooby question, the frame dropping when building a video using images doesn't seem evenly distributed
[16:07] <TekniQue> I'm trying to get started using the ffmpeg libraries in application development
[16:07] <TekniQue> one thing confuses me, playing with demuxing_decoding.c from doc/examples, it always claims the video/audio frames have no PTS
[16:08] <TekniQue> how on earth can they not have a PTS?
[16:08] <TekniQue> I'm not playing AVI files
[16:08] <TekniQue> this is coming from mp4 and ts files
[19:10] <anth0ny> I'm trying to make a video from a number of images. When doing this, I set a framerate (say, 10fps). I then want to merge this video with another video of a different framerate (say, 20fps). Is it possible to create the first video at 20fps while still displaying the images at 10fps (ie, displaying each frame twice)?
[19:10] <anth0ny> I could, of course, resample the first video to 20fps and then merge it, but I'm hoping to avoid this step for the sake of efficiency
[19:10] <anth0ny> (merge = concatenate)
[19:24] <JodaZ> anth0ny, well, variable framerate videos might also not go over well with every player you want your videos to play on
[19:25] <anth0ny> JodaZ: I guess I should mention that these are MP4 videos, which avconv/ffmpeg complains about if it tries to concatenate videos of different framerate
[19:25] <anth0ny> hence the need to have a consistent framerate
[19:26] <anth0ny> basically, I want a video to have a twice as high framerate while still having the same duration and number of input frames (if that makes sense)
[19:26] <JodaZ> i understand what you want to do
[19:27] <JodaZ> anth0ny, are those videos at least same size, or do you need to re-encode anyways
[19:27] <anth0ny> yes, they are all the same size
[19:28] <JodaZ> anth0ny, note that the inelegancy in resampling should not be overly present as overhead in the resulting files as modern video codecs encode change in frames and there is no change between two such duplicate frames
[19:28] <anth0ny> basically, I'm making a vid of images. All images come from the same source. some sections of imagery should play at a faster rate than others. imagine a survalence camera where I want the night time images to play twice as fast as the daytime images.
[19:30] <anth0ny> JodaZ: the inelegancy that I mentioned was about adding another step to creating these videos (the resample). I would rather avoid that if possible. this is something that is going to run many many times
[19:30] <anth0ny> is that what you were referring to?
[19:32] <JodaZ> man, lots of people are working on security camera systems...
[19:34] <JodaZ> anth0ny, well, i can't really help you: http://www.ffmpeg.org/faq.html#How-can-I-concatenate-video-files
[19:35] <JodaZ> with mp4 you can't use file level concat, so you either have the concat filter or the concat demuxer
[19:35] <anth0ny> JodaZ: hmm... maybe mp4 isnt' the right format to be using...
[19:35] <JodaZ> or, i mean if you are makign the mp4 yourself from individual frames, you should propably switch to a container allowing file level concat
[19:35] <JodaZ> eh, yes
[19:36] <JodaZ> i think you'd maybe rather use raw .h264 or ts
[19:37] <anth0ny> btw, thanks for this help so far
[19:37] <JodaZ> i myself am having problems with concating video (actually my problems are rather with splitting it) currently
[19:39] <JodaZ> i think you should try making your frames into .ts or .h264 and then using the concat demuxer to join em, anth0ny
[19:39] <anth0ny> JodaZ: I'm using libx264 https://trac.ffmpeg.org/wiki/x264EncodingGuide, is this not raw h264?
[19:40] <JodaZ> well, h264 is the codec which gets wrapped in a container usually
[19:40] <JodaZ> mp4 is quite an elaborate container
[19:40] <JodaZ> .ts is simpler
[19:40] <JodaZ> and .h264 is no container (or barely one)
[19:41] <anth0ny> i see...
[19:41] <anth0ny> brb, lunch
[19:41] <JodaZ> well, i guess it doesn't really matter tho, just try the concat demuxer and report back
[20:03] <Jack64> anyone here a pro video splitter ?
[20:03] <Jack64> I need some help splitting videos
[20:04] <Jack64> here's the command line I'm using
[20:04] <Jack64> (in a script)
[20:04] <Jack64> ffmpeg -y -i /tmp/ram/$infile -t $intime0 -c copy $workingdir/smallfile0b.mp4 -ss $intime0 -c copy $workingdir/smallfile0e.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
[20:05] <Jack64> this splits it from beginning to $intime0 to smallfile0b.mp4 and from $intime0 to the end at smallfile0e.mp4
[20:06] <Jack64> now I should be able to feed the same command smallfile0e.mp4 and $intime1 and get from the end of $intime0 to $intime1 right?
[20:14] <Jack64> fixed it :P
[20:14] <klaxa> was about to ask what exactly you meant
[20:15] CTCP PING: 1394046935 534156 from average (average!~un_golan@wikimedia/Spetrea) to #ffmpeg
[20:18] <jangle> I'm attempting to build ffmpeg with debug info, so that I can step through ffplay. My configure line includes --enable-debug and --disable-stripping. The configure help suggests that the --enable-debug line takes a parameter for "debug level". Internet searches suggest to try =3 and =gdb and to leave it alone, and in all 3 of those cases when I try to step through ffplay built in this way, after I set a breakpoint on main and then hit run and next, gdb
[20:18] <jangle> mentions that there is no line informaiton associated with it. Can anyone offer suggestions about what I should look at next?
[20:19] <Jack64> well I'm generating this script using php and on the other iterations where it used smallfile0e.mp4 for example, it should use -t $intime1 and -ss $intime1 but it was using -t $intime0 -ss $intime1 , hence the malformed split
[20:20] <Jack64> jangle: still wrestling with the in memory buffer of encoded nals?
[20:21] <jangle> Jack64: yes
[20:22] <Jack64> jangle: so you decided to step through ffplay and use it to get your frame to the canvas?
[20:23] <jangle> Jack64: I've decided to step through ffplay to see how it stands up the decoder after opening and reading an annex b file, and when I figure out how that happens, I'll do it myself with direct calls to the library
[20:23] <Jack64> cool
[20:24] <jangle> oddly enough, I have the same debug problems when trying to use the libav tools...
[20:25] <Jack64> exactly the same?
[20:25] <Jack64> maybe there's something wrong with your input ?
[20:26] <jangle> its not that the files don't play
[20:26] <Jack64> you can play it right?
[20:26] <jangle> its that I seem to not have been able to build up the libraries and programs with proper debug information, so that when I run them inside of gdb, gdb doesn't get enough informaiton to let me step through
[20:27] <jangle> at least, I think thats what's going on.
[20:28] <jangle> using list in gdb prints source listings, but not at the point of current execution, or where the breakpoint hits
[20:37] <JodaZ> jangle, are you really still at this
[20:38] <Jack64> JodaZ: he's obviously committed :)
[20:38] <Jack64> it's an interesting thing to learn, even if just to know how it works
[20:38] <JodaZ> well, i could have helped him yesterday, but for the sake of less spam here i might just as well now
[20:39] <Jack64> it's about time actually :P you let him sweat it hard eheh
[20:39] <JodaZ> the problem with the code example he had yesterday was that it needed full frames of input passed, not just arbitrary chunks of input buffer
[20:39] <JodaZ> ... as is said in comments in that code actually
[20:39] <jangle> I've ignored jodaz, he's not helpful.
[20:40] <Jack64> ha, he just was
[20:40] <Jack64> so it's your input after all
[20:40] <Jack64> you simply can't do it like that
[20:40] <jangle> i'm not running these tests on my input
[20:41] <Jack64> yea but the input of the tests was not full frames
[20:41] <Jack64> but arbitrary chunks of input buffer, like JodaZ says
[20:41] <Jack64> remember you said you were generating the frames?
[20:43] <jangle> no, I want to generate frames. I don't have frames, I have only encoded data. I assume things like, an sps, pps and one idr nal are required for generating one frame, and a new p frame nal relies on previous idr, sps, pps, nal for each new frame
[20:43] <JodaZ> so to get full frames, av_read_frame has to be used, and for that to work with a stream in memory and not from a file, you would propably use context set up as shown in avio_reading.c with a custom read_packet callback function
[20:45] <jangle> I also assume things like ffplay opens an annex b file, finds the nals, and feeds them to a decoder setup to expect h264. the annex b has an sps and pps as its first 2 nals, so they either get read in however other nals are decoded, or get passed to the decoder in a different special way, and then after that, the user of the library must either simply continue to feed nals and wait for the decoder to return a full frame, or do things like reinject the sps
[20:45] <jangle> pps before certain other nals, or more complicated things. Since my stream only emits one sps and pps nal,
[20:45] <jangle> so I've decided that even if it takes a while to do, if I step through ffplay as it reads in an annex b, I'll be able to figure out how the decoder is fed nals, and then do that myself
[20:48] <jangle> so now I'm at the point where I'm trying to get the programs compiled with enough information to step through, and once again, since it seems like this isn't something people do all the time, I'm running into problems. I suspect my toolchain is messed up, so, I have much to learn and I appreciate pointers to help me figure out what is expected to be correct, so that I can determine what parts of this process are broken for me.
[20:52] <JodaZ> Jack64, now i wonder if he is redoubling his spamming efforts just to annoy me :)
[21:43] <Jack64> JodaZ: hah I think he's just excited and wants to learn :) besides, this is a chat platform, he's chatting on topic, so I don't consider that spamming. I'm probably going to do the same as him when I have time, I want to learn that low level video stuff too ..
[23:44] <sybariten> evening
[23:45] <sybariten> i have an .mp4 file with audio that seems to be .aac. I also have an mp3 file of a new soundtrack, that i would like to insert instead
[23:45] <sybariten> can this be done with ffmpeg? and what does the mp4 container think about mp3, will i need to do some sort of conversion?
[23:46] <llogan> you want the video from one file and the audio from another?
[23:47] <sybariten> hm, well yeah i guess... i already have an mp4 file which is video+audio . But the audio there is rather crappy, and has since been remixed
[23:47] <llogan> ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -codec:v copy -codec:a aac -strict experimental output.mp4
[23:48] <sybariten> so now i would like to replace the audio track with a new one. THe soundtracks have the same length , but not down to single frames or so but maybe down to 1/4 second
[23:48] <relaxed> mp3 is supported in .mp4, no?
[23:48] <sybariten> aah, so you take the mp3 and give it a -codec:a
[23:49] <sybariten> is -strict exeperimental part of the options? :)
[23:50] <llogan> i forgot -shortest
[23:51] <llogan> i added -strict experimental because i have no information about your ffmpeg build so I chose the native AAC audio encoder
[23:51] <sybariten> aah ok ... and should i also use -shortest?
[23:51] <llogan> probably. it will make the output duration the same duration as the shortest input
[23:51] <sybariten> also, i noticed now.... i'm a fool, its an m4v not an mp4. Is m4v a similar container?
[23:52] <relaxed> yes, it's Apple's name for .mp4
[23:52] <llogan> similar enough. ffmpeg might run it through the "ipod" muxer...whatever that is
[23:52] <sybariten> NICE
[23:52] <llogan> i might be incorrect. i can't remember
[23:53] <sybariten> nah my Windows ffmpeg was too old for that :) "unrecognized option codec:v"
[23:53] <llogan> http://ffmpeg.zeranoe.com/builds/
[23:53] <sybariten> merci
[23:54] <llogan> if you want to just stream copy the mp3 instead of re-encoding: ffmpeg -i video -i audio -map 0:v -map 1:a -codec copy -shortest output.mp4
[23:54] <llogan> i can't remember if mp3 is officially supported in mp4 and i'm too lazy to read specs.
[23:55] <llogan> i think it is though
[23:59] <sybariten> llogan: i cant take the risk a.t.m.
[00:00] --- Thu Mar 6 2014
1
0
[00:12] <BBB> kurosu_: I'll have a look after dinner; I still think the initial shift after unpack is odd but I only glanced through it very quickly
[00:22] <cone-430> ffmpeg.git 03Andrew Kelley 07release/2.2:ba21499648bb: lavfi: add compand audio filter
[00:22] <cone-430> ffmpeg.git 03Anton Khirnov 07release/2.2:15ae305007c0: af_compand: add a dependency on strtok_r
[00:22] <cone-430> ffmpeg.git 03Hendrik Leppkes 07release/2.2:031d3b66c2ea: latm: Always reconfigure if no extradata was set previously
[00:22] <cone-430> ffmpeg.git 03Anton Khirnov 07release/2.2:00d5ff64315a: af_compand: replace strtok_r() with av_get_token()
[00:22] <cone-430> ffmpeg.git 03Keiji Costantini 07release/2.2:5df52b0131d3: ituh263: reject b-frame with pp_time = 0
[00:22] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:1af235f6b344: Merge remote-tracking branch 'qatar/release/10' into release/2.2
[01:19] <cone-430> ffmpeg.git 03Dale Curtis 07release/2.0:33aa2c5d6b22: h264: Clear ERContext.cur_pic when unref'ing current picture.
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:dfdeabadcaf1: cmdutils: update year
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:9847f02fafac: dnxhdenc: fix mb_rc size
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:7c17207ab9ac: avcodec/vmnc: Check that rectangles are within the picture
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:ca5d6c615e50: avcodec/jpeg2000dec: fix error detection in pix_fmt_match()
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:d0d0924947a4: avcodec/takdec: always check bits_per_raw_sample
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:33c47d3976f7: avcodec/vc1: reset fcm/field_mode in non advanced header parsing
[01:19] <cone-430> ffmpeg.git 03Justin Ruggles 07release/2.0:0962c26b6ba8: samplefmt: avoid integer overflow in av_samples_get_buffer_size()
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:13ce3673684e: avcodec/wmalosslessdec: fix mclms_coeffs* array size
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:5e7e43c33ea4: avformat/mpegtsenc: Check data array size in mpegts_write_pmt()
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:67b943ad661e: avcodec/utils: set AVFrame format unconditional
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:bc1c8ec5e650: avcodec/msrle: use av_image_get_linesize() to calculate the linesize
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:d41f4e8dc82b: avcodec/ansi: fix integer overflow
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:f0ee0fcbfcb5: avcodec/snow: split block clipping checks
[01:19] <cone-430> ffmpeg.git 03Timothy Gu 07release/2.0:612ef09a1819: configure: use pkg-config to detect libbluray
[01:19] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:e939c7b7f533: avcodec/utvideoenc: fix slice_bits size
[01:19] <kierank> interesting that kodak are using ffmpeg
[01:27] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.0:7de7bd4f563a: update for 2.0.4
[01:27] <Compn> yep thats pretty cool'
[01:41] <cone-430> ffmpeg.git 03wm4 07fatal: ambiguous argument 'refs/tags/n2.0.4': unknown revision or path not in the working tree.
[01:41] <cone-430> Use '--' to separate paths from revisions
[01:41] <cone-430> refs/tags/n2.0.4:HEAD: avformat/microdvd: export the declared frame rate
[01:47] <llogan> interesting that kodak still exists
[01:50] <Compn> in patents and trademarks only
[01:52] <cone-430> ffmpeg.git 03Anton Khirnov 07release/1.2:2256b2a3c1a6: pthread_frame: flush all threads on flush, not just the first one
[01:52] <cone-430> ffmpeg.git 03Anton Khirnov 07release/2.1:96603d5753c7: pthread_frame: flush all threads on flush, not just the first one
[03:01] <cone-430> ffmpeg.git 03Michael Niedermayer 07master:ec6d043f8e58: avcodec/h263dec: Workaround H263 end padding bug
[05:21] <cone-430> ffmpeg.git 03Lukasz Marek 07master:19b3a25048d9: lavu/log: add device categories
[05:21] <cone-430> ffmpeg.git 03Lukasz Marek 07master:f607767d93b7: lavd: add categories to device implementations
[05:22] <cone-430> ffmpeg.git 03Lukasz Marek 07master:06fed44051d0: lavd/avdevice: add device iterators
[05:22] <cone-430> ffmpeg.git 03Michael Niedermayer 07master:f34cceb1fc58: Merge remote-tracking branch 'lukaszmluki/master'
[11:24] <ubitux> http://joco.name/2014/03/02/all-rgb-colors-in-one-image/ fun
[12:50] <cone-645> ffmpeg.git 03Vittorio Giovara 07master:8accddeb5806: vf_frei0r: adjust error messages
[12:50] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:2b0ff8d6424f: Merge commit '8accddeb5806cd98e3803b4ddf2a2ef576d0e4d9'
[13:18] <cone-645> ffmpeg.git 03Vittorio Giovara 07master:4e0be9c86f20: vf_frei0r: prevent a segfault when filter parameters are not set
[13:18] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:bfe03205a86c: Merge commit '4e0be9c86f2003dd3ba2eb8fad01e8d0e538075e'
[13:38] <cone-645> ffmpeg.git 03Vittorio Giovara 07master:61b323ce7c7c: vf_frei0r: refactor library loading from env variable
[13:38] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:d63b032d64e9: Merge commit '61b323ce7c7cdc101eadfd7de2203922b8a39e8d'
[13:53] <plepere> BBB : thanks for the feedback. it's very helpful
[13:53] <BBB> lots of code still to go ...
[13:53] <BBB> that's a lot of code
[13:56] <BBB> oh labels are loop-internal also
[13:56] <BBB> so LOOP_INIT doesn't need an argument
[13:57] <BBB> just make it .loop: everywhere
[13:57] <BBB> it'll work
[13:57] <plepere> *mind blown*
[13:58] <JEEB> :)
[14:02] <plepere> well seems like I've got still a lot of work. I'm impressed by how rigorous the code can and must be.
[14:02] <JEEB> well, after you get into it once, it should become easier to keep stuff like that :)
[14:03] <plepere> yes.
[14:04] <ubitux> plepere: often with the asm, once it's written it's not much touched anymore, so better have it done well for at first
[14:05] <cone-645> ffmpeg.git 03Vittorio Giovara 07master:5397386effba: mathops: move macro to the only place it is used
[14:05] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:8cc581fbf77a: Merge commit '5397386effba2e53e4ff82852a86f6be4d59e9c1'
[14:05] <plepere> yes, I understand, but I'm impressed how it's always possible to have an always cleaner code.
[14:12] <BBB> yeah, basically what ubitux says, it's unlikely we'll touch or refactor this in major ways in the future, so better do it right at once
[14:13] <BBB> otherwise in the future, it's triple the effort (redo x86 asm, redo arm/neon asm, redo ppc asm, redo mips asm, redo c, ...)
[14:16] <plepere> BBB : in which file is the C wrapper for the W > 16 ?
[14:19] <ubitux> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732159 interesting thread about mplayer
[14:19] <ubitux> i like how the argument that mplayer2 is not maintained anymore is completely ignored
[14:20] <ubitux> as well as the fact that mplayer works with ffmpeg but not libav is an argument to drop mplayer and not (fix ?) libav
[14:22] <ubitux> "Shall we go ahead with the removal now?" wth
[14:23] <ubitux> how can he ignore all the arguments stated?
[14:23] <nevcairiel> the debian multimedia people seem all to be silly people
[14:23] <ubitux> nevcairiel: no
[14:24] <ubitux> that's the security guy moritz who is blocking the ifp for ffmpeg
[14:24] <ubitux> and some libav folks
[14:24] <nevcairiel> s/multimedia//
[14:24] <ubitux> the "debian people" are actually stating arguments
[14:24] <ubitux> but they are just totally ignored
[14:24] <ubitux> wth is this FUD
[14:25] <nevcairiel> how can one person even do that, especially if he is not the packaging guy
[14:25] <ubitux> security team has a lot of power it seems.
[14:26] <nevcairiel> some days i'm even happier to never deal with linux distributions
[14:34] <ubitux> "In lack of any *constructive* comments about this, I would say yes, let's remove them." come on siretart, the fact that mplayer2 is less maintained than mplayer (and will break down with recent libav) is not a constructive argument?
[14:36] <nevcairiel> it doesnt even work with latest libav anymore? that'll haunt him again for the libav10 release :p
[14:36] <siretart> ubitux: how does this help with still nobody willing to update the package?
[14:37] <ubitux> it says that dropping it will cause a lot of trouble
[14:37] <JEEB> nevcairiel, I think he has already poked it
[14:37] <JEEB> since the libav 10 transition is already under way
[14:38] <siretart> ubitux: at least, mplayer2 doesn't post lovely comments such as http://lists.mplayerhq.hu/pipermail/mplayer-users/2014-March/087255.html - not very encouraging from my POV
[14:39] <ubitux> well mplayer2 is dead so obviously you won't see any comment
[14:39] <nevcairiel> if it doesnt post any comments anymore, how is that any better :D
[14:39] <thardin> why are there intentionally broken things being kept around?
[14:41] <siretart> thardin: because you don't fix them
[14:41] <ubitux> the user is always the responsible ;)
[14:42] <thardin> speaking of which, I should figure out a nice-ish way to fix that mxf bug
[14:42] <thardin> probably just taking that libmxf source file as-is and poking at it so it compiles nicely
[14:43] <thardin> since I want to be able to keep it up-to-date as painlessly as possible
[14:44] <thardin> "the more code I have the poorer I am" and so on
[14:44] <JEEB> esp. if it's stuff you have to maintain >_>
[14:45] <thardin> yeah, esp. since gsoc doesn't seem to be happening
[14:45] <thardin> can we use git-subtree?
[14:45] <thardin> iirc that can be used to track a specific file in a specific repo
[14:49] <nevcairiel> doubtful thats going to fly really well
[14:52] <thardin> ill just call ppl names
[14:53] <thardin> anyway, that's in the future
[15:15] <j-b> any mplayer devs around?
[15:15] <j-b> or mp*
[15:16] <ubitux> i have write access to mplayer but i'm not sure that's what you need :p
[15:16] <cone-645> ffmpeg.git 03Vittorio Giovara 07master:973dc4e8d4ae: put_bits: Remove unused includes
[15:16] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:efc4439c894b: Merge remote-tracking branch 'qatar/master'
[15:18] <kierank> thardin: i will be seeing the libmxf author next week if there's anything you want
[15:20] <j-b> ubitux: do you support MAP files?
[15:22] <ubitux> j-b: doesn't ring any bell; what's that? (hard to google such name)
[15:29] <j-b> ubitux: that's a good answer then
[15:29] <ubitux> i don't see anything in multimedia wiki or whatever
[15:48] <thardin> kierank: cool
[15:48] <thardin> I want to be able to have that EssenceContainer -> WrappingKind code as its own module
[15:49] <thardin> though it probably already works that way - haven't checked
[16:08] <cone-645> ffmpeg.git 03olugbone 07master:b2880a3de9e3: avformat/mpegtsenc: fix HEVC MPEG TS stream type
[16:12] <ubitux> funman: btw, 2.1.4 has av_alloc_vdpaucontext()
[16:13] <ubitux> i'm not sure to understand what exactly is the issue all this flaming is about though
[16:14] <ubitux> but maybe we should backport version added later later to that branch?
[16:15] <JEEB> hmm regarding that HEVC in MPEG-TS thing, did someone finally get access to the latest document version and thus made sure that the ID is correct?
[16:15] <kierank> yeah i was going to say
[16:15] <kierank> i've seen so many stream types
[16:15] <ubitux> funman: also, remi is talking about bugs in the old vdpau code; something we could/should backport from master?
[16:33] <funman> ubitux: i do not trust any word of him
[16:34] <funman> ubitux: also if you backport new API, how will we detect it with version numbers?
[16:34] <nevcairiel> carefully?
[16:36] <ubitux> by bumping minor but well..
[16:38] <nevcairiel> thats one of the reasons why new things shouldnt be ported to a stable release branch :p
[16:39] <ubitux> yeah i guess
[17:01] <b_jonas> for some reason, the png codec for ffmpeg creates very large images and seems to have no documented settings
[17:01] <b_jonas> I'll have to use imageMagick to create sane pngs instead
[17:02] <nevcairiel> it doesnt try to optimize the pngs at all, like many image tools do, it just takes the input image and compresses it with zlib
[17:02] <nevcairiel> you should be able to set the compression level however
[17:03] <nevcairiel> -compression_level 0..9 i guess
[17:04] <nevcairiel> default should be 6
[17:10] <b_jonas> nevcairiel: -compression_level ? let me check the docs
[17:11] <b_jonas> nevcairiel: I don't see that option mentioned in the docs anywhere. sad
[17:11] <b_jonas> but I can still try
[17:13] <b_jonas> (imagemagick has three complicated options for png compression, and I only partly understand how they work)
[17:30] <Zeranoe> Can anyone explain why -ac 2 doesn't automatically downmix 5.1 to 2 channel?
[17:30] <nevcairiel> what else does it do
[17:33] <Zeranoe> it drops LFE http://superuser.com/questions/723731/downmix-drops-low-frequency-channel
[17:33] <nevcairiel> thats part of the down mix
[17:33] <JEEB> the specs say that you should drop it
[17:34] <JEEB> s/should/shall/
[17:34] <nevcairiel> its recommended to drop the lfe when down mixing surround to stereo
[17:34] <Zeranoe> I'm confused... Why would you do that
[17:35] <nevcairiel> to avoid overflowing the audio channels
[17:35] <Zeranoe> Don't you lose quite a bit by doing that though
[17:36] <nevcairiel> a normal 5.1->stereo downmix already puts 3 channels into one, adding LFE adds a 4th
[17:36] <Zeranoe> I ended up running pan=stereo: FL < FL + 0.5*FC + 0.6*BL + 0.6*SL : FR < FR + 0.5*FC + 0.6*BR + 0.6*SR
[17:36] <nevcairiel> that results in either overflows and clipping, or in a much lower base volume
[17:36] <nevcairiel> especially because you would need to boost LFE by 6dB to preserve the audio signal
[17:37] <nevcairiel> Zeranoe: there is still no LFE in that
[17:40] <Zeranoe> oh
[17:41] <Zeranoe> So how is that pan filter different from -ac 2? Or is it not?
[17:41] <nevcairiel> not sure how pan works
[17:41] <nevcairiel> but it lets you specify the mixing factors
[17:42] <nevcairiel> and if you want LFE in there, you need to add a "+ LFE" somewhere :p
[17:42] <nevcairiel> -ac is fully automatic
[17:42] <nevcairiel> not sure you can overwrite the mixing factors with just -ac
[17:43] <J_Darnley> In case you don't know: the LFE channel is not a "bass" channel.
[17:44] <Zeranoe> But technically I shouldn't want LFE when downmixing to stereo?
[17:44] <nevcairiel> Dolby suggests not to keep it
[17:45] <Zeranoe> J_Darnley: It's not? "(LFE) channel is the name of an audio track specifically intended for deep, low-pitched sounds..."
[17:48] <J_Darnley> Low Frequency Effects
[17:48] <J_Darnley> effects being the key word
[17:48] <J_Darnley> supplemental sounds for explosions ad the like
[17:48] <Mavrik> hmm, isn't that just the channel that gets routed to subwoofer on most systems?
[17:49] <nevcairiel> it is
[17:49] <nevcairiel> but many audio systems also low pass the other channels and redirect that
[17:50] <Mavrik> mhm, makes sense
[17:51] <Case> it's used for bass at least in music files I have
[17:51] <Case> and it sounds much worse without it. I personally don't understand the weird recommendation to leave it out from downmix
[17:52] <nevcairiel> surround music is rather rare
[17:52] <nevcairiel> music is also a bit different
[18:04] <mateo`> Hello there ! Would the ffmpeg project accept a patch which introduce linking to a totally closed library ?
[18:04] <j-b> No
[18:05] <ubitux> really?
[18:06] <mateo`> j-b: why ?
[18:07] <j-b> mateo`: dunno. :)
[18:07] <j-b> mateo`: it just seemed not really the open source way
[18:08] <ubitux> we have a --enable-nonfree flag for similar things
[18:08] <Zeranoe> mateo`: Your free to branch and patch locally though
[18:08] <ubitux> though, the source are open for most/all
[18:09] <ubitux> not sure about decklink for instance
[18:10] <Zeranoe> ubitux: On that topic, do you know how decklink works? Can the SDK be cross compiled and the ffmpeg work with a decklink device on win?
[18:11] <Zeranoe> I've been asked for it in the Windows builds, and I think it would be helpful. I don't know if it can be cross compiled and work through
[18:12] <j-b> Decklink works fine on Windows using DShow
[18:15] <Zeranoe> How is it working in FFmpeg though? Though DShow filters?
[18:46] <mateo`> so in the end, is it something that can be accepted or not by upstream ?
[19:00] <ubitux> Zeranoe: absolutely no idea
[19:05] <ubitux> lol @ 61b323ce7c ; the code wasn't even compiled
[19:05] <ubitux> nice review team work
[19:07] <mateo`> ubitux: ?
[19:07] <ubitux> look at the end of the commit diff
[19:08] <mateo`> what the ...
[19:10] <Compn> mateo` : patches for ffmpeg are always welcome, please post to ffmpeg-devel list
[19:11] <Compn> dont listen to j-b trolling, hes a vlc fanboy :P
[19:11] <ubitux> Compn: well if it's not going to be applied...
[19:11] <ubitux> Compn: such question looks relevant
[19:11] <Compn> ubitux : users like to have patches , even if not applied
[19:11] <ubitux> Compn: i don't like encouraging people to waste time
[19:11] <ubitux> you seem to forget the time/effort cost of writing code
[19:12] <mateo`> Compn: i'd like to know if it's gonna be accepted before work is being done, what's why I ask
[19:12] <Compn> ubitux : you know there are people who have patches that wont be applied to ffmpeg, they are still useful to people even if not included here
[19:12] <Compn> mateo` : well what feature are you thinking about working on ?
[19:13] <Compn> you said a patch for a closed lib, what lib ?
[19:13] <mateo`> Compn: closed lib, a dolby one
[19:14] <j-b> what for?
[19:14] <Compn> mateo` : encoder / decoder of dts-ma-hd ?
[19:14] <Compn> lol, now that j-b sees its a patch to piss off dolby, now hes interested :)
[19:14] <mateo`> decoding, it's part of the dolby sdk i think, i don't have much detaisl
[19:15] <j-b> Compn: clearly not :)
[19:16] <Compn> mateo` : it sounds good, bu i dont particularly know what feature could be used. ask michaelni , he can say wether or not it will be applied ...
[19:17] <j-b> Compn: however, I fail to see what codecs are in this sdk that FFMpeg cannot decode
[19:18] <mateo`> j-b: a matter of license maybe, can't tell much more
[20:22] <kierank> i doubt dolby will be happy with you adding things to ffmpeg
[21:17] <jhoffing> Hello, where can I make a feature request for ffmpeg's libfaac codec?
[21:18] <Zeranoe> jhoffing: faac is a little old, what feature did you want
[21:19] <jhoffing> I'd like to have an option to choose the mpeg version for encoding an audio file into AAC
[21:19] <jhoffing> right now it's hard-coded to MPEG4. but i'd like to be able to make it MPEG2
[21:20] <jhoffing> Is there another codec I can use instead that lets me have this option?
[21:21] <jhoffing> I believe libfdk_aac wraps an audio file in an MPEG-4 container by default as well
[21:21] <Zeranoe> jhoffing: What are you trying to do?
[21:23] <jhoffing> Zeranoe: I'm trying to insert an audio file in front of a live audio stream. The audio stream is being pumped out with an MPEG-2 version that I cannot change, and so the audio file I need to position in front of the stream has to have the same exact MPEG-2 container format
[21:24] <jhoffing> Otherwise the audio file data will play, but then the stream will be corrupt and fail to transition into the live audio stream
[21:27] <jhoffing> Zeranoe: Let me know if that doesn't make sense. Essentially, I'm trying to pump a 'preroll' audio buffer in front of a livestream, and its MPEG version has to match exactly that of the livestream's
[21:29] <Zeranoe> I've never done anything like that before, so I'm not sure
[21:29] <jhoffing> Zeranoe: ok. Looks like I have some help in #ffmpeg i'll continue discussion in there, thanks!
[22:00] <cone-645> ffmpeg.git 03Vittorio Giovara 07master:a18ef7a76c73: doc: fix a couple of typos in frame.h
[22:00] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:4a59994e0317: Merge commit 'a18ef7a76c735bcf78ed4825e33ad7f9f6f77a54'
[22:09] <cone-645> ffmpeg.git 03Vittorio Giovara 07master:4c41a7a1798d: vf_frei0r: fix missing end of line character
[22:09] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:adaba6a108aa: Merge commit '4c41a7a1798dd6c60e40f79be12faa98a9347151'
[22:38] <cone-645> ffmpeg.git 03Keiji Costantini 07master:3407172b36a9: avienc: K&R formatting cosmetics
[22:38] <cone-645> ffmpeg.git 03Michael Niedermayer 07master:309171bea9cd: Merge commit '3407172b36a93cec410c6a287dbeec0f41257512'
[23:14] <cone-645> ffmpeg.git 03James Almer 07master:206167a295a5: x86/synth_filter: add missing HAVE_YASM guard
[23:14] <cone-645> ffmpeg.git 03Andrey Utkin 07master:bc764d786fe6: Add "prefer_tcp" flag to "rtsp_flags"
[00:00] --- Wed Mar 5 2014
1
0
[00:02] <Mavrik> you'll have to comply to that part's license of course.
[00:02] <Mavrik> but pretty certanly the answer is "no"
[00:02] <Mavrik> at least not without releasing most of your source as LGPL
[00:03] <Mavrik> grepwood, read up on LGPL/GPL license.
[00:04] <grepwood> Mavrik, my source code is GPLv3
[00:04] <Mavrik> ah
[00:04] <Mavrik> that should make it easier :)
[00:04] <grepwood> I'm asking because in all honesty I don't feel motivated enough to read a legalese text wall, I want to focus on writing code
[00:05] <grepwood> hopefully that is not a deadly sin :)
[00:06] <Mavrik> well
[00:06] <Mavrik> honestly if you can't read an A4 paper of rules...
[00:06] <Mavrik> or a wiki article.
[00:07] <Mavrik> again: 1.) Check license of ffmpeg source file you want to use
[00:07] <Mavrik> 2.) adhere to it
[00:07] <grepwood> alright
[02:46] <TheWinnerFjk> See this please http://toomanydownloads.x10host.com/?ref=511
[13:21] <martin___> hi
[13:21] <martin___> i'm trying to build a localhost rtsp stream on windows
[13:22] <martin___> i've googled around and i've noticed that ffserver is only for linux
[13:22] <martin___> any help?
[16:05] <dvnl> hi Everyone! I would like to compile ffmpeg (with reduced functionality) "by hand", so I need to know which .c and .h files are needed. I need this because I'd like to compile it to Xilinx's Microblaze processor. Now I'm compiling on Windows by MSys. make gives me output in which only .o object files are shown like CC libavcodec/dvdec.o. Mw question would be how I know which sources are used for the building process? I'd be very happy if
[16:10] <AndrzejL> Hi guys I need to convert a video to a html5 / mp4 standard - any advise / commands I could copy off?
[16:11] <AndrzejL> I know only that it needs to be html5 / mp4 compliant ;D - I know nothing bout codecs plus the video has no sound (on purpose) so I need to skip audio convertion ;D
[16:14] <AndrzejL> would this be correct? ffmpeg -i {input}.mov -vcodec h264 -acodec aac -strict -2 {output}.mp4
[16:14] <AndrzejL> I will use avi as input file instead of mov tho
[16:16] <JEEB> you'll probably want to add a few settings :P
[16:16] <JEEB> also with newer ffmpeg you can use -c:v and -c:a instead of vcodec and acodec
[16:16] <JEEB> also -strict -2 is better written as -strict experimental
[16:16] <JEEB> more readable, I have no idea why the error tells you to use -2 and not the text variant
[16:17] <JEEB> also if you have no audio I don't think you need an audio stream unless some client only reads files with video and audio
[16:18] <AndrzejL> JEEB: actually I dont want to add anything :P it worked :P
[16:18] <AndrzejL> hehe
[16:18] <JEEB> but that is not proper
[16:19] <JEEB> let me write you a proper line
[16:19] <AndrzejL> I was lucky - I need html5 / mp5 video for my piwigo video plugin :P and video that I have just created using this command worked perfect :D
[16:19] <AndrzejL> mp4*
[16:19] <JEEB> then you're really lucky in quite a few ways
[16:19] <JEEB> ffmpeg -i {input} -an -c:v libx264 -crf AA -preset BBB -maxrate CCC -bufsize DDD -movflags faststart {output}
[16:19] <JEEB> an disables audio
[16:20] <JEEB> crf sets the rate factor, by default you get 23
[16:20] <AndrzejL> thank You JEEB I will paste both into my treasure command line notepad :D
[16:20] <JEEB> lower rate factor = more rate used, "higher quality", higher rate factor = less rate used, "lower quality"
[16:20] <JEEB> basically find the highest rate factor that still looks good enough for you
[16:20] <JEEB> -preset is the speed VS compression option
[16:20] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset
[16:21] <JEEB> ^ list of presets
[16:21] <JEEB> then we have maxrate and bufsize
[16:21] <JEEB> if you are doing something over a limited bandwidth (and "HTML5" already hints that you are)
[16:21] <JEEB> you NEED them
[16:22] <JEEB> bufsize is the amount of bits/time buffered, and maxrate is the maximum average bit rate used over bufsize
[16:22] <JEEB> so for example if you've got a 1mbps connection being the minimum you want to serve
[16:22] <JEEB> you set maxrate to that, minus possible audio and then some extra for the container overhead
[16:23] <JEEB> so when you have no audio, let's say 975K
[16:23] <JEEB> (or k, not sure which it was with ffmpeg)
[16:23] <JEEB> then you set the buffer size depending on what your usual clients do, or how you can set them
[16:23] <JEEB> usually bufsize is not smaller than "one second" (1*maxrate)
[16:24] <JEEB> and then you have -movflags faststart, which then remuxes the file at the end to have the index in the beginning
[16:24] <JEEB> and that's it :)
[16:24] <JEEB> there are various extra limitations you might have to add in case of the clients being limited
[16:24] <JEEB> but I have no clue what kind of clients you're wanting to serve
[16:25] <AndrzejL> JEEB: :) https://andrzejl.no-ip.org:30303/images/index.php?/category/27 > tls 1.2 compatible browser and ignore the self signed cert - check out the little gadget I bought myself today ;D
[16:26] <AndrzejL> actualy bought it 3 weeks ago on ebay but it arrived today ;D
[16:27] <JEEB> and basically the extra limitations would be mostly towards the H.264 stream (limiting the profile and level, working around stupid quirks of some decoders if you happen to hit such), or having to make a quiet audio track
[16:27] <JEEB> depends on what kind of clients you end up serving, as I said
[16:27] <AndrzejL> Mostly linux + some nice browser like firefox and chromium ;)
[16:27] <JEEB> but libx264 with crf, preset and VBV is the basics (VBV being the bandwidth limitation system that gets enabled with maxrate/bufsize)
[16:27] <JEEB> ok
[16:27] <JEEB> then you should generally be OK :P
[16:28] <JEEB> without extra limitations
[16:28] <AndrzejL> :D
[16:28] <JEEB> although does firefox OOB support H.264?
[16:28] <JEEB> on lunix
[16:28] <JEEB> I know they had the gstreamer thingy
[16:28] <AndrzejL> Just checked all my browsers - video works I am happy ;D
[16:28] <JEEB> but I have no idea if it's enabled anywhere
[16:29] <AndrzejL> so now I will keep those commands and I can convert any video I will make and just throw them into my piwigo... this is awesome ;)
[16:41] <simpleirc1> hello
[16:44] <simpleirc1> i was not able to find my subtitle in my ts file
[16:46] <relaxed> where was the last place you saw it?
[16:58] Action: NucWin_ bangs head on the wall to see if it helps build ffmpeg + libfdk_aac for win64
[16:58] <JEEB> huh
[16:58] <JEEB> it should be rather straightforward
[16:59] <NucWin_> yeh i was hoping so
[16:59] <NucWin_> currently trying to cross compile from arch -> win64
[17:00] <JEEB> for autoconf-based stuff (fdk-aac) it's something like this ./configure --host=${P64B} --prefix=/mingw/${P64B}
[17:00] <JEEB> where P64B is the prefix (x86_64-w64-mingw32 usually for mingw-w64's win64)
[17:00] <JEEB> and forget the prefix I set, just set your own
[17:01] <NucWin_> think i might have been a little cocky when i tried to use the switches from Zeranoe build
[17:01] <NucWin_> configure switches*
[17:02] <JEEB> then with ffmpeg set PKG_CONFIG_PATH=/your/win64/prefix/lib/pkgconfig ./configure --enable-nonfree --enable-libfdk_aac --cross-prefix=${P64B}- --arch=x86_64 --target-os=mingw32
[17:02] <JEEB> and possibly add extra-cflags and ldflags to include /your/win64/prefix/lib and /your/win64/prefix/include
[17:02] <JEEB> in search paths
[17:03] <JEEB> that's really all you would need to do
[17:04] <Zeranoe> NucWin_: Whats the problem?
[17:05] <NucWin_> think im the noob problem
[17:05] <NucWin_> trying to copy your build switches without having the dependencies i think
[17:06] <JEEB> just don't do that :P don't try to start with everything and the kitchen sink
[17:06] <JEEB> because in most cases you really don't need them
[17:07] <ssspiff> is it possible to change the entropy coding algorithm for an AVC video without actually going all the way through the decode & reencode pipeline?
[17:07] <NucWin_> my aim is to transcode x264 + ac-3/dts to x265 + aac
[17:07] <JEEB> there's nothing pre-done for that
[17:07] <JEEB> NucWin_, just make sure you use preset placebo and 16 refs and bframes with libx265
[17:08] <JEEB> otherwise it really isn't better than x264
[17:08] <JEEB> expect ~10x the time used for encoding compared to libx264 at preset placebo
[17:08] <JEEB> oh, and tune ssim because otherwise you'll lose AQ
[17:09] <Zeranoe> NucWin_: Then you only need libx264 and fdk-aac. just focus on those, and dont use placebo
[17:09] <JEEB> Zeranoe, he wants to use libx265
[17:09] <JEEB> not libx264
[17:09] <JEEB> and libx265 is uttercly craptastic if you don't max it out
[17:09] <Zeranoe> Also x265
[17:10] <JEEB> I mean, why use libx265 if you don't expect a better result than with libx264 :P
[17:10] <JEEB> because it will be slower in any case
[17:10] <Zeranoe> its slow to start with... I cant imagine placebo
[17:10] <JEEB> dunno, 4.40fps to 0.4fps with 720p, 8bit encoding
[17:10] <JEEB> only ~10x slower, so for some that might be bearable
[17:10] <JEEB> but if it's just useless _and_ slow without maxing it out
[17:11] <JEEB> I don't see any reason to use it
[17:11] <JEEB> :P
[17:11] <JEEB> thus if he wants to use it, the only viable option is to max it out
[17:11] <Zeranoe> Doesn't it have it's sights set on real time?
[17:12] <JEEB> Zeranoe, whatever it has its sights on doesn't mean it's anything else but kool aid right now
[17:13] <Zeranoe> lol
[17:13] <JEEB> I mean, it can be realtime with high-end hardware and the faster presets
[17:13] <JEEB> but that doesn't mean you want to use it for anything else but "LOL I'M USING HEVC"
[17:13] <JEEB> aka PR/promotion
[17:14] <JEEB> if you want to actually get somewhat better results per the same bit rate compared to libx264, there's not much else to do but set tune to SSIM, max the preset and refs+bframes
[17:14] <NucWin_> i had a play with x265 last night using Zeranoe's build (worked greate btw thanks for build) and i managed to get the quality quite good using crf=25
[17:14] <NucWin_> downside is the copied over DTS is now twice the size of the video
[17:14] <JEEB> well the fact still stands that you aren't getting better compression with libx265 with such settings :P
[17:14] <Zeranoe> They seem to be really active
[17:15] <Zeranoe> with their source, so I'll try and keep up with them with the builds.
[17:15] <JEEB> yes, MCW's kindergarden teacher (steve) really has a lot of work to do to keep his chinese and indian devs on a leash
[17:15] <JEEB> expect build failures at random times, and random regressions
[17:15] <JEEB> they don't seem to have a goddamn buildbot on their office even :P
[17:16] <JEEB> s/on/at/
[17:16] <JEEB> and as sad as libx265 is under MCW, it's still better than the proprietary encoders
[17:16] <JEEB> which is really, really sad
[17:16] <Zeranoe> Off topic, but why hasn't x264 ever made a release version
[17:17] <JEEB> basically the "stable" tags can be taken as "releases" if you wish
[17:17] <JEEB> generally though, x264 is very stable
[17:17] <Zeranoe> I've never had an issue with it
[17:18] <JEEB> you can wait for a week or two after a push and see if any quickfixes get pushed
[17:18] <JEEB> if not
[17:18] <JEEB> then it's all right
[17:18] <NucWin_> which is the best aac encoder that is included with the GPL version (i might just try with that to save this headache)
[17:18] <Zeranoe> NucWin_: The internal
[17:18] <JEEB> the internal one
[17:19] <groundnuty> hey, ffmpeg version 2.0.2 here. Quesion: I have files: psp-0.000000_0.png, psp-0.005000_0.png, psp-0.010000_0.png, psp-0.015000_0.png, psp-0.020000_0.png...
[17:19] <JEEB> vo-aacenc is a fucking trainwreck and I fully understand why Google suddenly licensed fdk-aac after like a single release :D
[17:19] <groundnuty> what pattern to -i should I use to generate an animation?
[17:20] <Zeranoe> If only you sell bininaries with fdk inside... it would be GPL
[17:22] <JEEB> well, at least there's the LongestThread on the trac
[17:22] <JEEB> about improving ffaac
[17:25] <Zeranoe> I feel like it's pretty good. "Acceptable"
[17:26] <JEEB> it is
[17:26] <JEEB> just don't try to use it at too low bit rates
[17:26] <JEEB> around 2010-11 it was giving out random artifacts at 192kbps
[17:26] <Zeranoe> For mono?
[17:27] <JEEB> stereo
[17:27] <JEEB> but that was a bug and squashed back then
[17:48] <NucWin_> well ive given up trying to build on archlinux, installed the libfdk-aac package and it still says libfdk_aac not found :(
[17:49] <NucWin_> using internal aac is working ok though, getting a nice 11fps
[17:49] <Zeranoe> NucWin_: You need to cross compile
[17:50] <Zeranoe> every lib you want to use in your Windows Ffmpeg needs to be cross compiled too
[17:50] <NucWin_> suspected that would be the problem
[17:50] <Zeranoe> Also, I use debian and highly recommend it
[17:51] <NucWin_> never been a good fan of debian, seems their packages are normally quite out of date
[17:51] <NucWin_> just love how arch is bleeding edge
[17:51] <NucWin_> i might try building in MSVC tomorrow
[17:51] <NucWin_> but now i need to go get ready for pancake day \o/
[17:52] <relaxed> debain sid is fairly current
[17:52] <Zeranoe> If you use stable yes, I use testing with xfce (because screw gnome)
[17:53] <relaxed> I've been running sid for over 7 years now and I can't imagine using anything else.
[17:53] <Zeranoe> ^^
[17:54] <Zeranoe> I don't go with unstable, but testing, Point is you have options with Debian
[17:58] <NucWin_> yay bouncer is back
[18:02] <NucWin> awww it crashed about 40% through transcoding
[18:04] <Zeranoe> What command
[18:08] <NucWin> ffmpeg -i "\\filesrv\share\test (720p BluRay).mkv" -strict -2 -c:v libx265 -c:a aac -b:a 640k -x265-params crf=25 "\\filesrv\share\test (720p BluRay HEVC+AAC).mkv"
[18:08] <NucWin> asking for all kinds of trouble lol
[18:09] <relaxed> I don't think you can mux hevc in anything right now using ffmpeg.
[18:10] <NucWin> It worked fine when I copied the audio rather than conver
[18:10] <NucWin> could have been the lan or overclocked cpu :P
[18:11] <relaxed> hmm, I'm mistaken
[18:13] <relaxed> NucWin: [aac @ 0x3ffada0] Too many bits per frame requested
[18:13] <relaxed> lower your bitrate
[18:19] <NucWin> didnt see any errors like that it just popup up the windows ffmpeg has crashed dialog
[18:19] <NucWin> what is the optimal bitrate for aac?
[18:20] <Zeranoe> NucWin: 64bits per channel (generally).see https://trac.ffmpeg.org/wiki/GuidelinesHighQualityAudio and http://trac.ffmpeg.org/wiki/AACEncodingGuide
[18:22] <NucWin> thanks
[18:23] <NucWin> running again @ 384k ;)
[18:48] <vmBenLubar> The command `ffmpeg -ss 0.3 -i ak_0001.wav -t 0.2 py.wav` is giving me a 0.25 second file as output. Is there a way I can force ffmpeg to be more precise with durations?
[18:59] <relaxed> vmBenLubar: have you tried sox?
[19:01] <vmBenLubar> relaxed: sox?
[19:11] <vmBenLubar> relaxed: ah, works like a charm. thanks.
[19:38] <omin> Hi guys! Does anybody know how to make an infinitive input loop from video file for ffmpeg?
[19:39] <omin> I have read a lot but without success =(
[19:41] <omin> -f lavfi -re -i "movie=somefile.mov:loop=0" does not work
[19:45] <jangle> at some point your movie file will have to stop looping
[19:45] <jangle> so, how many loops do you want your movie file to contain?
[19:57] <simpleirc1> i think omin asked for infinite, u can use concat commnd and read from named pipe giving the list of file
[19:58] <simpleirc1> on that named pipe you can write using yes command infinitely
[20:00] <jangle> well there is no such thing as a video file that is infinitely long. There is such thing as a video player that will play your file from the beginning, or a video file that has a fixed number of repeated sections appended at the end of it
[20:00] <jangle> *play your video file over from the beginning once it reaches the end
[20:10] <Zeranoe> Why might ffplay display a different aspect when playing a video if -t 00:00:00.01 is used?
[20:14] <radagast> hello
[20:14] <radagast> can someone help me with ffmpeg
[20:14] <radagast> ?
[20:14] <radagast> i have a little problem
[20:15] <llogan> groundnuty: see third example http://ffmpeg.org/ffmpeg-formats.html#Examples-3
[20:16] <llogan> radagast: don't ask to ask. just ask your question.
[20:17] <radagast> ohh sorry
[20:19] <radagast> i have 60 file in .h264 format take out of a ZMODO nvr a security cam recorder i have problem to view them the only way is with vlc with che command vlc force --demux h264, now i have to unify all file in a single file with ffmpeg i have to create a unique avi file but it's the first time i work with ffmpeg
[20:20] <radagast> is it possible can someone give me a help on how to unify the files in h.264 format?
[20:20] <Jack64> what do you mean by unify?
[20:21] <Jack64> concatenate?
[20:21] <radagast> create a unique avi file with 60 other small files
[20:21] <radagast> yes concatenate
[20:21] <radagast> sorry for my bad english
[20:21] <Jack64> ok
[20:22] <Jack64> are you using windows or linux?
[20:22] <radagast> linux
[20:22] <Jack64> me 2, I do that often. here's how I do it:
[20:22] <Jack64> echo "file '/tmp/ram/overlaid0.mp4'" >> /tmp/ram/config
[20:22] <luc4> llogan: ping
[20:23] <llogan> radagast: see https://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join,%20merge%29%2…
[20:23] <llogan> luc4: pong
[20:23] <Jack64> echo "file 'path/to/file1'" >> queue.txt
[20:23] <Jack64> echo "file 'path/to/file2'" >> queue.txt
[20:23] <Jack64> ffmpeg -y -f concat -i queue.txt -c copy out.avi
[20:23] <luc4> llogan: don't know if you remember my issue, anyway I tested ffmpeg 2.1.4 but still the same on mac os.
[20:24] <Jack64> radagast get it?
[20:24] <llogan> luc4: but did you test with a recent, daily build from tessus: http://ffmpeg.org/download.html#MacOSXBuilds
[20:24] <radagast> is it a problem if the files are in h264 format?? i iask you that because vlc and other programs doesnt open the file i have to foce the h264 demus or something like that
[20:24] <radagast> i try now
[20:25] <Jack64> no problem for me here, so if you're having problems maybe it's the separate files that need to be fixed
[20:25] <Jack64> but try that see if it works for you
[20:26] <luc4> llogan: nope, I'll try that as well. Thanks.
[20:26] <Jack64> (also I usually do it in a RAMDisk, because it's almost instantaneous, if you have a lot of RAM I encourage you to do it too)
[20:27] <jangle> radagast: if vlc won't play your individual h264 files, then something is wrong with them. If you've built ffmpeg yourself, and if the supplied ffplay program can't play your h264 files, then something is wrong with the files
[20:28] <jangle> *or the bitstream is in a format that vlc doesn't yet support, and ffplay may give you more information about that
[20:28] <Jack64> jangle you know anything about -filter_complex ?
[20:29] <jangle> Jack64: nope
[20:29] <luc4> llogan: latest seems to be built on Feb 24 2014 14:56:08. Same output for me...
[20:30] <Jack64> crap.. I'm building a PHP front-end for ffmpeg to help me with some videos I usually process and I need to apply multiple filters at the same time to some videos, but the syntax is a bit crazy ...
[20:31] <radagast> Unknown input format: 'concat'
[20:32] <radagast> ffmpeg -y -f concat -i queue.txt -c copy out.avi
[20:33] <luc4> llogan: http://paste.kde.org/pnrpokncd
[20:34] <luc4> llogan: I'm also testing on linux
[20:34] <jangle> Jack64: google suggets that you pass multiple filters via comma separated sections of a string, like -vf "filter1=adsfasdf, filter2=asdfadfasdf"
[20:35] <radagast> llogan, http://pastebin.com/TxPJnguq
[20:35] <llogan> radagast: you're using a fake ffmpeg from a fork
[20:35] <llogan> get the real ffmpeg
[20:36] <llogan> or compile http://trac.ffmpeg.org/wiki/UbuntuCompilationGuide
[20:36] <Jack64> jangle: I know, I've searched a bit through but it's hard because the filters I have to pass are a bit crazy, for example, in some videos I have to split them in 3 parts, then add a 3 second image overlay to the first split + a scorebar with current game score (soccer vids), then split 2 will have a different scorebar (just 1 filter), then split 3 will have even another score bar + fade out at the end. (get the gist of it?)
[20:37] <radagast> ok i try this tnaks llogan I really thank you
[20:37] <Jack64> someone should update that ubuntu compilation guide just to add make -j4 to all makes
[20:37] <Jack64> makes it a lot faster
[20:37] <Jack64> or even -j8
[20:38] <jangle> Jack64: can you draw a tree with what you want done?
[20:38] <llogan> Jack64: you can use trim/atrim or maybe http://ffmpeg.org/ffmpeg-filters.html#Timeline-editing
[20:41] <llogan> luc4: i meant a daily snapshot, not a release http://www.evermeet.cx/ffmpeg/snapshots/
[20:41] <llogan> forget releases exist
[20:41] <luc4> llogan: ok, sorry
[20:42] <luc4> llogan: on linux 64 bit ok even the one from 24 feb.
[20:43] <luc4> llogan: I'm testing the snapshot.
[20:44] <Jack64> jangle It's complicated. What I'm doing is for a friend who records his bro's indoor soccer matches and then he uploads them to this server and then he just points the goals and then I use PHP to dynamically generate the scripts that make the score bars and splash-screens in the beginning of each half and fade-outs... so it's hard to explain what it does without actually giving you the code
[20:44] <jangle> Jack64: Well you say you are breaking the video out into 3 parts
[20:44] <Jack64> after processing each video it then concatenates everything into a full match (with all the scorebars and stuff)
[20:45] <jangle> do you mean, temporally? or do you mean the container you're recieving has 3 video tracks in it
[20:45] <Jack64> that's the example for a video with 2 goals
[20:45] <Jack64> temporally
[20:45] <Jack64> because it has to split the video by goals (because of the different score-bar overlays)
[20:46] <Jack64> if a given input video has no goals, it just gets the score at that current time and overlays scorebar and adds a fade out at the end
[20:46] <Jack64> [19:44] [Jack64(+i)] [3:freenode/#ffmpeg(+cnt)] [Act: 2]
[20:46] <Jack64> [#ffmpeg] th
[20:46] <jangle> ok, well maybe you can't do it all on one line, you need to end up splitting the video up into all the pieces you need, and feed the individual pieces to individual ffmpeg instances set up to add the score, and then one at the end once you have all the pieces to et the fadeout
[20:47] <Jack64> yea that's what I'm doing now, it's working pretty well, but it takes like 2h for 1h video
[20:47] <Jack64> because of the multiple passes
[20:47] <Jack64> but I think I can still optimize it further
[20:47] <Jack64> and make it faster
[20:48] <relaxed> luc4: "[mp4 @ 0x7fa3138a4e00] Frame rate very high for a muxer not efficiently supporting it." and "dup=3449"
[20:48] <jangle> well if you break out the video into parts, as long as you wait for all parts to get their individual filters applied then concat them at the end, then you can run the individual parts in paralelly
[20:48] <jangle> lellelelele
[20:48] <luc4> relaxed: yes
[20:49] <relaxed> luc4: use matroska
[20:49] <luc4> relaxed: same with mov and mkv
[20:49] <Jack64> jangle yea that's what I thought, but that would be ideal if I had multiple worker nodes (i.e. more computers) so I could send the video part to that worker and have it process then return the processed video parts to the main server and concat then...it'd be awesome
[20:49] <luc4> relaxed: but give me a second, yesterday's build may be ok...
[20:50] <jangle> or& just multiple threads?
[20:50] <relaxed> luc4: did you try "-vsync 2" or lowering the output framerate?
[20:50] <Jack64> ffmpeg already uses almost 100% of all cpus
[20:50] <jangle> ok.
[20:51] <Jack64> if I'm using multiple ffmpeg instances they'll slow each other down
[20:51] <llogan> relaxed: so far, AFAICT, that message appears only on the OS X machine, but not the Linux one. I'm waiting for him to test ffmpeg from git master.
[20:52] <luc4> relaxed: mkv was different anyway, just the message MB rate (324000000) > level limit (2073600).
[20:52] <Jack64> do you think it's worth open sourcing it?
[20:52] <Jack64> or is it too specific a use case?
[20:53] <Jack64> I suppose you could use it for any sport..
[20:53] <Jack64> if you make your own vids..
[20:56] <luc4> relaxed, llogan: no warning now. The small sample seems ok with the latest build.
[20:56] <jangle> jack64: so do you already have a command line form that gets you a filter applied only to a part of a video file?
[20:56] <Jack64> yes
[20:57] <llogan> luc4: this is why it is always recommended to try the lastest builds first
[20:57] <Jack64> the line itself is generated in PHP depending on the input video's number of goals, first half or second, etc
[20:57] <Jack64> well actually it generates a whole script (because it's several ffmpeg lines) per input video
[20:58] <Jack64> in real terms, my friend just went from spending about 3h on Power Director doing this, to spending 5 minutes just telling the program how many goals in each video and which team scored and clicking convert lol
[20:59] <luc4> llogan: don't know if this is related but transcoding to a mov I get this: http://paste.kde.org/pgmskzgwl.
[20:59] <Jack64> and for someone who does this twice a week it's pretty cool ;)
[20:59] <jangle> jack64: so it looks like you want to make a number of chains based on how many goals there were
[20:59] <Jack64> yep
[21:00] <jangle> jack64: then use each of those chains as a source for a chain that simply concatenates them all
[21:00] <luc4> llogan: result can be played by vlc anyway. But don't know if that still something is wrong with my file or that still something is not entirely ok.
[21:01] <radagast> llogan, the video concat works but the out.avi is to fast and freez every 2 second
[21:01] <jangle> the http://trac.ffmpeg.org/wiki/FilteringGuide grid example suggests how individual chains can be named and then used as sources for the final chain
[21:01] <Jack64> that's what I'm doing now. for example video 1 has 2 goals. first split gets me beginning to goal 1 (split1b) and goal 1 to end of video (split1e).
[21:01] <Jack64> then I use split1e to get video from goal 1 to goal 2
[21:01] <Jack64> and goal 2 to end
[21:03] <jangle> do you need to specify split1e as its own section?
[21:03] <Jack64> here's the actual line generated for a 2 video file
[21:03] <Jack64> ffmpeg -y -i /tmp/ram/$infile -t $intime0 -c copy $workingdir/smallfile0b.mp4 -ss $intime0 -c copy $workingdir/smallfile0e.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
[21:03] <Jack64> 2 goal file sorry
[21:03] <Jack64> ffmpeg -y -i $workingdir/smallfile0e.mp4 -t $intime1 -c copy $workingdir/smallfile1b.mp4 -ss $intime1 -c copy $workingdir/smallfile1e.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
[21:04] <Jack64> those 2 lines output 4 videos from 1 input video
[21:04] <jangle> so instead [inputvid] scoreboard filter for time from begin to goal 1[goal1] ; [inputvid] sb filter for goal 2 [goal2] ; [inputvid] fadeout filter and final sb filter[final] ; [goal1][goal2][final] concat
[21:05] <Jack64> YES that would be awesome
[21:05] <Jack64> just one pass in the input video and it's done
[21:05] <Jack64> doing it all at the same time
[21:06] <jangle> well I doubt its truly one pass, it may help if the input video is seekable, otherwise it must be played through to find the target times? but that is an assumption
[21:06] <Jack64> still even if it's not, it would be a great time improvement I'm sure..
[21:06] <jangle> the other assumption i made is that concat accepts input in that way. I don't have the command line example to do the fadeout or the overlay
[21:06] <jangle> or for a specific time
[21:07] <jangle> so if you have those, try it out on a short file and see
[21:07] <llogan> radagast: are all of your inputs the same format, frame size, frame rate, etc?
[21:09] <Jack64> jangle: so what happens is when PHP is generating the scripts, it loads the goal times for each video and team names and all data from a SQL database and also looks for the exact milisecond of the keyframe in each video (through ffprobe), so you say a goal is in min 1 sec 23, it goes and looks for a keyframe in that second and splits it exactly there
[21:09] <radagast> llogan, yes all the same, if i open a file with vlc it gives me the same graphical errors and timing the only solution i have found to view the single files is with vlc force --demux h264 recfile_-140227-150418-150509-61U30300.264 command
[21:10] <llogan> what does ffmpeg say about a single file?
[21:10] <radagast> i try now
[21:12] <Jack64> jangle: here's an example ffmpeg line for applying 0-0 overlay:
[21:12] <Jack64> ffmpeg -y -i $workingdir/smallfile0b.mp4 -acodec copy -vcodec libx264 -crf 20 -vf "movie="$logo0" [watermark]; [in][watermark] overlay=0:0 [out]" $workingdir/overlaid0.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.$
[21:12] <llogan> radagast: and which concat method did you use? demuxer, filter, or protocol?
[21:12] <jhoffing> Hello! I have a question about the libfaac codec for encoding audio files into an AAC format. By default, libfaac hard-codes the MPEG version to MPEG-4. You can see the hard-coded line at line 115 in libfaac.c. I need to create an audio file that is wrapped in an MPEG-2 container (encoded with Version MPEG-2). Is there a place where I can ask for a feature request to make the mpeg version an additional option in ffmpeg? Related SO here
[21:12] <jhoffing> http://stackoverflow.com/questions/15133393/ffmpegs-aac-libfaac-codec-optio… and here http://stackoverflow.com/questions/21741058/convert-mp3-to-aac-with-mpeg-2-…
[21:13] <Jack64> jangle: it gets the smallfile0b (beginning to goal 1) and applies $logo0 (which is the scorebar for 0-0) in that video
[21:13] <jangle> Jack64: and how do you apply the filter to a specified time range?
[21:13] <bparker> why does libavformat have an arbitrary limit of 1024 bytes for a URL/filename ?
[21:14] <radagast> llogan, SMPlayer gives me Error Streaming Media message and vlc work for 5 seconds with fast video and then gives me the same problem
[21:14] <bparker> I have a long URL that is hitting this limit and causes the stream to fail
[21:15] <radagast> llogan, i dont know i used the command you wrote me on this channel
[21:15] <Jack64> jangle: no need for a time range, because smallfile0b is already the result of the split [ input file beginning to goal 1 ]
[21:16] <jhoffing> Also....is this the right forum for asking about ffmpeg's libfaac codec?
[21:16] <bparker> browsers support much longer URLs than 1024 bytes also
[21:18] <axelri> I'm trying to create a video from a series of screenshots (from an Android phone). I'm not able to take the screenshots at a regular interval, so I haven't found a trivial way to feed them to ffmpeg and get an accurate video out. My current solution is to make a short video file for every screenshot, then put them all together with concat. This approach gets the right result, but i find it far too slow for my application, even when tryi
[21:18] <axelri> ng the fast presets for x264. Any ideas on how to speed it up?
[21:19] <Zeranoe> axelri: -crf 0 and encode after its saved?
[21:20] <Zeranoe> axelri: Mightt want to look at: https://trac.ffmpeg.org/wiki/StreamingGuide
[21:20] <jangle> Jack64: right, but& if you want to do it all at once, then we are assuming that there is a way to apply a filter to a subset of the video
[21:20] <relaxed> jhoffing: what are you actually trying to do? why do you need this?
[21:20] <bparker> jhoffing: MPEG TS/PS containers support mpeg4 audio, you either leave it at that or transcode to mpeg2audio
[21:21] <bparker> faac on gstreamer will output both mpeg2 and mpeg4 audio
[21:21] <bparker> not sure about ffmpeg though
[21:22] <bparker> but you don't want to insert mpeg4 audio and mark it as version2, just use one or the other
[21:22] <axelri> Zeranoe: You mean output every intermediate video file losslessly and then encode them in the concatenation process?
[21:23] <relaxed> -profile mpeg2_aac_low might do it
[21:24] <Jack64> jangle: http://ffmpeg.org/ffmpeg-filters.html#Filtergraph-description Check out 2. Filtering Introduction the flow chart suggests it's possible
[21:25] <axelri> Zeranoe: Also thanks for the link. I hoping to avoid having to write my own C code for this.
[21:26] <Jack64> jangle: it suggests it's possible to apply two filters to the same video.. not a subset of it
[21:26] <Zeranoe> axelri: Huh? it talks about low latency encoding
[21:26] <Jack64> jangle: so maybe splitting it is the only approach possible
[21:28] <axelri> Zeranoe: I just meant that it would be nice to use a scripting language and the ffmpegs binaries, and not having to go all the way down to the C libraries in order to do a efficient enough implementation =)
[21:28] <jangle> Jack64:right below that is a timeline edititing option
[21:29] <jhoffing> relaxed: bparker Essentially, I'm trying to pump a 'preroll' audio buffer in front of a livestream, and its MPEG version has to match exactly that of the livestream's
[21:30] <Jack64> jangle: indeed it is, 5. so I guess it's possible, I just have to study how to implement it with the PHP I wrote
[21:31] <Mavrik> axelri, well if you're lazy and don't want to use any of half-sensible options
[21:31] <Mavrik> use MediaCodec.
[21:31] <jhoffing> Also...I'm still learning about ADTS headers and container formats. Is an MPEG Version the same thing as an audio container that an audio file is wrapped in?
[21:36] <axelri> Mavrik: We looked into that option and determined it wasn't such a good idea. Our application must work on pre-4.0 Android devices, and we got the impression that MediaCodec is a pain to work with then. Another demand was that we shouldn't have to have root access, with further seemed to complicate in-phone video processing.
[21:36] <Mavrik> what does root access have to do with anything?
[21:36] <Mavrik> axelri, I'm just telling you your options, if you're too lazy to properly use ffmpeg's libav libraries and bind them together in C to get a proper solution
[21:36] <Mavrik> you might as well use the lazy solution and go with MediaCoder
[21:36] <Mavrik> otherwise use C, make a library that will handle the encoding and expose a method call that will pass images to C code which will encode it
[21:37] <jangle> well you end up building the chains in text strings
[21:37] <jangle> the questions are, is there really a concat filter that will behave in the filter_chain syntax the way that you need
[21:41] <axelri> Mavrik: Sorry if I came across as lazy, ignorant or whatever, I'm just new in the area and don't really know how to solve this properly. My impression was that in earlier versions of Android, you can't encode arbitrary data streams with MediaCodec but just images from the camera. Without root access taking screenshots is a pain, therefore the irregular interval. I've also had no luck finding good tutorials in how to encode video with th
[21:41] <axelri> e libav libraries, therefore I was hoping to avoid it if possible
[21:43] <Mavrik> axelri, yeah, sorry :) Anyway, MediaCodec is available from Android 4.1+ and is a shim for hardware acceleration on Android
[21:43] <Mavrik> it's by far the best way to do video encoding if you can deal with it's limitations
[21:43] <Mavrik> before hand you can use ffmpeg yes, but trying to script it up or doing stuff in other languages will kill your performance and give you headaches because you'll have to write bridging code
[21:43] <Mavrik> there are examples on how to do encoding and muxing in ffmpeg source code under doc dir
[21:43] <Mavrik> I suggest you do a simple demo on PC first with that code
[21:44] <Mavrik> and then compile it for android...
[21:44] <Mavrik> the best way you can do that is to write whole encoding code in C and just expose a method that will pass frames form Android/Java to your C encoding library
[21:44] <Mavrik> you can do it the other ways but it's gonna be much slower and clunkier...
[21:44] <Mavrik> Video encoding is still pretty much sport for people who know C :)
[21:46] <axelri> Mavrik: Yeah, I wish we could just drop support pre jelly bean =) I noticed the doc examples, but I think I'm a bit too new in the media world to understand all of it properly. But I guess there's no denying that when you want top performance scripting isn't really an option
[21:47] <axelri> Still, we decided to do the image processing on the server-side, so that does leave us a lot of options at least
[21:52] <axelri> I'm going to try to fiddle around with the encoding options in my current script, but if that doesn't work out I'll focus on getting dirty with the C libraries. Thanks for the good advice anyway! I haven't used ffmpeg for such a long time but it seems to me that it has a really great community =)
[21:53] <Mavrik> :(
[21:53] <Mavrik> :)
[21:53] <geekgm> hi
[21:54] <geekgm> is there a setting to BURN IN subtitles and change colour of the text?
[21:55] <llogan> geekgm: you can use ass. you can format the color or the text within the ass file.
[21:55] <Mavrik> that's a totally unfortunate name for a format tho.
[21:55] <axelri> Boy was I confused about libav and ffmpeg at first though. Took me a while to figure out that ffmpeg in apt actually wasn't ffmpeg.
[21:56] <llogan> geekgm: you can use aegisub if you want a GUI to edit your ass file.
[21:56] <llogan> then burn it as shown in: https://trac.ffmpeg.org/wiki/How%20to%20burn%20subtitles%20into%20the%20vid…
[21:57] <geekgm> txs. I will look into that
[21:57] <llogan> also see https://trac.ffmpeg.org/wiki/x264EncodingGuide since you will have to re-encode
[21:58] <llogan> geekgm: you can also stream copy the audio with "-codec:a copy" so it does not get re-encoded if you're not wanted to change the audio format http://ffmpeg.org/ffmpeg.html#Stream-copy
[21:58] <geekgm> I tried using Handbrake but it always burns the subtitles in black.
[22:01] <llogan> i forgot that srt can also change color...but now he's gone
[22:03] <Jack64> hey guys are you aware of any HTML5 way to provide subtitles to all platforms (Android, iOS, desktop) ?
[22:03] <Jack64> HTML5 video + subs I mean
[22:04] <Jack64> or do we have to burn them in to ensure it works everywhere the video plays?
[22:06] <JodaZ> well, in theory you can overlay them, and then fullscreen the div containing both the video and the subtitles; but there are potentially platform and performance problems with that
[22:09] <JodaZ> Jack64, http://fiddle.jshell.net/sandro_paganotti/TcpX5/show/light/ see if this works on your target devices
[22:10] <Jack64> it doesn't work in my browser
[22:10] <Jack64> Chrome on ubuntu
[22:11] <Jack64> I'm using something called captionator
[22:11] <Jack64> works everywhere except android
[22:11] <Jack64> which is a bummer -.-
[22:11] <Jack64> so close to full compatibility
[22:11] <JodaZ> what do you mean doesn't work, what does it do when you click go fullscreen
[22:12] <Jack64> in desktop browsers it overlays the subs with javascript
[22:13] <JodaZ> ah, hmm, the captionator doesn't work for me in fullscreen
[22:13] <Jack64> in iOS it uses webVTT to give the Apple CoreMedia player
[22:13] <Jack64> it works everywhere in Chrome (not Firefox) if that's what you're using now
[22:13] <Jack64> should've specified sorry xD
[22:14] <Jack64> but the problem is Android doesn't work with webVTT
[22:14] <Jack64> actually I'm not sure there's any implemented way to overlay subs on HTML5 video in Android browsers
[22:14] <Jack64> I think I've only seen it done in native apps
[22:15] <JodaZ> well, manually overlaying, question is if captionator tries to use webVTT and not the normal overlay method it uses in chrome on the desktop (or does it use webvtt there too?)
[22:16] <Jack64> I have it working in my own webserver and the videos only have webVTT subs and it works in chrome
[22:17] <Jack64> so with the same source file it works everywhere
[22:17] <Jack64> except Android
[22:17] <Jack64> lol
[22:18] <Jack64> oh yea I forgot, it's even pickier
[22:18] <Jack64> it works on android
[22:18] <Jack64> you can see the subs
[22:18] <Jack64> just not in fullscreen
[22:19] <JodaZ> hmm, well, you need to fullscreen differently
[22:20] <JodaZ> if you fullscreen the video using the videos own fullscreen mechanics and there is no webVTT support nothing will show obviously... but i think this captionator has a different fullscreen method maybe that works
[22:23] <Jack64> how?
[22:23] <Jack64> and how would I change it for android users only?
[22:23] <Jack64> I'd have to read the headers
[22:23] <Jack64> no?
[22:24] <Jack64> or does that method work for all devices?
[22:28] <JodaZ> Jack64, i don't know, you'd have to ask captionator developers for assistance with that
[22:28] <JodaZ> Jack64, video.js might interest you, its an alternative solution to captionator
[22:29] <Jack64> I use them both :D
[22:29] <Jack64> I use video.js to server videos that have burnt in subs and captionator otherwise
[22:29] <Jack64> serve*
[22:30] <JodaZ> video.js supposedly supports webvtt subtitles too
[22:30] <JodaZ> https://github.com/videojs/video.js/blob/master/docs/guides/tracks.md
[22:31] <Jack64> I tried to use it but it only worked on desktop browsers
[22:32] <JodaZ> again, thats propably to do with the way you fullscreened, you'd use the video.js fullscreen element
[22:34] <Jack64> yes, I didn't override the fullscreen
[22:34] <Jack64> I'll have to study how that's done
[22:36] <jangle> so I'm trying to decode h264
[22:37] <jangle> I've found the avcodec.c example and am wondering why the example isn't set up to decode the test video when h264 is selected?
[22:38] <jangle> for recall, the example generates an in memory video and then encodes it in either h264 or mpeg1video. if you picked mpeg1video, then the program will not only dump the encoded video to disk, but it will also decode the video and dump each frame to disk
[22:39] <Jack64> does that mean you get like a png or something of every frame?
[22:39] <jangle> this does not happen when h264 is selected, only the h264 annex b file is generated. When I modified the example code to decode the file when using the h264 decoder, the decoder isn't happy
[22:39] <jangle> in this case a pgm, but yes
[22:39] <Jack64> I never played with C libs
[22:40] <Jack64> that's libavformat right?
[22:40] <jangle> all I need (i think) is libavcodec
[22:40] <Jack64> right
[22:40] <Jack64> you should only need libavcodec if you're just encoding/decoding
[22:41] <jangle> I already have the encoded video in memory when I get to this point, but I don't know how to set up the decoder datastructures by hand, because I'm not starting with a container file that the easy library calls can use to pick apart the data and set everything up
[22:41] <jangle> so I could use some help
[22:42] <Jack64> so when you use mpeg1video it doesn't load it the same way?
[22:44] <Jack64> you should follow the example code flow for case mpeg1video and see how it differs from h264 in the loading
[22:45] <Jack64> or maybe it's not decoding the stream because that function isn't called
[22:51] <jangle> so
[22:52] <jangle> the example code only decodes the video if you chose to use the mpeg1 encoder
[22:52] <jangle> so it sets up a decoder with the id of mpeg1video,
[22:52] <jangle> and if you did indeed choose the mpeg1 codepath, it issues a video decode call using the aforementioned decoder
[22:52] <jangle> if you chose the h264 path, the test video is encoded and dumped to disk, and not decoded
[22:53] <jangle> if I change the code to setup an h264 decoder, and then add the code that makes the decode call when choosing the h264 path, the decoder complains
[22:53] <Jack64> hmm
[22:54] <Jack64> try different C++ code
[22:54] <jangle> the only reason I can't officially call this a bug is because the provisions for decoding the video in h264 are added by me. I assume they've been left out because there is more to it that they decided not to go into
[22:54] <jangle> if I found some then I would have :-P
[22:54] <Jack64> here's what seems to be a nice tutorial
[22:54] <Jack64> http://blog.tomaka17.com/2012/03/libavcodeclibavformat-tutorial/
[22:54] <Jack64> http://lmgtfy.com/?q=libavcodec+decode+h264+and+dump+frames+example
[22:55] <jangle> :-P
[22:55] <jangle> I've found several of the 1st example
[22:55] <jangle> and the problem is that I'm not starting with a container file
[22:55] <jangle> I'm starting with encoded nals already, and need to progress from there.
[22:56] <Jack64> I love lmgtfy eheh :D
[22:56] <Jack64> hmm ok
[22:57] <JodaZ> encoded nals ? where you got those from?
[22:57] <Jack64> so maybe you need to decode those nals into the the proper structure and then you'll be at the first example's starting point right?
[22:57] <Jack64> JodaZ: you can get them from mkvextract for example
[22:58] <Jack64> if you extract mkv video track you can do it in .nal
[22:58] <Jack64> or .264 which is the same
[22:59] <Jack64> I assume the code the example uses generates the input in memory and goes with nal formate
[22:59] <Jack64> format*
[23:04] <jangle> I have my own rtsp/rtp client
[23:04] <jangle> JodaZ:
[23:04] <Jack64> so your input is like a webcam?
[23:04] <Jack64> or you have a server too?
[23:05] <jangle> Jack64: anything that spews h264 over rtp and uses rtsp as the control protocol
[23:06] <jangle> and for your last question, the code example just dumps the nals to disk in the proper format
[23:06] <jangle> I can generate my own nals, but you'd think that the library would be able to easily decode the results of its own encode
[23:07] <jangle> and since the h264 annex b format is just a lightly packed file containing all of the encoded data, and that ffplay can play this file, that the encode step and decode step should be mirror images of each other
[23:07] <jangle> I invite anyone to try it, its a two line change to avcodec.c
[23:07] <Jack64> it makes sense that it would be so
[23:08] <Jack64> you're doing it in linux?
[23:08] <jangle> Jack64: have you figured out how to apply your filter to a section of video?
[23:08] <jangle> osx
[23:08] <jangle> but all c/c++, not objective c or wrapped up in whatever
[23:09] <Jack64> I've bookmarked the ffmpeg docu page but not working on that right now (since what I have is working, even though it takes a while)
[23:10] <JodaZ> jangle, you can't use the ffmpeg commandline tool to just do whatever you want to do with your nalstream?
[23:10] <Jack64> I'll optimize later, I think I'll get an even better boost if I write a worker handler that detects my PC and my friend's PC on the same LAN and sends them the various input files (distributed workers)
[23:11] <jangle> JodaZ: I'm going to be displaying the frames on a canvas in real time. So I don't know, does that seem doable?
[23:12] <JodaZ> jangle, why not just ffplay them then?
[23:12] <jangle> JodaZ: Because I don't know how to get the live bitstream into ffplay
[23:13] <JodaZ> jangle, pipe?
[23:13] <jangle> and does it accept raw nals?
[23:14] <JodaZ> jangle, propably; why not just do some experiments, i'd start by having ffmpeg to convert them and see if that works
[23:14] <jangle> ffmpeg can convert them, so I'm at the next step
[23:15] <JodaZ> i strongly asume if ffmpeg can convert them, that ffplay can play them
[23:15] <jangle> I can generate a snapshot of the webcam, and outpu the h264 nals in annex b format that ffmpeg can convert
[23:15] <JodaZ> so play them
[23:16] <JodaZ> snapshot?
[23:16] <jangle> I need to transition to displaying frames in real time
[23:16] <jangle> ffplay opens up a container file
[23:16] <jangle> and plays its contents
[23:16] <jangle> or optionally an rtsp stream maybe I haven't looked
[23:16] <jangle> I have my own rtsp/rtp code
[23:16] <jangle> and can get the nals
[23:16] <jangle> and now I need to decode the nals and display frames on something in real time
[23:17] <JodaZ> sure, so your rtsp/rtp code outputs them to a file?
[23:17] <jangle> no
[23:17] <jangle> only when I ask it do, to demonstrate that I have recovered the encoded data correctly
[23:17] <JodaZ> well, just push them out to stdout and pipe that into ffplay
[23:19] <jangle> ffplay doesn't read from stdin
[23:19] <JodaZ> sure it can
[23:20] <jangle> I'm looking at the code, but it requires that a filename be passed as an argument
[23:20] <JodaZ> yes, with - as a special filename meaning stdin
[23:25] <jangle> well I guess that worked. while this may work for now, I still need access to the individual frames
[23:25] <jangle> Or I guess I should say that this works because I'm catting an h264 file on the command line into ffplay
[23:26] <JodaZ> well, you should be able to rewrite your rtsp client to output on stdout, alternatively you could use a unix pipe file
[23:28] <JodaZ> jangle, for getting individual frames you can use the image2 output of ffmpeg
[23:28] <JodaZ> http://www.ffmpeg.org/ffmpeg-formats.html#image2-1
[23:29] <jangle> It already dumps other things to stdout, and I've already failed to figure out how to use pipes for this exact purpose before, so I'd rather not. Also, I need to do things with the individual frames. Tricking ffplay into thinking its reading an h264 annex b file whlie in reality its being "streamed in" seems like a hack
[23:29] <jangle> cool. but in memory. thanks for the link though
[23:29] <JodaZ> piping is not a hack
[23:30] <JodaZ> and it is "in memory"
[23:30] <jangle> sorry unclear, the image2 call dumps the image frames to disk
[23:30] <JodaZ> regarding it dumping other things to stdout, thats for example avoided in ffmpeg, it outputs messages only to stderr
[23:31] <JodaZ> well, either you want individual frames or you want a video stream, you currently have a video stream, you can do everything you want with it, but since you don't say what exactly you do want to do with it i can only guess
[23:32] <JodaZ> play it with ffplay, pipe it to a file for storage, transmute it with ffmpeg
[23:32] <jangle> once I have the frames I can do any number of things at the same time
[23:32] <jangle> I can display them on a canvas, I can record snapshots of events I care about, or make picture in picture displays, or use opencv to do interesting things
[23:32] <jangle> I need the frames so I can do any of them.
[23:33] <JodaZ> jangle, well, maybe use ffmpeg to output them as a yuv stream then
[23:33] <jangle> and at the moment, I need to control displaying of frames a the right time, because ffplay seems to play my bistream too fast. I understand that timing information may not be stored in the bitstream, so that is yet another thing I need to handle
[23:33] <jangle> i have to decode them first!
[23:34] <JodaZ> how lucky you are that ffmpeg is good at decoding things then
[23:34] <jangle> yeS!!!!!1
[23:34] <jangle> but in memory!!!!!!
[23:34] <JodaZ> sure
[23:34] <Jack64> I wanna play with opencv too -.-
[23:35] <jangle> am I the only person in the history of the world, that wants to use the libav* libraries to decode in memory encoded data?
[23:35] <jangle> using a statically linked version of the libraries?
[23:35] <jangle> or a dynamically linked version, but not by running a second binary?
[23:36] <JodaZ> jangle, maybe the only non-programmer
[23:36] <jhoffing> *whoosh*
[23:36] <jangle> Nice one
[23:36] <jangle> explain to me, how I''ve failed to understand my problem
[23:37] <Jack64> if you can do it by running a second binary (which is probably the easiest way), why not?
[23:38] <alexa> How to amplify sound using ffmpeg?
[23:38] <jangle> because using the library to pretend to be giving it a file and instead giving it a streamed version of the file feels like a hack
[23:39] <alexa> I used to extract audio with audacity and to apply amplify effect, then to save as audio, then to add into original video using avidemux.
[23:39] <Jack64> jangle, ah so your quarrel is with unix piping you feel it's a hack eheh
[23:39] <JodaZ> alexa, if you put that question as is into google, the third result will tell you
[23:39] <jangle> no, I've used it before for exactly this purpose and I coulnd't get it to work
[23:40] <jangle> and I'm writing cross platform code and I don't need to use pipes
[23:40] <jangle> I only need to use pipes because apparently programmers never need to use anything else
[23:40] <Jack64> alexa, http://lmgtfy.com/?q=How+to+amplify+sound+using+ffmpeg%3F
[23:42] <Jack64> well I actually agree with you in that using libavcodec to do it should be more straightforward
[23:42] <jangle> right? except we are now the only two who think so
[23:42] <Jack64> especially because of live sources
[23:43] <Jack64> I assume it'd be easier to manipulate live sources if they are decoded without an external binary
[23:43] <Jack64> easier/better performance
[23:43] <jangle> there is nothing complicated about the h264 annex b stream, and any code that stands up reading the file stands up a decoder to display the frames. I just need to use the library to accept the encoded data from a buffer in memory, and not from trying to do it for me by reading it in from the file
[23:44] <alexa> but what if I need to do it inside flv video
[23:44] <alexa> ?
[23:45] <Jack64> jangle, so your in memory data is nal and it expects an mkv file or it can deal with nal but it has to be a file?
[23:45] <jangle> no
[23:45] <jangle> every example i've found
[23:46] <jangle> is code that opens a file to start decoding and encoding
[23:46] <jangle> so in those steps of opening the files and picking out the different media streams
[23:46] <jangle> the libraries are built to make it easy to do that, to autodiscover whats in the file, what kind of encoded media are in each stream
[23:46] <jangle> and then let you do things with each stream.
[23:47] <Jack64> but it has to be a file?
[23:47] <jangle> since I'm showing up with nals in memory (and since the h264 annex b is essentially the nals lightly wrapped) and since ffplay can open this file and play the contents onto a canvas, I figured it would be
[23:49] <JodaZ> http://ffmpeg.org/doxygen/trunk/api-example_8c-source.html
[23:49] <JodaZ> seems the data is coming from fread(), so you could just replace that with your own in memory data source
[23:49] <jangle> the examples describe working with files. otherwise you have to setup the decoder yourself. In the case of h264, my assumption is that if your annex b stream can be read by ffplay, since there isnt' anything more to it than that, that the same routines that are used to setup the decoder for data read from the file can be used to decode data passed in from a buffer
[23:51] <JodaZ> jangle, the example i linked is working with a file, but since you are calling yourself a programmer, i asume you should be able to replace that fread call with a something that gets the data from your "memory" instead
[23:55] <jangle> JodaZ: the other example I found, which is similar, is this http://ffmpeg.org/doxygen/trunk/avcodec_8c-example.html
[23:56] <JodaZ> its the same
[23:56] <jangle> i changed the decoder in the linked file to be h264, and attepted to do what it does with mpeg1video with h264 instead. It didn't work and I've posted about it.
[23:56] <JodaZ> well, that thing is doing a whole bunch of stuff before that
[23:56] <jangle> oh really?
[23:56] <jangle> like what mister programmer?
[00:00] --- Wed Mar 5 2014
1
0
[00:04] <Snowrider_> BtbN: Im more referring to the frame of like a bmp for example. I may just have a fundamental misunderstanding of this
[00:09] <J_Darnley> You probably can get it (I'm not familiar with AVFrame) but it will be encoded
[00:09] <J_Darnley> You should make the libraries decode it for you into whatever format you ask
[00:11] Action: Compn sees nicolas' comment fly over don's head
[00:11] <Compn> ehe
[00:12] <Compn> Snowrider_ : probably you need an image or video editor that has those things
[00:12] <Compn> Snowrider_ : like if you want to compare the colorpalette or whatever
[00:12] <Compn> that would be more advanced , ffmpeg doesnt have those features yet
[00:13] <Snowrider_> yeah seems that would be the proper way to do it. This is more of experimentation on my part
[00:13] <Snowrider_> to get firmiliar with the code and how it works
[00:13] <Compn> there are some things available in the debug options, but i dont think theres an rgb values thing
[00:13] <Compn> it would be interesting task to add an analyzer if you wanted to try
[00:14] <Compn> you could do it with the filter api
[00:14] <Snowrider_> I will look into that
[00:14] <Compn> Snowrider_ : did you see this http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=15&t=805
[00:14] <Snowrider_> I figured it would be useful in some circumstances.
[00:15] <Snowrider_> yeah i was looking through that
[00:15] <Snowrider_> what about this?
[00:15] <Snowrider_> https://stackoverflow.com/questions/1047200/extract-rgb-values-from-a-avfra…
[00:17] <Snowrider_> the first array there i believe is the frame
[00:18] <Snowrider_> and for a picture it should always be zero
[00:18] <Snowrider_> since it is not a video
[00:19] <Compn> no clue. i'm not a programmer
[00:20] <Compn> also this channel is for ffmpeg development, bugreports go to #ffmpeg and 3rd party libavcodec apps is in libav-user mailing list or the ffmpeg forum on gusari
[00:21] <Snowrider_> this isnt really a bug in any way just trying to add code to ffmpeg and experiment
[00:21] <Snowrider_> thanks tho
[00:21] <Compn> no problem :)
[00:21] <Compn> sometimes its hard to tell what people want when they ask questions here
[00:22] <Compn> but yeah outputting rgb values in an easy format, maybe tying it into json thing we have now, that would be useful to someone maybe
[00:23] <Snowrider_> yeah understandable can see why it would be hard to tell
[00:23] <Snowrider_> it is hard to ask the right questions
[00:24] <Compn> it takes a while to learn all of the terms and definitions for each part of the video too
[00:27] <Snowrider_> yeah Im finding that out
[00:28] <Compn> hows the weather in utah? anything above freezing ?
[00:28] <Compn> got over 100 days under freezing here in michigan, cant even thaw the snow
[00:31] <J_Darnley> That's pretty impressive
[00:31] <Snowrider_> its pretty warm
[00:31] <Snowrider_> Im from michigan haha
[00:31] <Snowrider_> but livin in utah
[00:32] <Snowrider_> 56 degrees here now
[00:32] <Compn> 16F .... gonna be ... 16F tomorrow too
[00:33] <Snowrider_> My parents feel your pain
[00:49] <llogan> New GSoC FAQ. "Why was my project not accepted? Because there was no room for you." "How did other projects get accepted? There was room for them."
[00:59] <Compn> llogan : cant tell if joke or not :)
[00:59] <llogan> that's why it is funny
[00:59] <llogan> now laugh
[01:00] <Compn> i mean , thats in the official faq ?
[01:00] Action: Compn wonders if reynaldo or saste emailed google for the secret reason :P
[01:02] <llogan> no, it's a FAQ I'm making for them. the "secret" reason was just a repeat of "there was no room".
[01:03] <Compn> it was ?
[01:03] <Compn> why did she want it emailed then ?
[01:03] <llogan> Why was Lincoln buried on a hill?
[01:03] <llogan> Because he was dead.
[01:03] <llogan> that's how they answer
[01:03] <Compn> ah
[01:03] <Compn> forget it jake, its chinatown
[01:04] <llogan> i don't know why she wanted it emailed, and when she was emailed she didn't give more info
[01:04] Action: llogan has to go get a bus now since jalopy car is broken again
[01:04] <Compn> did whomever emailed her say he was authorized by the project to recieve the secret answer ?
[01:04] <Compn> hehe
[01:04] <Compn> maybe he didnt present the required credentials to see the confidential information
[01:05] <Compn> we're going to have to buy saste some presents, for doing all that gsoc work
[01:05] <Compn> j-b knew, he knew what was happening
[01:55] <rcombs> what's the starting (i.e. time=0) PTS for MPEG-2?
[02:39] <cone-265> ffmpeg.git 03Michael Niedermayer 07master:2dcaa1b9d142: avformat/utils: detect MPEG streams with faulty DTS and discard affected DTS
[05:23] <Zeranoe> If I save a frame with FFmpeg, will it save it with the same display dimensions as ffplay shows?
[05:29] <Compn> Zeranoe : if the container for the frame you save saves the aspect ratio and dimensions
[05:30] <Compn> avi, mp4, mpeg, asf etc yes. raw? no unless yuv4mpeg or other 'raw format'
[05:32] <Zeranoe> it's vob, and I see it isn't
[05:35] <Zeranoe> Possible bug in ffplay, when not using -ss, the aspect/display seems skewed, but with ss it seems fine. Is this normal?
[05:36] <Zeranoe> I want to pause ffplay on a frame, right at 2second, I know space does it, but can I pass it through the command?
[05:38] <Zeranoe> Even doing ffplay -i input.vob -ss 00:00:00.01 I get a completely different display than without
[09:07] <plepere> hello all
[09:11] <plepere> is there a way to do a fate on only 10bit bitstreams ?
[09:13] <nevcairiel> not automatically no
[09:14] <nevcairiel> you can figure out which tests are for 10-bit and run them manually
[09:14] <plepere> ok ok. :)
[09:14] <plepere> thanks
[10:31] <plepere> OK, I've sent a new patch on ffmpeg-devel. :)
[10:33] <plepere> BTW, how do I know if my code has been validated ?
[10:36] <ubitux> plepere: ok so now every function is almost identical, you can just create a macro generating them
[10:36] <ubitux> your code will be pushed when "validated"
[10:36] <plepere> ok
[10:37] <ubitux> basically you can have the parameter of LOOP_INIT/END and the number of loop as parameter
[10:38] <ubitux> also, just squash those changes in your patch instead of iterations
[10:44] <ubitux> plepere: so untested, but something like that: http://pastie.org/pastes/8832107/text
[10:45] <plepere> ubitux : I did a 3rd patch since I've already given the 2 previous patches at the start of the thread
[10:45] <ubitux> (i randomly picked the last 3 entries)
[10:45] <ubitux> plepere: they're not applied, so you can update them
[10:45] <plepere> yes, we use that more or less for prototypes.
[10:46] <ubitux> you could add 16 and 24 as well
[10:46] <ubitux> also, probably something doable with the _8 with another parameter
[10:46] <ubitux> anyway, you get the point
[10:47] <ubitux> you can probably halve the size of the asm by doing so
[10:47] <plepere> so you say that I should do macros only for the functions with repetitions or should I do it even for tricky ones ? (width = 12 when in 10 bit, width = 24 when in 8bit
[10:48] <ubitux> wherever you can avoid the duplication
[10:48] <ubitux> i just took the last one as an example
[10:50] <ubitux> http://pastie.org/pastes/8832213/text is simpler than duplicating 5x the code
[10:54] <plepere> ok thanks
[11:03] <plepere> I've done %rep %1/16 to avoid the second parameter. )
[11:03] <plepere> it' %1/8 when in 10bit though. :)
[11:04] <ubitux> you can probably add parameter for the other variants
[11:05] <plepere> I'm doing a simple pass macro and a repeat macro for the functions
[11:05] <plepere> I'll do a pastie
[11:11] <plepere> ubitux : http://pastie.org/8832615
[11:11] <ubitux> sounds better :)
[11:41] <Case> are the vorbis maintainers still alive and active with FFmpeg?
[11:43] <JEEB> well, there are quite a bit of people hacking on it, IIRC
[11:44] <Case> I see two names in maintainers. Couldn't find any such info for libav though
[11:45] <JEEB> you can just see who last poked the file http://git.videolan.org/?p=ffmpeg.git;a=history;f=libavcodec/vorbisdec.c;h=…
[11:46] <JEEB> mini, ruggles, lu_zero, elenril etc etc
[11:47] <Case> ok, seems there's still work going on. Good to know
[11:49] <JEEB> yeah, I've had bugbears fixed in it, too
[11:50] <Case> I'm just annoyed about foobar2000's situation. This bug would be circumventable by reverting to libvorbis if file isn't recognized at all by ffmpeg: https://trac.ffmpeg.org/ticket/2893
[11:51] <Case> but this issue isn't as simple: https://trac.ffmpeg.org/ticket/3432
[12:00] <wm4> Case: you could try to narrow down the problem by finding out whether it's the demuxer's or the decoder's fault
[12:01] <Case> pretty sure decoder. I believe foobar2000 uses its own demuxers and the problem is present in it
[12:03] <wm4> I'd guess there's no way to revert to another decoder if the decoder fails (unless the application does it explicitly)
[12:03] <wm4> and it doesn't sound like a proper solution anyway
[12:04] <Case> ideal solution would be if ffmpeg's decoder worked reliably for all situations
[12:04] <wm4> yep
[12:36] <JEEB> heh, cehoyos being useful'ish for a change :P
[12:38] <ubitux> JEEB: come on, he's often tracking the regression commit :)
[12:38] <JEEB> if he is, great
[12:39] <JEEB> I've just herped a derp ever since my exchange of e-mails with him
[13:11] <anshul> Hi I was looking at bug #1778, when i try to convert that bugy video subtitle, it gives me error that encoder not found, but what I expected was decoder for that subtitle not found.
[13:38] <cone-430> ffmpeg.git 03Jan Ekström 07master:40feed524854: libutvideoenc: Add support for the new BT.709 FourCCs for YCbCr
[15:04] <ubitux> j-b: does this bonus point system efficient in practice to get bugs solved?
[15:04] <j-b> yep
[15:04] <ubitux> also, can the points be used for trade or something?
[15:04] <ubitux> or that's merely symbolic
[15:07] <j-b> Please read the email
[15:08] <ubitux> my bad, thx
[15:18] <plepere> ubitux, I'm done doing the macros
[15:19] <plepere> should I put out a patch 4 or should I simply squash previous commits and have a new patch 2
[15:19] <ubitux> squash
[15:19] <plepere> ok thanks
[15:19] <ubitux> as long as it's not applied upstream, you update your patchset
[15:19] <ubitux> does it reduce significantly the size of the patch?
[15:21] <plepere> well I'll give back the 2 patches so you can just apply them on the master
[15:23] <plepere> there
[15:26] <plepere> feedback is welcome
[15:27] <ubitux> yeah maybe later for me, that's a large patch
[15:28] <plepere> well it's only cosmetic changes.
[15:30] <nevcairiel> patch size at least changed from like 130kb in the first version to under 60kb now
[15:34] <plepere> yeah. :)
[17:03] <cone-430> ffmpeg.git 03Willy Aubry 07master:65c95de213d9: avformat/HLS: modified EXT-X-MEDIA-SEQUENCE header in order to follow the HLS standard
[17:11] <cone-430> ffmpeg.git 03Michael Niedermayer 07master:ab5d46df1656: avformat/httpauth: add comment about "" and algorithm
[17:13] <ubitux> who wants a hack for icy support in ffplay?
[17:14] <nevcairiel> ffplay doesnt really have much of a GUI, where would it even show it?
[17:14] <ubitux> av_log + win title
[17:14] <ubitux> http://pastie.org/8839837
[17:14] <ubitux> ^ this allows to reproduce the issue wm4 is fixing
[17:14] <ubitux> but now i'm too lazy to review the code, i can just confirm it fixes the problem
[17:14] <nevcairiel> lol
[17:15] <wm4> ubitux: probably better to just dump the packet contents to stdout?
[17:15] <ubitux> how so? :)
[17:15] <wm4> if it's for debugging
[17:15] <ubitux> it's not
[17:15] <ubitux> it's a real feature ;)
[17:15] <wm4> especially considering that the icy packets are pretty wacky
[17:16] <wm4> e.g. if the title contains a "'", most servers don't escape it
[17:16] <nevcairiel> i was wondering about that
[17:16] <ubitux> yeah; am i supposed to look for the ';' or EOS and go back from here to the previous ' ?
[17:16] <wm4> no idea, really
[17:16] <nevcairiel> i postponed my parser work for a bit
[17:16] <ubitux> (assuming there is no ';' in the stream title... heh)
[17:17] <ubitux> but well, it's good enough for now
[17:19] <ubitux> "Stream update: Makoto Fujiwara - Runner" how awesome is that.
[17:20] <wm4> what's the point of adding features to ffplay anyway?
[17:22] <ubitux> testing your patches
[17:24] <ubitux> wm4: are you afraid ffplay is going to be a competitive threat to mpv ? :D
[17:24] <nevcairiel> hahahaha
[17:25] <ubitux> watch out for sdl2 support!
[17:25] <ubitux> and when lavfi will have subtitles support, you'll be doomed
[17:25] <wm4> mpv is too small to be in competition with anyone
[17:27] <nevcairiel> personally i never got the whole idea of competition on open source projects, well certainly not with small ones (ie. 1-2 developers)
[17:27] <nevcairiel> What do i care how many people use my stuff, its not like i get money from them
[17:27] <wm4> I don't even care how many use mine
[17:27] <ubitux> it seems nevcairiel is already admitting his defeat
[17:27] <wm4> if I did, I'd probably start contributing to vlc or so
[17:27] <Plorkyeran> you don't get mad donation moneys?
[17:28] <Plorkyeran> I get almost a tenth of a cent per user per year in donations
[17:28] <Plorkyeran> adds up so fast!
[17:29] <nevcairiel> ubitux: nah, my marketshare on windows isn't all that small, a large share of all non-vlc windows players use some of my stuff now
[17:29] <nevcairiel> and my work has landed me a new job
[17:29] <nevcairiel> so it was worth something!
[17:30] <ubitux> :)
[17:30] <wm4> ubitux: in general, it would be nice if ffplay would focus on debugging, because trying to make it a serious player will never go anywhere (and also, it's a >3000 lines single file POS)
[17:30] <nevcairiel> occasionally i get a couple hundred in donations from some company that use my stuff, so its not too bad
[17:31] <ubitux> wm4: what are you thinking about?
[17:31] <wm4> vlc can buy their own test hardware with donation money, that's pretty nice
[17:31] <ubitux> wm4: you probably want ffprobe
[17:31] <wm4> ubitux: ffprobe (or ffmpeg.c) isn't always sufficient
[17:33] <ubitux> so far i'm pretty satisfied with ffplay
[17:35] <wm4> I'm just saying that in this case, attempting to parse the icy title and setting it as window caption is not terrible useful for testing icy
[17:35] <ubitux> btw, i wonder if sdl2 support in ffplay will somehow bring opengl support
[17:35] <wm4> you could just hook up libavdevice
[17:35] <wm4> doesn't that have opengl support
[17:36] <wm4> but sdl2 still has yuv support, if you mean that
[17:36] <ubitux> wm4: the rational is that it's good enough to trigger the bug and it's also a small useful feature (we already update the win_title with the "title" metadata typically)
[17:37] <ubitux> adding more debug is actually easy if needed
[20:46] <kurosu_> BBB / plepere: maybe pmulhrw is not needed here, as surprisingly there's no roun-before-final-shift here
[21:13] <wm4> ubitux: ping about my microdvd and icy patches... I think you said ok, but didn't write anything on the ML
[21:14] <ubitux> yes sorry, will apply tonight the microdvd if i find the time
[21:14] <ubitux> need to check just a few things
[21:14] <cone-430> ffmpeg.git 03Michael Niedermayer 07master:b79dfd16cbf0: ffmpeg: dont try to run the subtitle encoder on non subtitle streams
[22:30] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:f87ce262f68a: build: The MPEG-4 video parser depends on h263dsp
[22:30] <cone-430> ffmpeg.git 03Reinhard Tartler 07release/2.2:4be1b68d52c7: Prepare for 10_beta2 Release
[22:30] <cone-430> ffmpeg.git 03Luca Barbato 07release/2.2:9b6ccf0f243c: hevc: Always consider VLC NALU type mismatch fatal
[22:30] <cone-430> ffmpeg.git 03Vittorio Giovara 07release/2.2:63169474b392: h264: Lower bound check for slice offsets
[22:30] <cone-430> ffmpeg.git 03Luca Barbato 07release/2.2:de187e3e9ec4: h264: Fix a typo from the previous commit
[22:30] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:8ad2f45964ac: Merge commit 'de187e3e9ec4803575deb1c293ccad84d2a88da8' into release/2.2
[22:37] <cone-430> ffmpeg.git 03Anton Khirnov 07release/2.2:1d1df82093fd: pthread_frame: flush all threads on flush, not just the first one
[22:37] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:c4149c4d5406: Merge commit '1d1df82093fdacb2cbc443c70c80f8f801002d28' into release/2.2
[22:50] <cone-430> ffmpeg.git 03Martin Storsjö 07release/2.2:db6b2ca0b3af: qt-faststart: Increase the copy buffer size to 64 KB
[22:50] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:c9f015f1c688: qt-faststart: Simplify code by using a MIN() macro
[22:50] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:92edc13d6918: qt-faststart: Check fseeko() return codes
[22:50] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:298d66c8de1d: qt-faststart: Fix the signedness of variables keeping the ftello return values
[22:50] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:b3f106cb1f00: qt-faststart: Check the ftello() return codes
[22:50] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:7754d4838178: qt-faststart: Check offset_count before reading from the moov_atom buffer
[22:50] <cone-430> ffmpeg.git 03Martin Storsjö 07release/2.2:9841617b7f86: qt-faststart: Avoid unintentionally sign extending BE_32
[22:50] <cone-430> ffmpeg.git 03Lou Logan 07release/2.2:a6a2d8eb8f12: qt-faststart: Add a note about the -movflags +faststart feature
[22:50] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:7ff4cd2acc8c: Merge commit 'a6a2d8eb8f125a2edb512a7a47df33dbd70d6b35' into release/2.2
[22:59] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:35694706938e: doxygen: Add a number of missing function parameter descriptions
[22:59] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:1779cd7695ab: doxygen: Replace @parblock syntax with manual linebreaks
[22:59] <cone-430> ffmpeg.git 03Martin Storsjö 07release/2.2:cd6281abef6e: arm: Mark the stack as non-executable
[22:59] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:33e1bca6517d: gitignore: Add all examples below doc/examples
[22:59] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:39dc4a6bb34b: x86: dca: Add missing multiple inclusion guards
[22:59] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:b967c10029bd: Merge commit '39dc4a6bb34baf833ce1e5eabad7d0dbf933237d' into release/2.2
[23:14] <cone-430> ffmpeg.git 03Luca Barbato 07release/2.2:affc7687d33a: doc: Sort the muxer documentation
[23:14] <cone-430> ffmpeg.git 03Luca Barbato 07release/2.2:1853d8bb7a50: doc: Name the MOV muxer as it should be called
[23:14] <cone-430> ffmpeg.git 03Luca Barbato 07release/2.2:646c564de545: hevc: Mention the missing SPS in the error message
[23:14] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:9cc22be03298: svq3: Adjust #endif comment
[23:14] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:4015829accc2: bit_depth_template: Use file name as multiple inclusion guard
[23:14] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:eb2244ece9cb: Merge commit '4015829accc2382393d42d62654eb96d896d1326' into release/2.2
[23:27] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:bb4820727f4b: x86: dsputil: Use correct file name as multiple inclusion guard
[23:27] <cone-430> ffmpeg.git 03Janne Grunau 07release/2.2:697be8173bc7: h264: avoid undefined behavior in chroma motion compensation
[23:27] <cone-430> ffmpeg.git 03Christophe Gisquet 07release/2.2:2897481f64c8: dca: replace some memcpy by AV_COPY128
[23:27] <cone-430> ffmpeg.git 03Luca Barbato 07release/2.2:bc2c9a479aee: avconv: Do not divide by zero
[23:27] <cone-430> ffmpeg.git 03Anton Khirnov 07release/2.2:7933039ade01: af_resample: preserve frame properties
[23:27] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:222e7549a74d: Merge commit '7933039ade01b39638ec3d9e638b6ae06ee84984' into release/2.2
[23:35] <cone-430> ffmpeg.git 03Anton Khirnov 07release/2.2:58556826a80e: af_volume: preserve frame properties
[23:35] <cone-430> ffmpeg.git 03Vittorio Giovara 07release/2.2:3c72204ae0eb: doc: name correct header
[23:35] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:b76871d87004: parser: Remove commented-out cruft
[23:35] <cone-430> ffmpeg.git 03Luca Barbato 07release/2.2:437179e9c89e: parser: K&R formatting cosmetics
[23:35] <cone-430> ffmpeg.git 03Diego Biurrun 07release/2.2:596d3e20ae69: parser: cosmetics: Drop some unnecessary parentheses
[23:36] <cone-430> ffmpeg.git 03Michael Niedermayer 07release/2.2:82031e41f820: Merge commit '596d3e20ae69a278d562eea08f5e8c0ae5a5bfc4' into release/2.2
[23:37] <cone-430> ffmpeg.git 03wm4 07master:0786598f51ce: avformat/microdvd: skip BOM properly
[23:37] <cone-430> ffmpeg.git 03wm4 07master:b416517cce6b: avformat/microdvd: export the declared frame rate
[23:37] <wm4> ubitux: <3
[23:37] <ubitux> e
[23:40] <ubitux> wm4: i microbumped lavf so you can check for that version in your code
[23:40] <wm4> thanks, though I'll just check whether the subfps option exists
[23:40] <ubitux> j
[23:40] <ubitux> k
[23:41] <wm4> what about the icy one? or does that need further "review"
[23:42] <ubitux> i don't know how the icy actually works and my brain is melting tonight, that will have to wait i guess
[23:42] <ubitux> who reviewed that last time?
[23:43] <wm4> > + if(!strcmp("translate.google.com", hoststr) && !s->user_agent)
[23:43] <wm4> > + s->user_agent = av_strdup("Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1");
[23:43] <wm4> wow
[23:44] <wm4> (that patch was rejected, I guess)
[23:45] <ubitux> yes
[23:45] <ubitux> somehow
[23:46] <ubitux> i suggested to use a "browser" mode all the time, but it wasn't a good idea in practice
[23:46] <wm4> hm saste reviewed the initial icy patch
[23:46] <ubitux> (since some web radio act as a web page summary if detected as a browser, and a ogg/mp3 stream if not)
[23:47] <wm4> yeah that's annoying
[23:47] <wm4> no user agent will work for everything
[23:49] <ubitux> oh the vorbis this has been pushed?
[23:49] <ubitux> i missed that
[00:00] --- Tue Mar 4 2014
1
0
[02:04] <bparker> I've been looking at the quicktime file format spec on apple's website for like 30 minutes now, and I still can't figure out which atom the h264 NALU stream is stored in
[06:56] <Zeranoe> I'm trying to optimize x264 encoding for file size and quality. So far I have -crf 25 -preset veryslow -tune film, any suggestions?
[07:16] <bparker> void av_register_all() { static int initialized; if(initialzed) return; initialized = 1; ... }
[07:16] <bparker> uhh isn't that a bug since initialized is ... uninitialized?
[07:35] <Dark-knight> how do i convert .3gp to .mp4?
[07:35] <alteregoa> hi
[07:35] <alteregoa> i always get some spaghetti code when i try to compile ffmpeg with actual x264
[07:35] <alteregoa> bavcodec/libx264.c:616: Nicht definierter Verweis auf `x264_encoder_open_142
[07:38] <alteregoa> http://pastebin.com/8rGEnM1q
[07:42] <Zeranoe> Dark-knight: Pretty straight forward, x264, aac should be your encoders
[07:43] <Dark-knight> alight
[07:43] <Dark-knight> alright*
[08:06] <Dark-knight> the video already has mpeg4 should i go head and change it to x264?
[08:06] <Dark-knight> im not using it for any programs
[08:06] <Dark-knight> just viewing it
[08:06] <Dark-knight> Zeranoe
[08:14] <Zeranoe> Dark-knight: What is your goal? Why are you converting?
[08:14] <Dark-knight> just for my viewing pleasure
[08:15] <Zeranoe> why go from 3gp to mp4?
[08:15] <Dark-knight> because .3gp launches a different program and i can't view it on my tv
[08:16] <Zeranoe> can you ffprobe the 3gp file to find what streams your working with? you might be able to just copy them and remux into mp4. just run ffprobe -i input.3gp
[08:20] <Dark-knight> amr_nb is the audio stream
[08:20] <Dark-knight> video is mpeg4
[08:21] <Dark-knight> what is better for visual quality mpeg4 or x264?
[08:24] <Zeranoe> Well nothing is better than the original stream. Lossless would be to no advantage here. Try remuxing the streams into an avi. -c:v copy -c:a copy out.avi
[08:34] <Dark-knight> so just input.3gp -c copy out.avi
[08:35] <Zeranoe> -c:v copy -c:a copy
[08:40] <Dark-knight> -c copy does the same thing
[08:41] <Dark-knight> if there was more then 1 video or audio stream then i would do -c copy -map 0
[08:41] <llogan> Zeranoe: typical suggestion is to use the highest crf value that still looks good for you and to use the slowest preset you have patience for. some filtering may be useful depending on your content
[08:48] <Dark-knight> what generally has better sound quality, ac3 or aac?
[08:48] <Zeranoe> aac
[08:48] <llogan> you probably couldn't tell the difference with a decent encoder using a decent bitrate
[08:48] <llogan> and generally they are used for different things
[08:49] <Dark-knight> ok i copied the video codec and changed the audio to aac and it made the video 1 second longer
[08:49] <Dark-knight> why did i do wrong and how do i fix it?
[08:49] <Zeranoe> AAC for low bitrate and overall better compression for data
[08:49] <llogan> Dark-knight: according to what player?
[08:50] <Dark-knight> mediainfo
[08:50] <llogan> what does ffmpeg say?
[08:50] <Dark-knight> ill do it again
[08:50] <llogan> no, just do "ffmpeg -i yourfile.foo"
[08:50] <llogan> and then look at the duration
[08:50] <alteregoa> opus is great
[08:51] <Zeranoe> Good point, alteregoa
[08:51] <alteregoa> but unsupported at all by hw devices
[08:51] <Dark-knight> what audio encoder should i use to make it aac?
[08:52] <Zeranoe> Only a matter of time
[08:52] <Zeranoe> fdk-aac, if possiblwe
[08:52] <llogan> https://trac.ffmpeg.org/wiki/AACEncodingGuide
[08:52] <Zeranoe> See: http://trac.ffmpeg.org/wiki/AACEncodingGuide
[08:52] <Zeranoe> hm
[08:52] <Zeranoe> your too fast
[08:52] <llogan> on;y because i was too lazy to type "See:"
[08:52] <Zeranoe> lol
[08:53] <Dark-knight> which aac encoder is the best?
[08:53] <Zeranoe> fdk
[08:53] <Dark-knight> ok
[08:53] <Zeranoe> its not gpl though
[08:53] <Dark-knight> for some reason it says libfaac is not supported
[08:54] <llogan> did you configure with --enable-libfaac?
[08:54] <Zeranoe> it isnt included in the public builds, it is the best but that isnt what you were really asking now is it?
[08:54] <Dark-knight> no
[08:54] <Zeranoe> Best for the public is the internal aac
[08:55] <Dark-knight> what are the downside to using a non-GPL encoder?
[08:55] <alteregoa> Dark-knight, the chinese wall
[08:56] <alteregoa> because some western sofware companies can sue corps
[08:56] <llogan> you can't distribute it if it requires --enable-nonfree
[08:56] <Zeranoe> Well technically is is LGPL. And practically GPL other than the selling part...
[08:56] <llogan> libfdk-aac only requires --enable-nonfree if you include --enable-gpl, IIRC
[08:56] <alteregoa> llogan, you can but only in china
[08:57] <llogan> yes, they do whatever they want
[08:57] <alteregoa> thats good
[08:57] <alteregoa> because software patents sucks
[08:57] <Dark-knight> so then which encoder should i use because i want it to be compatible with everything
[08:57] <llogan> ...such as violating the FFmpeg license
[08:57] <Zeranoe> internal aac
[08:58] <Dark-knight> ok
[08:58] <Zeranoe> and there is nothing that is compatible with "everything"
[08:58] <Dark-knight> so just -c:a aac
[08:58] <llogan> any of them will create a compatible output
[08:58] <Zeranoe> read that AAC page
[08:58] <Dark-knight> i am
[08:59] <alteregoa> instead of using 10bit h264 for 4k resolution they use now some "new" h265 a completly different thing - just to hold the license fees
[08:59] <Zeranoe> "Native FFmpeg AAC encoder"
[08:59] <Zeranoe> There is more to 265 than that
[09:04] <Zeranoe> Debating if I want to downmix a 5.1 to 2 channel....
[09:05] <Dark-knight> ok when i convert it, it just makes a 0 kb file
[09:06] <Dark-knight> it says aac is an experimental codec that is disabled by default
[09:06] <Dark-knight> wtf
[09:07] <Zeranoe> Read the page...
[09:07] Action: andrew_46 read: -strict experimental ....
[09:08] <llogan> hi andrew_46
[09:08] <andrew_46> llogan: hi :)
[09:11] <andrew_46> Some great stuff on that wiki
[09:11] <Dark-knight> now it says incorrect bitrate when trying to use aac
[09:13] <Zeranoe> Does FFmpeg support downmixing from 5.1 to 2 well? I know there are some odd channel balance settings that lots of programs mess up
[09:13] <Dark-knight> no idea
[09:13] <llogan> one user recently reported that LFE was being omitted, but no samples or console output was provided
[09:13] <Zeranoe> Dark-knight: What command did you use?
[09:14] <Dark-knight> ffmpeg -i Scream_Dancing.3gp -c:v copy -strict -2 -c:a aac Scream1.mp4
[09:15] <Zeranoe> ffmpeg -i Scream_Dancing.3gp -c:v copy -strict -2 -c:a aac -b:a 128k Scream1.mp4 (assuming your working with 2 channel, you want 64k per channel)
[09:15] <Dark-knight> ok ya i saw that bit of the page
[09:16] <Dark-knight> but didn't think i had to do it with the native aac encoder
[09:16] <Zeranoe> llogan: Was that fixed?
[09:16] <llogan> i don't know if it is a bug or not, and I haven't attempted to duplicate the issue.
[09:16] <andrew_46> Dark-knight: what is the ausio in the 3gp file?
[09:16] <andrew_46> audio
[09:16] <Dark-knight> amr_nb is the audio stream
[09:19] <llogan> Zeranoe: looks like he just answered his own question regarding LFE http://superuser.com/questions/723731/downmix-drops-low-frequency-channel
[09:19] <Dark-knight> the console gives an this error
[09:19] <Dark-knight> [aac @ 000000000410ebc0] Too many bits per frame requested
[09:19] <Dark-knight> Error while opening encoder for output stream #0:1 - maybe incorrect parameters
[09:19] <Dark-knight> such as bit_rate, rate, width or height
[09:20] <Zeranoe> Woh, how is that a good idea
[09:20] <Dark-knight> ffs I type shit, then delete it and it looks my grammar sucks. I swear my grammar doesn't suck.
[09:21] <Zeranoe> relevant: http://trac.ffmpeg.org/wiki/AudioChannelManipulation
[09:22] <Zeranoe> i dont see 5.1>stereo though
[09:22] <llogan> you can add it if you like. that would be a good addition
[09:24] <Dark-knight> which once should i use for windows?
[09:24] <Dark-knight> http://trac.ffmpeg.org/wiki/CompilationGuide
[09:24] <llogan> just get a windows build from a guy names Zeranoe
[09:24] <llogan> *named
[09:24] <Dark-knight> i have his build already
[09:24] <Dark-knight> it doesn't include the encoders i need
[09:25] <Zeranoe> Dark-knight: You don't need fdk...
[09:25] <Dark-knight> ok
[09:25] <Dark-knight> then why won't it let me use native aac
[09:25] <Dark-knight> ?
[09:25] <Zeranoe> paste your output to pastebin, the full output that has the error
[09:26] <Zeranoe> llogan: There it is: http://www.ffmpeg.org/ffmpeg-filters.html#Mixing-examples
[09:26] <Zeranoe> Why -ac 2 doesn't assume that seems beyond me, but there probably was a rason
[09:26] <Zeranoe> reason*
[09:27] <Dark-knight> http://pastebin.com/gChgsK9N
[09:27] <Dark-knight> lol oops
[09:27] <Dark-knight> wait...
[09:27] <Dark-knight> nvm
[09:27] <Dark-knight> that is the output with the errpor
[09:27] <Dark-knight> error
[09:28] <Zeranoe> You didn't put -b:a 128k
[09:28] <Dark-knight> it gives that same problem
[09:29] <Zeranoe> then -ac 1 because it's mono
[09:29] <Dark-knight> http://pastebin.com/jjLjBiAF
[09:30] <Zeranoe> sorry, -b:a 64k
[09:30] <Zeranoe> that probably wont resolve it...
[09:30] <Dark-knight> nope it didn't
[09:30] <Dark-knight> same error
[09:31] <Dark-knight> same 0 KB file
[09:31] <llogan> lower your bitrate or increase your -ar
[09:31] <Dark-knight> ex?
[09:31] <llogan> -ar 44100
[09:31] <llogan> -b:a 32k
[09:32] <Zeranoe> Dark-knight: Try -b:a 32k
[09:32] <Zeranoe> danget
[09:32] <Dark-knight> just did
[09:32] <llogan> this encoder give this message on occassion
[09:33] <Dark-knight> it worked
[09:33] <Dark-knight> 32k worked
[09:33] <Dark-knight> why?
[09:33] <Zeranoe> Dark-knight: BTW, googling that error gave the solution in the first hit
[09:33] <Dark-knight> thank you for googling for me
[09:38] <Dark-knight> is -strict experimental the same as -strict -2
[09:40] <alteregoa> stil got some spastic errors with compiling it
[09:40] <alteregoa> x_264 encoderopen
[09:40] <llogan> Dark-knight: yes
[09:41] <Dark-knight> thx
[09:47] <Zeranoe> How is -map used for two inputs? I want to take just the video from the first input, the audio from the 2nd input, and mux them into one file
[09:48] <llogan> Zeranoe: -map 0:v -map 1:a
[09:49] <Zeranoe> llogan: Are those arguments position independent for the overall command?
[09:49] <llogan> it will take the video from the first input and the audio from the second input
[09:50] <llogan> i mean it will map the video input(s) from the first input and the audio input(s) from the second input
[09:50] <llogan> if you want the second video stream from the first input: -map 0:v:1 (remember that "0" is "first" in FFmpegese for map).
[09:51] <llogan> or you can simply use -map 0:0 for first input, first stream, but it has the disadvantage of no stream type selection
[09:53] <Zeranoe> It seems to be working, I was just wondering if they needed to be placed before the 2nd input, so something like ffmpeg -i first -map 0:v -i second -map 1:a, but I don't think so
[09:53] <llogan> ffmpeg -i input0 -i input1 -map 0:v -map 1:a output
[09:54] <llogan> since -map is an output option
[09:55] <Zeranoe> thanks,just double checking
[10:52] <amigojapan> Hi, I am trying to concatenate (join) many videos I made into one video, I tried the following ffmpeg command, but the result was a video with no audio, any ideas?
[10:52] <amigojapan> d:\ffmpeg\bin\ffmpeg.exe -i "concat:video_only.avi|output.avi|o2.avi" -c copy output_video.avi
[10:52] <amigojapan> This is the command output on the CLI http://pastebin.com/G5JEgAT6
[11:07] <alteregoa> i installed anything but ffmpeg still doesnt want to compile it
[11:09] <Dark-knight> what better 8000 Hz or 44.1 Hz?
[11:11] <alteregoa> 44.1
[11:11] <Dark-knight> thx
[11:11] <alteregoa> usual is 48KHz for video files
[11:11] <alteregoa> and 44.1 for audio
[11:12] <Dark-knight> ahh thats why the sound was so choppy
[11:12] <Dark-knight> it was at 8000 Hz
[11:12] <Dark-knight> i fixed it
[11:12] <alteregoa> 8KHZ hsa only 4KHz headroom, it sounds like telephone
[11:16] <alteregoa> not its time for a crappucino
[11:16] <Dark-knight> which is better
[11:16] <Dark-knight> English, 96.0 Kbps, 8 000 Hz, 16 bits, AC-3
[11:16] <Dark-knight> or
[11:16] <Dark-knight> English, 32.1 Kbps, 44.1 Hz, 2 channels, AAC (LC)
[11:16] <alteregoa> the 2nd
[11:16] <alteregoa> but...
[11:17] <Dark-knight> but the first has a higher kpbs
[11:17] <alteregoa> but only 8khz sample rate
[11:17] <Dark-knight> both sound the same
[11:18] <alteregoa> use the second anyway
[11:18] <alteregoa> its a bug maybe idk
[11:19] <Dark-knight> its no bug
[11:19] <Dark-knight> the first was made 5 hours ago
[11:19] <Dark-knight> the second was made 7 mins ago
[11:20] <alteregoa> ok
[11:20] <Dark-knight> so should i still use the second one?
[11:21] <alteregoa> if this 8000khz is true yes
[11:23] <amigojapan> is there some front end GUI for ffmpeg, which can help me understand hwo to construct the command I need?
[11:24] <amigojapan> I need to join several video files
[12:20] <alteregoa> darmok and jalad at tanagra
[12:21] <amigojapan> alteregoa: what movie was that? I forgot
[12:21] <amigojapan> star trek?
[12:21] <amigojapan> alteregoa: oh it is the episode with picard and the aliens
[12:24] <alteregoa> that was star trek tng
[12:24] <alteregoa> yeah with the tamarian dude, he couldn't understand any word
[12:25] <alteregoa> so the tamarians captured picard and a tamarian captain
[12:25] <alteregoa> i finaly get it to compile the holy stuff i hope
[12:25] <alteregoa> had to add --extra-libs=-ldl
[12:26] <alteregoa> maybe it means local dynamic library
[12:40] <amigojapan> alteregoa: yeah, I liked that episode a lot, eventhough I coudl no really understand everything.... I guess the universal translator was working for words, but not for that kind of metaphoric way of speaking, that confused me a lot when I saw it
[13:27] <amigojapan> OK, both ways of concatenating videos worked now, the problem was that one of the input videos had not audio track it seems.
[13:30] <Jack64> hey guys, quick question. I want to convert a regular MKV to a web-optimized MP4, keeping video intact (x264) but converting AC3 audio to libfdk_aac. Can anyone give me a good one liner for this? Thanks
[13:31] <Jack64> ahem, by regular, read 720p / 1080p files
[13:31] <JEEB> ffmpeg -i welp.mkv -c:v copy -c:a libfdk_aac -b:a XXXk -movflags +faststart out.mp4
[13:31] <JEEB> something like this :P
[13:32] <JEEB> the movflags option is the one most probably incorrect, since I almost never actually use it
[13:36] <DeadSix27> JEEB: i think it doesnt work anymore or i use it wrong, i tried -movflags with "+" and without.. we both discussed that once already
[13:36] <DeadSix27> but i usually just run qtfaststart manually after ffmpeg
[13:37] <DeadSix27> according to wiki: -movflags faststart Run a second pass moving the index (moov atom) to the beginning of the file. This operation can take a while, and will not work in various situations such as fragmented output, thus it is not enabled by default.
[13:38] <DeadSix27> they didnt use + there.
[13:38] <DeadSix27> i think the "+" is just to combine multiple flags like in the example beyond it shows: -"movflags isml+frag_keyframe"
[13:39] <JEEB> probably, yeah
[13:39] <JEEB> I really don't use it :P
[13:39] <Jack64> hmm, the process I'm using now is really crappy, I use mkvextract to get the audio track, re-encode that, then remux them back together with MP4Box... there has to be an ffmpeg one liner for that
[13:40] <JEEB> Jack64, did you conveniently just ignore me?
[13:40] <JEEB> thank you very much
[13:40] <DeadSix27> haha
[13:40] <DeadSix27> well afk
[13:40] <Jack64> no I didn't eheh
[13:41] <Jack64> I gotta check that -movflags option then
[13:41] <Jack64> I had tried something like you said but without the movflags
[13:41] <Jack64> no playback in the browser
[13:42] <Jack64> it was actually EXACTLY the same as yours but without the movflags
[13:42] <Jack64> gonna check that out then, thanks
[13:42] <JEEB> that should in theory do the moving of the index to the beginning of the file
[13:42] <JEEB> automagically
[13:43] <Jack64> ok, gonna test it now
[13:43] <JEEB> having it on the back can be a problem for some things, in some cases it tries to cache the whole file, in other cases it tries to read it from the end of the file, and in some it just fails
[13:47] <Jack64> so far so good...
[13:47] <Jack64> no errors..
[13:53] <Jack64> aaaaaand it woooorks :D Thank you so much JEEB
[13:58] <Dark-knight> http://memedepot.com/uploads/0/453_club.jpg
[14:03] <alteregoa> Dark-knight, i prefer horse meat
[14:03] <Dark-knight> lol
[17:23] <Zeranoe> I ran a ivtc to take the source from interlaced 29.58 to 23.98. The audio wasn't stretched for this so they are out of sync when put together. Any way I could correct that?
[17:41] <JEEBsv> Zeranoe: uhh, why would audio have anything to do to it if you just IVTC o_O
[17:41] <JEEBsv> if you did a simple IVTC then the audio should still be 100% in synch
[17:41] <JEEBsv> if it isn't, you either did something in addition to that, or you failed at something
[17:44] <Zeranoe> JEEBsv: Doesnt the duration change after ivtc?
[17:44] <JEEBsv> no
[17:44] <JEEBsv> you remove pictures and change the timestamps
[17:50] <julienb> Hello
[17:51] <julienb> i contact you because i have a problem of global headers:0kB muxing overhead 0.79357 when i try to cut a video without rencoding
[17:53] <julienb> i put the pastbin here http://pastebin.com/MAV0XeVW
[18:11] <relaxed> julienb: what's the problem? your ffmpeg version is pretty old, by the way.
[18:11] <relaxed> also, that's not an error message
[18:23] <julienb> relaxed, i installed the last stable version for gentoo
[18:23] <julienb> there is not a particular problem video is good but there is this message at the end
[18:23] <julienb> video:57294kB audio:6847kB subtitle:0 global headers:0kB muxing overhead 0.759017%
[19:07] <relaxed> julienb: it's just an informative message
[19:09] <relaxed> Gentoo's notion of "stable" is wrong. The ffmpeg devs recommend using a recent build from git or at least the latest release, which is 2.1.4.
[19:35] <julienb> ok thanks relaxed
[22:08] <kg7fu-2> Hello
[22:08] <kg7fu-2> can someone help with %d spec for image sequence please?
[22:11] <sacarasc> Can you be more specific?
[22:12] <kg7fu-2> sure
[22:13] <kg7fu-2> ffmpeg -f image2 -i "r%03d.jpg" -r 12 foo.av
[22:13] <kg7fu-2> 60+ images in directory. Have tried .png & .jpg's
[22:13] <kg7fu-2> r%03d.jpg: No such file or directory
[22:13] <kg7fu-2> and placing the % in various spots.
[22:14] <kg7fu-2> Problem is cross-platform as I have it wit
[22:14] <sacarasc> What is the first image called?
[22:14] <kg7fu-2> ubuntu 13.10 ppc (3.11 kernel) and Mint 16 also.
[22:14] <kg7fu-2> r041.jpg to r104.jpg
[22:15] <sacarasc> That won't work then, %d stuff only works for 000 upwards without missing any.
[22:15] <kg7fu-2> so renumber then?
[22:15] <sacarasc> https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images Look for the glob pattern part.
[22:16] <kg7fu-2> will try
[22:20] <kg7fu-2> awesome! tyvm I appreciate the help :)
[22:21] <kg7fu-2> now I can shut down the powermac it's like a 1000 watt bulb ;)
[22:21] <kg7fu-2> have a very nice day
[23:00] <llogan> sacarasc: there is the -start_number option for the image2 demuxer
[23:01] <sacarasc> Oooh, I didn't know that.
[23:01] Action: sacarasc tries to remember for next time.
[23:01] <llogan> how could you not remember the hundreds of individual options?
[23:02] <sacarasc> Sorry. :(
[23:02] <sacarasc> I will try better next time.
[23:02] <sacarasc> Please don't beat me again!
[23:28] <rcombs> when using -ss on an input file, can I have an output file use the original file's timestamps?
[23:42] <kingsob__> I have an audio stream, and I am trying to determine if it has a voice in it, is this something ffmpeg can do?
[23:51] <grepwood> Hi everyone
[23:52] <grepwood> I'm writing a game engine that will be using ffmpeg
[23:54] <grepwood> At this stage I'm just using 1 format from libavcodec
[23:55] <grepwood> Before I decide to actually use ffmpeg in its entire form, is it okay if I copy the bit that does this 1 format? As in, copy the source from ffmpeg's source to the engine's source
[00:00] --- Tue Mar 4 2014
1
0
[00:16] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:2adf422ce24b: avformat/aviobuf: factorize buffer_size out
[00:16] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:9600486d10a9: avformat/aviobuf: optimize sequential backward seeking
[00:26] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:171dd67520b6: avformat/mp3dec: optimize mp3_seek() for dir < 0
[01:07] <cone-598> ffmpeg.git 03James Almer 07master:68c3ed936a76: x86/synth_filter: add synth_filter_avx
[01:54] <cone-598> ffmpeg.git 03Keiji Costantini 07master:951444033787: ituh263: reject b-frame with pp_time = 0
[01:54] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:73f930ee71e0: Merge remote-tracking branch 'qatar/master'
[04:46] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:52a213865670: avformat/avidec: Use a buffer with sufficient padding in read_gab2_sub()
[05:14] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:f5d1d1e4667b: avformat/oggparsevorbis: check packet size before reading new_len from it
[12:28] <cone-858> ffmpeg.git 03James Almer 07master:884e085d1ea3: x86/synth_filter: Revert the switch to float ops with SSE2
[12:35] <michaelni> btw, i tend to be sometimes rather quick with applying asm optimization patches, i hope this doesnt prevent anyone from making suggestions on how to improve them further, it definitly isnt intended to. So if someone, Skyler_ ubitux, pengvado, BBB or others still have suggestions, please dont hesitate to post them after the patch got in. Also if preferred and we have a vounteer iam happy to leave asm patch pushing to others,
[12:35] <michaelni> just dont want patches to get lost/forgotten
[12:36] <ubitux> fine with me, i'm reading cvslog anyway
[13:16] <cone-858> ffmpeg.git 03Michael Niedermayer 07master:0bf882864ecd: Revert "mpegts: do not set pts for missing dts in video streams"
[14:30] <Compn> anyone want to see if these rtmp streams have closed captions inside the flv or if they use a seperate closed caption file ?
[14:31] <Compn> http://media.mtvnservices.com/embed/mgid:uma:videolist:vh1.com:1705091/cp~i…
[15:32] <cone-858> ffmpeg.git 03Michael Niedermayer 07master:6b53c1aa822e: avcodec/g2meet: fix error returns
[15:32] <cone-858> ffmpeg.git 03Michael Niedermayer 07master:8b8ae298afb3: avcodec/g2meet: also reset local got_header when reseting the context got_header
[16:48] <kierank> nevcairiel: is there any way of getting mpc-hc to take in an rtp source?
[16:49] <JEEB> just register LAV Splitter as the source filter for the protocol?
[16:50] <JEEB> I mean, the LAV Splitter source filter
[16:50] <nevcairiel> its internal version should handle RTP
[16:50] <JEEB> yes, but don't you still need to register the source filter thingamajig?
[16:50] <JEEB> or will it override
[16:50] <nevcairiel> there is an internal mapping for rtp, i think
[16:50] <JEEB> if it will override then you don't have to do that, but just have it enabled in MPC-HC's "internal filters" part
[16:51] <JEEB> k
[17:02] <kierank> but how do I specify rtp input
[17:02] <kierank> I have packets coming in on port 1234
[17:02] <kierank> in vlc you use rtp://@:1234
[17:03] <nevcairiel> however you would tell libavformat to do that, if you even can :)
[17:03] <kierank> you can iirc
[17:06] <nevcairiel> any rtp:// url is just given to avformat to handle, so if you figure out its syntax, then it s hould work
[17:06] <nevcairiel> i've only ever connected to a remote, not listened for incoming traffic
[17:08] <nevcairiel> not that streaming in general works really good through mpc-hc, but it should spit out some sort of result
[17:09] <kierank> basically I want to use gpu deinterlacing
[17:09] <JEEB> too see the stuff that gets output into stderr, just stick a debugger to the process :)
[17:09] <nevcairiel> mpc-hc can read from stdin if that helps you :P
[17:09] <JEEB> could help possible debugging of why stuff doesn't work a bit
[18:20] <kierank> i am not even sure how stderr works in windows
[18:21] <JEEB> kierank, in GUI apps it ends up in debug output
[18:21] <kierank> ah
[18:21] <JEEB> so sticking a debugger kind of thing or a debug log reader to the process should output that
[18:22] <nevcairiel> you can cheat and get it if you use something like more
[18:22] <nevcairiel> which probably does something similar to the debugger, just attach something to the stdout/stderr, which otherwise go to NUL
[18:27] <Waraqa> Hi, I found a bug related to an audio filter. Do I need to upload the file to be able to report the bug?
[20:01] <llogan> Waraqa: if the sample is required to reproduce the bug then you need to upload it
[20:01] <Waraqa> llogan: It's 4 Gb
[20:01] <llogan> that's big.
[20:02] <llogan> can you still reproduce the issue if you make a smaller sample with dd?
[20:02] <Waraqa> I will check
[20:02] <llogan> also you should test with ffmpeg from git master if you can. if you can't compile then try a recent release via links on the FFmpeg Download page.
[20:03] <llogan> ...if you haven't already
[20:04] <Waraqa> It's still crashing with latest ffmpeg build
[20:17] <llogan> Waraqa: did it also crash in the same way with the small sample from dd?
[20:18] <Waraqa> llogan: It's on the other laptop, I have not checked yet
[20:25] <Waraqa> llogan: It's not crashing but there is an error
[20:25] <Waraqa> Assertion zeros != nsamples failed at libavfilter/af_atempo.c:540
[20:27] <Waraqa> I get also the same error if I take a sample using -vcodec copy
[20:27] <llogan> if you think it's a bug then go ahead and report it. might want to perform a search first to see if an existing, related report exists. then include the full ffmpeg command and the complete ffmpeg console otuput.
[20:27] <Waraqa> No need to upload any input?
[20:27] <llogan> ...and include the sample if it is required to duplicate the issue
[20:28] <llogan> unless the issue can also be encountered with ffmpeg generated audio or a file from the FATE test suite.
[20:28] <wm4> ubitux: you here? I'm still not sure what exactly I should do about the microdvd framerate issue
[20:28] <wm4> ubitux: I think the API my last patch added was disliked
[20:28] <llogan> Waraqa: "ffmpeg -f lavfi -i sine=d=5 <options> output" for example
[20:29] <ubitux> wm4: weren't you going to add that private option and read it to check if it changed?
[20:29] <wm4> ubitux: a "subfps" option was discussed
[20:29] <wm4> but aqtitle also has this option
[20:29] <ubitux> what's the problem?
[20:29] <Waraqa> llogan: Is this example enough to generate audio?
[20:30] <llogan> Waraqa: probably. i have to go now, but go ahead and report the bug if you can. at worst it will be closed as a duplicate/invalid or you may be asked for more information.
[20:30] <wm4> so what exactly should it do when the user sets it?
[20:30] <ubitux> override, juste like in aqtitle
[20:30] <wm4> if the subtitle has a framerate, and the subfps option is set, should the option be ignored and overwritten?
[20:30] <ubitux> the difference being that if it's set in the file it will set the option as well
[20:30] <ubitux> unless specified by the user
[20:31] <ubitux> well, whatever behaviour you would prefer
[20:31] <Waraqa> llogan: thanks
[20:32] <wm4> ubitux: does aqtitle usually use 25 fps, or does it use video framerate?
[20:32] <ubitux> wm4: actually, following the logic that the user will not set the fps unless it's wrongly guessed (default value, or specified in the file), if the option is set, the demuxer should not update it from the value in the file
[20:32] <ubitux> wm4: i don't remember honestly
[20:33] <ubitux> wm4: and didn't have much real sample with a video
[20:33] <ubitux> currently aqtitle assume 25 fps, and you can override that value
[20:33] <wm4> well we could just say "fuck aqtitle"
[20:33] <ubitux> sure
[20:33] <ubitux> as long as you don't break it
[20:34] <ubitux> the difference with aqtitle option is that you will set a 0/0 frame rate (or 0/1) by default
[20:34] <ubitux> it will be overwritten by either the user, or the file content
[20:35] <wm4> so the file contents should just override subfps?
[20:35] <ubitux> yes, so you can read it back
[20:35] <ubitux> note that the default value (29something) should not be the default value of the option - and should never set -, so you can make a distinction between the two
[20:36] <ubitux> and i'd say a user setting the option should override the value in the file
[20:36] <wm4> so that means if I want to handle other, timestamp based subtitle formats, I first have to check whether subfps exists
[20:36] <ubitux> (so users can adjust/fix themselves if it's not ok)
[20:36] <ubitux> wm4: i'm still waiting for another example
[20:36] <ubitux> so far only aqtitle looks like a candidate
[20:36] <wm4> generally: if subfps exists, but is not set (set to 0/0?), then assume the subtitle uses video framerate
[20:36] <ubitux> and we pick a same option
[20:37] <ubitux> probably yes
[20:37] <wm4> currently, only aqtitle has a subfps option
[20:37] <ubitux> that's the only sub frame based afaict
[20:37] <wm4> anyway, I bet if I write a patch, that will again trigger lots of discussion
[20:37] Action: wm4 grumbles
[20:37] <ubitux> oh well, now that i think about it
[20:37] <ubitux> jacosub might have a frame-based info
[20:38] <ubitux> wm4: if you're only playing with the private option of microdvd and aqtitle, that should be pretty fine :)
[21:34] <wm4> ubitux: do I have to document the option somewhere outside of micodvddev.c?
[21:34] <cone-897> ffmpeg.git 03Michael Niedermayer 07master:dfefc9097e9b: avcodec/hevcpred_template: also initialize top[-1] for constrained intra prediction
[21:34] <ubitux> you can update doc/demuxers.texi if you feel like it but i don't think that's worth the effort
[21:35] <wm4> aqtitle isn't documented either, so I'll skip that one
[21:57] <cone-897> ffmpeg.git 03Patrice Clement 07master:5c9c305d1473: ass: K&R formatting cosmetics
[21:57] <cone-897> ffmpeg.git 03Michael Niedermayer 07master:411f8f4c9a05: Merge commit '5c9c305d14730faf2af206e5d519df4948de0ed2'
[22:41] <ubitux> wm4: so the input frame rate takes over the one the user requested?
[22:41] <wm4> ubitux: *shrug*
[22:41] <wm4> it does, should it not? I have no clue and actually don't care
[22:42] <wm4> I tried to make it somewhat symmetric with aqtitle, but maybe that failed
[22:43] <ubitux> you override microdvd->frame_rate before checking if it was set by the user
[22:43] <wm4> maybe the avoption should just export a single flag (the information I really need)
[22:43] <ubitux> i was assuming the user would want to customize it whatever the input says (since it's probably wrong)
[22:43] <wm4> ubitux: the idea was that writing the option sets the fallback
[22:43] <wm4> not that it always forces the framerate
[22:44] <wm4> always forcing it would be useless too, because you can just play with the timebase yourself
[22:44] <ubitux> mmh, ok..
[22:45] <ubitux> in that case, the description should says "set fallback movie frame rate"
[22:45] <ubitux> i guess
[22:45] <ubitux> otherwise i guess that patchset is fine
[22:45] <ubitux> if that achieves what you need
[22:46] <wm4> setting the subfps option to the video framerate in fact achieves the logic you need to get proper timestamps
[22:46] <wm4> but still allows an api user to do this manually
[23:38] <Snowrider_> Can anyone give me any insight on how to access rgb values for a frame of a picture?
[23:39] <Snowrider_> an AvFrame*
[23:46] <BtbN> Snowrider_, most frames from normal video files don't have any rgb data.
[00:00] --- Mon Mar 3 2014
1
0
[00:00] <iive> yes...
[00:00] <iive> well, SD data might be random of just overwritten, then nothing interesting would happen.
[00:01] <iive> but if the file compresses to 1-2MB, then you can't expect to save more than a few seconds...
[00:02] <orangey> iive: it seems to have cut 300mb of 1.1gb
[01:15] <geqsaw> how can I change the resolution and add padding in one command?
[01:28] <cbsrobot> geqsaw: scale and pad
[01:29] <cbsrobot> or crop and pad
[01:29] <cbsrobot> depends on what you want to do
[01:30] <geqsaw> ffmpeg -i in.mkv -map 0 -s 1920x400 -vf pad=1920:540:0:70 -aspect 1920:540 -c:a copy -sn out.mkv
[01:35] <geqsaw> output:
[01:35] <geqsaw> [Parsed_pad_0 @ 0x83f700] Input area 0:70:1920:870 not within the padded area 0:0:1920:540 or zero-sized
[01:35] <geqsaw> [graph 0 input from stream 0:0 @ 0x841f20] Failed to configure input pad on Parsed_pad_0
[01:38] <Dark-knight> what is better 4 ref frames or 16 ref frames?
[01:42] <Dark-knight> ok thats nice
[01:42] <Dark-knight> what is better 4 ref frames or 16 ref frames?
[01:43] <geqsaw> next time...
[01:45] <cbsrobot> geqsaw: ffmpeg -i in.mkv -vf scale=1920:400,pad=1920:540:0:70 -c:a copy -sn out.mkv
[01:45] <cbsrobot> ^wild guessing
[01:46] <cbsrobot> Dark-knight: what for ?
[01:46] <Dark-knight> video stream
[01:47] <Dark-knight> i got 2 files and one is 4 ref frames and one is 16 ref frames
[01:47] <cbsrobot> well I guess it depends on the content and your aim
[01:48] <cbsrobot> quality/bandwidth wise
[01:48] <safani> hello all
[01:49] <safani> I am trying to get the sample data of the waveform from an mp3 with ffmpeg. Could someone give me some direction or any clues as to how to do this.
[01:50] <safani> I would like to create a visualization of the mp3 in html5 canvas. But I need the waveform data for each sample to do this.
[01:51] <geqsaw> cbsrobot: good guessing, it worked...
[01:57] <Dark-knight> cbsrobot: the video with 4 ref frames is 1080p and the video with 16 ref frames is 720p
[01:57] <Dark-knight> i was wondering if 4 was better then 16?
[02:06] <safani> Is there a way to get the sample chunks in number form with ffmpeg in order to map a waveform
[02:06] <safani> ?
[02:15] <blight> hmm
[02:15] <blight> how do i flush/discard the buffer of libswresample? when seeking
[02:33] <Dark-knight> this channel isn't very helpful tonight
[02:33] <Dark-knight> ill bbl
[02:41] <klaxa> this user wasn't very patient tonight
[03:04] <RenatoCRON> hello people, i'm trying to segment streaming JPEG input to segmented videos, how can I do it?
[03:05] <RenatoCRON> i'm trying with this:
[03:05] <RenatoCRON> http://pastebin.com/uWjZ7MGC
[03:16] <JodaZ> [Parsed_ashowinfo_1 @ 0x2912de0] n:0 pts:0 pts_time:0 pos:37130 fmt:fltp channels:2 chlayout:stereo rate:22050 nb_samples:1024 checksum:00000000 plane_checksums: [ 00000000 00000000 ]
[03:20] <JodaZ> nvm
[03:36] <JodaZ> *_* ok, i have 2 problems
[03:37] <sacarasc> Jay-Z has 99. You're lucky.
[03:38] <JodaZ> copyts+copytb do not copy in fact copy over timestamps for audio exactly, and for some reason i have a zero audio chunk inserted at the start of my output that was not there in the source
[04:35] <sinclair|work> oh wow, there is a channel for this
[04:36] <sinclair|work> i have a question regarding piping with ffmpeg
[04:37] <sinclair|work> i am currently writing a wrapper over ffmpeg, and using pipes to stream data in (stdin) and getting data back on stdout. Im looking to generate thumbnails with ffmpeg from a video source, however, im not sure how i would pipe multiple pngs out over a single stdout pipe
[04:38] <sinclair|work> can anyone lend some assistance ?
[05:24] <sinclair|work> anyone?
[05:25] <klaxa> aren't there already programs better suited for that? :x
[05:25] <klaxa> also, how many thumbnails do you want to make? if it is just one that shouldn't be too hard
[05:28] <sinclair|work> klaxa: well, im past that
[05:29] <sinclair|work> klaxa: now im looking to stream images into video
[05:29] <sinclair|work> klaxa: the important thing to note here is im trying to pipe these images into ffmpeg from stdin / stdout
[05:29] <sinclair|work> which, according to everything i have read, seems perfectly possible
[05:29] <klaxa> yeah it doesn't seem impossible
[05:30] <sinclair|work> klaxa: the issue im having right now is all documentation points to encoding from disk and outputting to disk
[05:30] <sinclair|work> its ... annoying
[05:30] <sinclair|work> i mean, here, you have a perfectly capable technology to handle streaming, and no one seems to be doing that
[05:31] <sinclair|work> klaxa: its a big issue with ffmpeg
[05:32] <sinclair|work> klaxa: no one seems to be using it to its full extent, rather, people are just using it for some scrappy back end task
[05:32] <klaxa> well it's not a general usecase
[05:33] <sinclair|work> klaxa: its a perfectly reasonable usecase
[05:33] <sinclair|work> i mean, anyone even attempting to report back progress on a encoding is lost given the lack of help out there to actually do that
[05:33] <sinclair|work> klaxa: as it turns out, ffmpeg reports back on stnerr
[05:34] <klaxa> i never said it's an unreasonable usecase
[05:34] <klaxa> i said it's not a general usecase
[05:34] <sinclair|work> klaxa: youll have to forgive my frustration mate
[05:35] <sinclair|work> but i really does feel like im doing something "out of the norm" by actually trying to pipe my own streamed data to ffmpeg for encoding
[05:35] <sinclair|work> when doing that shouldn't be out of the norm at all....it should be the most common means of using ffmpeg
[05:36] <klaxa> the common usecase is you have files
[05:36] <sinclair|work> sure, i can appreciate people get by with running batch jobs in the background, but it need not be the extent to which the tech is used
[05:36] <sinclair|work> klaxa: what if i have a web camera feed?
[05:36] <klaxa> okay
[05:36] <klaxa> so...
[05:37] <klaxa> it actually doesn't matter because in the end everything is a file descriptor
[05:37] <klaxa> the thing with multiple images is
[05:37] <klaxa> they are not concatenated in one stream you read from one filedescriptor
[05:37] <klaxa> but multiple files, each with its own filedescriptor
[05:38] <sinclair|work> klaxa: so, they need delimiting
[05:38] <klaxa> that's the issue you are running into right now
[05:38] <klaxa> no they need independent filedescriptors
[05:38] <klaxa> ffmpeg doesn't handle images like that
[05:38] <klaxa> or it can and i am unaware
[05:38] <sinclair|work> klaxa: internally, its capable of reading images from disk on its own
[05:39] <klaxa> yes
[05:39] <sinclair|work> klaxa: it must be perfectly capible of letting me stream images on its stdin
[05:39] <klaxa> no
[05:41] <sinclair|work> why no?
[05:41] <sinclair|work> klaxa: if i am streaming images in, the most i should need to do is delimit each image, possibly with a fd
[05:41] <klaxa> apparently it is
[05:41] <klaxa> cat *.png | ffmpeg -r 1 -s 1366x768 -c:v png -f image2pipe -i - -c:v libx264 -r 30 -pix_fmt yuv420p -f matroska pipe:1 > shots.mkv
[05:42] <klaxa> that works
[05:42] <klaxa> you were missing the correct format, in this case image2pipe
[05:42] <klaxa> i... don't think you understand how filedescriptors work
[05:42] <klaxa> anyway, you have to add the image2pipe format before your input
[05:42] <sinclair|work> klaxa: one second, let me digest your arguments
[05:42] <klaxa> kk
[05:43] <klaxa> you might also have to set the codec (image format) like i did
[05:43] <sinclair|work> klaxa: in that scenario, you are piping from a cat command
[05:43] <sinclair|work> so, you are telling ffmpeg the file paths basically
[05:43] <klaxa> it doesn't matter what type of command you use to produce the stream
[05:43] <klaxa> no
[05:43] <klaxa> i am concatenating all files into one filestream
[05:44] <sinclair|work> right
[05:44] <sinclair|work> klaxa: so, its that concatenation that i need to do
[05:45] <klaxa> i thought you have a stream of images already?
[05:45] <sinclair|work> klaxa: in this scenario, i have 1 image, that i want to pipe endlessly to ffmpeg
[05:45] <sinclair|work> the format for the image is jpg
[05:46] <klaxa> define endlessly
[05:46] <klaxa> maybe you can use a video filter for that
[05:46] <sinclair|work> i load the jpg once, store its bytes in memory, and then write those bytes to ffmpeg's stdin
[05:46] <sinclair|work> over and over
[05:47] <sinclair|work> klaxa: its a benign example, but its just a test
[05:47] <klaxa> well you can do that i guess
[05:47] <sinclair|work> klaxa: so, how is that different from cat.*?
[05:47] <klaxa> it's not
[05:48] <klaxa> except you are using the same file over and over again which is perfectly fine
[05:48] <sinclair|work> klaxa: so i think i may have got it working
[05:48] <klaxa> nice
[05:50] <sinclair|work> klaxa: well, its streaming something
[05:51] <sinclair|work> klaxa: im down to this...
[05:52] <sinclair|work> -r 1 -c:v mjpeg -f image2pipe -i pipe:0 -c:v libx264 -r 30 -pix_fmt yuv420p -f matroska pipe:1
[05:52] <sinclair|work> klaxa: these arguments feel wrong
[05:52] <klaxa> which ones?
[05:52] <klaxa> what output do you want to have?
[05:57] <sinclair|work> klaxa: mp4
[05:57] <sinclair|work> klaxa: have whittled it to...
[05:57] <sinclair|work> -r 1 -c:v mjpeg -f image2pipe -i pipe:0 -c:v libx264 -pix_fmt yuv420p -g 12 -movflags frag_keyframe+empty_moov -crf: 25 -f mp4 pipe:1
[05:57] <klaxa> looks good
[05:57] <sinclair|work> klaxa: which appears to work,
[05:57] <sinclair|work> ...
[05:58] <klaxa> is forcing 12 images per gop intened?
[05:58] <sinclair|work> klaxa: gop?
[05:58] <klaxa> group of pictures
[05:59] <klaxa> your -g 12
[05:59] <sinclair|work> that is the output isn't it?
[05:59] <klaxa> a group of pictures is a segment in a video that can be independently decoded from all other frames
[05:59] <sinclair|work> oh
[05:59] <sinclair|work> no, that is for mp4 segmenting i think
[05:59] <klaxa> yeah i mean it doesn't really change a lot
[06:00] <sinclair|work> klaxa: i need that (i think) otherwise ffmpeg wants to seek from disk
[06:00] <klaxa> i'm pretty sure you can leave that out, but like i said it's not going to change a lot
[06:00] <klaxa> maybe increase filesize slightly
[06:00] <sinclair|work> klaxa: random question, is this channel like many other quiet channels on freenode?
[06:01] <klaxa> irc is 90% idling
[06:01] <klaxa> so yeah, but as you can see, users can get some support in here
[06:02] <sinclair|work> klaxa: well, i appreciate your help
[06:05] <sinclair|work> klaxa: if you have 5 mins, can test this out if you are interested?
[06:06] <klaxa> sure
[06:11] <sinclair|work> klaxa: just let me get setup here
[06:17] <sinclair|work> klaxa: still there?
[06:17] <klaxa> yes
[06:17] <sinclair|work> can try http://118.90.17.50:9070/webm?w=320&h=200
[06:17] <sinclair|work> stream ok?
[06:18] <sinclair|work> that is the single image
[06:18] <klaxa> yes looks good
[06:19] <sinclair|work> so, all i need to do is generate images on the fly, and i can stream them
[11:00] <relaxed> sinclair|work: you can loop an image with ffmpeg and avoid the piping.
[11:01] <sinclair|work> relaxed: ?
[11:01] <sinclair|work> relaxed: what do you mean, loop a image?
[11:01] <relaxed> are you using one image in your stream? maybe I missed something.
[11:02] <sinclair|work> relaxed: http://118.90.17.50:9070/webm?w=320&h=200
[11:02] <sinclair|work> relaxed: there, i am computing each frame using GDI
[11:03] <sinclair|work> its very rough, but its a start
[11:03] <sinclair|work> relaxed: there is no temporary file
[11:03] <sinclair|work> there are no files at all in fact
[11:03] <sinclair|work> there is just GDI generating random lines, and a circle from left to right
[11:04] <relaxed> oh, I see
[11:04] <sinclair|work> relaxed: the idea is, if i have a image pipline of some description, be it from a desktop screen capture, or a web camera, or some other feed, i can pipe that to ffmpeg and stream it down the wire
[11:05] <sinclair|work> relaxed: so, that was my sunday code, i have to implement something like this for work
[11:48] <dvnl> hello Everyone! I'm stuck configuring an ffmpeg compilation with only the hevc decoder functionality. HEVC decoding from a file works just fine by the default compilation, but it throws me an error 'Invalid Data found when processing input' with the reduced-functionality version. I'm trying the configuration with these options: ./configure --disable-everything --enable-decoder=hevc --enable-parser=hevc --enable-encoder=rawvideo --enabl
[11:48] <dvnl> Can please someone help me out with a working configuration?
[11:58] <relaxed> dvnl: did you add --enable-protocol=file ?
[12:01] <dvnl> relaxed: yes, i added that switch. I also tried adding -f hevc when running ffmpeg.exe, but it says 'Unknown input format: hevc'.
[12:01] <relaxed> --enable-demuxer=rawvideo
[12:01] <dvnl> thank you, i'm trying it now
[12:05] <relaxed> er, did you have --enable-demuxer=hevc ?
[12:05] <relaxed> if not, that's probably it.
[12:10] <dvnl> Now I'm using --enable-demuxer=hevc and --enable-demuxer=rawvideo, but the problem persists :(
[12:11] <relaxed> do you have --enable-gpl?
[12:12] <relaxed> hm,, I'm guessing configure would fail it required that.
[12:12] <dvnl> No, i didn't include that during configuration
[12:12] <relaxed> show me your current ./configure
[12:13] <dvnl> this is my current config: configure --disable-everything --enable-decoder=hevc --enable-parser=hevc --enable-encoder=rawvideo --enable-protocol=file --enable-muxer=hevc --enable-demuxer=rawvideo --toolchain=msvc
[12:14] <ubitux> what command are you trying?
[12:14] <ubitux> what's the format?
[12:16] <dvnl> I'm trying with ffmpeg.exe -i rum_test_x265.bin test.yuv; also tried with .hevc instead of .bin
[12:16] <relaxed> you need --enable-demuxer=hevc
[12:16] <relaxed> .bin ?
[12:18] <dvnl> OK, i try with --enable-demuxer=hevc. Yes, .bin, this is what the HM reference encoder uses. Am I making a mistake trying with that extension? The full compilation of ffmpeg successfully decoded .bins
[12:20] <relaxed> ok, I just haven't seen .bin before.
[12:24] <relaxed> dvnl: you'll probably need all those --enable's for rawvideo too.
[12:25] <dvnl> you're meaning encoder, demuxer, muxer and parser, too? or some more besides these?
[12:27] <relaxed> all but parser
[12:27] <relaxed> encoder, decoder, muxer, and demuxer
[12:28] <dvnl> actually, there is a change in the error message, the decoding started, but it says: 'Unable to find a suitable output format for test.yuv. test.yuv: invalid argument
[12:28] <dvnl> I think that it's missing the decoder then. Thank you! I hope it solves the problem
[12:29] <relaxed> encoder and muxer for sure
[12:39] <dvnl> wow, I had a compilation error when adding these two, but I'm trying
[12:47] <dvnl> Thank you very much, relaxed!! It works now. I'm grateful.
[12:51] <relaxed> dvnl: you're welcome
[13:04] <dvnl> relaxed: I would bother you with one more question: is there a way to find out, which .c source files are used for compilation in the case of a given config? a log file from make or something? It would be great being able of compiling ffmpeg with only the hevc decoding functionality manually, by importing the needed sources to a visual studio solution, as in the future, I will need to edit some of the sources and it would be easier sor
[13:04] <dvnl> *files than the whole huge ffmpeg package.
[13:05] <bparker> do I need to call avcodec_open2 even if I am just muxing from h264 video that's already in non-ffmpeg memory? currently I'm not, and I'm also not allocating a frame or picture with libavcodec, I'm just pointing the muxer's AVPacket to my image data and that's it... is that the wrong way to do it? documentation seems scarce about this topic
[13:06] <bparker> basically I have h264 data that's already been encoded with libx264 and my program is just trying to mux that into an mp4 container
[15:22] <jpsaman> Does swscale support multithreaded scaling?
[16:42] <haspor> hello, if i want to decode at3p format to raw pcm_s16le samples, which options i need for the configure, only the decoder or ?
[16:43] <reliability> Is there any part of ffmpeg which has some potential for "local" optimizations (instruction level parallelism, removing potential cache misses, etc., no multithreading though)?
[16:45] <JEEB> haspor, well you will be reading that stuff out of a container (OMA or WAVE) so you will most probably need that, and the atrac3plus decoder will output planar float audio, so you will need to use swresample or avresample to convert it to pcm_s16le
[16:46] <klaxa> reliability: see doc/optimization.txt
[16:46] <klaxa> there might be something of interest
[16:46] <reliability> klaxa: thx
[16:51] <haspor> JEEB, all right
[16:54] <haspor> which one i need, demuxer, parser, audio encoder etc etc with that atrac3p decoder?
[16:57] <leonbienek> hi all
[18:30] <leonbienek> Could anyone help explain to me the best way to stream with low latency over ethernet?
[18:32] <leonbienek> I attempted to use this: ffmpeg -f v4l2 -i /dev/video0 -r 1 -codec copy -f rawvideo udp://[HOST_IP]:6789
[18:39] <Hello71> depending on resolution that's usually too much data
[18:40] <leonbienek> would a smaller size help reduce that?
[18:41] <leonbienek> say ffmpeg -f v4l2 -i /dev/video0 -r 1 -s 640x480 -codec copy -f rawvideo udp://[HOST_IP]:6789
[19:24] <Hello71> leonbienek: use x264 ultrafast
[19:58] <BtbN> leonbienek, i think you're underestimating the size of uncompressed video. You can easily overwhelm even a gibt link with it
[19:58] <BtbN> lossless or extremely high quality/bitrate h264 might be an alternative
[19:59] <leonbienek> I may as well share my intentions, as from the sounds of it, it may not even be possible
[20:00] <leonbienek> I'm looking to get the video and audio from 2 webcams plugged in to a RaspberryPi to a host connected via ethernet
[20:01] <leonbienek> i've been attempting to send the data as rawvideo over udp, but to no real avail. and that was with just 1 webcam
[20:33] <thebombzen> leonbienek: raw video is always huge huge huge. If you want to make it smaller, use ffv1 (which is ~ the bitrate of lossless H.264 but faster and less cpu-intensive). However, lossless video will always be super huge
[20:33] <thebombzen> If you want to improve ratios more, and the video is recorded from a webcam, try running it through -filter:v hqdn3d to denoise the video which will improve compression ratios
[20:37] <leonbienek> thanks thebombzen
[20:37] <leonbienek> Would that be -vcodec ffv1?
[20:37] <thebombzen> Yea. It's a lossless video coded developed by FFmpeg
[20:38] <thebombzen> Also, I say "from a webcam" because video recorded from the screen won't improve if you denoise it.
[20:41] <leonbienek> ah ok, i'll give that a shot
[20:49] <Hello71> building git head, libavcodec/libavcodec.so: error: undefined reference to 'ff_synth_filter_inner_avx'
[21:03] <leonbienek> thebombzen I cant ffplay that codec on my host machine
[21:30] <bparker> why does a h264/TS file created using a time_base of 1/fps and pts of ++frame_count (starting from 0) produce a zero duration with ffprobe?
[21:42] <quidnunc> Can someone tell me how seeking in segmented MP4 (i.e. HTTP live streaming) works?
[21:42] <quidnunc> (at a high level, not necessarily in FFMPEG)
[21:45] <bparker> quidnunc: the server reads in the mp4 file from whatever duration you seek to, and provides segments from that point in time forwards
[21:56] <quidnunc> bparker: So it can't be done client side (without requesting all data until the seek point)?
[22:03] <bparker> quidnunc: there is no way to get a readable video file (starting at some point in the middle) without the server knowing how to do that
[22:04] <quidnunc> bparker: DASH does it
[22:04] <bparker> because for mp4 files there's information needed to decode the video typically at either the beginning or the end of the file, so you can't just start reading from the middle and expect it to work
[22:04] <bparker> bparker: DASH must be implemented by the server
[22:04] <quidnunc> bparker: Right. Assuming you have the beginning metadata.
[22:05] <quidnunc> bparker: Not really, why can't you implement it client side?
[22:05] <quidnunc> assuming you have the xml
[22:05] <bparker> xml?
[22:05] <bparker> you don't need a streaming protocol to seek within a file you already have
[22:05] <bparker> if it's client side
[22:06] <bparker> or I don't understand your question
[22:06] <quidnunc> I thought there was an output xml file with the segment positions
[22:07] <quidnunc> Let me try restating my question
[22:07] <bparker> I don't know much about dash, but it sounds a bit ridiculous to require an xml file to use it
[22:08] <quidnunc> bparker: It would be used server side
[22:08] <quidnunc> (typically)
[22:08] <quidnunc> I thought that was how the segment positions were stored
[22:08] <quidnunc> But I might be mistaken
[22:09] <quidnunc> Anyway, some background: I know how to seek in a fragmented MP4 using the mfra and mfro atoms (and this can be done client side if HTTP range requests are supported).
[22:09] <bparker> well, there is a difference between 'http live streaming' and 'DASH', the former could mean many different things
[22:10] <bparker> personally I don't understand DASH at all
[22:10] <bparker> it seems extremely complicated
[22:11] <quidnunc> bparker: So how does HTTP live streaming handle seeking?
[22:11] <bparker> define 'http live streaming'
[22:11] <quidnunc> I thought the server was "dumb" and only responded to HTTP range requests
[22:12] <Hello71> building git head, libavcodec/libavcodec.so: error: undefined reference to 'ff_synth_filter_inner_avx'
[22:12] <quidnunc> bparker: http://en.wikipedia.org/wiki/HTTP_Live_Streaming
[22:15] <bparker> I don't understand the difference between HLS and DASH, but I know there were types of 'http live streaming' before HLS was a thing
[22:15] <bparker> so I don't know why the wiki article defines just HLS
[22:17] <quidnunc> bparker: Do you know anything about MP4 segments?
[22:18] <bparker> define segments
[22:18] <bparker> I know the layout of regular MP4 files and their atoms/etc.
[22:19] <bparker> but it sounds like this streaming thing you're referring to is some new extension to mp4 that's different than what people have been using, which I don't know anything about
[22:20] <JEEB> DASH is a whole lot of pain
[22:20] <quidnunc> bparker: segments are defined in the standard
[22:21] <JEEB> and definitely not simple
[22:21] <quidnunc> JEEB: I'm not using it but why?
[22:21] <JEEB> quidnunc, all the crap you have to implement for it :P
[22:21] <JEEB> I think you need an XML parser among other things
[22:21] <JEEB> also are you talking about movie fragments?
[22:21] <JEEB> because that's a MOV/"MP4" feature
[22:22] <JEEB> which lets you have small indexes in the file, and thus you can f.ex. pipe the mux straight into a player or whatever
[22:22] <quidnunc> JEEB: I understand movie fragments. I don't understand MP4 segments
[22:23] <JEEB> specify the actual feature from the spec later and someone might actually comment, I don't remember anything called "segments"
[22:23] <Paranoialmaniac> segments are just incomplete file in the context of iso base media file format
[22:24] <quidnunc> JEEB: Section 8.16 "Segments"
[22:24] <Paranoialmaniac> concatenatation of segments makes a full iso base media file
[22:24] <JEEB> ^ this man knows what he's talking about
[22:24] <bparker> JEEB: I'm about to scream I am so pissed off at this PTS/timebase bullsh**
[22:24] <bparker> I still can't understand it
[22:25] <quidnunc> Paranoialmaniac: So seeking is the same as in an unsegmented file? That is, using the sample table?
[22:25] <JEEB> it's supposed to be simple, timebase sets how many ticks is a single second
[22:25] <bparker> I tried setting timebase to 1/fps and pts = 0,1,2,3 etc. in and I still get 0 duration
[22:25] <JEEB> does it actually play?
[22:25] <bparker> depends on the player and if they pay attention to the pts
[22:26] <JEEB> because MPEG-TS has no duration per se
[22:26] <JEEB> so you could just be derping off whatever is reading your data :P
[22:26] <JEEB> and calculating the probable duration
[22:26] <bparker> right
[22:26] <JEEB> that, or you're still somewhere ending up with wrong values
[22:27] <Paranoialmaniac> quidnunc: there are roughly two types of segments, index segment and media segment. index segment consists of only movie sample table. media segment consists of contiguous moof+mdat pairs
[22:27] <JEEB> do note that IIRC there's a lot of places with various timescales in lavc and lavf, and I have no idea how much you use both of them
[22:27] <bparker> I switched back to MOV to make sure I get my timebase/pts correct, I wanna see the duration be calculated correctly with ffprobe
[22:28] <JEEB> you can make ffprobe print out the PTS of packets
[22:28] <bparker> as far as I can tell there's 3 different time bases and somehow the PTS is related
[22:28] <JEEB> and with MOV/"MP4" you can use L-SMASH's boxdumper tool
[22:28] <bparker> JEEB: yep, and they're wrong :/
[22:29] <bparker> ffprobe -show_packets blah.mov
[22:29] <bparker> gives me the pts, duration per frame etc.
[22:29] <JEEB> and those are incorrect?
[22:29] <bparker> yep
[22:29] <JEEB> then you're setting/using something wrong in lavc/lavf and it has less to do with the actual PTS/timescale things
[22:29] <JEEB> because the idea of timescale/PTS is rather simple
[22:30] <bparker> I'm sure I'm still setting it wrong
[22:30] <bparker> somehow
[22:30] <JEEB> but how lavf/lavc esp. if interused poke those values around
[22:30] <JEEB> are the values off by some kind of amount?
[22:30] <bparker> x264 has a timebase, AVCodecContext has a timebase, and AVStream has a timebase
[22:30] <bparker> no idea what they should all be set to
[22:30] <bparker> whether the same or not
[22:31] <bparker> and there's r_frame_rate in x264 which I'm not certain is correct either
[22:31] <bparker> because it's a rational
[22:31] <bparker> i.e. does it want 1/60 or 60/1
[22:31] <JEEB> frame rate usually is 60/1
[22:31] <quidnunc> Paranoialmaniac: "For segments based on this specification (i.e. based on movie sample tables or movie fragments)" <--- So the segments don't have to be fragments (?)
[22:32] <JEEB> one of them should be num and the other should be denum though, no?
[22:32] <bparker> and apparently when I go back to mpeg ts, you have to use a timebase of 1/90000 as it forces it
[22:32] <JEEB> yes
[22:32] <bparker> so I want to make it work with that
[22:32] <JEEB> so you need to have the scaling thingamajig there
[22:32] <JEEB> there's a function for scaling PTS from scale to scale
[22:32] <bparker> there's av_scale_q(a, b, c)
[22:32] <JEEB> yup
[22:33] <bparker> but I'm not certain what parameters to give it
[22:33] <quidnunc> Paranoialmaniac: Never mind that, suppose I want to seek within a segmented MP4. What are the steps at a high level?
[22:33] <bparker> more like I have no idea at all :p
[22:33] <Paranoialmaniac> quidnunc: as i said index segment uses movie sample table. and media segment uses movie fragement. index segment doesn't contain any media
[22:33] <Paranoialmaniac> quidnunc: we cant seek those types independently. the spec allows mixture of index segment and media segments called indexed self-initialization media segment which is .
[22:34] <Paranoialmaniac> *which is seekable
[22:34] <Paranoialmaniac> youtube splits audio and video stream into two indexed self-initialization media segments
[22:35] <Paranoialmaniac> so, you can seek youtube's audio and video dash files separately
[22:36] <bparker> Paranoialmaniac: does that mean you can turn off the video to save bw?
[22:36] <quidnunc> Paranoialmaniac: I don't see a description of "indexed self-initialization" in ISO/IEC 14496-12. Is it somewhere else?
[22:37] <Paranoialmaniac> quidnunc: 23009-1:2012 6.3 Segment formats for ISO base media file format
[22:37] <Paranoialmaniac> 23009-1 is the spec of DASH
[22:38] <JEEB> welcome to overcomplicated derpiness :P
[22:41] <Paranoialmaniac> indexed self-initializing media segment is something like this http://up-cat.net/p/5c1bf982
[22:46] <Paranoialmaniac> note that a media segment does not always form movie fragments. you can see a media segment could be mpeg-2 ts at 6.4 Segment formats for MPEG-2 transport streams
[22:47] <quidnunc> So the indexed self-initializing media segment holds all the seek points for the file?
[22:47] <quidnunc> Paranoialmaniac: So the indexed self-initializing media segment holds all the seek points for the file?
[22:47] <Paranoialmaniac> yes. self-contained file
[22:50] <quidnunc> Paranoialmaniac: Doesn't that make the initialization segment very large for a large file?
[22:51] <Paranoialmaniac> quidnunc: a dash manifest file (.mpd) points where segments are there, and handles the presentation of described all segment
[22:51] <quidnunc> Paranoialmaniac: The spec says that an MPD is not necessary (?)
[22:52] <Paranoialmaniac> without mpd, why you use dash? :)
[22:54] <quidnunc> Paranoialmaniac: I'm trying to understand DASH and other streaming/seeking methods and why I would use them.
[22:55] <quidnunc> Paranoialmaniac: In my case I'm particularly interested in streaming files without additional metadata and using a dumb server (only support HTTP range requests)
[22:55] <quidnunc> Paranoialmaniac: So is the seek information self-contained in the file or do you need an MPD?
[22:58] <Paranoialmaniac> quidnunc: to be exact, you could seek a media segment independently, but you may be not able to decode media because initializing information is in movie sample table
[22:58] <quidnunc> Paranoialmaniac: But movie sample table is in moov, right?
[23:00] <Paranoialmaniac> yes. so, you get the movie sample table through mpd. mpd describe the location of the segment which contains the movie sample table
[23:01] <quidnunc> Paranoialmaniac: Okay, things are becoming a little clearer. So there is no "global" movie sample table for a segmented MP4?
[23:01] <Paranoialmaniac> quidnunc: yes
[23:01] <quidnunc> Paranoialmaniac: The initialization segment's sample table is empty
[23:01] <Paranoialmaniac> this is why DASH called Dynamic Adaptive
[23:02] <Paranoialmaniac> quidnunc: sample description table (stsd) is mandatory.
[23:03] <Paranoialmaniac> and not empty
[23:03] <Paranoialmaniac> stsd contains initialiazing information to decode media
[23:03] <quidnunc> okay, but no seek information
[23:04] <Paranoialmaniac> oh, sorry. i maybe remember something wrongly
[23:05] <Paranoialmaniac> a segment may contain segment index box
[23:06] <Paranoialmaniac> also, moof box contains positions of each sample
[23:06] <Paranoialmaniac> you can seek by these information
[23:07] <quidnunc> Paranoialmaniac: But only once I have the position of a segment, which requires the MPD, right?
[23:07] <Paranoialmaniac> if a media segment is a mpeg-2 ts, segment index boxes will help you
[23:08] <bparker> JEEB: do you have access to an OSX machine to see if one of my files will play?
[23:08] <bparker> on quicktime
[23:09] <quidnunc> Paranoialmaniac: Let me explain what I am doing right now. I'm using fragmented MP4 and no external metadata. Everything is self-contained in the MP4 and I can find the data I need to seek using HTTP range requests: I download the initial bytes of file which gives me the file size. From the file size I get the mfro and then mfra atoms which gives me sync samples.
[23:09] <quidnunc> Paranoialmaniac: Can I do something similar with DASH, HLS or anything else?
[23:10] <bparker> quidnunc: with jwplayer you can seek regular mp4 files without weird streaming stuff, as long as the moov atom is at the beginning of the file
[23:10] <Hello71> building git head, libavcodec/libavcodec.so: error: undefined reference to 'ff_synth_filter_inner_avx'
[23:11] <bparker> Hello71: are you just going to keep asking the same question over and over
[23:11] <bparker> well, it's not even a question, lol
[23:11] <Hello71> ...
[23:12] <JEEB> bparker, I have a pre-HW decoding model
[23:12] <JEEB> a 2006 macbook :D
[23:13] <Paranoialmaniac> quidnunc: sidx box (segement index box) contains stream access point (SAP) which is more descriptive about random access point rather than one of mfra
[23:13] <JEEB> so it will be picky as hell regarding what kind of H.264 streams it would decode (correctly)
[23:15] <Mavrik> bparker, I can check if you want
[23:15] <bparker> http://fiveforty.net/140302-1AAA.mov
[23:15] <quidnunc> bparker: I can't use it for my application because I need to be able to send it data directly (and not a url to data)
[23:16] <bparker> quidnunc: can you send the codec data without the container? that would make life 1000x easier
[23:16] <bparker> or use a different container
[23:16] <bparker> that's better for streaming
[23:16] <quidnunc> bparker: No.
[23:17] <bparker> JEEB: good
[23:17] <Mavrik> bparker, am I looking for anything specific?
[23:17] <Mavrik> QT plays it well.
[23:17] <bparker> Mavrik: just that it plays, at all
[23:17] <Mavrik> 16 secs of color test
[23:17] <bparker> can I ask what version of quicktime/osx ?
[23:17] <bparker> yep.
[23:18] <Mavrik> rMBP 15"/10.9.2/10.3
[23:18] <JEEB> yeah, that's most probably a HW decoding based one
[23:18] <quidnunc> Paranoialmaniac: Just so I understand you are saying to use sidx with segmented files and not sidx with fragmented (and no segmentation)?
[23:18] <bparker> Mavrik: cool thanks
[23:18] <bparker> JEEB: so that answers the question of quicktime supporting annexb :)
[23:19] <Mavrik> JEEB, yeah, I'd hope so -_-
[23:19] <bparker> actually that file is annexb *with* avcC atom :p
[23:19] <JEEB> lol
[23:19] <JEEB> how the fuck does that even work
[23:19] <JEEB> because you're supposed to have the length
[23:19] <JEEB> and then the data
[23:20] <JEEB> the AVCc should contain the length of the NAL units' length thingy
[23:20] <bparker> I guess it just ignores the sps/pps that's stuck in the middle, like it checks for annexb startcode ?
[23:22] <Paranoialmaniac> quidnunc: segmented files have styp box at the first in the stream. sidx is not mandatory but a derived file format may require it. i'm not an expert of dash. difficult to answer to your questions for me at present
[23:23] <bparker> JEEB: or maybe the muxer sees that my h264 data is annexb and ignores the avcC
[23:23] <bparker> I don't know
[23:23] <quidnunc> Paranoialmaniac: I appreciate your help. Very difficult to find information, not many people understand the details, you know far more than most.
[23:23] <bparker> I guess looking into the file itself would tell me more
[23:25] <Mavrik> it's also possible that HW decoder uses the same codepath and just ignores that always?
[23:25] <quidnunc> Paranoialmaniac: One last question: As far as you know, is it possible to achieve what I am doing now with fragmented files (seek + no metadata + server only does HTTP range requests) with DASH, HLS or any other streaming solution?
[23:25] <Paranoialmaniac> quidnunc: i recommend you should read the section of the sidx box of 14496-12 and the summary of 23009-1
[23:25] <Mavrik> (might be talking out of my arse, came late to the discussion :P)
[23:27] <quidnunc> Paranoialmaniac: I have read the sidx section in 14496-12. It seems only to deal with seeking within segments. But I don't see how to find segments without MPD
[23:27] <quidnunc> I don't understand why MPD wasn't just embedded, at least optionally, like the mfra atom
[23:28] <Paranoialmaniac> quidnunc: mpd is not a part of 14496-12 (ISO Base Media file format)
[23:28] <quidnunc> Paranoialmaniac: Ah, so they couldn't add it.
[23:28] <Paranoialmaniac> mpd is a text file format
[23:28] <Paranoialmaniac> xml like
[23:29] <quidnunc> I know, I meant equivalent information
[23:29] <quidnunc> well, at least locations of the segments
[23:29] <quidnunc> in a contiguous file
[23:30] <quidnunc> Paranoialmaniac: Anyway, as far as you know there is no way to seek to a given location in DASH without the MPD?
[23:32] <Paranoialmaniac> quidnunc: dash works through mpd. a dash file itself makes no sense i think
[23:32] <quidnunc> Paranoialmaniac: Okay, what about HLS?
[23:33] <Paranoialmaniac> i dont know HLS
[23:34] <quidnunc> Paranoialmaniac: Thanks again for your help. Like I said very hard to find information
[23:34] <Paranoialmaniac> http://dashif.org/testvectors/ there are test vectors of DASH. how about looking this?
[23:34] <quidnunc> Paranoialmaniac: Thanks, I will take a look but I doubt the deal with my strange use case.
[23:35] <quidnunc> It really doesn't have to do anything with DASH at all, just segmented MP4
[23:36] <quidnunc> I can probably build a segmented MP4 with a non-empty stbl but then I lose fast-start
[23:38] <thebombzen> leonbienek: You should be able to ffplay a file with ffv1 codec. It's a format designed by the FFmpeg developers, so ffmpeg's its native tool
[23:39] <thebombzen> make sure you compiled in support, by not doing something like ./configure --disable-decoders --enable-encoders=<...>
[23:39] <thebombzen> that's --enable-decoders*
[00:00] --- Mon Mar 3 2014
1
0
[00:32] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:52d928daf9c0: avutil/opt: allow max=min=0 for pixel formats
[02:13] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:df6d21c1e7d3: avcodec/ac3: move new field to the end of AC3HeaderInfo
[02:13] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:eadc21cfe74f: avcodec/ac3_parser: add avpriv_ac3_parse_header2() and use it in libavcodec
[02:13] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:0c9dd939cdd1: avformat/ac3dec: Use avpriv_ac3_parse_header2()
[03:11] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:0a8c90202bb9: avcodec/utvideoenc: fix slice_bits size
[03:40] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:e4a6310cce5c: update for 2.2
[04:08] <cone-837> ffmpeg.git 03Michael Niedermayer 07fatal: ambiguous argument 'refs/heads/release/2.2': unknown revision or path not in the working tree.
[04:08] <cone-837> Use '--' to separate paths from revisions
[04:08] <cone-837> refs/heads/release/2.2:HEAD: update for 2.2
[04:27] <cone-837> ffmpeg.git 03Michael Niedermayer 07fatal: ambiguous argument 'refs/tags/n2.2-rc1': unknown revision or path not in the working tree.
[04:27] <cone-837> Use '--' to separate paths from revisions
[04:27] <cone-837> refs/tags/n2.2-rc1:HEAD: update for 2.2
[04:49] <cone-837> ffmpeg.git 03Vittorio Giovara 07master:e70ab7c1f500: h264: add MVCD to the list of High profiles in SPS
[04:49] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:3ec3f70ddb1b: Merge commit 'e70ab7c1f5005041bba0e4efc1165410f83495b2'
[05:23] <cone-837> ffmpeg.git 03Diego Biurrun 07master:0a36988e48dd: build: Let AMV decoder depend on the SP5X decoder
[05:23] <cone-837> ffmpeg.git 03Michael Niedermayer 07master:c4c2b2ea5c0a: Merge commit '0a36988e48dd581d29e77f768f987738bdf365f0'
[12:24] <cone-598> ffmpeg.git 03Diego Biurrun 07master:8e0cf39faf02: build: Let all MJPEG-related decoders depend on the MJPEG decoder
[12:24] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:ad48c9374e13: Merge commit '8e0cf39faf02536dca08f4fe628a66d1ae022fde'
[12:36] <cone-598> ffmpeg.git 03Diego Biurrun 07master:34150be515cd: build: Let the iac decoder depend on the imc decoder
[12:36] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:11146a9b440c: Merge commit '34150be515cd9c43b0b679806b8d01774960af78'
[12:49] <cone-598> ffmpeg.git 03Diego Biurrun 07master:2f02bbcca050: build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder
[12:49] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:80793afb177e: Merge commit '2f02bbcca050936686482453078e83dc25493da0'
[13:13] <cone-598> ffmpeg.git 03Diego Biurrun 07master:fb3b2f5d923a: configure: Set the thread type after resolving dependencies
[13:13] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:cd88d89493d3: Merge commit 'fb3b2f5d923a6e19d80f21eb4e081674bceec810'
[13:23] <cone-598> ffmpeg.git 03Anton Khirnov 07master:bc6461c2861b: af_compand: replace strtok_r() with av_get_token()
[13:23] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:f0ce3854fda3: Merge commit 'bc6461c2861b7d482a037d3b3e2b44ad48805fa0'
[13:35] <cone-598> ffmpeg.git 03Anton Khirnov 07master:d1f9563d5020: pthread_frame: flush all threads on flush, not just the first one
[13:35] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:a22907e9ea7f: Merge commit 'd1f9563d502037239185c11578cc614bdf0c5870'
[13:46] <cone-598> ffmpeg.git 03Martin Storsjö 07master:3cbc7ef3d60b: qt-faststart: Increase the copy buffer size to 64 KB
[13:46] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:eea2cd23e91a: Merge commit '3cbc7ef3d60b6af3617079f24a4f401d83353003'
[13:52] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:ea15a9a5d8fa: qt-faststart: Simplify code by using a MIN() macro
[13:52] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:0bb474f686fb: Merge commit 'ea15a9a5d8fa6a71af3101b2af18c4dcac07987f'
[14:10] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:5612244351b2: qt-faststart: Check fseeko() return codes
[14:10] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:11c4bc9a744b: Merge commit '5612244351b2eb3cb4e6225861a0f55aa5d0c475'
[14:17] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:03c2a66fcff9: qt-faststart: Fix the signedness of variables keeping the ftello return values
[14:18] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:817f8138cb3e: Merge commit '03c2a66fcff9707f71ffef7e61ce5e3973220d4b'
[14:31] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:63848854256a: qt-faststart: Check the ftello() return codes
[14:31] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:77c235206a1b: Merge commit '63848854256a024a19435e87d6bc76fffa65e81e'
[14:39] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:bb95334c34d0: qt-faststart: Check offset_count before reading from the moov_atom buffer
[14:39] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:7fa3ec88da88: Merge commit 'bb95334c34d0d9abccea370ae25c4765d7764ab8'
[15:05] <cone-598> ffmpeg.git 03Martin Storsjö 07master:ea7f79f93796: qt-faststart: Avoid unintentionally sign extending BE_32
[15:05] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:06fe29c41d3a: Merge commit 'ea7f79f93796d68559a495be824b6bbd94dfe5f6'
[15:12] <cone-598> ffmpeg.git 03Lou Logan 07master:700687ebe07a: qt-faststart: Add a note about the -movflags +faststart feature
[15:12] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:5972bcfac910: Merge remote-tracking branch 'qatar/master'
[16:00] <cone-598> ffmpeg.git 03Senthilnathan M 07master:561bfce2033d: HLS: Handle the case when hls_list_size=0. Playlist file should contain all the segments. Fixes bug #3376.
[16:00] <cone-598> ffmpeg.git 03James Almer 07master:646720983613: x86/synth_filter: add synth_filter_sse
[18:25] <cone-598> ffmpeg.git 03Michael Niedermayer 07master:7e268a8afaf7: RELEASE: update for 2.2
[21:45] <cone-598> ffmpeg.git 03Michael Niedermayer 07release/2.2:3503ec846154: Changelog: remove <next>
[00:00] --- Sun Mar 2 2014
1
0
[00:14] <llogan> luc4: what was the file name? sorry, i was afk when you messaged me.
[00:15] <luc4> llogan: no problem. VID_20131212_123011_5s.mp4.
[00:16] <llogan> mgeary: that's an ancient build. do yourself a favor and get a newer one.
[00:16] <mgeary> hmm. okay, thanks!
[00:17] <llogan> luc4: i have it (video of phone being plugged in). what was the problem again?
[00:17] <llogan> mgeary: or if you like to compile http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
[00:17] <average> is there a build script for these static builds ?
[00:18] <average> I'd like to know more about static building and I'd like to read those static-build-scripts
[00:18] <llogan> average: you mean to make your own?
[00:18] <luc4> llogan: precisely. ffprobe was reporting a certain frame rate. Trying to transcode with ffmpeg resulted in a strange warning message reporting that frame rate was too high for the mp4 format.
[00:18] <average> I would like to study one of those scripts
[00:18] <average> ...
[00:18] <llogan> average: ask burek or relaxed
[00:18] <average> relaxed: hey, can I study your static-build-script ?
[00:19] <llogan> i know you probably provided this before but i can't remember details
[00:19] <luc4> llogan: no problem, let me collect the data.
[00:20] <average> how can I leave an offline ?
[00:20] <average> to burek
[00:20] <average> llogan: ^^ ?
[00:21] <llogan> average: you can email him. address is in the first link from fflogger
[00:23] <luc4> llogan: http://paste.kde.org/pxm0e9hy4
[00:23] <llogan> manu1083: what is avconvert?
[00:24] <luc4> llogan: also it seems to take forever to transcode a very small file.
[00:27] <llogan> luc4: try a more recent build. i don't get those messages.
[00:28] <manu1083> llogan : Avconv is a fork of FFmpeg
[00:28] <llogan> so why are you asking about it here?
[00:29] <manu1083> http://libav.org/avconv.html
[00:29] <luc4> llogan: which means 2.1.4? Also consider I'm on mac and I built using macports... maybe that is the difference...
[00:29] <llogan> manu1083: shouldn't you be asking question about the fork at the forks IRC?
[00:30] <llogan> luc4: test with one of these https://ffmpeg.org/download.html#MacOSXBuilds
[00:30] <luc4> llogan: ok, thanks
[00:31] <llogan> users should use ffmpeg from current git master. releases are generally for distributors and such.
[01:05] <mgeary> if i just do ffmpeg -i foo.mp4 -t 30 bar.mp4, will it use the same encoding settings as on the original? it doesn't look like it does. Is there a way to preserve those?
[01:07] <mgeary> does --copy work alongside -t ?
[01:10] <Hello71> --copy isn't a thing
[01:10] <llogan> mgeary: you can stream copy with -codec copy. you can use -t with it too.
[01:11] <llogan> https://ffmpeg.org/ffmpeg.html#Stream-copy
[01:11] <mgeary> yeah, i saw that, but it wasn't clear how it would like -t
[01:11] <mgeary> thanks!
[01:13] <Hello71> I think some codecs don't support it (?)
[02:04] <andrew_46> llogan: The people you meet :)
[03:17] <bparker> I recently upgraded ffmpeg to 2.1.3 and now one of my programs is crashing inside of libavformat: mux.c:833 av_freep(&s->streams[i]->priv_data);
[03:18] <bparker> I don't use/set priv_data so I have no idea why it's trying to free it
[03:21] <bparker> sorry, I used ffmpeg 2.1.4 not 2.1.3
[03:26] <bparker> I only use libavformat to mux existing h264 data to mp4 container
[04:14] <thebombzen_> bparker: did you try using the latest git-master? that bug might be fixed since 2.1.5
[07:04] <rjp421> is there a way to explicitly include line breaks (line \n or \r) in the output?
[07:28] <juanmabc> so, are we clear this is ffmpeg channel?
[07:30] <juanmabc> oh, encoding steps (mess), go on ;)
[07:44] <rjp421> *(like \n or \r), oops
[08:38] <haspor> hello, i try to compile a shared lib for android by using 5 static ffmpeg libs + headers, i have also included test.cpp that calls av_register_all() function but i get error undefined reference to av_register_all()
[08:38] <haspor> could someone help a bit :)
[08:46] <haspor> here is the android.mk file im using: http://pastebin.com/DsCX0U12
[11:20] <jammanbo> Noob in a bit of a crisis here. I'm trying to capture a live stream from an m3u8 resource but it's not working so well, I think because the stream is flakey. It'll run for as long as I leave it, but typically only captures the first few minutes. Any tips? Command is $ ffmpeg -i "http://&" -c copy file.ts
[11:22] <jammanbo> (If it illicits any pity help I'm trying to record a wedding ceremony from the churches live feed because the couple cant afford someone to video it)
[11:48] <rsdrsdrsd> if i use yadif=0:-1:1 does it only deinterlace videos which are interlaced?
[11:52] <relaxed> rsdrsdrsd: if they're marked as interlaced
[12:08] <rsdrsdrsd> otherwise nothing happens?
[12:13] <rsdrsdrsd> if a video has different dar and sar, how can i create a screenshot with a fixed height and proportional aspect ratio
[12:14] <rsdrsdrsd> I have scale=dar*480:480
[12:14] <rsdrsdrsd> is that ok or should i use sar
[12:14] <rsdrsdrsd> using scale=-1:480 doesn't give the expected results as mentioned in the docs
[12:43] <relaxed> rsdrsdrsd: right, I guess it's possible for interlaced content to not be flagged as such.
[12:45] <relaxed> rsdrsdrsd: I think -filter:v "scale=640:ih*ow/sar/iw" will do it
[13:21] <haspor> anyone could help with the android problem i mentioned above?
[14:38] <luc4> Hello! Anyone who can do a test on mac?
[15:28] <rsdrsdrsd> Is this a good scaling option: trunc(ceil(dar*720)/2)*2:720
[15:28] <rsdrsdrsd> so that the aspect ratio reamains
[15:28] <rsdrsdrsd> have to encode to x264
[15:30] <rsdrsdrsd> anyone? I want to use it in an autonmatic processing script
[15:30] <Achilles> Hello. I'm trying to compile ffmpeg from source but the make fails on libxvid.c
[15:30] <klaxa> rsdrsdrsd: you can use -1 to automatically calculate the correct scaling to keep the aspect ratio
[15:30] <klaxa> as in -1:720
[15:30] <klaxa> however, that might result in odd numbers for the width...
[15:30] <rsdrsdrsd> but for xvid is tahs to be divisable by 2?>
[15:31] <klaxa> Achilles: pastebin your config.log
[15:31] <rsdrsdrsd> that is why i am looking for a good solutions
[15:31] <Achilles> I'm on mobile right now :(
[15:31] <klaxa> rsdrsdrsd, just try out a few resolutions
[15:31] <rsdrsdrsd> I have done that
[15:32] <klaxa> does it work reliably?
[15:32] <JEEB> I usually use sar, but that kind of seems to be OK
[15:32] <JEEB> although you probably will want to switch the 2
[15:32] <rsdrsdrsd> why is that?
[15:32] <JEEB> to width subsampling
[15:32] <JEEB> although wait...
[15:33] <rsdrsdrsd> so trunc(ceil(sar*720)/2)*2:720 is better
[15:33] <JEEB> where's my similar thingamajig
[15:35] <JEEB> trunc(sar*iw/(ih/oh)/hsub)*hsub:trunc(min(ih\,272)/vsub)*vsub
[15:36] <JEEB> although that has that min thing that you prolly don't need
[15:37] <JEEB> the width part is probably most related to you
[15:37] <rsdrsdrsd> if I wnat to have a steady height
[15:37] <JEEB> just look at the width part
[15:39] <rsdrsdrsd> should this be it: trunc(sar*iw/(ih/480)/hsub)*hsub:480
[15:40] <JEEB> well, if your height is set to 720 :P
[15:40] <JEEB> then you can just use oh
[15:40] <JEEB> trunc(sar*iw/(ih/oh)/hsub)*hsub
[15:40] <JEEB> this should give you SAR-correct width with the subsampling limits kept
[15:41] <rsdrsdrsd> trunc(sar*iw/(ih/oh)/hsub)*hsub:720
[15:41] <rsdrsdrsd> don't i get a refrence error
[15:41] <JEEB> you shouldn't
[15:42] <rsdrsdrsd> ok let's try it
[15:52] <rsdrsdrsd> sar of origal is 4:3 (1440x1080) and dar is 16:9 but the encoded video is 1278x720 [SAR 1:1 DAR 71:40] shouldn't it be 1280x720 ?
[15:52] <Achilles> Here is my config log http://pastebin.com/fAy59hKK
[15:53] <Achilles> klaxa
[15:55] <klaxa> what is the error you get while compiling?
[15:57] <Achilles> Www.Pastebin.com/nN7bUkxR
[16:01] <rsdrsdrsd> isn't dar = sar*iw/ih
[16:01] <Achilles_> This is Achilles. klaxa, any idea why I'm seeing this fatal error?
[16:01] <klaxa> actually no, not really
[16:02] <klaxa> do you need xvid? if not you could just disable it
[16:02] <klaxa> from when is your source? is it the latest git?
[16:02] <Achilles> latest git. yes.
[16:03] <klaxa> is your libxvid the latest version?
[16:03] <Achilles> yes, latest libxvidcore4
[16:04] <Achilles> -rw-r--r-- 1 root root 1025508 Mar 1 08:12 libxvidcore.a
[16:04] <Achilles> -rw-r--r-- 1 root root 747784 Mar 1 08:12 libxvidcore.so.4.3
[16:06] <rsdrsdrsd> i think trunc(ceil(dar*oh)/hsub)*hsub is better?
[16:06] <klaxa> i'm going to try to compile with your configuration
[16:07] <Achilles> ok. I noticed something though.. I have libxvid installed to /usr/lib/
[16:08] <Achilles> whereas in my compilation command I specify --prefix=/usr/local/hgffmpeg and --extra-ldflags=-L/usr/local/hgffmpeg/lib
[16:08] <Achilles> I have libxvidcore.so.4.2 there
[16:09] <klaxa> yeah i thought that too
[16:09] <klaxa> maybe i should have asked
[16:13] <Achilles> should I compile without --extra-ldflags ?
[16:13] <klaxa> i removed your extra flags and it seems to compile
[16:13] <Achilles> aha
[16:13] <klaxa> depends, do you have extra libraries in that directory that are needed for the ffmpeg build?
[16:14] <Achilles> I need to compile ffmpeg with some old libraries (installed with the original build) but replace some of them with newer versions (like mp3 lame, x264, libxvid)
[16:15] <klaxa> i think those should actually be taken from the extra-cflags and extra-ldflags directories
[16:16] <Achilles> i'm new to compiling from source on linux, but I'll look it up
[16:17] <klaxa> your configuration compiled on my end though, maybe try with the old libraries first to see if that works
[16:17] <Achilles> ok
[16:23] <Achilles> thanks klaxa
[17:41] <rsdrsdrsd> oh no it doesnt matter, thnx JEEB
[19:30] <geqsaw> hi, is there an easy method to convert a 3d side by side video in a video with alternating frames? The stereo3d filter only supports anaglyph and interleaved output.
[20:16] <blight> hi guys
[20:36] <bparker> I have a capture program that encodes live video and muxes it to a file. I'm using libx264 to encode and libavformat to mux it into mp4 container. When playing back the video in VLC, I get a lot of errors and the video is mostly garbled after a few seconds: http://dpaste.com/1674961/ any idea what could be wrong?
[20:37] <bparker> geqsaw: why would you want to do that though? frame sequential is not a commonly supported input method for players/displays
[20:37] <bparker> plus you're just losing resolution by scaling it again
[20:40] <Mavrik> bparker, your input buffer gets overrun?
[20:41] <bparker> Mavrik: why do you say that?
[20:42] <bparker> pretty sure it doesn't
[20:43] <bparker> it was working fine on 1080p60 source I tested earlier, then I changed to 1080i60 and started having problems
[20:44] <blight> did you run valgrind on it? ;)
[20:44] <Mavrik> bparker, because that's usually what causes your issue
[20:44] <blight> someone around who knows libswresample? i think i have an unusual use case for it and i wonder how to make it work ;)
[20:52] <bparker> blight: asan
[21:04] <TylerMGF> hey guys, I have a quick question. When encoding from 5.1 to 2.0, I get a muffled sound, every time. I assume that's because it gets 2 audio sources and discards the rest. how can I make ffmpeg combine all the streams into 2?
[21:36] <klaxa> TylerMGF look for downmixing for example here: http://trac.ffmpeg.org/wiki/AudioChannelManipulation or here: http://www.ffmpeg.org/ffmpeg-filters.html#channelmap
[21:38] <TylerMGF> thank you, klaxa. running a build of ffmpeg without libfdk-aac because I'm on windows and too lazy to compile, so I just encoded it with vorbis @ 600kbps (stereo, yeah, I know) and it's not muffled anymore
[21:38] <klaxa> oh yeah to downmix you have to re-encode
[21:39] <klaxa> you can't combine audio-tracks without encoding
[23:32] <geqsaw> bparker: my TV does not support the higher resolution of side by side video.
[23:43] <cbsrobot> geqsaw: can't you combine stereo3d and framepack ?
[23:46] <geqsaw> cbsrobot: thanks, I'll try it out
[23:49] <cbsrobot> maybe: -vf [0:v]stereo3d=in=sbs1:out=ml[left],[0:v]stereo3d=in=sbs1:out=mr[right],[left][right]framepack=frameseq
[23:49] <cbsrobot> ^not tested
[23:50] <cbsrobot> geqsaw: wait
[23:50] <cbsrobot> I just read on the stereo3d manual:
[23:51] <cbsrobot> for the out parameter:
[23:51] <cbsrobot> Available values for output image formats are all the input formats as well as:
[23:51] <cbsrobot> so try: -vf stereo3d=in=sbs1:out=al
[23:52] <geqsaw> someone should update the official documentation in this point
[23:53] <cbsrobot> it's there:
[23:53] <cbsrobot> http://www.ffmpeg.org/ffmpeg-all.html#stereo3d
[23:53] <cbsrobot> just 2 lines below 'out'
[23:55] <orangey> hello all!
[23:55] <geqsaw> oh
[23:56] <geqsaw> I'm so blind...
[23:56] <orangey> I'm trying to fix a video file that I'm pulling off of an SD card (recovery attempt).
[23:56] <orangey> however, I try avconv -i broken.m4v fixed.mp4 and get: http://pastebin.com/yRHYCkrh
[23:56] <orangey> it appears that the "header" is correctly picked up
[23:56] <orangey> as is the size, creation time, etc.
[23:56] <klaxa> for avconv support please visit #libav
[23:56] <orangey> klaxa:
[23:56] <orangey> aha.
[23:57] <orangey> apologies. I thought they were interchangeable
[23:57] <orangey> For what it's worth, I tried ffmpeg first and it didn't work either, failing in exactly the same awy
[23:57] <iive> that's expected. try ffplay and seeking...
[23:58] <orangey> iive: Sounds like I don't even have ffmpeg installed like I thought.
[23:59] <iive> you may also try to make a gzip-ed copy of the file. video is already compressed so it cannot be shrinked further. but lots of zeros compress a lot more better.
[23:59] <orangey> iive: is that to me?
[00:00] --- Sun Mar 2 2014
1
0