Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- October
- September
- August
- 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
October 2014
- 1 participants
- 62 discussions
[00:21] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:59a479283020: avcodec/libutvideodec: Support YUV422P10
[03:16] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:4ef02ddd8188: Changelog: add entry for libutvideo 422P10
[03:16] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:ac84c1ce24a2: avfilter: check filter link validity
[03:16] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:1945db1f1307: Merge commit 'ac84c1ce24a285f9cf16d4297bce73b1c4a6e435'
[03:34] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:1967cd4e4c1c: audiointerleave: check av_new_packet return value
[03:34] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:6d2a2bfb59f8: Merge commit '1967cd4e4c1cd96dfa195ce14e4b212ddb70586d'
[03:44] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:f1ed83e23add: img2dec: check av_new_packet return value
[03:44] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:d6095662706d: Merge commit 'f1ed83e23add1c26c50b146727e4c2399dfc0b3a'
[04:15] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:0b66fb4505e0: flac_picture: prevent a possible out of bound write
[04:15] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:af89c144181f: Merge commit '0b66fb4505e0bb43de3797f63f3290f0188d67cc'
[04:30] <cone-692> ffmpeg.git 03Luca Barbato 07master:7785ce1c7693: lavf: replace rename() with ff_rename()
[04:30] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:97a8f4dd119e: Merge commit '7785ce1c769369abf85b276148548a5510aabb5f'
[04:35] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:3c1199c3c4cb: matroskadec: fix leak on error
[04:35] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:45fd5935313b: Merge commit '3c1199c3c4cbdb4ffff0de89f06d5a08acefe356'
[04:43] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:e0caa1eb4e51: matroskadec: check return values
[04:43] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:3ae818f6ab04: Merge commit 'e0caa1eb4e518111a81801db0d2ccdd2733ba94b'
[04:51] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:28c020d4df9b: matroskaenc: check avio_open_dyn_buf return value
[04:51] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:8be93ba049f1: Merge commit '28c020d4df9b060a58a124a7a5406d4313fbe249'
[04:53] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:ad6b00d85f68: mxfdec: add missing break
[04:53] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:5408d8828a75: Merge commit 'ad6b00d85f686324aa2bd93e39261fa1d411f141'
[04:56] <cone-692> ffmpeg.git 03Tomas Härdin 07master:7df3b426bbfb: mxfenc: Fix possible integer overflows
[04:56] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:48579041bae5: Merge commit '7df3b426bbfbd7efd9a0f56393e3cc78413b0869'
[05:28] <cone-692> ffmpeg.git 03Vittorio Giovara 07master:50dbe6b3544f: mov: fix assigment check
[05:29] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:eeb9242b623c: Merge commit '50dbe6b3544fa64d5611e16553bf542fd71276b8'
[10:53] <ubitux> what's about all this bikesheding about the v4l2 & /dev/video probing?
[10:54] <ubitux> the patch looks just fine...
[10:56] <wm4> ubitux: I think it's evil, btw., reminds me of image2
[10:56] <ubitux> what's the problem?
[11:01] <wm4> ubitux: it shouldn't interpret the URL in magic ways
[11:07] <arwa> Hey, I am really getting confused with the hqx code...!! I dont know how to convert rgb to yuv without float :/
[11:10] <wm4> why are floats suddenly evil, anyway?
[11:11] <wm4> just because of the bitexact issue?
[11:11] <nevcairiel> rgb to yuv is something you can do perfectly fine in integer anyway
[11:12] <arwa> How do I do that with integers? Can you give me a link?
[11:34] <J_Darnley> I seem to recall that ubitux gave you a commit to see how its done.
[11:43] Action: michaelni wonders how many people who ask a question and leave before getting a reply do read the log
[11:52] <J_Darnley> oh, I didn't even notice that
[13:40] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:92d366f6abf8: avformat: Print error message on failure of ff_rename()
[13:40] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:2fc970a6b845: cmdutils: Read errno before av_log() as the callback from av_log() might affect errno
[13:40] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:dd5c2fe17727: avcodec: Read errno before av_log() as the callback from av_log() might affect errno
[13:40] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:a63096953559: avdeviece: Read errno before av_log() as the callback from av_log() might affect errno
[13:40] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:0d96d44c4fa5: avfilter: Read errno before av_log() as the callback from av_log() might affect errno
[13:40] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:af03ba9aa205: avformat/hdsenc: Read errno before av_log() as the callback from av_log() might affect errno
[14:23] <cehoyos> ubitux: Sorry if I misunderstood your question, but I really don't know why it makes a difference if pullup is used...
[14:23] <ubitux> well
[14:23] <ubitux> what if you disable all the pts manipulations in decimate?
[14:24] <ubitux> it looks like to me that the main difference is pullup completely ignoring the pts part
[14:26] <ubitux> if you just comment out the frame->pts assignment in vf_decimate, i'm pretty sure you'll get similar result as in pullup
[14:28] <ubitux> but i dunno
[14:29] <ubitux> anyway fieldmatch/decimate needs some look by someone more used to telecined content than i
[14:29] <ubitux> i didn't get much feedback on it
[14:36] <cehoyos> But without the pts assignment, you cannot keep A/V sync, or do I misremember?
[14:37] <ubitux> how does pullup deal with that?
[14:37] <ubitux> i see no pts changes in it
[14:41] <cehoyos> As said, I don't know.
[14:42] <Compn> have to ask dalias , the mplayer deinterlacer dev :P
[14:42] <ubitux> it would be better to understand this before we document it
[14:42] <cehoyos> Actually, I do:
[14:43] <cehoyos> pullup removes one frames of five if it finds a telecined sequence, or leaves all frames in place if it doesn't find such a sequence.
[14:43] <cehoyos> You have to use -r 24000/1001 to drop the remaining telecined frames (or actually a random frame of five) whenever pullup misses a frame.
[14:43] <cehoyos> misses a telecined frame.
[14:44] <ubitux> alright
[14:44] <ubitux> well then
[14:44] <ubitux> remove the pts adjustment from decimate
[14:44] <ubitux> and use -r just like with pullup
[14:44] <ubitux> assuming -r does a better job at it
[14:44] <ubitux> but i doubt it does
[14:44] <cehoyos> As I tried to write on -devel this works fine from a A/V sync pov, it of course leaves teleconed frames behind (becuase the detections is not so good / faster).
[14:45] <cehoyos> It cannot afair.
[14:45] <cehoyos> Remember that -r does nothing as long as the filter works (both for progressive and telecined input)
[14:46] <ubitux> doesn't it adjust the pts of the frames going out?
[14:46] <cehoyos> While fieldmatch outputs cfr iirc, no? So frames have to be dropped
[14:46] <ubitux> fieldmatch doesn't do anything to pts
[14:46] <cehoyos> This adjustment makes sense, I meant it neither drops nor duplicates in the good case while it would have to with fieldmatch but cannot decide.
[14:47] <ubitux> it just merge fields, and decimate is here to drop the dups
[14:47] <ubitux> but decimate also "fix" the pts to output cfr
[14:50] <ubitux> for N frames in, fieldmatch will output N frames, without touching their timing
[14:50] <ubitux> the only thing it does is making sure each frame going out has a better matching field
[14:51] <ubitux> but this creates dups, which the decimate filter is here to drop
[14:51] <ubitux> and since it drops some frame, it takes the responsibility to fix the timing in a cfr way
[14:51] <ubitux> if you think a -r will make a better job at it, just remove the timing adjustment from decimate
[14:51] <ubitux> and you'll get a similar behaviour
[14:59] <cehoyos> But doesn't decimate even drop a frame (of five) if the pts indicate it should not?
[15:00] <cehoyos> Isn't this how the issue can be fixed ("once and for all")?
[15:01] <cehoyos> I just removed the pts setting from decimate and tested with progressive input:
[15:02] <cehoyos> It still drops frames when it shouldn't.
[15:03] <cehoyos> I also tested with fps=30000/1001,fieldmatch,decimate and it drops the wrong frames (when it should drop frames)
[15:05] <cehoyos> And sorry for misremembering how fieldmatch works: My explanation above was of course very wrong.
[15:14] <ubitux> cehoyos: decimate drops based on the content, it doesn't care about the pts
[15:25] <cehoyos> This doesn't work for fps=30000/1001,decimate with 23.9 fps input - it should drop the duplicated frame but drops a random one afaict.
[15:27] <ubitux> yes, if it finds no dup it just drop a "random" one
[15:28] <ubitux> decimate could benefit some real improvements
[15:29] <cehoyos> So without knowing the internals I suspect two possible solutions: Either detect on pts that the input switched framerate and do not drop anything (the "perfect" solution) or search harder for duplicates (with or without additional options).
[15:29] <cehoyos> (MPlayer prints a message whenever the framerate switches from 24->30 or from 30>24 frames)
[15:30] <cehoyos> And my patch is of course bad, it appears I mixed up issues, I will look at it again.
[16:26] <michaelni> BBB, is "[FFmpeg-devel] [PATCH] avformat/rdt: Forward whitelists to rdt demuxer" ok ? (with ff_copy_whitelists())
[16:39] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:e7513e1286ca: avformat: Read errno before av_log() as the callback from av_log() might affect errno
[16:39] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:39a7ded22df3: tools/ffhash: read errno before calling functions which might change it
[16:39] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:2ce10542570d: avformat/rtpdec_asf: Use av_find_input_format() instead of directly linking to the demuxer
[16:39] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:ff03df647570: avformat/mpeg: Use av_find_input_format() instead of directly linking to the demuxer
[17:08] <cone-669> ffmpeg.git 03Christophe Gisquet 07master:eacf2e8eb35c: dv: better split weight tables assignment
[17:08] <cone-669> ffmpeg.git 03Christophe Gisquet 07master:80b29c2d0c0b: dv: use smaller type for weight tables
[18:58] <arwa> what does git log do??
[19:04] <J_Darnley> Shows you the commit history
[19:04] <wm4> google it
[19:04] <J_Darnley> also git help log
[19:05] <ubitux> or just run it
[19:06] Action: J_Darnley thought that being familiar with git was one of the requirements
[19:13] <arwa> I ran it
[19:14] <arwa> Does it show the history of commits done on my patch?
[19:14] <arwa> or in general?
[19:16] <wm4> you should try to find out such simple things yourself (that's part of the job)
[19:17] <wm4> we can answer such question, but doing that all of the time wouldn't be appropriate
[19:22] <arwa> okay :)
[19:28] <iive> arwa: if you want your patches to be always on top, you may want to do updates by `git pull --rebase`
[19:31] <arwa> okay thanks :D
[19:31] <wm4> iive: that's not what she asked, also git rebase is one of the best ways to shoot yourself into the foot
[19:32] <iive> yes. that happens too :)
[19:51] <cone-669> ffmpeg.git 03Christophe Gisquet 07master:1086f09da30c: dv: more precise weight table for 8x8
[19:51] <jamrial> git rebase is fairly safe and far from a pain if you skip adding stuff like changelog/apichanges/version.h until the very end
[19:54] <wm4> how often did I make unintended changes or lost changes due to resolving conflicts while rebasing...
[20:08] <cone-669> ffmpeg.git 03Lukasz Marek 07master:1cff9085898c: doc/fftools-common-opts: document -devices option
[20:21] <cone-669> ffmpeg.git 03Lukasz Marek 07master:5f5581985020: opts: add list device sources/sinks options
[20:22] <arwa> Can anyone tell me what should I infer from "stand alone function - moving code into a shared function"? I am not getting its meaning :/
[20:45] <liquidmetal> I'm having some trouble with http://dranger.com/ffmpeg/tutorial05.html
[20:45] <liquidmetal> Fetching the PTS for every frame
[20:46] <liquidmetal> The issue is, the video seems to have a pFormatCtx->stream->time_base of 1/90000
[20:46] <liquidmetal> However the framerate is 30/1
[20:46] <liquidmetal> I'm not sure how/why that happened
[20:46] <liquidmetal> Am I doing something wrong/
[20:47] <wm4> frame rate doesn't have to happen the time base
[20:47] <wm4> in fact, the frame rate ffmpeg reports should be treated as random value
[20:47] <wm4> because it's almost never accurate
[20:47] <liquidmetal> So 1/90000 is accurate?
[20:48] <JEEB> it's the time base of the container
[20:48] <nevcairiel> thats a pretty common value for TS files
[20:48] <liquidmetal> I quick search reported that apparently mp4/avi don't support those kinds of values
[20:48] <liquidmetal> okay
[20:48] <JEEB> mp4 has a timebase and pts just fine :P
[20:48] <JEEB> avi is set to a specific frame rate, yes. so you would have it as the timebase I guess?
[20:49] <JEEB> of course at one point before when AVI was relatively used you could have 120/1.001fps AVI files because those could accomodate 24/1.001 , 30/1.001 as well as 60/1.001
[20:49] <JEEB> and then you had "frames" there without any data (aka null frames)
[20:50] <liquidmetal> okay then, my major concern was 1/90000 seemed like a wrong number
[20:50] <liquidmetal> I'll dig further
[20:50] <JEEB> that's the mpeg-ts timebase
[20:51] <JEEB> the data packets will then have a timestamp within that timebase
[20:52] <BBB> michaelni: I dont know what whitelists are, but otherwise it was ok
[20:54] <wm4> liquidmetal: also note that these tutorials are quite outdated
[20:54] <wm4> liquidmetal: they encourage broken things
[20:55] <wm4> BBB: they are a security feature... to exclude all codecs but some whitelisted ones
[20:55] <BBB> just compile them out
[20:55] <BBB> am I that old-fashioned?
[20:55] <liquidmetal> wm4, yes - I'm looking at the API changes doc to figure out how it works with the new version
[20:55] <wm4> liquidmetal: e.g. look at this terrible get_buffer crap... this is absolutely NOT needed just to get the PTS
[20:56] <wm4> BBB: mini can't be convinced of that
[20:56] <liquidmetal> wm4, so how is it done now?
[20:56] <wm4> liquidmetal: AVFrame has the packet fields (reordered)
[20:56] <iive> wm4: who is mini?
[20:59] <michaelni> wm4, is that trolling really needed ? compiling them out is of course better but some distros dont "allow/want" binaries to exit multiple times but want them rather shared
[20:59] <michaelni> i mean the reasoning was mentioned multiple times
[21:00] <liquidmetal> wm4, pkt_pts? I quickly tried that - it seems to be working! Thanks!
[21:01] <wm4> michaelni: how is that trolling... also I reject that reasoning; if distros want to allow unsafe codecs, so be it
[21:03] <BBB> I dont quite see how it helps, yes
[21:03] <BBB> apps like chrome just want their own ffmpeg, codecs isnt the only reason
[21:04] <BBB> I doubt theyll agree whitelisting is the right way to get chrome and vlc/mplayer to share the same ffmpeg binary/lib in debian
[21:05] <BBB> but anyway, if someone finds it useful Im not against it
[21:05] <michaelni> chrome like apps and distros arent the only use case, a simple player like vlc also might want to restrict the codecs&demuxers for remote urls
[21:05] <wm4> it's less bad than the previous option (allowing to register only some codecs to the global codecs list)
[21:06] <wm4> sometimes I think ffmpeg should just disable all these potentially-unsafe rarely used fringe codecs by default
[21:07] <wm4> why does ffmpeg need to be able to decode Descent 2 movies by default? (decoding of them is broken, too)
[21:07] <BBB> because mike REed the codec 15 years ago
[21:07] <j-b> because mike ROCKS :)
[21:07] <BBB> (or paul, or whoever)
[21:07] <BBB> hi j-b
[21:08] <j-b> hi :)
[21:20] <michaelni> also players may want to restrict what formats & codecs can be in a url thats intended for the flash player, theres alot that can be disabled for that without any lost functionality
[21:20] <michaelni> and it should improve security
[21:22] <michaelni> same for any other player or spec spefific urls
[21:22] <wm4> michaelni: one problem I see is with the propagation of those whitelists
[21:22] <wm4> there are a lot of places that may open codecs or parsers or formats
[21:23] <michaelni> wm4, thats what i meant by that they are fragile
[21:23] <michaelni> still its better than nothing
[21:27] <Compn> it cannot hurt much, so good idea
[21:27] <cone-669> ffmpeg.git 03Michael Niedermayer 07master:13ee94a480e8: avformat/rdt: Forward whitelists to rdt demuxer
[21:28] <wm4> Compn: it can create a false sense of security
[21:28] <wm4> at one point, we're also going to have passthrough av_log state (since having a global callback is unacceptable)
[21:29] <wm4> maybe there should be some semi-global state for all those things? i.e. not really global, but the user has to pass it to all sub-libraries when opening contexts
[21:32] <Compn> its a layer of security, which i'm assuming you can agree on
[21:34] <Compn> do you think we could measure all of the values of each const or struct and then set a range of reasonable asserts for each variable?
[21:35] <Compn> so height = range of 2 to 24000 , width = range of 2 to 24000 , slice size = range of 0 to 20000000, etc
[21:36] <Compn> and if we come across samples that dont fit in the ranges (set by our samples collection and other private collections) we ask for samples or tell user to run with -i-am-secure-play-the-file-already
[21:38] <Compn> or would that be a false sense of security, since fuzzing could still be done and find crashes
[21:52] <michaelni> posted a patch which fixes the issue with forgotten to be set whitelists
[22:57] <cone-669> ffmpeg.git 03Thilo Borgmann 07master:a6555f88aaf0: lavd/avfoundation: Add support for screen capturing.
[23:21] <BBB> Compn: lets not go there& history is so full of this should be enough for everybody integer values
[23:27] <cone-669> ffmpeg.git 03Mark Reid 07master:90bf1e304600: libavformat/mxfdec: read source timecode from pulldown component
[00:00] --- Sun Oct 26 2014
1
0
[00:01] <c_14> Or convince your webcam to give you something raw and convert with ffmpeg.
[00:04] <sanooj> I'm so close though
[00:04] <sanooj> maybe.
[00:31] <sanooj> libv4l2-hw-code says the minimum value for the i-frame period is 10000
[00:31] <c_14> 10000 what?
[00:32] <sanooj> I'm not sure what the units are there. it's currently reported as about 9.7 sec on youtube
[00:32] <sanooj> so I'm guessing milliseconds.
[00:32] <c_14> What does youtube want?
[00:32] <sanooj> 2 seconds
[00:32] <c_14> My goodness.
[00:32] <c_14> That's a bit
[00:32] <c_14> Excessive.
[00:33] <c_14> Especially since the only reason they want that is so they can cut the video into more chunks.
[00:33] <sanooj> apparently there's a way to force the camera to generate an i-frame when you want it to using deep uvc magic, but it's 2am and it's not been implemented elsewhere afaict...
[00:34] <sanooj> you need to poke it periodically rather than let it do it itself.
[00:34] <sanooj> so. raw bits you said. x264 you said.. :)
[00:35] <c_14> while true; do poke; sleep 1.9; done ?
[00:35] <sanooj> I think you may need to hang on to the fd the kernel gave you
[00:36] <sanooj> so poke /proc/pid/fd/thefd...
[00:36] <sanooj> whatever... let's burn them cycles.
[01:01] <sanooj> hum. the webcam can't give me raw images at a decent frame rate
[01:03] <sanooj> why is this so hard?
[01:03] <c_14> Does it produce raw frames at a different rate than encoded frames?
[01:03] <sanooj> yes.
[01:03] <c_14> wat
[01:04] <sanooj> probably because it's a usb webcam and the bw is limited.
[01:04] <sanooj> so at 1920x1080 YUV 4:2:2 we can get about 5 fps
[01:04] <sanooj> using mjpeg or h264 we get 30 fps
[01:05] <sanooj> I did put it in the usb3.0 port, but apparently that's no good
[01:05] Action: c_14 loves hardware limitations (not).
[01:06] <c_14> How badly compressed are the mjpeg/h264 frames?
[01:06] <buzzykins> Hi- in the ffmpeg stderr output, is the fps value the average fps of the entire video or the current fps value that the recording is at?
[01:06] <c_14> You might be able to reencode them.
[01:06] <sanooj> that's the plan
[01:06] <c_14> buzzykins: the latter
[01:07] <sanooj> although I find the angle of the uphill in this task a bit much. I wanted to live stream at a nice fps and bitrate. a few hours later I'm knee deep in someone else's ioctls
[01:08] <danomite> I don't understand the error i'm getting at the bottom of my paste http://pastebin.com/e6HsTwQ7
[01:08] <c_14> The wonder that is youtube's regulations on what input it accepts.
[01:09] <c_14> danomite: pastebin your ffserver.conf please
[01:09] <c_14> And an ffprobe of cam1.mp4
[01:09] <buzzykins> thanks
[01:11] <danomite> ffserver.conf: http://pastebin.com/PMxkKaBq ffprobe /tmp/cam1.mp4 http://pastebin.com/HWfa4sdF
[01:14] <danomite> c_14 thanks for taking a look
[01:14] <c_14> danomite: try getting rid of -acodec copy?
[01:15] <c_14> Although, that should only be taken into account with -override_ffserver...
[01:15] <danomite> c_14, same error with -acodec copy removed, I don't understand -override_ffserver
[01:15] <danomite> I don't know that switch
[01:16] <c_14> It tells ffmpeg to ignore codec options in ffserver.conf in favor of what's given on the command line.
[01:17] <danomite> new error :( http://pastebin.com/BWrPs7LT
[01:18] <c_14> does ffserver output anything interesting?
[01:18] <danomite> nope
[01:18] <c_14> Ok, get rid of the -vcodec copy?
[01:19] <danomite> new error: http://pastebin.com/5zD4a54C
[01:20] <danomite> the video is only 1 fps
[01:20] <c_14> Shouldn't be relevant.
[01:20] <c_14> get rid of -override_ffserver?
[01:21] <c_14> If that doesn't work, the next step is to go back to your first command, add -i aevalsrc=0 -c:a pcm_s16le while getting rid of -acodec copy
[01:21] <danomite> Missing audio stream errorhttp://pastebin.com/MXdUN4f5
[01:23] <danomite> new error: http://pastebin.com/ihsBeZiT
[01:24] <c_14> ehh, try adding -f lavf before the -i aevalsrc=0
[01:25] <danomite> new error http://pastebin.com/Z35yT3VD
[01:27] <danomite> lavfi
[01:28] <danomite> now it appears to be playing :)
[01:28] <danomite> now for the stream
[01:29] <danomite> ffplay error: http://pastebin.com/wrY248at
[01:38] <c_14> Hmm, I'm confused as to why you're getting a 503. I tried setting up the same thing and I keep getting 404s
[01:39] <danomite> I have 4 commands setup to test the streams with ffplay, per protocol (http/rtsp) per port (8080, 8554) the stats page only lists one stream and the only one that's making the hit counter tick is giving a different error
[01:40] <danomite> ffplay error: http://pastebin.com/i6YSqmcb
[01:43] <c_14> eeeeh, I'm out of ideas. ffserver is tricky at the best of times, but I don't know why it's failing at rtsp...
[01:43] <c_14> You could try the mailing list in the hope that someone might know what's going on, or wait around here.
[01:44] <danomite> i do have another question with ffmpeg
[01:44] <c_14> shoot
[01:44] <danomite> http://pastebin.com/Ymavj30y
[01:44] <sanooj> re-encoding the stream with libx264 at 1080p nets me 15 fps instead of 30
[01:44] <sanooj> it's not bad, but it could be better
[01:45] <c_14> -preset ultrafast?
[01:45] <danomite> the video is only 1 fps, but the fps reported by ffmpeg is 60, sometimes larger
[01:45] <c_14> encoding fps
[01:45] <c_14> Not related to the fps of the video.
[01:46] <danomite> will it respect the end of the video and loop or do something else?
[01:46] <sanooj> it's a live stream. it really should keep up
[01:46] <c_14> danomite: when ffmpeg hits eof it will stop
[01:47] <c_14> sanooj: depends on cpu and other factors
[01:47] <danomite> cool, thanks
[01:48] <sanooj> yeah, so basically youtube isn't going to work for us because we really need the hw encoder
[01:50] <danomite> damm, now my ffmpeg is telling me the aac encoder is experimental :(
[01:51] <c_14> -strict -2
[01:54] <danomite> still doesn't like it
[01:54] <danomite> I ran out of pastebin, looking for another
[01:54] <c_14> sprunge.us, pastie, ix.io
[01:55] <danomite> https://pastee.org/qptkb
[01:55] <c_14> eh, it needs to be an output option
[01:55] <c_14> ie after the last -i foobar
[01:56] <danomite> thanks, man, that was a big head ache
[01:56] <danomite> i was running into it all week
[01:58] <danomite> https://pastee.org/yhy22
[01:58] <danomite> back to the ffserver problem :(
[01:59] <c_14> Try with an updated version of FFmpeg?
[01:59] <c_14> You can grab one of the static builds and try with that maybe.
[01:59] <c_14> If that doesn't help, I'd ask the ml.
[02:00] <danomite> thanks, I didn't see it was so out of date
[02:01] <danomite> Fedora is beginning to feel like a second class distro
[02:03] <danomite> the static build doesn't include ffplay or ffserver
[02:04] <c_14> I remember john's build having it.
[02:04] <c_14> http://johnvansickle.com/ffmpeg/
[02:04] <danomite> I grabbed the 64bit of that
[02:06] <c_14> It won't have ffplay, because that needs to be linked to weird things.
[02:06] <c_14> Hmm, looks like it doesn't have ffserver either.
[02:07] <c_14> You can always compile, usually doesn't take that long depending on what you need to activate.
[02:12] <sanooj> so could I get faster h264 using vaapi?
[02:13] <danomite> I'm most concerned about the download time
[02:13] <sanooj> or is there some new hotness since vaapi?
[02:14] <c_14> Hardware accelerated h264 encoding is very meh at best.
[02:14] <c_14> danomite: for a git snapshot?
[02:15] <danomite> i'm cloning the repo, going to checkout to latest stable tag
[02:16] <c_14> https://ffmpeg.org/releases/ffmpeg-2.4.2.tar.bz2 <7.0 M
[02:16] <c_14> snapshot of git master as of version 2.4.2, but git master is usually preferred https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 < 7.1M
[02:17] <danomite> sweet, thanks for that tarball!
[02:20] <danomite> wow there' s a ton of options
[02:20] <c_14> You probably won't need most of them.
[02:21] <danomite> default would be ok?
[02:22] <c_14> In your case it probably should.
[02:28] <danomite> build done, looks like there's some new errors i'm gonna take a look at
[02:28] <danomite> thanks for the help
[02:35] <danomite> the new ffmpeg build seg faults with the same command options
[02:35] <danomite> the new ffserver runs
[02:35] <danomite> but same connection refused error
[02:36] <c_14> eeh, git or release?
[02:36] <danomite> release
[02:36] <danomite> I used: ./configure --enable-nonfree
[02:37] <c_14> try with git to see if the bug's been fixed. If that doesn't work, ask the ml. I'm pretty much out of ideas and it's getting late and I need some sleep. When posting to the ml, make sure you give as much information as possible, including complete commands and console output.
[02:39] <danomite> I'll get a ml post set up, thanks you've helped a ton!
[02:40] <sanooj> so turns out the libv4l2-hw-code test program might be lying. it shows the *current* value of iFramePeriod as the minimum value.
[02:58] <danomite> A fairly long draft of what i'm going to post to the mailing list: https://pastee.org/wythj
[03:11] <sanooj> alright. so if one tweaks the test program it's actually possible to set the wIFramePeriod
[03:11] <sanooj> unfortunately then something goes and resets it after a while, when streaming
[03:14] <sartan> hey guys is there a way to avoid using a filelist when using ffmpeg -f concat? it would be convienent if i could just use filesystem globbing or even specify a list of files to concatonate directly on the command line: writing to a text file is an extra step that would be nice to avoid
[03:17] <sartan> the trac wiki says ffmpeg -i "concat:file1|file2" -c copy output.mp4 ! that was not that difficult to find. thank you #rubberduck!
[03:24] <sanooj> woot
[03:25] <sanooj> it's still slow, but hey it kinda works with the copy codec now
[03:25] <sanooj> ioctls!
[03:26] <sanooj> not sure why it's still only 15 fps
[03:27] <sanooj> nor why ffmpeg is taking so much cpu
[03:31] <sanooj> ah, because it wasn't vcodec copy
[03:31] <sanooj> but it is now. still 15fps tho
[03:31] <sanooj> maybe the bitrate is too high
[03:32] <sanooj> anyway it's stupid o'clock in the morning.
[03:32] <sanooj> night
[03:39] <cortexman> can i run an fft on an audio file and get the data out
[03:44] <sanooj> how can I check how many frames are i-frames from an flv file I made?
[03:45] <sanooj> because something is lying to me. the ioctls claim the period is 2000, but youtube is still claiming it's one i-frame every 10 sec.
[05:50] <spectralsun> I would like to add keyframes to a video, what command should I use for this?
[05:51] <spectralsun> I'm assuming I will re-encode it
[06:00] <fling> I have a video with an audio only in the right channel.
[06:00] <fling> Left channel is muted.
[06:00] <fling> How to fix? I want to extract right channel audio somehow.
[06:00] <fling> -map_channel 0.0.1 ?
[06:01] <shevy> anyone has an idea how to fix this error message "Encoder (codec mp3) not found for output stream #0:0"?
[06:02] <shevy> The command I try is: "ffmpeg -i test.mp3 -af volume=+20dB output.mp3"
[06:05] <debianuser> fling: check these: https://trac.ffmpeg.org/wiki/AudioChannelManipulation
[06:05] <fling> debianuser: already fixed :>
[06:05] <fling> debianuser: do you remember my usb headset porblem?
[06:06] <fling> debianuser: I fixed it on one of the boxen reconnecting to an usb3 port.
[06:06] <fling> I had the problem because of too low bandwidth :P
[06:07] <debianuser> fling: Great! Thanks for reporting!
[06:08] <fling> debianuser: linphone problem is not fixed on all the boxen I have.
[06:22] <spectralsun> trying to reencode with this command "ffmpeg -i ns-0f483bb1-59d2-4014-aef6-17d1bb0450b1.mov -acodec copy -g 15 tmp.mov"
[06:22] <spectralsun> but it's only making a video of a few seconds long
[06:23] <spectralsun> does this message mean anything: "[mov @ 0x39e6480] Packet with invalid duration -30684 in stream 1
[06:26] <fling> spectralsun: probably.
[06:28] <spectralsun> hmm
[06:28] <spectralsun> I am trying to re-encode to add keyframes
[07:25] <arwa> how to create a new patch instead of pasting it on the prev one?
[10:16] <pentanol> arwa use diff
[10:43] <arwa> what does diff do?
[10:43] <arwa> and can you tell me the syntax?
[10:58] <pentanol> diff making diffs or patches
[10:58] <pentanol> what you want to patch there?
[11:00] <ubitux> arwa: squash with a rebase for example
[11:01] <ubitux> arwa: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
[11:02] <ubitux> also, wrong channgel
[11:02] <ubitux> channel*
[13:02] <sanooj> hey all.
[13:03] <sanooj> how can I find out the number of keyframes in an .flv video?
[13:06] <sanooj> I'm trying to twiddle my webcam to output more keyframes because youtube wants me to, but instead of waiting for youtube to moan at me, I'd like to make a small test capture and just count the key frame rate.
[13:10] <sanooj> when ffprobe -show_frames says key_frame=1 does this mean an I-frame?
[13:14] <sanooj> ah, no, there actually is a pict_type=I field. must read output.
[15:04] <emilsedgh> Hi guys. I have a capture device supported by v4l. I want to stream it to an rtm stream. The video works fine. However, im not really sure how Im supposed to mix the audio it.
[15:04] <emilsedgh> here's what im doing:
[15:04] <emilsedgh> avconv -f alsa -i hw:2,0 -ac 1 -c:a libmp3lame -re -f video4linux2 -r 25 -i /dev/video1 -c:v libx264 -f flv rtmp://192.168.1.5:1935/Test1/myStream
[15:05] <sanooj> hey dude. I just fixed this for me.
[15:05] <emilsedgh> hw:2,0 is the proper device, I tested it. but it tells me: flv does not support that sample rate, choose from (44100, 22050, 11025). and Could not write header for output file #0
[15:05] <emilsedgh> sanooj: you were talking to me?
[15:05] <emilsedgh> i'd love to know how you fixed it :)
[15:05] <sanooj> yes. well my working incantation is this: ./t/bin/ffmpeg -y -f alsa -i hw:1 -f v4l2 -vcodec h264 -i /dev/video0 -vcodec copy -strict -2 -acodec aac -f flv
[15:06] <sanooj> + rtmp stream url
[15:06] <emilsedgh> thank you sanooj. let me try.
[15:06] <sanooj> (for values of working with relation to audio. my actual video encoding is a bit iffy still.)
[15:06] <emilsedgh> I appreciate the help
[15:07] <sanooj> I think my audio widget uses a 32kHz sampling rate.
[15:08] <sanooj> maybe I never ran into your problem. but then, I've only butted heads with ffmpeg for a few hours really, so grains of salt etc.
[15:09] <sanooj> so for me the important bit was -acodec aac and -strict -2
[15:09] <emilsedgh> basically the only difference was your audio codec and usage of -strict -2
[15:10] <sanooj> what we said. :)
[15:10] <sanooj> I'm using ffmpeg git master. ymmv.
[15:13] <emilsedgh> im on avconv actually, shipped by debian unstable
[15:14] <sanooj> emilsedgh: so it works for you now?
[15:14] <emilsedgh> no its not. im getting same issues.
[15:15] <emilsedgh> but thanks sanooj. knowing that your example works helps me
[15:15] <sanooj> have you tried -ar 32000 ?
[15:15] <sanooj> erh. -ar 22050
[15:16] <sanooj> I'm streaming to youtube though. these things seem superfinicky.
[15:17] <emilsedgh> no matter what value i set for -ar, i get this: "Option sample_rate not found."
[15:20] <sanooj> are you putting it on your output side or input side?
[15:20] <sanooj> if I put it right before the -acodec aac near the end it works for me.
[15:20] <sanooj> or at least I don't get that message.
[15:21] <sanooj> if I put it on the input side I get your error message.
[15:21] <sanooj> that is, near the front of the command.
[15:21] <emilsedgh> oh ok thanks sanooj
[15:27] <emilsedgh> using exactly your command, i get audio but no video
[15:30] <emilsedgh> sanooj: thanks a lot man. i changed the -vcodec copy to -vcodec libx264 and its now working fine
[15:30] <emilsedgh> \o/
[15:32] <zybi1> hi
[15:33] <zybi1> I would like to know the command to extract audio from mkv-video and resample it to 48khz resulting in flac-format
[15:36] <zybi1> something like ffmpeg -i IN -vn -ar 48000-ac 2 -ab 320k -f flac OUT?
[15:47] <sanooj> emilsedgh: oh yeah, that's totally just for my setup. I'm trying to use a hw encoder.
[15:47] <emilsedgh> sanooj: really thanks for your help.
[15:47] <sanooj> np. :)
[15:54] <sanooj> this does not work?
[16:01] Action: sanooj is confuzzled
[17:11] <AlexRussia> hello
[17:11] <AlexRussia> i've install ffmpeg 2.2.9
[17:11] <AlexRussia> and now i haven't sound in firefox :/
[17:46] <c_14> I'm relatively sure firefox doesn't use ffmpeg...
[18:01] <BtbN> c_14, well, indirectly
[18:01] <BtbN> it uses gstreamer, which in turn uses ffmpeg
[18:02] <c_14> I have firefox withouth gstreamer...
[18:02] <BtbN> You don't have a/v capabilities then.
[18:03] <BtbN> AlexRussia, how did you install ffmpeg? Via your package manager, or just "sudo make install" a version you built?
[18:05] <AlexRussia> BtbN: via emerge
[18:05] <c_14> BtbN: hmm, good point. I never noticed because webms work.
[18:22] <JEEB> yeah, for those libvpx is used internally with a splitter
[20:58] <zybi1> hi
[20:59] <zybi1> what means "[swscaler @ 0x3e2b700] deprecated pixel format used, make sure you did set range correctly"?
[20:59] <zybi1> see also http://www.pasteall.org/54763 please
[21:01] <JEEB> that seems to be an internal warning, because swscale IIRC still uses the "yuvj" colorspace to note PC range from TV range instead of using the range flag
[21:02] <JEEB> and the H.264 decoder sets that one, too
[21:02] <JEEB> it does of course set the flag as well, IIRC
[21:02] <JEEB> so that's not due to your command line
[21:03] <zybi1> so will I get trouble because of that?
[21:03] <JEEB> you shouldn't, although I am not sure how well swscale does the PC->TV range conversion
[21:03] <zybi1> I'm trying to convert mkv (lossless) to apple-compliant file format/compression for a film festival.
[21:04] <JEEB> if the picture looks correct when compared against the input with something like mpv
[21:04] <JEEB> then you should be fine regarding that
[21:04] <JEEB> your input seems PC range and you set the TV range colorspace so it converts (or at least it should)
[21:05] <JEEB> and yes, TV range is correct because PC range is something that you shouldn't generally push out to any player (except those that know how to handle it correctly)
[21:05] <JEEB> the mpv player is one of those that has an opengl video renderer that should handle it correctly
[21:05] <zybi1> or would you suggest another command line to get what I want?
[21:05] <JEEB> not really
[21:05] <zybi1> thanks, yah, fortunately I got to know to mpv-player, and I like the project a lot.
[21:05] <JEEB> the command line looks fine
[21:06] <zybi1> cool
[21:06] <JEEB> well, yeah
[21:06] <JEEB> check in mpv
[21:06] <JEEB> that both look the same
[21:06] <JEEB> as in, color wise
[21:06] <JEEB> so you don't have stuff that should be gray become white
[21:06] <JEEB> and same for black
[21:06] <zybi1> yes ok
[21:06] <JEEB> :)
[21:06] <zybi1> *smile*
[21:08] <JEEB> I remember there were some anime series in Japan that happened to have some part-time worker or someone do the final mastering
[21:08] <JEEB> because someone whoops'd the color range to stay as PC
[21:08] <JEEB> and then that went all the way to the DVDs
[21:09] <JEEB> and nothing that handles broadcasts or DVDs officially does anything out of TV range
[21:09] <JEEB> so those poor bastards who tried to use the media as expected (TVs/DVD players) would get a broken picture with missing things
[21:11] <zybi1> that could've been me, one of these part-time workers..
[21:11] <zybi1> :P
[00:00] --- Sun Oct 26 2014
1
0
[00:00] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:7f2af3f56b3d: avformat/rtsp: add av_assert0() to clarify that the else case is supposed to be unreachable
[00:00] <cone-216> ffmpeg.git 03Andrey Utkin 07master:08e6832a94cc: avformat/rtsp: pass return code from ffurl_open() on its failure
[01:59] <jamrial> BBB: since you are the one that wrote the atomic operations support on lavu, what do you think about replacing the legacy __sync functions in atomic_gcc.h with the new __atomic ones introduced with gcc 4.7.0?
[02:00] <jamrial> https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/_005f_005fatomic-Builtins.html
[02:03] <jamrial> __atomic_{load,store}_n() seems more reliable than __sync_synchronize()
[02:04] <BBB> I have no problems with that
[02:04] <BBB> I suppose you ont want to support both?
[02:05] <BBB> (Im not insisting you do, just wondering about your opinion)
[02:08] <jamrial> there's a pthreads and win32 fallbacks, so i guess we can replace them instead of keeping both
[02:11] <jamrial> i'm indifferent since i don't use gcc 4.6.x or older (where a fallback would be used instead)
[02:11] <jamrial> replacing them would mean less of a maintenance burden
[02:21] <iive> maintenance burden is argument abused by deleteonists. Keep the old one and remove it when it breaks something.
[04:21] <hungnv> rcombs, about the issue ffmpeg changes duration of video file and frame yesterday, the command ffmpeg -i in.ts -acodec copy -vcodec libx264 -b 1000k -s 640x360 -vf scale=640:-1 -keyint_min 50 -copyts -mpegts_copyts 1 -vsync 0 -f mpegts out.ts, output duration and start time is exactly as input, but pts&dts time of frames totally changed
[04:22] <hungnv> I thought it worked, but it did not, output sound and video are terrible :(
[05:43] <t4nk511> Hello. I'm trying to submit a patch to ffmpeg-devel(a)ffmpeg.org but for some reason it doesn't seem to be making it to the mailing list (for example when I check here: https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2014-October/date.html)
[05:43] <t4nk511> The commands I run are `git format-patch -1 --subject-prefix='FFmpeg-devel] [PATCH'`
[05:43] <t4nk511> That outputs a .patch file, which I then try to submit with: `git send-email blah.patch`
[05:44] <t4nk511> which asks for confirmation, then I say yes, and it then says Result: OK
[05:49] <jamrial> no need to add any prefix. [PATCH] is added by format-patch, and [ffmpeg-devel] by the mainling list
[05:50] <jamrial> did you register to the mailing list? if not, then your email is awaiting moderator approval
[05:51] <t4nk511> I did register for the mailing list. I've been receiving ffmpeg-devel messages for a few days now...
[05:53] <t4nk511> A few days ago I submitted with no subject-prefix, and I did see that [PATCH] was automatically added. But when i look at my "sent" messages I saw that there is no [FFmpeg-devel] in the subject, so that's why i tried again with adding it in. I thought that was the reason it wasn't showing up in the list
[05:58] <jamrial> well, unless the email was too big (which will be held until approved) or triggered some sort of spam filter, the problem is probably on your end. either git send-email or maybe your provider
[06:10] <t4nk511> hmm ok thanks. I will try sending an email manually then
[10:21] <arwa> Here is the code
[10:21] <arwa> http://pastebin.com/k4qs1vgu
[10:21] <arwa> And I am getting this error
[10:22] <arwa> libavfilter/vf_xbr.c:42:5: error: no previous prototype for d [-Werror=missing-prototypes]
[10:23] <ubitux> make it static
[11:07] <ubitux> i like that {codec,format}_whitelist
[11:07] <ubitux> michaelni: what's the risk if the av_strdup() fails?
[11:08] <ubitux> isn't this going to actually allow any codec/format?
[11:08] <ubitux> (it's unlikely but still...)
[11:09] <ubitux> we could imagine a scenario where resources exhausts on a particular system and circumstances could somehow make the strdup fail, which would lead to a sudden whitelisting of everything
[11:09] <ubitux> kind of unlikely but well...
[11:14] <michaelni> ubitux i did say that thw whole local whitelist system is a fragile and insecure mess
[11:15] <ubitux> ok
[11:15] <michaelni> the global one is better, if you want security
[11:15] <ubitux> global one = --disable-X?
[11:15] <michaelni> no
[11:16] <michaelni> avcodec_register_list(), the patch is on the ML, review is welcome
[11:20] <wm4> michaelni> ubitux i did say that thw whole local whitelist system is a fragile and insecure mess <- then why did you add it, even though nobody asked for it
[11:21] <wm4> <michaelni> avcodec_register_list(), the patch is on the ML, review is welcome <- that is bullshit, I told you
[11:21] <wm4> it doesn't work, it can't worl
[11:21] <wm4> *work
[11:21] <wm4> the only "secure" way is compiling ffmpeg with these codecs disabled
[11:23] <ubitux> wm4: it's useful on the command line (the local whitelist system)
[11:23] <michaelni> wm4, some system is needed for applications like chrome, some distributions dont "allow" duplicated libs. so no whitelist doest work
[11:24] <michaelni> and people where against the way this can be done solidly which is globally at register thats why i added the local variant
[11:24] <wm4> bullshit
[11:24] <wm4> it can not be solidly the global way
[11:24] <wm4> +done
[11:26] Action: rcombs appears to have missed something
[11:26] <wm4> this discussion is relatively old
[11:26] <michaelni> yep
[11:28] <michaelni> wm4 if you can exploit the global code where a codec wasnt registered and the AVCodec struct overwritten then its exploitable and not solid, if you cant it is solid from a security point of view
[11:28] <michaelni> the local variant is not secure due to strdup failure and easily having similar issues being missed
[11:29] <michaelni> ill of course fix issues like te strdup one but iam afraid i will miss some
[11:29] <wm4> I can't believe you're selling off global mutable state as security feature
[11:32] <rcombs> wm4: explain?
[11:32] <wm4> rcombs: there's a global linked list of "registered" codecs
[11:33] <rcombs> yup
[11:33] <wm4> this has no reason to exist, and at least currently, has absolutely no use for the API user
[11:33] <wm4> and it's unsafe (not thread-safe, not library-safe)
[11:33] <wm4> but michaelni had the idea to disable codecs globally by allowing to register only some codecs
[11:34] <cone-692> ffmpeg.git 03Martin Storsjö 07master:1bd0bdcdc236: lavu: Add av_gettime_relative
[11:34] <wm4> nevermind that any library in the same process could just enable all codecs anyway...
[11:34] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:e96ca404eae8: Merge commit '1bd0bdcdc236099d5c0d179696951f35f5310fa5'
[11:36] <rcombs> what makes that a security feature?
[11:36] <wm4> codecs can contain bugs
[11:36] <wm4> especially obscure ones
[11:38] <rcombs> so, it lets an API user enable only codecs that they presume to be safe?
[11:38] <wm4> yes
[11:39] <ubitux> well at least it reduces the attack surface if you have control over your process
[11:39] <ubitux> which is kind of often the case
[11:40] <michaelni> "nevermind that any library in the same process could just enable all codecs anyway..." <-- that would be a bug
[11:53] <J_Darnley> Can someone explain why the global linked list is unsafe? I thought it was only created once and never touched again therefore making it thread safe (if I understand that ther correctly)
[11:56] <cone-692> ffmpeg.git 03Olivier Langlois 07master:6fdf35fe35d8: lavc: Use av_gettime_relative
[11:56] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:8fd07fa6cc37: Merge commit '6fdf35fe35d8c1c467708238100648a7a47c930d'
[12:00] <wm4> J_Darnley: a library could call the register function at any time
[12:00] <wm4> unless you use atomics or a mutex, it's not safe against concurrent mutation
[12:07] <cone-692> ffmpeg.git 03Olivier Langlois 07master:e205429fcf9d: tools: Use av_gettime_relative
[12:07] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:63001833c51c: Merge commit 'e205429fcf9de3182bce2f4cfd1d6401596a8666'
[12:29] <cone-692> ffmpeg.git 03Martin Storsjö 07master:248d8fb60c59: avplay: Use av_gettime_relative
[12:29] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:872e087305a4: Merge commit '248d8fb60c59c8e044d9c8f78f23383b7cdecf72'
[12:38] <cone-692> ffmpeg.git 03Martin Storsjö 07master:d0c093021943: avconv: Use av_gettime_relative
[12:39] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:2896b981830e: Merge commit 'd0c093021943e9b9c23528b12cd61ca2a5b01b4f'
[12:39] <hungnv_> rcombs, are you available?
[12:40] <rcombs> hungnv_: yes, but I probably can't provide any additional insight on your timestamp problem
[12:41] <hungnv_> ha ha, ok, I will try myself. Actually -mpegts_copyts 1 -vsync 0 -copyts -acodec copy work (for the ffmpeg application), but not work when I implement using API.
[12:43] <rcombs> ah, interesting
[12:45] <cehoyos> hungnv_: Why don't you use the same command line (with -f segment) for the second encoding as you used for the first encoding?
[12:45] <cehoyos> michaelni: I pushed a patch to support Go2Meeting 5 to github: I didn't believe it myself but for the sample we have, there is no decoding error that I found.
[12:46] <hungnv_> cehoyos, I am writing a web server, user request original file -> serve file already segmented using ffmpeg (the application), when user request lower bitrate, take the origin file -> transcode and deliver it to user. That's why...
[12:47] <cone-692> ffmpeg.git 03Martin Storsjö 07master:6df9d9b55d3f: lavf: Use av_gettime_relative
[12:47] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:2c5ae5777690: Merge commit '6df9d9b55d3f56ee7782639a7678eeeaf77f14ea'
[12:47] <hungnv_> actually I am close to success, just a few step behind
[12:48] <cehoyos> You original command line contains "-f ssegment -segment_list playlist.m3u8 -segment_time 5" and the one you tested after I asked you to used hls encoding: Of course the output isn't identical.
[12:49] <cehoyos> Now just take the encoded file and reencode it with lower bitrate but not a completely different command line.
[12:50] <hungnv_> cehoyos, with options provided by rcombs, the output's pts is the same as input, just the quality changed, that's what I want. (ffmpeg -y -i 759.ts -vcodec libx264 -vb 500000 -s 640x360 -f mpegts -aspect 16:9 -g 25 -keyint_min 50 -vf scale=640:-1 -copyts -mpegts_copyts 1 -vsync 0 -acodec copy ~/hung.ts)
[12:51] <hungnv_> Now I implement that command using the api, start frame has right pts, duration changed, it's less than the original one, last frame has wrong pts, maybe some frame was dropped
[12:52] Action: hungnv_ remembers last night it worked, then he slept for some hours, stay up and it stops working...
[12:53] <hungnv_> rcombs, can you take a look at my code?
[12:53] <cehoyos> hungnv_: Of course this will work (and it sounds like the correct solution) but please remember my question why are you trying difficult things if the easy things should work fine...
[12:54] <hungnv_> cehoyos, I cannot use the application, that's why.
[12:57] <hungnv_> cehoyos, I appreciate your advices but, my situation is, I want to use ffmpeg api to transcode mpegs -> mpegs, not to transcode the whole playlist (although transcoding the whole playlist does not work in this case), not to use the application to transcode
[12:58] <cone-692> ffmpeg.git 03Anton Khirnov 07master:99143140dea1: mp3dec: fix reading the Xing tag
[12:58] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:899d3706d8fd: Merge commit '99143140dea12363af680d02e23cb42cfe191679'
[13:00] <cehoyos> Yes, and using the API you still have to decide the output format: Just use segment with the same options you used for original encoding.
[13:01] <hungnv_> it don't get your idea, how can I apply options to segment to file that's already segmented
[13:01] <hungnv_> the command showed above is what I want to implement
[13:01] <cehoyos> You fead the m3u8 file to libavformat: It will be read just like a single file
[13:01] <cehoyos> Then you tell libavformat to write "segment" (just as you did from the command line).
[13:02] <hungnv_> problem is, transcode the whole playlist takes too much time, transcode a segment takes second
[13:02] <cehoyos> Did you try seeking?
[13:02] <cehoyos> I didn't realize you are reencoding on the fly.
[13:02] <hungnv_> with seeking, my solution works
[13:03] <cehoyos> I meant: If you don't want to transcode the whole m3u8 "file", why don't you seek to the position that you want to start encoding from?
[13:04] <hungnv_> take this for example : http://221.132.35.210:9090/ , the first is the origin, the second I am trying to finish, although people around here think it works already
[13:04] <cehoyos> I still believe that switching segments may not always work.
[13:04] <cone-692> ffmpeg.git 03Anton Khirnov 07master:c63418e0a3af: doc: reword the mp3 muxer documentation
[13:04] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:7ad34f445648: Merge commit 'c63418e0a3afbcdbc59fd65c270d45efafe092ce'
[13:04] <cehoyos> I am not saying it shouldn't work but it currently does not and I feel that for some encoding options, it cannot work
[13:04] <cehoyos> (You may not be using those)
[13:05] <hungnv_> which options ? :D
[13:05] <hungnv_> I need just a hint
[13:05] <cehoyos> Like using another audio codec.
[13:05] <hungnv_> I don't encode audio, just muxing them, (-acodec copy)
[13:06] <cehoyos> I believe you misunderstood:
[13:06] <cehoyos> I said it may be impossible to generally solve the problem you reported (different file length), for example because of different audio codec.
[13:06] <cehoyos> I already wrote above that "-acodec copy" probably (also) fixes your problem and probably suitable anyway.
[13:07] <cehoyos> "your problem" != "the problem you reported (different file length"
[13:07] <hungnv_> cehoyos, but in case ffmpeg application works for 1 file, if I implemented right, my application using ffmpeg api must produce same output as ffmpeg application
[13:07] <cehoyos> ... and is probably more suitable anyway.
[13:08] <cehoyos> Of course (or do I misunderstand?)
[13:09] <cehoyos> Sorry, gtg
[13:09] <hungnv_> for example, if I takes list of ts filed that's ALREADY segemted, using the command ffmpeg above to transcode all of them, every file has right duration, and startime, and play well without any problem
[13:09] <hungnv_> ah, ok...
[13:15] <cone-692> ffmpeg.git 03Anton Khirnov 07master:88b32673db39: avconv: copy stream-level side data when streamcopying
[13:16] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:6ef5e292200b: Merge commit '88b32673db39440422a73ec3047d3326c96b4fb2'
[15:33] <ubitux> arwa: so is it bitexact with the reference?
[15:40] <arwa> sorry, I didn't get your question
[15:40] <ubitux> arwa: is it pixel value exact with the reference implementation?
[15:41] <ubitux> like no ±1 difference in values
[15:41] <ubitux> i'm reviewing the patch anyway, you can answer on the ml
[15:57] <arwa> okay
[15:58] <arwa> Well, I guess yes.
[15:58] <ubitux> review sent
[16:12] <arwa> I am no getting how to replace float with int?
[16:13] <arwa> I went through the hqx code, there they took uint32
[16:13] <arwa> but dont we need uint24?
[16:14] <arwa> Also, how do I combine the rgb value to get a uint24 format?
[16:18] <ubitux> arwa: see 236aa4de2a103d36b5f3381717150a6780c46697 for example
[16:18] <ubitux> but adjust to your needs
[16:21] <cone-692> ffmpeg.git 03Anton Khirnov 07master:ef363ebd596d: mp3enc: write full LAME frame
[16:21] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:e744e9a30589: Merge commit 'ef363ebd596da18f889a7d4845023a23dfac84c9'
[16:21] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:2dbee1a3935a: avformat/mp3enc: Squeeze our mp3 encoder tag into the 9byte shortname instead of randomly truncating
[16:40] <kierank> c
[19:00] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:279b2a4deb3b: avformat/mp3dec: also accept Lavc as shortname to read delays
[19:00] <cone-692> ffmpeg.git 03Benoit Fouet 07master:e56425d1a718: avcodec/aacdec: warn user when remapping streams.
[19:11] <arwa> How to convert a rgb value to uint24?
[19:23] <wm4> arwa: bit shifts?
[19:25] <arwa> is this correct - ( r | (g<<8) | (b<<16))
[19:27] <cehoyos> I believe shift is stronger than or...
[19:27] <cehoyos> (r | g << 8 | b << 16)
[19:41] <nevcairiel> although the preferred order is with the highest shift first
[19:44] <cone-692> ffmpeg.git 03Michael Niedermayer 07master:4641ae352ec5: avformat: Add and use ff_copy_whitelists()
[19:44] <cone-692> ffmpeg.git 03Eric Zimmerman 07master:4ba5420e4d36: Added support for G2M5 codec
[20:07] <ubitux> cehoyos: can we have a tag for the license violations?
[20:13] <cehoyos> https://trac.ffmpeg.org/query?status=!closed&type=license+violation
[20:13] <cehoyos> ?
[20:13] <cehoyos> ?https://trac.ffmpeg.org/query?type=license+violation
[20:14] <cehoyos> How do you install Medialooks?
[20:14] <cehoyos> I am curious to see the software license, I would be surprised if it is compliant...
[20:15] <cehoyos> (Ticket 3241)
[20:21] <ubitux> ah, there is a "type"
[20:21] <ubitux> i don't see it displayed in the tickets
[20:21] <ubitux> ah, on top, meh.
[20:37] <kierank> all the gpl violators are stalking me on linkedin
[20:38] <ubitux> haha
[20:39] <ubitux> just to check if you might attack them probably
[20:39] <ubitux> and see if it's worth the effort complying
[20:43] <Compn> haha
[20:43] <iive> kierank: can you post some ambiguous message, like "today we are going to hit another gpl violator. watch the news."
[20:44] <ubitux> :D
[20:44] <wm4> "mplayer developer makes death threat on the internet
[20:44] <wm4> "
[20:44] <iive> i was thinking of swat team swarming their building...
[20:45] <iive> and taking anything computer related :)
[21:32] <jamrial> unless i'm missing something, __atomic_compare_exchange_n() can't be used instead of __sync_val_compare_and_swap() without changing the avpriv_ wrapper
[21:32] <jamrial> which means changing the other implementations as well and waiting for a major bump
[21:35] <jamrial> the other three functions should be ok, though
[21:40] <wm4> jamrial: what's the problem?
[21:43] <jamrial> return type is different, it also tries to write to oldval if it fails
[21:48] <jamrial> __sync_val_compare_and_swap(*ptr, oldval, newval) compares *ptr and oldval, if equal writes newval to *ptr, and always returns the value of *ptr as it was before the operation
[21:49] <jamrial> _atomic_compare_exchange_n(*ptr, *oldval, newval, ...) compares *ptr and *oldval, if equal writes newval to *ptr and returns 1, if not equal writes *ptr to *oldval and returns 0
[21:50] <jamrial> the value of *ptr as it was before the operation is apparently lost if it succeeds
[22:33] <wm4> jamrial: can't you copy oldval?
[23:18] <jamrial> mmh, you're right. oldval will always be equal to *ptr as it was before the operation
[23:24] <cehoyos> kierank: Do you see an EULA when installing Medialooks?
[23:24] <kierank> don't know - was a long time ago
[23:25] <cehoyos> How is it supposed to be installed?
[23:25] <kierank> It's a dll if i remember rightly
[23:26] <kierank> not on a windows pc right now so can't check
[23:26] <kierank> cehoyos: I would like to get a hold of blue lucy
[23:26] <kierank> their other products
[23:26] <kierank> but you need to register and they know my name now
[23:27] <cehoyos> What is a blue lucy?
[23:27] <kierank> https://trac.ffmpeg.org/ticket/2908
[23:27] <cehoyos> I succeeded installing Medialooks (wine msiexec): It shows no EULA...
[23:27] <kierank> blue lucy have other products apart from a media player
[23:27] <kierank> I was at a meeting where they said it was "retired"
[23:27] <cehoyos> It does show an EULA: It is empty;-)
[23:28] <cehoyos> The Bluelucy link does not return a zip file...
[23:28] <kierank> yes because they retired that program
[23:28] <kierank> after i complained about enable nonfree
[23:29] <kierank> but they have other software that's almost certainly gpl violating
[23:29] <kierank> http://bluelucy.com/browse-proxy-transcoder/
[23:29] <kierank> almost certainly ffmpeg
[23:32] <cehoyos> I don't disagree but is this software really free? Why are they doing such an effort to keep it secret?
[23:33] <kierank> because then they can get the email address of sales contacts
[23:33] <kierank> so they can sell them more gpl violating software
[23:33] <kierank> it's a loss leader
[23:33] <cehoyos> Ok
[00:00] --- Sat Oct 25 2014
1
0
[00:04] <t4nk363> hi
[00:04] <Tatou> hi
[00:04] <t4nk363> any reason why vp8 does not like odd numbers where scaling/croping?
[00:05] <t4nk363> scale=max(180\,a*135):max(135\,180/a),crop=180:135 -> gives 180x134
[00:05] <kevmitch> that's not unique to vp8. most codecs are like that
[00:05] <c_14> It's actually not the codec, it's the pixel format.
[00:05] <t4nk363> or more like scale=180:135, crop=180:135:0:0
[00:05] <c_14> yuv420p only likes even numbers
[00:05] <kevmitch> for one the chroma (color) data is stored at half the resolution
[00:05] <t4nk363> aha, so what do you suggest
[00:05] <t4nk363> ?
[00:05] <c_14> make it even?
[00:05] <kevmitch> use even sizes
[00:05] <t4nk363> yeah i know that, but what if i need odd
[00:06] <c_14> use yuv444p
[00:06] <t4nk363> k, will try, thanks for the help
[00:16] <t4nk363> Incompatible pixel format 'yuv444p' for codec 'libvpx', auto-selecting format 'yuv420p'
[00:17] <t4nk363> even if i use libvpx-v9, same result
[00:17] <c_14> Hmm, seems vp8 only supports yuv420 and yuva420
[00:18] <c_14> Why exactly do you need an odd size?
[00:18] <t4nk363> thats the requirements i got :)
[00:19] <c_14> Can it be one bigger or one smaller?
[00:19] <c_14> Can you pad it so it's one bigger or one smaller?
[00:19] <c_14> A one pixel black border shouldn't be that bad.
[00:19] <c_14> Though a one pixel stretch usually isn't noticable either.
[00:20] <t4nk363> yeah, probably i will go with 134
[00:21] <kevmitch> http://ffmpeg-users.933282.n4.nabble.com/VP9-with-yuv444p-subsampling-td466…
[00:22] <t4nk363> but look at this
[00:22] <t4nk363> "width": 180, "height": 135, "has_b_frames": 0, "sample_aspect_ratio": "1:1", "display_aspect_ratio": "4:3", "pix_fmt": "yuv420p",
[00:23] <kevmitch> a fairly recent git commit 04b0dda853198980a14158809e560ea9ca9d7e33 looks to have hadded support for more than just 420
[00:24] <kevmitch> wait, that's just decoding
[00:24] <t4nk363> why with ogv the size can be 180x135..
[00:25] <kevmitch> and requires --enable-experimental --enable-vp9-high config options
[00:25] <kevmitch> ogv is a container. what codec? vpx, theora?
[00:26] <t4nk363> theora
[00:26] <kevmitch> who knows, maybe it stores a pad pixel and truncates it for display
[00:27] <c_14> I actually think several codecs do something similar.
[01:03] <t4nk363> strange, even padding doesnt work
[01:38] <kevmitch> t4nk363: define doesn't work
[05:40] <t4nk511> Hello. I'm trying to submit a patch to ffmpeg-devel(a)ffmpeg.org but for some reason it doesn't seem to be making it to the mailing list (for example when I check here: https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2014-October/date.html)
[05:41] <t4nk511> The commands I run are `git format-patch -1 --subject-prefix='FFmpeg-devel] [PATCH'`
[05:41] <t4nk511> That outputs a .patch file, which I then try to submit with: `git send-email blah.patch`
[05:42] <t4nk511> which asks for confirmation, then I say yes, and it then says Result: OK
[05:43] <t4nk511> oh, just realized I'm in the user-support channel. Re-posting in the ffmpeg-devel channel...
[07:17] <ruby_on_tails> i want to add a 8px border on the top and bottom of a video, i tried this: ffmpeg -i df1.mp4 -vf pad=1360:8:0:0:black df1-border.mp4
[07:17] <ruby_on_tails> but it doesnt work it says [pad @ 0x185f480] Input area 0:0:1360:752 not within the padded area 0:0:1360:8 or zero-sized Error opening filters!
[07:34] <relaxed> ruby_on_tails: what's the input frame size?
[07:34] <ruby_on_tails> 1360*752
[07:34] <ruby_on_tails> i want to make it 1360*768 by adding 8px black borders on top and bottom
[07:39] <relaxed> try -vf pad=1360:768:8:0:black
[09:36] <termos> I am now setting rtmp_buffer to 15 seconds, but it does not seem to introduce a 15 seconds delay. Is this value honored in FFmpeg?
[09:46] <pikovit> hey guys, any ideas about this problem from a couple of days ago... http://pastebin.com/eRUqSSTT
[16:26] <BlackDream> Hello, i'm trying to use PROXY with FFmpeg i noticed there is an httpproxy protocol in the available protocols
[16:26] <BlackDream> However i can't make it work
[16:26] <BlackDream> ffmpeg -i "httpproxy://proxy_ip:proxy_port/http://real_stream"
[16:26] <BlackDream> it is working like that? i didnt find any documentation
[17:37] <florolf> hi
[17:39] <florolf> i was just reading through mpegtsenc.c (http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/mpegtsenc.c;h=d7…)
[17:39] <florolf> shouldn't the block calculating the program info length (246-248) be placed *after* the loop?
[17:40] <florolf> the way it's written right now will always write a 0 there
[17:46] <c_14> I'm not sure of the specifics myself, but you'd probably be better off asking in #ffmpeg-devel or on the mailing list[s].
[17:52] <rcombs> florolf: huh, interesting
[17:52] <rcombs> c_14's right; probably best to ask on the ML
[17:52] <florolf> okay
[18:01] <florolf> rcombs: ffmpeg-devel? not sure if this counts as a "bug report". i'm also not submitting a patch (yet).
[18:08] <c_14> Personally, I'd probably send to -devel
[18:09] <florolf> okay
[19:49] <chuckp> what would I need to do this on a raspberry pi? http://www.raspberrypi.org/forums/viewtopic.php?t=45893
[19:49] <chuckp> I'm not wanting to do the varnish
[19:52] <OlafLostViking> Hi! I am using unpaper which seems to use ffmpeg. Since the last update to unpaper 6 I am getting the error "No codec provided to avcodec_open2()" as shown in pastebin.com/MTmZQWVy . Is there a known incompatibility or do I need to install additional packages provided by ffmpeg (that unpaper isn't finding at the moment)? (using Archlinux)
[19:59] <OlafLostViking> ltrace pastebin.com/axgDy6eq , strace pastebin.com/WgM4khMV
[20:24] <danomite> Are there any tutorials or examples on how to stream an IP camera?
[20:26] <edoardo> danomite: i successfully streamed a v4l device to another pc but it depends on the protocol of the camera
[20:27] <danomite> its an rtsp wrapped h264 video, no audio needed.
[20:48] <esing> Hi, how can I convert mp3 to aax?
[20:55] <kepstin-laptop> esing: you mean aac?
[20:56] <kepstin-laptop> first, do you have a really good reason to do so? lossy transcoding should be avoided whenever possible :)
[20:56] <kepstin-laptop> esing: and once you've decided that, read https://trac.ffmpeg.org/wiki/Encode/AAC if you still want to do it for some reason.
[20:57] <esing> kepstin-laptop: I mean aax, the audible format for amazon audiobooks. It's also mp3, but with the aax container
[20:58] <kepstin-laptop> huh, that's confusing. since x and c are beside eachother in qwerty layout, it looks just like a typo :)
[20:59] <esing> Hm I think I actually need the aa format, since aax seems to be the container for mpeg4 http://en.wikipedia.org/wiki/Audible.com#Quality
[21:01] <kepstin-laptop> esing: hmm, that just means the 'mp4' container, the codec is still mp3
[21:01] <kepstin-laptop> so you could just do something like ffmpeg -i file.mp3 -c:a copy file.mp4 and then rename the output, maybe
[21:02] <kepstin-laptop> might not accept it without some special meta info in the file tho.
[21:03] <esing> Mhm I see
[21:26] <sanooj> hey guys. I'm having trouble feeding my logitech c920 to a youtube live stream. youtube claims it's not receiving any data from the encoder
[21:28] <sanooj> but iftop shows bits certainly moving that direction at about the expected speed
[21:29] <sanooj> I'm running ./t/bin/ffmpeg -f v4l2 -vcodec h264 -i /dev/video0 -copyinkf -vcodec copy -f flv 'rtmp://x.rtmp.youtube.com/live2/<stream id here>'
[21:31] <sanooj> if I send it to a file instead of an rtmp server it works great, so I'm a little confused.
[22:06] <Sevanoo> Hi
[22:06] <sanooj> Hi Sevanoo.
[22:06] <Sevanoo> I have some problems with ffprobe
[22:07] <Sevanoo> sometimes when i check my streams it tell me thats not working. is there an way to make it check like 15 sec
[22:07] <Sevanoo> retry
[22:08] <sanooj> no idea. I'm a total newb. just being friendly. :)
[22:09] <Sevanoo> hehe no problem :) thanks to be friendly:)
[22:11] <BlackDream> Sevanoo add this in the beggining of the command -probesize 100M -analyzeduration 250M
[22:11] <BlackDream> ffprobe will get more accurate details
[22:12] <Sevanoo> oke thanks i will try
[22:23] <sanooj> can I upgrade the profile of an h264 stream from Contrained Baseline to Main without recompressing it it?
[22:25] <Mavrik> sanooj, uh, no.
[22:26] <sanooj> I'm thinking youtube might be dropping my live stream on the floor because it's constrained baseline instead of Main 4.1
[22:26] <Mavrik> That's like asking if you can turn english into german without rewriting the words ;)
[22:26] <Mavrik> I'm pretty sure YouTube can handle constrained baseline, since that's what most devices are recording nowdays :)
[22:27] <sanooj> do you happen to know if they require an audio stream? I don't have one
[22:27] <kepstin-laptop> constrained baseline is a subset of main; im pretty sure; anything that can handle decoding main should be able to decode constrained baseline
[22:28] <sanooj> how can I check the key frame frequency of my stream?
[22:29] <sanooj> mostly I'm stumped because I don't know what's wrong with my camera's stream that's causing it to claim it's not getting any data
[22:31] <Mavrik> hmm, it's possible that they need an audio stream yeah
[22:32] <sanooj> hey hang on. is my stream's url even correct? rtmp://x.rtmp.youtube.com/live2/<stream id here>
[22:32] <sanooj> they give the stream id and the url up to .../live2 separately. I took a wild guess and concatenated like the above
[22:35] <kepstin-laptop> that looks like it should be correct
[22:35] <kepstin-laptop> if you just want to try adding some silence, throw in a -filter_complex 'aevalsrc=c=2:exprs=0|0' to get some silence, and add appropriate audio codec options
[22:39] <sanooj> thanks kepstin-laptop. I'll try that once I'm convinced of my url. I'm seeing other kinds of urls on the internet ending in .../videolive?<PARAMETERS HERE>, but they don't go into what the parameters are :(
[22:40] <kepstin-laptop> I saw one note of a user who had a url like yours working, but they noted that it didn't work until they set the audio bitrate to some minimum value
[22:40] <kepstin-laptop> dunno
[22:41] <sanooj> aha. lemme try the audio then.
[22:41] <sanooj> youtube, y u no have error messages?
[23:16] <sanooj> apparently the audio thing was it
[23:16] <sanooj> once I added some audio youtube is no longer dropping it on the floor. now it's complaining I'm not sending keyframes often enough
[23:17] <sanooj> which is an improvement
[23:33] <edoardo> danomite: ffmpeg -i rtsp://@192.168.1.1:12345 -acodec copy -vcodec copy c:/abc.mp4
[23:46] <sanooj> so... it looks like I should be able to tune the key frame period because there's some experimental code in a libv4l2-hw-code library from 2012 that prints a bunch of encoding parameters
[23:47] <sanooj> including dwFrameInterval and wIFramePeriod
[23:47] <sanooj> but how do I set those parameters in ffmpeg?
[23:49] <c_14> You just want more keyframes?
[23:50] <c_14> set -g
[23:50] <c_14> (i think)
[23:51] <sanooj> my webcam is doing the encoding
[23:51] <sanooj> I'll try that.
[23:54] <sanooj> it says: Codec AVOption g (set the group of picture (GOP) size) specified for input file #1 (/dev/video0) is not a decoding option.
[23:55] <sanooj> unfortunately v4l2-ctl doesn't list any of the encoding parameters as controls
[23:58] <sanooj> I'm pretty sure I shouldn't need to be hacking ioctls into ffmpeg to get this working
[23:58] <c_14> Are you using -codec copy?
[23:58] <sanooj> yes
[23:59] <c_14> mhm
[23:59] <sanooj> because the webcam is doing the encoding.
[23:59] <c_14> In that case you'll have to convince your webcam to give you more keyframes.
[00:00] --- Sat Oct 25 2014
1
0
[00:01] <J_Darnley> If I had the skill I would probably attempt to replace the whole filter graph code with Lua.
[00:02] <J_Darnley> I would force everyone who needed escaping to instead use a file/script
[00:03] <ubitux> you can still use a file...
[00:03] <ubitux> it's just a "fonctional" logic :P
[00:03] <ubitux> functional*
[00:04] <ubitux> i kind of enjoy eval actually now
[00:04] Action: ubitux prepares for insults
[00:04] <J_Darnley> It is fun learning to (ab)use a specialized language
[00:04] <ubitux> the registers thing is not exactly handy though
[00:05] <ubitux> i mean, st() and ld() or fine but... not that could be better
[00:07] <ubitux> ffplay -f lavfi "aevalsrc='if(eq(floor(t),ld(2)),st(0,random(4)*3000+1000));st(2,floor(t)+1);st(1,mod(t,1));(0.6*sin(1*ld(0)*ld(1))+0.4*sin(2*ld(0)*ld(1)))*exp(-4*ld(1))'"
[00:07] <ubitux> this is my personal pride
[00:08] <J_Darnley> :)
[00:08] <ubitux> now i need to plug it some real melody
[00:20] <Compn> matlab plugin for ffmpeg ;)
[00:20] Action: Compn runs
[00:22] <ubitux> it's too bad i can't have arrays with eval though
[00:34] <J_Darnley> Hmm... Now I'm getting a strange problem.
[00:35] <J_Darnley> I am returning -1 from filter_frame in my A->V filter.
[00:35] <J_Darnley> This seems to be causing some (apparently) infinite loop with requests to my filter.
[00:36] <J_Darnley> But I am stopping with my debugging for the night.
[00:36] <J_Darnley> Perhaps I need to rebase my ffmpeg source.
[00:43] <michaelni> ubitux, what libavfilter email ?
[00:46] <michaelni> btw speaking of libavfilter and escaping, ive posted a patch months ago that basically removes all the need for escaping
[00:46] <michaelni> To FFmpeg devel (2.8K) [FFmpeg-devel] [PATCH] avutil/avstring: support asymmetric escaping in av_get_token()
[00:48] <llogan> michaelni: i presume "[FFmpeg-devel] Evolution of lavfi's design and API"
[01:05] <michaelni> llogan, it appears i didnt receive that mail (yet)
[01:23] <llogan> michaelni: odd. it's in the archives though https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2014-October/164429.html
[01:31] <michaelni> llogan, yes it was some local issue on my side, not completely sure what exactly but the mail is here
[01:38] <michaelni> llogan, seems i did run a apt-get upgrade a few seconds before i received that mail, somehow that made mutt miss the new mail, it appeared when i restarted mutt, havnt seen this before
[01:38] <llogan> i'll blame your usage of ubuntu
[03:19] <michaelni> ubitux, btw, that aevalsrc cmd you posted is cool :)
[04:59] <cone-475> ffmpeg.git 03Michael Niedermayer 07master:cebe8c809568: avformat/format: Use av_match_name() instead of list in av_match_ext()
[04:59] <cone-475> ffmpeg.git 03Michael Niedermayer 07master:3c0b98dced39: avutil/avstring: Reimplement av_match_list()
[05:03] <hungnv> I still looking for the way to transcode mpegts to mpegts without changing its duration, timestamp... Hope there's someone start looking at that issue...
[05:12] <rcombs> hungnv: use -mpegts_copyts 1 -copyts -vsync 0
[05:14] <hungnv> rcombs, implement -copyts using api is simply does not rescale timestamp when decode and encode frame, right?
[05:15] <rcombs> right
[05:16] <hungnv> thanks, hope it works
[05:32] <hungnv> rcombs, no different, ffmpeg still changes start time and duration with these options
[05:37] <rcombs> what are the source and final start and end timestamps?
[05:38] <hungnv> source : Duration: 00:00:15.08, start: 1.000000, bitrate: 1208 kb/s , output: Duration: 00:00:15.09, start: 0.989089, bitrate: 1129 kb/s
[05:38] <hungnv> command I use: ./ffmpeg_g -y -i ~/video0.ts -vcodec libx264 -vb 500000 -s 640x360 -f mpegts -aspect 16:9 -g 25 -keyint_min 50 -vf scale=640:-1 -copyts -mpegts_copyts 1 -vsync 0 ~/hung.ts
[05:38] <rcombs> you can read the actual timestamps with `ffprobe -show_frames`
[05:41] <hungnv> rcombs, http://pastebin.com/PH6zrXLn
[05:47] <rcombs> hmm, interesting that the final timestamps match
[05:47] <rcombs> can you reproduce this using ffmpeg CLI?
[05:48] <hungnv> ok, give me seconds
[05:51] <hungnv> http://pastebin.com/3MzAjdXX , it's the same thought
[05:51] <rcombs> alright, got a sample source .ts file and the full command line you used?
[05:54] <hungnv> rcombs, actually I opened a trac tickets 1 week ago
[05:54] <rcombs> link?
[05:54] <hungnv> https://trac.ffmpeg.org/ticket/4037
[05:55] <hungnv> but I will update with -mpegts_copyts 1 -vsync 0 -copyts to ticket
[05:59] <hungnv> rcombs, https://trac.ffmpeg.org/ticket/4037#comment:29
[06:14] <rcombs> hungnv: looks like it has to do with the audio codec, possibly something preroll-related
[06:14] <rcombs> hungnv: it works for me with `-acodec copy`
[06:14] <hungnv> really?
[06:14] <rcombs> yup
[06:15] <rcombs> and judging by that ticket, I wouldn't imagine you actually need to re-encode audio for this
[06:15] <hungnv> Actually I did try looking around changing various option with audio codec yesterday, got bad luck!
[06:15] <hungnv> rcombs, exactly
[06:20] <hungnv> yes, I works for me too
[06:20] <hungnv> you're amazing :)
[06:20] <rcombs> huzzah!
[06:21] <hungnv> one more question, do I have to implement -mpegts_copyts 1 and -vsync 0 or I just need to add the options before open the encoder?
[06:22] <hungnv> like ret = av_dict_set(&option, "mpegts_copyts", "1", 0); ?
[06:22] <rcombs> mpegts_copyts is a format option
[06:22] <rcombs> yes
[06:22] <hungnv> nice!
[06:22] <rcombs> vsync is an ffmpeg option; the value 0 is "passthrough" (i.e. it doesn't change timestamps at all)
[06:28] <hungnv> thank so much rcombs!
[06:30] <rcombs> welcome
[06:49] <ubitux> michaelni: yeah as llogan said, Nicolas' mail
[06:50] <ubitux> michaelni: the aevalsrc is just the one i wrote months ago which is present in the wiki with explanations (fancy filter thing); i need to add a real melody or something though, with a procedural algorithm or something :p
[06:54] Action: debianuser finally ported one more aevalsrc line for ubitux collection
[06:54] <debianuser> ffplay -f lavfi "aevalsrc='st(0,t*8192);st(1,mod(ld(0),4096));st(2,mod(ld(0)*(mod(floor(ld(0)/32768),2)*2+(mod(floor(ld(0)/16384),2)*mod(floor(ld(0)/32768),2))+6)/6,128));st(5,0);st(6,1);st(7,ld(0)/64);st(8,ld(2));while(gt(63,ld(6)),st(5,ld(5)+ld(6)*gt(not(eq(mod(ld(7),2),mod(floor(ld(7)/4),2)))+mod(floor(ld(7)/64),2)+mod(ld(8),2),.9));st(6,ld(6)*2);st(7,floor(ld(7)/2));st(8,floor(ld(8)/2)));(mod(floor(768/(ld(1)+1)),2)*32+ld(2)*ld(1)/8192+ld(5))/2
[06:54] <ubitux> debianuser: it's truncated by your irc client
[06:55] <ubitux> (512 char limit etc)
[06:55] <debianuser> It's 456
[06:55] <ubitux> yes, because of your username etc
[06:56] <debianuser> :(
[06:56] <ubitux> last part is "ld(5))/2"
[06:56] <ubitux> can you pastebin it somewhere or something?
[06:56] <debianuser> Heh. :) ...ld(5))/256'"
[06:57] <ubitux> oh
[06:57] <ubitux> okay
[06:57] <ubitux> !!
[06:57] <ubitux> awesome!
[07:00] <Compn> what is this trickery
[07:01] <ubitux> ...ld(5))/256',asplit[out0],showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt[out1]" for pretty output
[07:02] <Compn> that messes with the audio
[07:03] <Compn> for some strange reason
[07:03] Action: Compn sleeps
[09:12] <ubitux> michaelni: oh, thanks for 9bdb7a6c1a8bcc36cf276107fb2e6fca12687d40 :)
[10:10] <ubitux> debianuser: so did you port an existing code or is it written from scratch?
[10:40] <xata> Hello
[10:41] <xata> I want to use ffmpeg to demux the video stream, what part of ffmpeg libraries should i dig into?
[10:42] <ubitux> this is a question for #ffmpeg
[10:42] <ubitux> look at doc/examples
[10:42] <ubitux> (and to answer precisely, libavformat)
[10:43] <xata> ubitux: Oh, i see. This # is for developing the ffmpeg, not using ffmpeg. Thanks though
[13:21] <wm4> ubitux: so it looks like some subtitle formats read the file fully, some don't
[13:22] <wm4> e.g. srt -> it's fully read into memory on init
[13:22] <wm4> pgs -> it's read incrementally
[13:22] <wm4> vobsub reads .idx fully, but the .sub file apparently not, so it counts as incrementally read too
[13:23] <wm4> now... for fully read files, there's no need to keep the file open or to do demuxing in a thread (to protect against slow/high latency network)
[13:23] <wm4> but for things like pgs or vobsub, you want that
[13:24] <wm4> but the application can't know which is required, except encoding internal ffmpeg knowledge about the codecs
[13:24] <wm4> would a flag for "fully read" be reasonable?
[13:31] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:2de9c5ed98e4: avutil/avstring: fix hardcoded separator in av_match_list()
[14:03] <ubitux> wm4: almost all text subs can have their order totally fucked up, and they are often very small, so indeed we preload them completely
[14:03] <ubitux> it helps with seeking and the overall logic
[14:04] <ubitux> the .idx is text as well, and is basically the index, so indeed we preload this only
[14:05] <ubitux> wm4: i guess we could add a flag indeed; what's the use case?
[14:05] <wm4> for mpv (and probably any other player), there are two problems:
[14:05] <wm4> 1. the file is kept open for no reason
[14:05] <ubitux> streamed or something?
[14:05] <wm4> 2. network performance - network can be slow or stall, so if data must be read from network, we want to start a thread and run the demuxer inside the thread
[14:06] <wm4> but of course that would be a major waste of resources if it's not needed
[14:07] <ubitux> is it really going to waste anything?
[14:07] <ubitux> it will just be an inactive thread
[14:07] <ubitux> is it really a waste of process to keep the fd open?
[14:07] <ubitux> of ressources*
[14:07] <Compn> asking that question in a project where i've seen people optimize for an increase of 3 cpu cycles ;P
[14:08] <ubitux> it's not the same context
[14:11] <wm4> ubitux: consider loading 100 external subtitles
[14:16] <ubitux> wm4: ok
[14:19] <ubitux> wm4: so should idx have the full read flag or not?
[14:19] <wm4> ubitux: no, because reading packets still can read from the source
[14:19] <wm4> i.e. from network
[14:25] <ubitux> wm4: untested @ http://b.pkh.me/0001-avformat-WIP-add-AVFMT_FULLREAD-for-standalone-subti.p…
[14:26] <wm4> ubitux: looks good IMO
[14:26] <wm4> maybe clarify that even seeking doesn't access the underlying stream
[14:26] <ubitux> ok
[14:27] <wm4> or: that after opening, no further accesses to the avio are made
[14:27] <ubitux> i'll send tonight if you make me think about it (ping me in about 5-6 hours)
[14:27] <wm4> ok
[14:27] <ubitux> i'll clarify the doc etc
[15:44] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:24cd4e5071a7: avformat/hls: forward whitelists to mpegts demuxer
[15:44] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:c5e337431b79: avformat/sapdec: Forward whitelists to sdp demuxer
[16:02] <Daemon404> g 42
[17:09] <debianuser> ubitux: I just ported the code I've seen years ago to aevalsrc. I can explain its basic ideas if you're curious. But I don't remember where the algo came from. Some demoscene-related forum, maybe... It could be amiga assembler code initially. :)
[18:09] <cone-216> ffmpeg.git 03James Almer 07master:7292b0477ac8: x86/hpeldsp: fix loop in {avg,avg_no_rnd}_pixels16_x2_mmx
[18:10] <rcombs> echo "main(i){for(i=0;;i++)putchar(((i*(i>>8|i>>9)&46&i>>8))^(i&i>>13|i>>6));}" | gcc -x c - && ./a.out | ffplay -f u8 -
[18:31] <jamrial> rcombs: black magic
[18:32] <wm4> far too scary
[18:32] <wm4> ubitux: you wanted me to remind you!
[18:38] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:ad5f861b8ce3: avformat/libquvi: Forward whitelists to subdemuxer
[18:38] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:ad83cfec5ad2: avformat/mpeg: Forward whitelists to the mpegps demuxer
[18:38] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:b76234c00c7c: avformat/avidec: Forward whitelists to the subtitle demuxer
[18:38] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:feb9057b838e: Forward whitelists to the asf demuxer
[18:38] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:5ea0753a1536: avformat/concatdec: Forward whitelists to the subdemuxers.
[18:53] <ubitux> wm4: yup
[18:53] <ubitux> will do
[18:58] <wm4> thanks
[19:32] <debianuser> rcombs: Now convert that to aevalsrc syntax! ;)
[19:33] <rcombs> debianuser: I tried, actually, and got stuck on& I'm not quite sure
[19:35] <debianuser> let me guess - a missing XOR, OR and AND operations :)
[20:58] <cone-216> ffmpeg.git 03Andrey Utkin 07master:70c9d400087c: avformat/http: pass return code from http_open_cnx_internal() on its failure
[21:12] <SH_> Hello
[22:40] <jfhs_> hello, I'm not sure if I should write here or on ffmpeg, but it seems more as dev question. I'm now trying to encode subtitles to ass (from scratch, not re-encode, that's the crucial point) and ended-up with problem that subtitle header (containing style information, etc) is not written, only subtitle events. I've spent some time with sources, and it seems problem is in following. Subtitle header is written by write_header from avformat/assenc.c and
[22:40] <jfhs_> it gets it from avctx->extradata, which is filled only in ass_encode_init from avcodec/assenc.c. And here (as I think) is the problem, this function just copies avctx->subtitle_header to avctx->extradata. So let's see where subtitle_header is filled, and that's only in decoding parts, that's why for re-encoding everything works fine (if avcodec_copy_context is used) and fails for newly created stream. I tested all this using PyAV python binding, so
[22:40] <jfhs_> may be that's error in it, but according to source code, it's as I described. So I thought, maybe ass_encode_init should check and fill subtitle_header, if it is empty? Or maybe you have some other solution?
[23:09] <ubitux> jfhs_: "encode subtitles to ass, from scratch, not re-encode", wut?
[23:10] <ubitux> can you translate this to a ffmpeg command line so i understand what you mean?
[23:10] <jfhs_> I mean that it's not like ffmpeg -i input.srt out.ass
[23:10] <jfhs_> but create new subtitle stream, and then put there some AVSubtitle
[23:11] <ubitux> you have to fill the extradata with the header
[23:11] <ubitux> also, if no encode... why not work on the packet itself?
[23:12] <ubitux> using AVSubtitle means you'll have to "encode" it to ASS
[23:12] <ubitux> (which is currently doing something horrible that i'm trying to change)
[23:12] <jfhs_> I do encode packets
[23:13] <jfhs_> but I want it to be universal, so if I encode srt, I don't need any header
[23:13] <jfhs_> but if it's ass, I need it
[23:14] <ubitux> so you just want to feed the ass muxer with your already crafted packets?
[23:15] <ubitux> sorry if i'm a bit slow, but i don't see where AVSubtitles can be in use in your workflow
[23:15] <ubitux> it looks like you're just acting like a demuxer
[23:15] <jfhs_> I pass AVSubtitle to avcodec_encode_subtitle, then make a packet from it, and then mux it to container
[23:16] <ubitux> alright
[23:18] <ubitux> so the subtitles encoders are parsing the avctx->subtitle_header
[23:18] <jfhs_> they're not, they just write it, if it's there
[23:18] <ubitux> which is basically a ass header to interpret the markup into the Dialogues
[23:18] <ubitux> what?
[23:18] <ubitux> no
[23:19] <ubitux> the ass encoder is copying the subtitle header to its extradata
[23:19] <ubitux> because the ass muxer will need access to it
[23:19] <ubitux> to dump it at the top of the file
[23:19] <jfhs_> encoder, or decoder?
[23:19] <ubitux> encoder
[23:19] <ubitux> and the srt encoder reads it to understand the markup
[23:19] <ubitux> and don't put it in extradata because the srt muxer doesn't need it
[23:20] <ubitux> doesn't*
[23:20] <ubitux> i'm talking about libavcodec/{srt,ass}enc.c
[23:20] <jfhs_> well, where encoder should get smth to parse?
[23:20] <jfhs_> https://www.ffmpeg.org/doxygen/trunk/libavcodec_2assenc_8c.html#a5c382ba08a…
[23:20] <jfhs_> ass_encode_init, just copies subtitle_header to extradata
[23:21] <ubitux> that's what i said
[23:21] <jfhs_> yeah, but subtitle_header is empty
[23:21] <ubitux> the ass encoder doesn't need to do much about the Dialogues which are actually in ASS
[23:21] <jfhs_> never filled by anyone
[23:22] <ubitux> it's definitely filled
[23:22] <jfhs_> it's filled only on decoding
[23:22] <ubitux> yes
[23:22] <jfhs_> https://www.ffmpeg.org/doxygen/trunk/structAVCodecContext.html#ab781cbaef63…
[23:22] <jfhs_> I've looked all usages from here
[23:23] <jfhs_> soo, if I create new stream
[23:23] <jfhs_> there was no decoding using thats new stream encoder
[23:23] <jfhs_> and this filled isn't filled
[23:23] <jfhs_> *field
[23:24] <ubitux> well aren't you doing the decoding part?
[23:25] <jfhs_> I do, but that's not the point
[23:25] <jfhs_> I can copy that field
[23:25] <jfhs_> but what if I'm jsut generating subtitles
[23:25] <ubitux> you're supposed to generate a header
[23:26] <ubitux> the ffmpeg decoders use ff_ass_subtitle_header_default()
[23:26] <cehoyos> michaelni: I have pushed the patch that prints an error if "-vsync 0" and "-r" are used together to github. Please merge if you think it's ok.
[23:26] <ubitux> jfhs_: if you're generating subtitles, you're suppose to generate ASS, so you need a header anyway
[23:27] <jfhs_> okay, then will do it
[23:27] <jfhs_> thanks for explaining :)
[23:28] <ubitux> jfhs_: just curious, may i ask why you're not using ffmpeg decoders?
[23:30] <jfhs_> well, I'm using, but I use python binding, and I didn't copy streamcontext, but created new stream
[23:31] <jfhs_> with new encoder, which had that field empty, and so I had no headers in resulting file
[23:32] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:a1d06a0121cb: avcodec/options_table: Fix codec_whitelist flags
[23:32] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:00dbd7c4aee6: avcodec/utils: Print the codec name that is missing on the whitelist
[23:41] <cehoyos> kierank: Could you upload the installer for Archimedia Master Player?
[23:46] <cone-216> ffmpeg.git 03Carl Eugen Hoyos 07master:7a649e07830c: Print an error if -r and -vsync 0 are used together.
[23:46] <cone-216> ffmpeg.git 03Michael Niedermayer 07master:20aac40571a5: Merge remote-tracking branch 'cehoyos/master'
[23:47] <ubitux> wm4: sent, sorry about the delay
[00:00] --- Fri Oct 24 2014
1
0
[01:19] <bencc> I'm cropping and transcoding mkv video to mp4 but ms movie make can't play the video, only the sound
[01:19] <bencc> http://dpaste.com/08TEMR9
[01:19] <bencc> am I using unusual parameters?
[01:31] <bencc> llogan: http://dpaste.com/27D8K5W
[01:36] <llogan> bencc: i don't know if ms movie can decode lossless
[01:37] <iive> well, easy to find out. try a bigger number for quantizer :)
[01:37] <llogan> try 18
[01:37] <llogan> or a better format for editing
[01:37] <bencc> llogan: 18 what?
[01:37] <llogan> -crf 18
[01:37] <bencc> what's a better format for editing?
[01:38] <llogan> ut video probably
[01:38] <bencc> ut?
[01:38] <llogan> ut video
[01:38] <bencc> what is ut video?
[01:40] <llogan> a lossless codec
[01:41] <bencc> llogan: is it supported by default on windows?
[01:41] <bencc> what is the file extension?
[01:41] <PovAddict> codecs don't have file extensions
[01:42] <bencc> ok. I see I need something like ffmpeg -i input -codec:v utvideo -codec:a pcm_s16le output.avi
[01:42] <bencc> for utvideo inside avi container
[01:42] <PovAddict> do you know the difference between a codec and a file format / container?
[01:42] <bencc> does windows support it by default?
[01:42] <bencc> PovAddict: yes. I was wrong
[01:44] <bencc> does windows media player support ut video by default?
[01:44] <PovAddict> dI never heard of ut before, so I doubt Windows supports it
[01:44] <iive> bencc: first, try the -crf , then try other codecs.
[01:45] <bencc> iive: I'm trying it now
[01:45] <iive> you can use -t 1:0 to encode just one minute
[01:45] <iive> you don't need to finish the whole video for the test.
[01:46] <llogan> bencc: ms movie *may* support it if you install ut video first, then restart ms movie.
[01:46] <llogan> http://umezawa.dyndns.info/archive/utvideo/?C=M;O=D
[01:46] <bencc> llogan: I need to send the video to someone that work with microsoft movie maker
[01:46] <llogan> then they can install it
[01:46] <bencc> he won't be able to install additional codecs
[01:47] <PovAddict> is ut video encoding fast enough to do in real time?
[01:47] <iive> llogan: is there lossless vc1?
[01:47] <llogan> i don't know
[01:48] <llogan> i've use ut video in and out of premiere a few times
[01:49] <llogan> when i felt too lazy to use a frameserver
[01:49] <llogan> since i hate AME
[02:23] <bencc> crf 18 works. thanks
[02:26] <iive> crf 18 is equivalent to mpeg2 quant=2 . smaller quant gives better quality and bigger size
[02:33] <bencc> iive: microsoft movie maker couldn't handle crf 0
[02:33] <bencc> I'll try crf 1
[02:55] <dektec> Hello, I'm trying to output a video stream and an audio stream to separate FIFO files, that is, the video stream to one file, the audio stream to another fifo file, but it's not working
[02:56] <dektec> any ideas, please?
[03:02] <dektec> Ok, here's the pastebin showing input and outputs: http://www.pastebin.com/k8sDFhKt
[03:03] <dektec> i'm trying to pipe the video stream to fifo1.m2v, and the audio stream to afifo.mp2, this doesn't work, I can't pipe anything. However, when used individually, only one pipe, it works as expected.
[03:03] <dektec> even when one output is a fifo file, and the other output is a regular file, it works, but not when both outputs are set to fifo files
[03:03] <dektec> any ideas? I think I'm lacking in linux here
[03:05] <sacarasc> Why are you going for mpeg2?
[03:06] <dektec> it's required for the hardware I'm working on
[03:06] <sacarasc> What is going wrong?
[03:07] <dektec> when trying to ffplay one of the fifos, nothing happes, it's like the fifos were empty
[03:07] <dektec> *happens
[03:07] <sacarasc> Which one?
[03:08] <dektec> any of the two
[03:08] <dektec> but when I set the output for 1 fifo, and 1 regular file, everything works fine. I can ffplay the fifo just fine
[03:09] <dektec> Is it actually possible in linux to output to 2 different fifo files simultaneously?
[03:13] <PovAddict> you can't read from just one
[03:13] <PovAddict> because ffmpeg will be writing to both simultaneously, if you read from one, you get just a chunk of the video and then ffmpeg is blocked writing to the other, with nobody reading
[03:14] <PovAddict> try ffplay fifo.m2v, and simultaneously, cat afifo.mp2 > /dev/null
[03:15] <dektec> would that be ffplay fifo.m2v && cat afifo.mp2 > /dev/null ?
[03:15] <dektec> trying it now
[03:15] <PovAddict> no, that would wait until ffplay quits before running cat
[03:15] <PovAddict> do it in two consoles
[03:16] <PovAddict> so they are simultaneous
[03:17] <dektec> wow that worked!
[03:18] <PovAddict> great
[03:18] <PovAddict> you could also try two ffplays :)
[03:18] <dektec> amazing, but I thought that ffmpeg just wrote the fifo and didn't care if someone is reading it?
[03:19] <PovAddict> the write blocks if nobody is reading, that's an operating system thing
[03:19] <PovAddict> where would the data go otherwise? dropped?
[03:19] <PovAddict> stored in an infinite-size buffer?
[03:19] <llogan> dektec: now get rid of your -tune and -preset since those do nothing with mpeg2video
[03:20] <llogan> why did you add -r 23? your input is 24000/1001
[03:27] <dektec> hehe, thnaks
[03:27] <dektec> *thanks
[03:28] <dektec> i need to set -r 23, otherwise video freezes for some reason
[03:28] <dektec> i'm streaming to a modulator hardware for digital tv
[03:58] <PovAddict> I had to move my DVD menu from the VMGM to the titleset, and now I can set it to entry="root", so the 'menu' button on my player remote goes to the menu \o/
[04:23] <onyx> hey guys, is it possible to crop a 4:3 livestream to 16:9 while recording it?
[04:23] <PovAddict> crop top and bottom you mean?
[04:23] <onyx> yes
[04:23] <PovAddict> sure is
[04:24] <onyx> so it goes from 4:3 to 16:9 format
[04:24] <PovAddict> do you already have a command for basic recording?
[04:24] <onyx> yes one sec
[04:24] <onyx> this is what Im using http://pastebin.com/195KgWvQ
[04:29] <groxx> Can someone help me figure out why my crop filter seems to be ignored?
[04:30] <PovAddict> onyx: sorry, got distracted by other channels :)
[04:30] <onyx> PovAddict: you see my command?
[04:30] <PovAddict> yes
[04:31] <PovAddict> try -vf crop=out_h=in_w/16*9
[04:31] <onyx> ok
[04:38] <groxx> Some more info perhaps: I'm building ffmpeg for Android, from the ffmpeg-android github repo. crop is in the list of filters, but despite passing `crop=168:168:0:21` nothing gets cropped. is there any way I can debug this further? on older versions I would see [crop <etc>] <crop details> in the output, but there's nothing like that now.
[04:44] <onyx> PovAddict: where in the command should I add that part?
[04:51] <PovAddict> anywhere between the input and output
[04:51] <onyx> ok
[04:51] <PovAddict> ffmpeg -i http://serverip:1935/livestream -acodec copy -vcodec copy -t 5:00 -vf crop=blah /pathto/videoname-$(date +\%Y-\%m-\%d).mp4
[04:54] <onyx> PovAddict: didnt work
[04:54] <onyx> no error or anything, it doesnt do anything
[04:55] <PovAddict> it saves the video unmodified?
[04:55] <onyx> no it doesnt do anything at all
[04:55] <PovAddict> could be a problem with the server? try removing the -vf stuff again
[04:57] <onyx> mmm... wierd now it just hanging there
[04:57] <onyx> wait a min
[04:57] <onyx> this make the not show anything right > /dev/null 2>&1
[04:57] <PovAddict> lol yup
[04:58] <onyx> lol
[04:58] <onyx> ok now trying without that -vf part
[05:00] <Akagi201> Why does ffmpeg has some function has a number after the name, like avcodec_open2, but I can't find avcodec_open function?
[05:00] <Akagi201> Why does ffmpeg has some function with a number after the name, like avcodec_open2, but I can't find avcodec_open function?
[05:14] <rcombs> Akagi201: that happens when the API changed, so a new function name (with a 2 or 3 or &) suffix was added, and then later the previous version was deprecated and removed
[05:16] <Akagi201> rcombs: This trick is not very elegant
[05:17] <rcombs> Akagi201: it's really the only way to update a C API while maintaining backwards compatibility for some period
[05:30] <onyx> PovAddict: im getting this error Filtergraph 'crop=out_h=in_w/16*9' was defined for video output stream 0:0 but codec copy was selected.
[05:30] <onyx> Filtering and streamcopy cannot be used together.
[05:30] <PovAddict> ah yes
[05:30] <ghostwagon> is it at all possible to get hold of the rtmpdump v2.5 source?
[05:30] <PovAddict> you're saving the stream unmodified
[05:30] <PovAddict> if you want to do any filtering, you need to reencode it
[05:30] <onyx> oh booo
[05:31] <PovAddict> you can do it as you download, if your CPU is fast enough
[05:31] <onyx> is a single core
[05:31] <onyx> with little ram too
[07:08] <t355u5> Does anybody know what configure option is required to have LPCM support in ffmpeg?
[08:16] <ruby_on_tails> how can i totally remove the audio codec from a video
[08:16] <ruby_on_tails> my video doesnt have any audio and something is wrong with the audio codec definition due to a problem while transcoding it elsewhere
[08:16] <ruby_on_tails> i want to get rid of any audio info to make the video work, it fails in many players
[10:45] <xata> Hello
[10:46] <xata> I have a video data to be demuxed in array, can i use lavf to do this? Or it is file-only?
[10:52] <ubitux> what does that mean?
[10:52] <ubitux> you can use a rawvideo input
[10:53] <ubitux> look at doc/examples/demuxing_decoding.c
[10:53] <ubitux> ignore the decoding part
[10:53] <ubitux> force the input format as "rawvideo"
[10:53] <ubitux> set the pixel format and dimensions
[10:53] <ubitux> and that's it
[10:55] <ubitux> basically, the same as if you were doing ffmpeg -f rawvideo -pixel_format rgb24 -video_size 320x240 -i "pipe/fifo/whatever" -f null -
[11:00] <xata> ubitux: well imagine i have a mpeg2-file in array. I want the video to be decoded on hardware using external library, but first i have to separate the video from audio and other data. How do i do that - is there something like this in examples?
[11:04] <ubitux> "a mpeg2-file in array"?
[11:05] <termos> is it possible to set the Decoded Picture Buffer (DPB) in FFmpeg somehow?
[11:11] <xata> ubitux: yup. a mpeg2 encoded file fully loaded to memory (array of 8bit ints)
[11:13] <ubitux> xata: o_o
[11:13] <ubitux> xata: well then you might need to redefine the avio layer
[11:14] <ubitux> look at doc/examples/avio_reading.c
[11:17] <xata> ubitux: thanks!
[13:11] <termos> Is there a good way to add salt & pepper noise to ffmpeg output? The noise filter only seems to support other types of noise
[13:46] <Alina-malina> hmmm is it possible to do transition effect with ffmpeg? for example i have 1 video playing so i want to stop it and replace with another one immideatly, but while it is playing? for example i play a movie it is streaming, then i hit a hotkeys and it does a transition to other movie, but without stoping the process, soft transition?
[13:47] <Alina-malina> and for example if i hit another hot key it make a transition to other movie to the exact video time?
[13:47] <klaxa|work> no, i don't think ffmpeg is able to do that
[13:49] <Alina-malina> hmmm
[13:49] <Alina-malina> what can i use then for that?
[13:49] <Alina-malina> :-/
[14:51] <termos> how can I set analyzeduration using the C api?
[14:56] <c_14> Pretty sure it's max_analyze_duration2 in AVFormatContext
[15:05] <termos> hm yes, that was easy :) it says no direct access though
[15:07] <termos> av_opt_set_int(inout_context->priv_data, "analyzeduration", 10 * 100000, 0) i guess?
[15:10] <c_14> try it, I'm not that great with the api
[15:18] <termos> hm okey, analyzeduration is not really doing what I wanted it seems.
[15:18] <termos> I wanted to increase the input buffer, increasing the delay of the streaming but making it more robust with regards to unstable/laggy input streams
[15:20] <c_14> most input protocols have a dedicated buffer option you can set
[15:25] <termos> the input is an rtmp stream, do you know how to set its buffer?
[15:26] <c_14> rtmp_buffer ?
[15:37] <termos> ok, I could set it but it doesn't look like it's being honored
[15:39] <termos> I see it's by default 3000ms = 3 seconds, setting it to 13000 should be 13 seconds delay but there seems to be no difference
[15:39] <c_14> eh, you could try adding a buffer filter, but other than that, I'm out of ideas
[15:50] <termos> okey thanks :) I was hoping to get the frames buffered before the decoding+filter graph
[16:11] <Tatou> hi
[16:12] <seasc> hi
[16:12] <Tatou> So, i have problem for burn subtitles into video
[16:12] <Tatou> '-'
[16:14] <Tatou> i can't configure libass
[16:14] <Tatou> :p
[16:14] <seasc> try ass
[16:14] <seasc> :p
[16:14] <Tatou> okay
[16:14] <Tatou> xD
[16:14] <seasc> or if it fails as well, try copy
[16:17] <seasc> me want to add another audio stream to a video(which already has audio, i want both). When i just add '-i audiofile.aac' while encoding it completes successfully, but doesnt include the additional audio stream
[16:17] <c_14> -map 0 -map 1
[16:17] <Hello71> i feel like there should be -map 0,1
[16:18] <seasc> i have that for the main file anyway
[16:18] <c_14> ffmpeg will only copy one video and one audio stream by default
[16:18] <c_14> If you want more, you'll have to tell it that.
[16:18] <seasc> well... -map0:v and map 0:14
[16:18] <seasc> ffmpeg -v quiet -i "demo-1080-movie-weird-subtext.mkv" -i "demo-anime.id1.aac" -strict -2 -map 0:v -c:v libx264 -ac 2 -c:a aac -map 0:4 -metadata description='Encoded by VHS (Video Handler Script 1.0.5), using ffmpeg 2.1.5' -f mp4 "demo-1080-movie-weird-subtext.0.mp4"
[16:19] <c_14> add -map 1
[16:19] <seasc> just after demo-*aac ?
[16:19] <seasc> or anywhere?
[16:19] <c_14> eh anywhere after demo-anime and before movie-weird-subtext should be fine
[16:21] <seasc> weird-subtext is in ahead alraedy, did you notice? Because other way around it failed due to 'misaligned' streams
[16:21] <c_14> eh, the output one
[16:21] <seasc> just after demo*aac then... thank you
[16:22] <seasc> ah ok
[16:22] <seasc> thank you
[16:22] <c_14> Didn't notice that the string I chose wasn't unique.
[16:36] <seasc> Now it fails: http://pastebin.com/pDjGwuCQ
[16:38] <c_14> You want -map 1 not -map 0:1
[16:38] <seasc> Ahh
[16:38] <seasc> used to 0.* :P
[16:38] <c_14> -map 1 maps all streams from the first (second) file, -map 0:1 maps the first (second) stream from the zeroest (first) input file
[16:39] <seasc> Ahh i see, thank you very much
[16:53] <seasc> weird, it fails when i add more than one audiofile to be included.. "-i INPUT -i F1 -map 1 -i F2 -map 2"
[16:53] <c_14> the maps go after the last input file
[16:53] <c_14> and before the output file you want it to go to
[16:53] <seasc> ok thank you
[16:54] <seasc> i assume filter_complex as well?
[16:55] <c_14> yep
[17:33] <seasc> when i uses my webcam as overlay to the screen resocrding, i use this: guide_complex="'[0:v:0] scale=320:-1 [a] ; [1:v:0][a]overlay'".... what do i need to change when i want (file&file) to make my 2nd file as overlay and the first one beeing the 'ground'? (currently its 2nd is 'ground' and 1st is overlay)
[17:34] <c_14> put the [a] in front of the [1:v:0]
[17:35] <kepstin-laptop> the order of inputs to the overlay filter is what does that; the first input is the bottom, the second input is the top.
[17:36] <seasc> dang, so no number switching in: [0:v:0] ?
[17:36] <kepstin-laptop> hmm? no, you just change [1:v:0][a]overlay to [a][1:v:0]overlay
[17:36] <seasc> @ kepstin-laptop no its not, its the second as background (bottom) and first as overlay (top)
[17:39] <kepstin-laptop> seasc: mind pasting your entire command somewhere? the order that the -i are in the command line is important
[17:39] <kepstin-laptop> [0:v:0] matches the first -i, and [1:v:0] matches the second -i
[17:42] <seasc> currently fixing that part within the script that does generate that part of the command
[17:49] <delet> libavformat/http.c:906:1: error: control reaches end of non-void function [-Werror=return-type]
[17:49] <delet> }
[17:49] <delet> ^
[17:49] <delet> cc1: some warnings being treated as errors
[17:49] <delet> make: *** [libavformat/http.o] Error 1
[17:49] <delet> why?
[17:54] <seasc> kepstin-laptop, c_14, http://pastebin.com/Gq2B36vS
[17:56] <kepstin-laptop> seasc: do you want the first input or the second input to be the background in the overlay? And what resolution do you want the final video?
[17:56] <kepstin-laptop> right now you're rescaling the file "demo-1080-movie-weird-subtext.mkv" to 320×nnn
[17:57] <seasc> i want the 'anime' as overlay
[17:57] <seasc> original resolution
[17:57] <seasc> well.. the overlay as 320xnnn
[17:57] <kepstin-laptop> ok, you have a mess of -map options that should mostly be deleted there
[17:58] <Diogo> hi this is possible to generate a mpeg ts with this struture..
[17:58] <Diogo> ffmpeg -y -i rod.mp4 -force_key_frames 2,2,3,3,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9 -codec:v libx264 -r 25 -g 25 -codec:a libfdk_aac -f stream_segment -segment_times 2,2,3,3,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9 -segment_format mpegts
[17:58] <Diogo> stream%d.ts
[17:58] <Diogo> 2 seconds 2 seconds 3 seconds 3 seconds .....
[17:58] <Diogo> and ends with 9 seconss?
[17:58] <seasc> kepstin-laptop, they are the audio streams from the first input (weird subtext)
[17:58] <kepstin-laptop> seasc: if you want to rescale the second input to 320xwhatever, then the input to the scale filter should be [1:v:0] - the first number is the input number; 0 is first input, 1 is second input, and so on.
[18:03] <kepstin-laptop> so, to use the 1080-movie file as the background and add a 320x copy of demo-anime on top, you'd want something in your filter-complex like "[1:v:0]scale=320:-1[a];[0:v:0][a]overlay"
[18:04] <seasc> ahahah ok... i was changing the wrong value... thank you kepstin-laptop i'll try this
[18:04] <kepstin-laptop> seasc: or you could just switch the order of the -i options and use your original filter chain
[18:05] <kepstin-laptop> (but that would mean changing all your map commands around)
[18:05] <seasc> right, thats why i prefer to make another complex filter string :)
[18:06] <kepstin-laptop> you have a bunch of map commands there which are either referring to video tracks or are ambiguous, you might want to check them all and see which are needed
[18:06] <xata> What version of SDL is needed to build ffplay? 1.2 or 2?
[18:06] <kepstin-laptop> xata: my copy's built with 1.2; i dunno if it supports 2.
[18:07] <seasc> kepstin-laptop, which map command would be ambigous? the 0:4 or the 0:v?
[18:08] <kepstin-laptop> seasc: well, the 0:v refers to a video track, which is unnessary with the type of filter chain being used
[18:08] <kepstin-laptop> the -map 1 near the start of the command could be ambiguous
[18:08] <kepstin-laptop> but it doesn't actually seem to be causing issues at the moment
[18:09] <seasc> the 0:v is used (generated) as soon the main input file has a video stream which is to keep.
[18:09] <xata> kepstin-laptop: thanks
[18:10] <kepstin-laptop> seasc: but your filter chain is taking 0:v and 1:v explicitly as inputs, and outputing a completely new video track
[18:10] <kepstin-laptop> so using -map 0:v there is a bit confusing
[18:12] <seasc> kepstin-laptop, yes, but as i said, its a script generating the command, and the -filter_complex 'filter' is only added if another input to be added is provided... it is not taking it 'doubled', yet....
[18:12] <kepstin-laptop> I'm not sure it's entirely wrong; depending on where it's being applied it might actually be selecting the output of the filter chain, which would have been selected by default anyways
[18:14] <seasc> kepstin-laptop, i'll do a few 'test-runs' and see what happens, if it wails you've already pointed out a likely (?) possiblity... Thank you again!
[18:15] <seasc> kepstin-laptop, oh one last thing... now i have the overlay audio as 'default' audio, the main file's audiostream has id 3
[18:15] <kepstin-laptop> but pretty much the only times you have to use map are if a) you want to include multiple tracks of the same type in the output, or b) the wrong track is selected
[18:16] <seasc> or if you have diffrent inputs
[18:16] <kepstin-laptop> well, you don't need them unless the wrong track is selected
[18:19] <kepstin-laptop> fun, you have 3 different audio tracks from those two files; 0:4, 1:2, and 1:3
[18:19] <seasc> yeah the anime has 2 streams, eng jap
[18:19] <kepstin-laptop> the default selected would be the first one, from the movie file
[18:19] <seasc> its the english from the overlay
[18:20] <seasc> anime
[18:20] <kepstin-laptop> oh, it's selected 1:2 by default?
[18:20] <kepstin-laptop> that might be because of the "-map 1" near the start of your command line
[18:20] <seasc> they're just sample files... i take them as reference when trying out somethign new.. like this
[18:21] <seasc> but there's a -map 0:4 afterwards
[18:21] <seasc> so that 0:* is weaker than the '0' (here 1)
[18:21] <kepstin-laptop> seasc: the "-map 1" selects all the audio tracks from the anime file; then the "-map 0:4" adds a third audio track from the movie
[18:21] <kepstin-laptop> the output file will have 3 audio tracks
[18:22] <seasc> i'm not irritated that it has 3 audio trask
[18:22] <seasc> i'm irritated that the one played by default is the one from the anime, which is overlayed
[18:22] <kepstin-laptop> the order of the -map commands results in the order of the tracks
[18:22] <seasc> isee
[18:23] Action: seasc is digging in code
[18:23] <kepstin-laptop> so if you want the audio track 0:4 before 1:2 and 1:3, then do the -map 0:4 before the -map 1
[18:25] <seasc> kepstin-laptop, figured already, as i've changed the code now accordingly... hope its working as expected now :)
[18:26] <seasc> GREAT! kepstin-laptop <3
[18:28] <kepstin-laptop> seasc: you probably want to use -c:a copy rather than doing a lossy transcode from ac3 to ac3; unless you are trying to do a surround to stereo downmix?
[18:28] <seasc> thats up to the script user
[18:29] <seasc> but you're right, copy would have been faster too
[18:35] <Guest97882> hello, please help. compiling ffmpeg on Windows 7 got an "ERROR: opus not found" ... file opus.pc is needed .. .can anyone explain please where to get it?
[18:50] <Guest97882> Package opus was not found in the pkg-config search path. Perhaps you should add the directory containing `opus.pc' to the PKG_CONFIG_PATH environment variable
[18:50] <Guest97882> I have opus libs but there is no any opus.pc files
[19:36] <bofh> Hello! Where can I read more about conditional expressions in filters, like 'if(between(...))'?
[19:40] <VJ> Hi... I can get the container name from AVInputFormat->iformat->name which is a const char*. But is there an enumeration similar the ones we have for AVCodecID? Something like AVContainerID maybe? Disclaimer: This is my first post to this IRC and a new ffmpeg user.
[19:44] <PovAddict> http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/TV-PG_icon.svg/300…
[19:44] <PovAddict> I want to extract the timestamps at which that thing appears on the video, what do you suggest?
[19:45] <PovAddict> I don't mind writing my own program, I just don't know where to start with finding a pattern in an image
[19:45] <PovAddict> and doing it quickly, since I have to inspect every frame
[19:46] <LexRussia> hey
[19:46] <LexRussia> tell me please, ffmpeg 2 is equally libav 10?
[19:46] <LexRussia> or 11...
[19:46] <PovAddict> both are evolving on their own, so they are diverging in what they can do
[19:46] <LexRussia> shit
[19:48] <PovAddict> for starters, let's say I write a program that can tell if the TV/PG logo is in a frame, how do I run it on every frame of the video easily? afaik decoding via the ffmpeg libraries is quite involved :/
[19:48] <PovAddict> are there python bindings at least?
[20:10] <VJ> Could someone point me in the right direction please? Is there an enumeration for container types similar to the way there is one for the codecs i.e something similar to AVCodecID? I couldn't find one so far after searching a lot...
[20:11] <seasc> VJ, all i know is ffmpeg -decoders // ffmpeg -encoders
[20:12] <seasc> other than that... a container CONTAINs the streams, of which the limitiations of codecs are only set by a few containers, such as flv or wma...
[20:12] <VJ> Thanks seasc, that gives me a list of the codecs. ffmpeg -formats gives me the containers
[20:13] <kepstin-laptop> VJ: well, the container types are "formats"; in the api, you can iterate through the list with av_iformat_next or av_oformat_next
[20:14] <VJ> For example, I am trying to determine programatically if the stream I get is a transport stream container or a mp4 container by using avformat_find_stream_info()
[20:14] <JEEB> they're not integers as far as I know, but strings. so you have to do string comparisons I would say
[20:15] <VJ> Thanks kpestin-laptop and JEEB.
[20:15] <PovAddict> I think I'll use opencv for my task
[20:15] <VJ> JEEB, I think you are right, I see this - AVInputFormat Struct Reference const char *name and const char *long_name
[20:15] <JEEB> you should use the name
[20:15] <VJ> So, I guess, the only way then is to do a string search to see if I have a matching format.
[20:15] <JEEB> the long_name is a generic description
[20:16] <VJ> Hopefully the names don't change much with ffmpeg version changes... so for example mpegts hopefully doesn't become MPEG-TS in the future.
[20:17] <JEEB> nah
[20:17] <VJ> Thanks for your inputs JEEB. I just wanted to make sure I didn't miss some enumeration. Thx guys!
[20:17] <kepstin-laptop> the short name is almost certainly gonna stay the same, yeah
[20:17] <JEEB> yup
[20:18] <JEEB> so many people already depend on them so it's not really simple to change them
[20:18] <VJ> gotcha. good point!
[20:56] <BlackDream> Hello i have one question
[20:56] <BlackDream> In some Streams i see that the audio codec has 48000 hz sample rate but its playable with flv container
[20:56] <BlackDream> in some other streams i see that it says an error with sample rate 48000 that is not supported on FLV container
[20:57] <BlackDream> how is that possible :/
[21:16] <SH_> Hello?
[22:21] <seasc> I want a movie with 2 video overlays(bottom-left & bottom-right), but i only get one... http://pastebin.com/nQ6gH1s7
[22:26] <c_14> You can only have 1 filter complex per output
[22:26] <c_14> name the implicit output pad of each filtergraph, combine the filtergraphs with a ; and map both output pads
[22:27] <c_14> or eh, sec
[22:27] <c_14> name an output pad for the first overlay filter, and use that pad as the input for the second overlay filter
[22:27] <c_14> then map the output of the second overlay filter
[22:54] <seasc> i'm not getting it... i rather encode "the video" 2 times - making this (even just the first nonworking suggestion) generated by code gets insane anyway ;) -- done is better than perfect
[22:54] <seasc> c_14, thank you
[23:10] <adam_89> Hi guys! Could you help me please? I'm trying to resize a video with this command: ./ffmpeg -y -i test/100\ Folk\ Celsius\ -\ Lányok\ szívében\ lakom-BrpwcTnSh6Q.mp4 -filter "scale=w=800:h=600" frames.avi, I get "Cannot connect video filter to audio input" error. It works fine with "-an" option, but i want the new video to have audio. Here you
[23:10] <adam_89> can see the whole ffmpeg output: http://pastebin.com/UuRPUc26 Thank you in advance
[23:11] <c_14> use -vf instead of -filter
[23:11] <c_14> Or use -filter:v
[23:14] <adam_89> thank you :)
[00:00] --- Fri Oct 24 2014
1
0
[00:16] <cone-665> ffmpeg.git 03Vittorio Giovara 07master:b69183f65d0f: nutenc: check for negative index rather than assert
[00:16] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:dd3f1563d766: Merge commit 'b69183f65d0f6f4cd7a4e6c0deb57d59b0185aba'
[00:42] <amalia> ramiro ping
[00:53] Last message repeated 1 time(s).
[00:53] <amalia> michaelni I am running Scientific Linux 6.4 right now on my machine. Is it eligible for FATE testing ?
[00:59] <rcombs> amalia: sure
[00:59] <rcombs> run `make fate` with the relevant sample configuration
[01:02] <michaelni> amalia, is that running inside virtualbox/qemu or the host OS of the machine
[01:03] <cone-665> ffmpeg.git 03Vittorio Giovara 07master:af7ca6ea124b: nutdec: check av_new_packet return value
[01:04] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:42316907b874: Merge commit 'af7ca6ea124b82b337a6b96e10963e88eba57ebe'
[01:06] <amalia> michaelni The host OS of the machine is Scientific Linux 6.4
[01:11] <michaelni> ahh, ok, did ramiro give any instructions what you should do for the qualification task ? i dont want to create confusion by suggesting something different
[01:11] <michaelni> either way we dont have a Scientific Linux fate client yet
[01:13] <amalia> Great. So setting up FATE on this SL6 client can be a qualification task right ? ramiro Gave me no qualification task
[01:13] <kierank> no
[01:14] <kierank> setting up fate doesn't involve programming
[01:14] <michaelni> kierank, opw doesnt require programming
[01:14] <kierank> really?
[01:14] <kierank> oh
[01:14] <kierank> my bad
[01:14] <michaelni> opw != gsoc
[01:14] <amalia> :)
[01:15] <amalia> I've got a Desktop machine which runs SL6 and Fedora upon which I can install virtual box
[01:15] <amalia> Hope that helps
[01:16] <michaelni> a virtualbox SL6 fate client which submits results to our server should work as part of the qualifiation yes
[01:17] <michaelni> but non virtual would be a bit difficult, as we want to run the fate client regularly and long term
[01:17] <michaelni> and i think neither we nor you have a dedicated box for every client ;)
[01:35] <michaelni> amalia, so, i would suggest you install virtualbox and then create a new virtualbox client with 10gb virtual disk and install SL6 in that virtual client, then install gcc, rsync, ssh, ccache, git in it, git clone ffmpeg and setup a script which runs/submits fate results to the server on it
[01:37] <michaelni> ramiro should still have an old script that does the fate running in a loop, that can be used probably
[01:37] <cone-665> ffmpeg.git 03Carl Eugen Hoyos 07master:b6e8f10bcbf2: lavf/cinedec: Fix a typo in the file header.
[01:38] <amalia> Okay. he told me about the script yesterday. I'll ask him for it
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:3998071039b2: avcodec/qpeg: fix off by 1 error in MV bounds check
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:1ac4ae2a32d1: avcodec/smc: fix off by 1 error
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:603f4ecd14a1: avcodec/svq3: Dont memcpy AVFrame
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:fdc8f4e5b4f1: avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:cbfd6b1fa4b1: avformat/mpegts: Check desc_len / get8() return code
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:5926bea980ad: avformat/mpegts: use a padded buffer in read_sl_header()
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:279003eb9ede: avcodec/h264: Check mode before considering mixed mode intra prediction
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:e2e0c5b7f64d: avcodec/hevc: fix chroma transform_add size
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:5f7e48a11391: avcodec/on2avc: Check number of channels
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:1ebd7d2ccfe1: swresample/swresample: fix sample drop loop end condition
[02:26] <cone-665> ffmpeg.git 03Christophe Gisquet 07release/2.3:f2fba0749486: utvideoenc: properly set slice height/last line
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:d887a1214588: postproc/postprocess: fix quant store for fq mode
[02:26] <cone-665> ffmpeg.git 03Michael Niedermayer 07release/2.3:0f4c149730f1: postproc: fix qp count
[02:26] <cone-665> ffmpeg.git 03Lukasz Marek 07release/2.3:4fbdac00e94e: lavd: export all symbols with av_ prefix
[02:47] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:c5ffd7aee5a6: avcodec/mjpegdec: use FF_CEIL_RSHIFT() for width
[03:14] <cone-665> ffmpeg.git 03James Almer 07master:e397edbfbab0: tools/crypto_bench: add CAST5 support
[08:25] <rcombs> <Bucket> FFFT is Fuckin' Fast Fourier Transform
[10:04] <wm4> nevcairiel: how good is the ffmpeg_dxva2.c code actually? I assume it's perfectly sane, but lacks hacks for old hw or drivers?
[10:04] <nevcairiel> probably something like that
[10:06] <wm4> still sounds good enough
[10:58] <Daemon404> interesting
[10:59] <Daemon404> the image3 (format_pipe formats) causes a slight regression in that it no longer reports nb_frames=1
[11:00] <wm4> someone is using nb_frames?
[11:02] <Daemon404> i dunno this falls into a 'weird' category
[11:02] <Daemon404> the image2/image2pipe/image3 stuff is weird
[11:02] <Daemon404> lavf for images.... is ... special
[11:03] <wm4> I think I'd like a flag whether something is an image
[11:03] <nevcairiel> image2/3 can also be several images
[11:04] <nevcairiel> behave like a video even
[11:05] <Daemon404> wm4, sometimes you can check attached_Pic
[11:05] <Daemon404> sometimes.
[11:05] <wm4> lol
[11:05] <Daemon404> im currently using a hack to see if it's a standalone image
[11:05] <wm4> sometimes I forget how weird the API is
[11:06] <Daemon404> stockholm?
[11:06] <wm4> possible
[11:07] <Daemon404> but like nevcairiel said there's also image sets
[11:07] <wm4> but without timestamps, I suppose
[11:07] <nevcairiel> of course, its just empty images
[11:08] <nevcairiel> you can specifc a framerate to image2 i think, and it makes up timestamps
[11:08] <nevcairiel> specify*
[11:08] <wm4> empty?
[11:09] <wm4> also, is there no flag for formats with no timestamps? I thought there was one
[11:09] <nevcairiel> i think there is
[11:10] <wm4> also, seems like img2 sets 25 fps as default framerate
[11:10] <nevcairiel> quite possible
[11:11] <wm4> but doesn't set any specific flags, just AVFMT_GENERIC_INDEX
[12:37] <ubitux> it seems disabling threading doesn't help for that fifo crap
[12:37] <ubitux> fuck, that's really annoying, i don't have a workaround
[12:37] <ubitux> any idea what could have gone wrong here? (http://trac.ffmpeg.org/ticket/4051)
[12:37] <ubitux> mux.c + pts/dts
[12:38] <ubitux> sounds hellish :(
[12:38] <nevcairiel> why does dts turn negative after so many frames
[12:50] <rcombs> wraparound?
[12:50] <rcombs> (guess without looking)
[12:50] <nevcairiel> its only 50, not 5 million
[12:51] <rcombs> large spacing between timestamps?
[12:52] <rcombs> (i.e. either very low frame rate or very high timebase?)
[12:54] <the-erm> I don't know if this is the best place to ask this question, and sorry if it isn't ... are there any plans to allow ffmpeg to play .dss or .ds2 files?
[12:55] <the-erm> I run linux ... if that makes a difference.
[12:57] <the-erm> I guess I should be more specific ... (DSS) Digital Speech Standard
[13:10] <rcombs> the-erm: you're welcome to write a decoder!
[13:10] <the-erm> That sounds like a wonderful idea ... if I could find the spec on it.
[13:11] <the-erm> oh .. and knew c or c++.
[13:11] <rcombs> yeah, both of those things tend to help :P
[13:49] <J_Darnley> the-erm: all I can really suggest is making a feature request on trac (that will be promptly ignored)
[13:49] <the-erm> :)
[13:50] <J_Darnley> You can then also post a couple of samples for people to use and any other information about the format you might have.
[13:51] <rcombs> and then people can ignore those too!
[14:03] <ubitux> nevcairiel: it doesn't turn negative, it is from the beginning
[14:04] <ubitux> like, it's the first audio packet that enters in this loop, and it has dts=-57
[14:08] <ubitux> first video* packet, sorry
[14:09] <ubitux> it basically pulls 57750 audio packets from /dev/zero before it writes the first video packets
[14:38] <cone-84> ffmpeg.git 03Michael Niedermayer 07master:a39201818fea: avformat/matroskadec: Fix cluster parsing loop which gathers seek information
[15:16] <cone-84> ffmpeg.git 03Neil Birkbeck 07master:ad5c43bb36b0: avfilter/vf_idet: Fixes issue with idet not flushing last frame.
[15:44] <ubitux> michaelni: i think i'll need some little guidance for #4051
[15:45] <ubitux> afaict, after 2 video frames are pushed, ffmpeg is going to pull infinitely from the audio source
[15:46] <ubitux> then pushing 40 more video frames (while audio is still grabbed at "full speed") causes the derp
[15:46] <ubitux> i wonder why ffmpeg is not blocking the audio input somehow
[15:47] <ubitux> (even with -threads 1 everywhere)
[16:17] <michaelni> ubitux, i have a fix for the assert but didnt yet look at why the audio runs crazily ahead
[16:20] <ubitux> oh? cool thank you
[16:29] <Daemon404> grepping source and reading git history to figure out how the hell to use ffmpeg.c options...
[16:29] <Daemon404> classic.
[16:33] <ubitux> michaelni: it's actually related to threading somehow
[16:34] <ubitux> i can't control it with the command line, but with a build with --disable-pthreads it seems to help
[16:34] <cone-84> ffmpeg.git 03Michael Niedermayer 07master:ec6a5fc6cca2: avformat/mux: Fix assertion failure due to max_interleave_delta and poor input
[16:34] <ubitux> at least the infinite pulling of audio
[16:37] <ubitux> thank you for this!
[17:14] <michaelni> ubitux, patch posted to fix the other issue in 4051
[17:16] <reynaldo> ubitux: what ever happened with Eejya Singh's (akira4) OPW quali? did she vanished?
[17:16] <reynaldo> vanish/
[17:18] <ubitux> reynaldo: she's here :)
[17:18] <ubitux> reynaldo: i'm going to push her patch today
[17:18] <ubitux> i'm just waiting for 24 hours after the stl sample update
[17:18] <reynaldo> \o/
[17:18] <reynaldo> congrats
[17:18] <ubitux> but the patch is ok since about 48h
[17:19] <reynaldo> ubitux: maybe if you could reserve some time to update her info on https://trac.ffmpeg.org/wiki/SponsoringPrograms/OPW/2014-12-Qualis
[17:19] <reynaldo> date given / status / first submited and stuff
[17:19] <reynaldo> along the quali details that is
[17:20] <reynaldo> should help out ranking her latter on
[17:20] <ubitux> right
[17:20] <ubitux> i'll do it today
[17:20] <reynaldo> cool
[17:20] <reynaldo> thanks a lot clement
[17:20] <ubitux> when i'm home
[17:45] <rcombs> wm4: heh, I can't tell if the slow seek issue is happening without looking at it in a debugger because my SSD's too fast
[17:45] <wm4> yeah, it just requires parsing the file up until the seek target
[17:46] <wm4> even on a hdd this can be pretty fast
[17:48] <Daemon404> strace master race
[22:31] <cone-84> ffmpeg.git 03Michael Niedermayer 07master:9bdb7a6c1a8b: ffmpeg: avoid endlessly reading from one input while another is unavailable
[22:31] <cone-84> ffmpeg.git 03Christophe Gisquet 07master:0e8bfd3c9347: avcodec/tiffenc: properly compute packet size
[22:45] <cone-84> ffmpeg.git 03Lukasz Marek 07master:f524d2e47c05: ffserver: move configuration code to separate file
[22:45] <cone-84> ffmpeg.git 03Lukasz Marek 07master:d2f8ca4959a1: ffserver_config: clean up variable initialization
[22:45] <cone-84> ffmpeg.git 03Lukasz Marek 07master:27c61c32cee4: ffserver_conf: factorize parse function per config tag
[23:15] <ubitux> what's the "date given" column on the opw page?
[23:16] <ubitux> the date the task was given to the student?
[23:17] <cone-84> ffmpeg.git 03Eejya Singh 07master:6dc99fdf0e43: Added STL demuxer and decoder
[23:19] <ubitux> what's the score thing?
[23:21] <ubitux> reynaldo: anyway, wiki updated
[23:52] <ubitux> i like that libavfilter email.
[23:54] <J_Darnley> Yeah, it is pretty thorough. One thing I think it lacks is replacing the expressions and escaping on the command line.
[23:54] <ubitux> escaping is solved with the filtergraphs in a file
[23:55] <ubitux> replacing the expressions, well, dunno, i don't think it's the most troublesome problem
[23:56] <J_Darnley> Are you still certain that you won't have more than 1 consecutive '\' if using a file?
[23:57] <ubitux> i don't know
[23:57] <ubitux> i actually rarely use \ even in the cmd line
[23:57] <ubitux> with the 2 levels of quotes, only drawtext caused me issues
[23:57] <J_Darnley> Well this "drawtext=text=this is a \\\'string\\\'\\: may contain one\, or more\, special characters" is in the docs
[23:57] <ubitux> it's indeed a problem with the windows shell when you're trying to specify C:\foo\bar typically, but in this case the file form should be enough
[23:58] <J_Darnley> with an even worse one juts below for the command line
[23:58] <ubitux> you can put the text in a file as well
[23:58] <J_Darnley> Yeah, I get that but it still looks like that would require 3 consecutive /
[23:59] <J_Darnley> uh \
[23:59] Action: J_Darnley realizes he is bike shedding
[00:00] --- Thu Oct 23 2014
1
0
[00:00] <Cin_> depends on how many years old the devices you're supporting are tbh
[00:01] <Cin_> to my knowledge, you should only really need baseline for devices over 4 or 5 years old
[00:01] <Cin_> which is pretty ancient at the rate the mobile market moves
[00:02] <bencc> Cin_: I'm currently interested in desktop
[00:02] <bencc> but users might have very old XP machines
[00:02] <bencc> can it play main profile?
[00:03] <brontosaurusrex> my 12 year old nix box can play any profile with the slightly newer gpu, so ..., software decoding will work
[00:03] <brontosaurusrex> but it may not work in "realtime"
[00:04] <Cin_> profile compatibility is a bigger concern for mobile than it is for desktop is my understanding
[00:04] <Cin_> because fewer system resources are available for mobile
[00:04] <bencc> ok
[00:04] <brontosaurusrex> Cin_: absosmurfly
[00:05] <Cin_> also, XP is end of life, so you should really direct your users away from it if possible
[00:05] <Cin_> and I say that as a web developer myself
[00:05] <Cin_> where I work we don't support below IE8 unless by request for an extra fee, and we don't support below IE7 at all
[00:06] <brontosaurusrex> "we" dont support ie at all here (ok, iam not web developer ...)
[00:06] <Cin_> :P
[00:12] <brontosaurusrex> looking at my old script, "htc wildfire s" did prefer baseline as it seems
[00:17] <Cin_> well early 2011 was indeed a while ago
[00:18] <brontosaurusrex> well, it was nonsense to even watch anything on that screen anyway (can't remember why I even bothered)
[00:22] <jarainf> Cin_, no IE6 support? I am disappoint
[00:23] <Cin_> What can I say? There's only so much sadomasochistic a guy can take
[00:23] <jarainf> http://www.w3schools.com/browsers/browsers_explorer.asp
[00:26] <jarainf> Honestly, atleast from what I've read IE11 doesn't seem that bad a choice anymore
[00:27] <Cin_> IE6 is still common in China due to ActiveX if I recall
[00:27] <jarainf> I don't know
[00:27] <jarainf> Actually
[00:27] <jarainf> I don't want to know
[00:27] <jarainf> Chinese software is the worst
[00:28] <jarainf> And I'm not even going by quality of code or whatever, just by what it actually does.
[00:28] <Cin_> and IE in general isn't terrible, the problem is bundling it with the OS and tying it to the the OS version, so you can only run 1 version of IE on an OS, and so that the OS determines what version of IE is capable of running on it. This one act singlehandedly held back the web by like a decade in my opinion.
[00:29] <jarainf> funfact: All browsers are terrible
[00:31] <Cin_> eh, they're getting there
[00:31] <Cin_> also, in all seriousness, I don't suppose anyone actually knows whether MP4s support stream metadata titles do they? lol
[00:32] <jarainf> no clue
[00:32] <Cin_> damn :/
[00:36] <llogan> Cin_: ask the mailing list or read the specs
[02:29] <midgaze> Hi, if I wanted to give somebody a url that they can point a modern browser at and jump into a live stream of a terminal session with audio, what codecs/encoders should I be looking at?
[02:30] <midgaze> I'm pretty close, I can record a session (with noise reduced audio), to a .mp4 file that the browser can display with this:
[02:30] <midgaze> ffmpeg -f oss -i /dev/dsp1.0 -filter_complex "highpass=f=300,lowpass=f=1800" -f x11grab -r 30 -s 656x490 -i :0.0+0,0 -acodec mp2 -vcodec libx264 derp.mp4
[02:30] <sacarasc> midgaze: Try an AAC encoder for the audio...
[02:31] <midgaze> ah ok, it said it was experimental so I switched to mp2
[02:32] <sacarasc> There are a few different AAC encoders.
[02:32] <sacarasc> https://trac.ffmpeg.org/wiki/Encode/AAC
[02:32] <midgaze> ok, -acodec aac -strict -2 works, and the browser can still "just play it"
[02:34] <midgaze> the part I'm missing is the "go to this url and start playing live" bit, is there a known approach for that?
[02:34] <kevmitch> https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats
[02:34] <midgaze> I'm not a noob, I can configure whatever software or write a network service for it
[02:35] <sacarasc> midgaze: You might be able to do it with ffserver, but that's the part I can't do. :D
[02:48] <midgaze> ffserver looks like just the ticket, thanks
[03:01] <seasc> Hello, is it normal that i cannot encode (copy-protected) dvd's using ffmpeg (having libdvdcss installed, linux)?
[03:02] <sacarasc> ffmpeg doesn't have a dvd-reader part, AFAIK.
[03:07] <seasc> http://ffmpeg.org/ffmpeg.html#Video-and-Audio-file-format-conversion
[03:09] <shevy> can ffmpeg be used to filter out noise from a .mp3? it is a lecture recording, and there is some weird constant background noise that is very annoying
[03:11] <sacarasc> seasc: I see nothing about DVDs there. A .vob could exist on your HD already, and ffmpeg would read it just as a file on your file system if you mount the disc and use it like that.
[03:26] <llogan> shevy: there are low/high pass filters. not sure if that is sufficient
[03:31] <Soltis> Is it possible to stabilize the color on a video where, say, the camera's color correction was going haywire?
[03:35] <kevmitch> shevy: if you can cut out siltent spot with only the noise, you can use sox to generate a profile (noiseprof) and then noise reduce the whole file (noisered)
[04:04] <shevy> ok thanks
[04:20] <PovAddict> how do I make mpeg2 encoding faster? I don't care about quality atm
[04:33] <seasc> sacarasc, true yes.. thank you
[04:40] <PovAddict> ugh, DVD subs have such low resolution :(
[04:40] Action: PovAddict considers hardsubbing
[04:40] <PovAddict> so I get antialiasing
[04:42] <sacarasc> 1024x576 isn't that bad, but PAL only.
[04:45] <PovAddict> there seems to be a bug in dvdauthor's spumux where setting a shadow color messes with the outline and fill colors too
[04:45] <PovAddict> >:(
[04:46] <kevmitch> PovAddict: some players let you blur the subtitles so they look less blocky
[04:46] <PovAddict> my player's settings are pretty damn sparse
[04:47] <PovAddict> I couldn't even find an option to make it letterbox 16:9 content into 4:3, so I'm hard-letterboxing via -vf pad
[04:58] <Cin_> oh goddamnit!
[04:59] <Cin_> llogan: the issue I was having was due to a bug in FFMPEG. I updated the version I had installed (mine was from a few months ago) and now it works fine @_@
[07:21] <evilwombat> Hello. ffmpeg / libavformat seem to completely *choke* when playing video shot by gopro hero4.
[07:22] <evilwombat> Although the video appears valid, libavformat spews warnings about non-increasing DTS in one of the metadata streams, for about ten minutes on a reasonably-sized video, before it starts playing.
[07:22] <evilwombat> Has anyone else encountered this?
[07:24] <relaxed> evilwombat: which version of ffmpeg?
[07:26] <evilwombat> relaxed, trying to figure this out. I don't actually have an 'ffmpeg' binary on my system - I have libavformat and 'avconv', though it is my understanding that these things are part of the same project. Am I incorrect here?
[07:27] <relaxed> avconv is from libav, a fork of ffmpeg. Try this http://johnvansickle.com/ffmpeg/
[07:28] <evilwombat> Ah, thanks! My distribution ships avconv, and 'libavformat' in a separate package. So let me try with the static version real fast
[07:32] <evilwombat> relaxed, static version does not show the problem. I'll try to get my distro to pull in a fix to libavformat, or try building it myself. Thanks!
[07:33] <relaxed> evilwombat: https://trac.ffmpeg.org/wiki/CompilationGuide
[07:35] <evilwombat> Ah, that'll be handy. Thanks. It will be interesting, since I have to dump the .so file into /usr/lib without angering the package manager. But I'll see what I can do
[08:33] <termos> how can I specify the decoding buffer using the C ffmpeg API?
[10:26] <ruby_on_tails> i recorded a screencast on a mac 2880*1800 resolution and it looks fine, but when i run it on my desktop 1360*768 it looks a bit distorted
[10:27] <ruby_on_tails> similar distortion happens when i play a 1360*768 resolution screencast on a 1600*900 monitor
[10:27] <ruby_on_tails> why is this happening?
[10:29] <kevmitch> ruby_on_tails: do you mean the aspect ratio is distorted?
[10:30] <ruby_on_tails> kevmitch: yes
[10:30] <ruby_on_tails> kevmitch: http://pasteboard.co/16vuPRkS.png this is what happens in the second case i mentioned
[10:31] <ruby_on_tails> shouldnt a video resize automatically to preserve proportons ?
[10:38] <Mavrik> ruby_on_tails, not if you tell it not to
[10:38] <ruby_on_tails> Mavrik: i havent told it anything
[10:38] <Mavrik> if you force a 2880x1800 16:10 resolution to encode into a 1360x768 16:9 resolution you'll of course have distorted view
[10:38] <Mavrik> ruby_on_tails, if you haven't told it, then you'd get a 2880x1800 video out
[10:38] <Mavrik> so you HAD to set output resolution
[10:38] <ruby_on_tails> no no
[10:39] <ruby_on_tails> i recorded a screencast in 2880*1800
[10:39] <ruby_on_tails> i have the video in hand
[10:39] <ruby_on_tails> i play it on another computer 1360*768
[10:39] <ruby_on_tails> and its a bit distorted
[10:39] <Mavrik> hmm
[10:39] <ruby_on_tails> text isnt clean
[10:39] <Mavrik> can you do a ffprobe on the video for starter and pastebin the output :)
[10:39] <ruby_on_tails> same thing happens when i record in 1360*768 and play on 1600*900
[10:40] <ruby_on_tails> Mavrik: doing
[10:42] <ruby_on_tails> Mavrik: http://pastebin.com/CEMbxqEG
[10:42] <Mavrik> hmmm
[10:43] <Mavrik> you're probably seeing compression artifacts because of high compression - 2800bit/s it a really low bitrate for video at 2880x1800
[10:43] <Mavrik> (remember, 1920x1080 video is usually encoded to 8-12Mbit)
[10:43] <ruby_on_tails> Mavrik: what should i chose then?
[10:43] <ruby_on_tails> WHAT :O
[10:44] <ruby_on_tails> will that not shoot up my file size to huge?
[10:44] <Mavrik> yep.
[10:44] <Mavrik> but your resolution is huge :)
[10:44] <ruby_on_tails> what does bitrate actually mean?
[10:44] <Mavrik> "use 2800 bits for each second of video"
[10:44] <Mavrik> e.g. 2800/8 -- use 350KB for each second of video
[10:45] <Mavrik> so if you set it too low, it'll start showing those blurry artifacts because you're not letting the encoder enough bits to store full image :)
[10:45] <Mavrik> ruby_on_tails, I suggest you grab a screen recording to 15 or 20Mbit
[10:45] <Mavrik> and then reencode/rescale it to something like 1600x900 at 2Mbit or so
[10:48] <ruby_on_tails> i am fine with the quality i see on 2880*1800
[10:48] <ruby_on_tails> it looks perfect
[10:48] <Mavrik> hmm, even with that video?
[10:48] <ruby_on_tails> yes
[10:48] <ruby_on_tails> its a mac book pro retina
[10:48] <ruby_on_tails> quality is good enough
[10:48] <Mavrik> yeah, figured :P
[10:48] <Mavrik> then the bitrate isn't the issue
[10:49] <Mavrik> I guess the players on other computers just suck at rescaling the video :(
[10:49] <ruby_on_tails> when i run it on my desktop 1360*768 it distorts a bit
[10:49] <ruby_on_tails> let me show you screenshots
[11:00] <ruby_on_tails> Mavrik: this is 1360*768 http://i.imgur.com/zroVPXe.png and this is 2880*1800 http://puu.sh/clRvq/221f3c2caf.png
[11:00] <hungnv> #j #ffmpeg-devel
[11:01] <spaam> :D
[11:01] <spaam> #part #ffmpeg
[11:04] <Mavrik> ruby_on_tails, honestly that looks just like expected :)
[11:04] <ruby_on_tails> Mavrik: http://pasteboard.co/17RPuBVN.png look at this, this is when i export the video from my mac at 75% scale
[11:04] <Mavrik> you can probably improve that by manually downscaling video and using a high quality resample algorithm (e.g. lanczos or similar)
[11:04] <ruby_on_tails> it looks better, why/
[11:05] <ruby_on_tails> ?
[11:05] <ruby_on_tails> the text looks smoother
[11:05] <Mavrik> ruby_on_tails, because as I said, the transcoder probably has a better resizing algorithm than the players
[11:05] <Mavrik> if you're using ffmpeg
[11:05] <Mavrik> try doing "-vf scale=-2:768:flags=4"
[11:05] <Mavrik> and see how that ends up
[11:05] <ruby_on_tails> what does this mean?
[11:05] <Mavrik> "rescale video to 768 height using lanczos algorithm"
[11:06] <Mavrik> "and keep width as multiple of 2"
[11:06] <Mavrik> if that ends up ok, then we have your culprit
[11:09] <ruby_on_tails> k let me try
[11:10] <ruby_on_tails> Mavrik: i did this ffmpeg -i in.mp4 -vf scale=-2:768:flags=4 out.mp4
[11:10] <ruby_on_tails> it says [scale @ 0x1f027a0] Size values less than -1 are not acceptable.
[11:10] <ruby_on_tails> Error opening filters!
[11:11] <Mavrik> *grumbl*
[11:11] <Mavrik> you have old ffmpeg
[11:11] <Mavrik> use -1 then
[11:11] <ruby_on_tails> its encoding now, very very slowly
[11:12] <ruby_on_tails> Mavrik: what is the best output resolution to go for?
[11:12] <ruby_on_tails> any specific ratio i should use?
[11:12] <Mavrik> well you can encode just a few minutes
[11:12] <Mavrik> anyway, I guess doing 720p or 1080p is reasonable for screencasts
[11:12] <ruby_on_tails> it is just a 1:25 mins small test video
[11:13] <ruby_on_tails> what does 720p mean?
[11:13] <Mavrik> 1280x800 or 1920x1200
[11:13] <ruby_on_tails> hmm
[11:13] <Mavrik> 1280x800 at about 1.5Mbit/s or 1920x1200 at about 3-5 Mbit/s
[11:13] <Mavrik> depends on who your target audience is
[11:13] <Mavrik> if everyone has retina macs, using 1920x1200 can be reasonable
[11:13] <ruby_on_tails> why is 1280*800 called 720p?
[11:14] <ruby_on_tails> like why not 1280p ?
[11:17] <Mavrik> uh
[11:17] <Mavrik> 720p is actually 1280x720
[11:18] <Mavrik> (video people use heights as markings)
[11:18] <Mavrik> but 1280x720 is 16:9 and you have 16:10 video
[11:18] <Mavrik> and 16:10 displays of those size are all 1280x800
[11:18] <ruby_on_tails> k got it
[11:18] <ruby_on_tails> so its the height basically
[11:19] <ruby_on_tails> Mavrik: the encoding is done, it looks much more worse now
[11:19] <ruby_on_tails> horribly worse
[11:25] <Mavrik> hmm
[11:25] <Mavrik> did you actually tell ffmpeg the quality you want? :)
[11:25] <Mavrik> -crf, bitrate or anything?
[11:36] <ruby_on_tails> Mavrik: nope
[11:36] <ruby_on_tails> "ffmpeg -i in.mp4 -vf scale=-1:768:flags=4 out.mp4" this is what i did
[11:38] <ruby_on_tails> Mavrik: added -vcodec copy, still doesnt look very good
[11:38] <ruby_on_tails> same as the input
[11:41] <ruby_on_tails> Mavrik: if i want to keep the file size low without compromizing quality should i screencast on a smaller resolution rather than retina?
[11:42] <ruby_on_tails> i thought larger resolution would mean smoother text in screencasts
[11:47] <ruby_on_tails> Mavrik: another thing i noticed is when exporting the screencast at 50% dimensions from the mac it didnt affect the filesize much, a reduction of just 5-7% why is that? shouldnt it become atleast half?
[11:53] <termos> I keep getting these errors: "100 buffers queued in out, something may be wrong." where "out" is the name of my buffer_sink of the filter graph. The video starts lagging when I get these messages, what could be the problem?
[12:00] <Mavrik> ruby_on_tails, you're always getting the same filesize because you're always encoding the same bitrate
[12:00] <Mavrik> that's why your quality varies so uch
[12:00] <Mavrik> you're cramming different resolutions into same filesize so encoder has to make sacrifices :)
[12:01] <Mavrik> add -crf 20 or something to the parameters :)
[12:01] <ruby_on_tails> what does -crf 20 mean?
[12:01] <Mavrik> "constant rate factor"
[12:01] <Mavrik> it's one of the quality parameters (higher number - worse quality but smaller file)
[12:01] <Mavrik> 20 is a decent default
[12:06] <ruby_on_tails> Mavrik: why is it an issue if i have a high bitrate which means more pixel info per second but smaller resolution?
[12:07] <ruby_on_tails> isnt it like resizing an iamge? more the pixel info, better the smaller version of the resized image?
[12:09] <Mavrik> yes
[12:51] <termos> does ffmpeg have an input buffer that it fills up before it starts decoding the AVPackets?
[12:59] <Mavrik> yes
[13:00] <termos> is it possible to set the size of this buffer?
[13:01] <termos> I just can't figure it out, the analyzeduration buffer seems to be used only for detecting stream information. I'm tempted to create my own buffer and start decoding once the buffer reaches a certain maxsize
[13:01] <Mavrik> probesize, max_probisize and analyzeduration
[13:01] <termos> The problem is I'm trying to transcode a somewhat laggy stream and I need a bigger buffer to take care of the lag spikes
[13:01] <Mavrik> are parameters that do that
[13:02] <Mavrik> then you also can have buffers on the input protocol itself (e.g. UDP)
[13:02] <termos> hm okey, I'll look into those. Sounds promising
[13:02] <Mavrik> but yeah, the buffer that detects stream niformation is given to you right after probing is done
[13:02] <Mavrik> if you need an actual input buffer, check your input protocol if it allows you to set one
[13:04] <termos> I am using rtmp stream as input, I found something called rtmp_buffer which in the source code is called client_buffer_time but it doesn't seem to do much with the input. It seems to affect muxing to rtmp instead
[18:39] <bijan> hi guys. Quick question. I'm trying to strip out rotation metadata on a video file using this command: "fmpeg -i testVideo.mp4 -metadata:s:v:0 rotate=0 -codec copy output.mp4". It's removing the rotation metadata on video, but I notice it's also changing the audio bit rate mode from Variable to Constant. Any ideas why and how to make it leave the a
[18:39] <bijan> udio alone?
[18:40] <PovAddict> I don't know what -codec does by itself
[18:40] <PovAddict> I use -codec:v copy -codec:a copy
[18:41] <bijan> I think it's the same. I'll give that a shot
[18:41] <bijan> yeah - same result
[18:41] <bijan> even I run the command without altering metadata - just copying - it's changing the audio bit rate mode
[18:44] <relaxed> bijan: are you sure?
[18:46] <bijan> mediainfo testVideo.mp4:
[18:46] <bijan> Audio
[18:46] <bijan> ID : 2
[18:46] <bijan> Format : AAC
[18:46] <bijan> Format/Info : Advanced Audio Codec
[18:48] <bijan-sorry> shouldn't have pasted all that in here. here's a small gist of what the output is: http://textuploader.com/olj9
[18:48] <bijan-sorry> it shows the mediainfo of the original and then the mediainfo of the output
[18:49] <bijan-sorry> so yes, I'm sure
[18:55] <relaxed> output both audio streams to pcm and run a checksum
[18:56] <relaxed> because I doubt mediainfo more than ffmpeg secretly re-encoding a stream behind your back
[18:59] <relaxed> or you could look at ffmpeg's output. You should see "Stream #0:0 -> #0:1 (copy)" at the bottom.
[19:00] <relaxed> (something similar for both streams)
[19:00] <bijan-sorry> k that will be easier since I know how to do that
[19:00] <bijan-sorry> Stream mapping:
[19:00] <bijan-sorry> Stream #0:0 -> #0:0 (copy)
[19:00] <bijan-sorry> Stream #0:1 -> #0:1 (copy)
[19:00] <bijan-sorry> Press [q] to stop, [?] for help
[19:00] <bijan-sorry> frame= 1620 fps=0.0 q=-1.0 Lsize= 2987kB time=00:00:54.12 bitrate= 452.2kbits/s
[19:00] <bijan-sorry> video:2621kB audio:310kB subtitle:0 global headers:0kB muxing overhead 1.923473%
[19:00] <relaxed> I win
[19:00] <bijan-sorry> cool. just going to test the audio out on some videos and it should be good.
[19:01] <bijan-sorry> I appreciate your help relaxed, and everyone else
[19:01] <relaxed> you're welcome
[19:08] <bofh> Hi all! the adelay filter - does it really add some silence at the beginning of track?
[19:09] <bofh> it seems that it simply replaces a part of the track with silence
[19:28] <t4nk114> hi
[19:28] <t4nk114> I use force keyframes like this -force_key_frames 'eq(n,0)'
[19:29] <t4nk114> and I get Invalid duration specification for force_key_frames: eq(n
[19:36] <t4nk114> can you help?
[19:50] <bencc> I'm using -ss and -t to cut a video
[19:50] <bencc> can I cut the video in several places?
[19:51] <bencc> start at 00:03:00 end at 00:10:00, start at 00:15:00 end at 00:20:00 ...
[19:51] <c_14> In one command with a filter_complex some trim filters and a concat filter
[19:52] <c_14> If you want codec copy, use -ss and -t as output options, specify one output for each part you want and use another command to concat
[19:53] <bencc> c_14: filters can only be used when re-encoding?
[19:54] <c_14> yep
[19:55] <bencc> thanks
[20:16] <DHE> Hello. I'm trying to convert telecine media (mpeg2) into telecine media (h264) but am having a hard time finding any information that doesn't involve using the video filters (which I don't want to do). "-flags ildct" doesn't seem to be enough
[22:30] <Mavrik> uh
[22:32] <PovAddict> uh?
[22:34] <ChocolateArmpits> hmm
[22:34] <PovAddict> I got my dvd working :)
[22:35] <PovAddict> the menu can't be used with the mouse in VLC, but otherwise it works
[22:47] <ChocolateArmpits> PovAddict: Try arrow keys on the keyboard
[22:47] <PovAddict> yes that works
[22:47] <PovAddict> but when I was using autoinfer-buttons-from-image mode in dvdauthor, mouse worked too
[00:00] --- Thu Oct 23 2014
1
0
[00:34] <amalia> michaelni I just discussed with marina and she said I can still work on the qualification task until Wednesday 31st (next week)
[00:38] <michaelni> amalia, ok, do you know what to do, has paul or thilo explained all or you prefer to work on some other task than ALS ?
[00:41] <amalia> Neither paul nor thilo has said anything yet. However, I would like to work on this since it's related to the project I am applying for
[00:41] Action: amalia is studying the ALS decoder written by thilo in 2009
[00:42] <amalia> If I could just have some documentation on what the functions do.......
[00:46] <kierank> ALS is not an easy task
[00:46] <amalia> Which is easy kierank ?
[00:47] Action: Jul13t that's probably to test how good the girls are ;)
[00:47] <wm4> rcombs: ERROR 403: Forbidden.
[00:47] <michaelni> yes, also if theres any communication problem with your mentor(s) ... no way for me to guess if there is or not ... it might make sense to edit your application to something else than ALS
[00:47] <wm4> rcombs: on your sample file
[00:47] <rcombs> wm4: uh
[00:47] <michaelni> the yes referfered to "<kierank> ALS is not an easy task"
[00:48] <wm4> rcombs: or wait, it's probably because this terrible dropbox shit checks useragent or cookies
[00:48] <wm4> so getting the direct URL from the browser and then using wget doesn't work
[00:48] <rcombs> works for me in a private browsing window in Chrome
[00:48] <amalia> So what do I do now michaelni ?
[00:48] <rcombs> I think https://www.dropbox.com/s/32ve4hp567ukikt/Maken-Ki%21%20-%20S01E02.mkv?dl=1 should work with wget
[00:48] Action: Jul13t thinks giving such a task for girls is abit of an overkill
[00:49] <rcombs> just tried; works here
[00:49] <kierank> Jul13t: erm?
[00:49] <rcombs> Jul13t: what?
[00:50] <michaelni> amalia, it depends on you, if you are happy with paul and thilo as mentors and think you can with their help finish the qualification task then just continue otherwise maybe look at our wiki and pick or propose some other project
[00:52] <michaelni> or maybe ask thillo if he could suggest something else as qualification something that is part of the work in december-march for AlS
[00:53] <michaelni> that is if just the choice of the qualification task feels like a problem
[00:59] <michaelni> "<amalia> If I could just have some documentation on what the functions do" <-- about this its best to ask the author of the code, if thats libavcodec/alsdec.c that would be thilo
[01:08] <rcombs> wm4: file downloading fine now?
[01:08] <wm4> rcombs: yes, downloaded it
[01:08] <rcombs> OK, cool
[01:09] <wm4> so to me it looks like it has a seekhead at the start, which merely links to the seekhead at the end
[01:09] <wm4> (inefficient, a player must seek to the end of the file to continue reading the file...)
[01:10] <rcombs> yeah
[01:10] <rcombs> (thus why the sample clip didn't work)
[01:11] <wm4> and I'm not sure what lavf does
[01:11] <wm4> it simply doesn't seek?
[01:11] <wm4> mpv barfs because it doesn't decode audio while skipping video (so the audio packets add up)
[01:12] <rcombs> yeah, it looks like it just doesn't seek
[01:12] <wm4> this probably means libavformat simply returns all packets starting from the start of the file after seeking
[01:12] <wm4> and this is wrong
[01:12] <wm4> it should just skip packets until the target TS is reached
[01:12] <wm4> I suspect this is because of an earlier hack, which made seeking work in files that have timestamps not marked properly
[01:13] <wm4> in any case, libavformat reading the seekhead properly would avoid hitting this bug
[01:13] <rcombs> yup, and that one-line patch does seem to fix it for this case
[01:14] <rcombs> oddly enough, it also makes the sample clip seek as expected
[01:14] <rcombs> and I think that's because the index gets marked as broken (matroska->cues_parsing_deferred = -1;), which triggers different seeking behavior
[01:14] <michaelni> also about easy OPW-FFmpeg projects, "Setting up FATE automated testing system on various platforms" is probably one of the easiest on the wiki ATM and reynaldo wanted to add more non coding tasks today IIRC
[01:15] <wm4> rcombs: if the index is not usable, it should just rebuild it incrementally
[01:16] <rcombs> yeah; so that should probably be the default behavior if no index is found at all, instead of only being triggered if something explicitly fails
[01:16] <wm4> definitely... it doesn't do that?
[01:16] <rcombs> apparently not
[01:18] <ramiro> michaelni: I can mentor FATE as well
[01:19] <wm4> yeah, the simplest solution would be reading the seekheads recursively
[01:19] <amalia> Thanks michaelni
[01:19] <michaelni> ramiro, thats great, please add yourself as mentor for it on the wiki
[01:20] <rcombs> it appears that behavior is triggered by matroska_read_seek returning -1, which only happens if either st->nb_index_entries is 0 (and it's apparently 1 on this file for some reason?) or matroska->cues_parsing_deferred < 0 (which only happens if parsing a Seekhead or Cues fails)
[01:20] <wm4> rcombs: I see only one index (cues) in this file, and they are proper
[01:20] <rcombs> so that behavior could probably improve for actually broken files, but for these (which just have inefficiently-placed Cues), we should just resolve seek heads recursively
[01:21] <wm4> st->nb_index_entries is the generic index though
[01:21] <ramiro> michaelni: done
[01:21] <wm4> sometimes other entries are added to it
[01:21] <wm4> so they don't reflect file contents
[01:21] <wm4> (god, libavformat seeking is terrible)
[01:21] <michaelni> ramiro, thanks
[01:21] <rcombs> wm4: in this case, it's a 0 entry
[01:22] <wm4> an entry pointing to the start?
[01:22] <rcombs> yeah
[01:22] <rcombs> wm4: clip the first 30MB of the file and try seeking in that; you'll see what I mean
[01:22] <amalia> michaelni I think I'll consider working on that
[01:23] <wm4> rcombs: I don't...
[01:24] <michaelni> amalia, ok, great, btw we not only need fate clients for OS not listed on fate.ffmpeg.org but we also some that are listed new. For example our openbsd is quite a bit outdated. Setting a new one up is probably easier than updating the one we have
[01:24] <rcombs> wm4: without my patch, seeking with -c copy or -copyts in the 30MB clip still doesn't work, because matroska_read_seek finds the single generic 0 index entry, seeks to that, and returns 0
[01:25] <rcombs> wm4: with my patch, it works properly, because it attempts to execute the seekhead and fails (because it points past the end of the clip), and returns -1, which falls back on index-less seeking behavior
[01:27] <amalia> michaelni Please can you add me to the wiki as applicant for this project ?
[01:27] <wm4> ah
[01:28] <michaelni> amalia, its editable by anyone who registers (just needs an email address), you can edit it yourself
[01:28] <michaelni> if theres any problem like with spam filters, ping me
[01:29] <wm4> rcombs: in any case, the behavior for no index should be fixed
[01:29] <rcombs> wm4: right
[01:29] <wm4> rcombs: obviously, this nb_index_entries check is wrong, then
[01:29] <rcombs> right
[01:29] <rcombs> (but we should still execute seek heads recursively)
[01:30] <amalia> Okay michaelni
[01:30] <wm4> rcombs: yes
[01:33] <rcombs> wm4: maybe check matroska->index->nb_elem instead?
[01:34] <wm4> rcombs: looks viable
[01:34] <wm4> but it has to interact well with the lazily read cues
[01:35] <wm4> (I assume matroska->index are the raw cues)
[01:35] <wm4> rcombs: also check whether protection against recursion is needed
[01:35] <wm4> consider a seekhead pointing to itself
[01:36] <wm4> but maybe it actually isn't needed and there are already measures against that
[01:36] <rcombs> yeah, that was the only thing I was really concerned about with this
[01:37] <rcombs> we have a maximum EBML element depth, so that's something
[01:37] <rcombs> so it wouldn't just grow the stack until it overflowed, at least
[01:38] <wm4> is the depth increased even when reading the seekhead? (as opposed to the automatic element reader)
[01:39] <wm4> also, does the code take care of not reading elements twice?
[01:39] <rcombs> yes, it's increased
[01:39] <wm4> the "normal" way to read a matroska file is reading all header elements until the first cluster is reached - and then checking the seekhead for more elements that have not been read yet
[01:40] <amalia> michaelni could you mentor this project ?
[01:40] <rcombs> yup
[01:42] <rcombs> I don't _think_ I see any other protection against re-reading the same element
[01:43] <rcombs> but EBML_MAX_DEPTH isn only 16, so I guess I'm not too concerned about potentially slowing down the parser by looping for a long time
[01:43] <michaelni> amalia, ramiro should have more time, iam always busy, also he did setup and run fate clients and IIRC a fate server, and i think the script that iam using for my fate clients is based on his
[01:44] <michaelni> also iam backup mentor for it if he disappears ;)
[01:44] <rcombs> unless it added itself to the list and returned to the loop, rather than recursing
[01:45] <wm4> rcombs: I suspect reading elements twice just overwrites them
[01:45] <rcombs> wm4: this seems likely, but perhaps we should double-check with someone who knows matroskadec.c better :3
[01:45] <wm4> so reading chapters twice might set matroska->chapters twice, but in the end only the "last" chapters are copied to the av input context
[01:46] <wm4> that is, to AVFormatContext
[01:49] <ramiro> amalia: michaelni is always busy, I'm unemployed, I have much more free time =)
[01:50] <amalia> Okay Great then
[01:50] <amalia> Can you send me your email address
[02:00] <ramiro> michaelni: is there anyone supporting FATE with hardware? would the OPW candidate need to dedicate a box to FATE duty?
[02:05] <michaelni> for the time of the qualification and the main project i think the candidate needs to have a box locally to work on, doing something like virtualbox remotely is probably rather painfull, that should not need a dedicated box though
[02:09] <michaelni> and once some client is setup and working i imagined we could transfer it to some volunteers box to run long term unless the candidate has a dedicated box or someone donates one and she is ok with maintaining the hw&sw beyond the project
[02:10] <ramiro> michaelni: ok, good.
[02:21] <ramiro> sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
[02:22] <ramiro> wrong window =)
[03:13] <cone-16> ffmpeg.git 03Michael Niedermayer 07master:832b4c0a86bc: avcodec/libutvideodec: print extradata size if unsupported
[03:43] <cone-16> ffmpeg.git 03Rodger Combs 07master:315f9e929dc0: ffmpeg_opt: Add -start_at_zero option.
[03:53] <cone-16> ffmpeg.git 03Andrey Utkin 07master:24dfd6e79b41: avformat/rtspcodes: introduce ff_rtsp_averror()
[03:53] <cone-16> ffmpeg.git 03Andrey Utkin 07master:282c9354f135: avformat/rtsp: Use ff_rtsp_averror()
[05:17] <wm4> webvtt in hls? seriously?
[05:19] <Compn> the most buzzwordy named project goes the furthest :p
[06:02] <rcombs> wm4: it's a thing! It's specified! It's implemented in iOS and Safari!
[06:05] <rcombs> (though said implementation appears to be somewhat buggy when seeking&)
[06:06] <wm4> weird
[06:07] <rcombs> the "write empty segments if necessary" bit should be pretty simple; just use a while() instead of an if() on the close/reopen-segments code
[06:07] <rcombs> duplicating lines that span multiple segments is a bit more complicated, but certainly not rocket science
[09:49] <rcombs> anyone know why the hls and segment encoders exist separately?
[09:50] <rcombs> AFAIK there's nothing the HLS encoder can do that the segment encoder can't, and there's a lot of duplicated code there
[09:50] <ubitux> segment was written first, then ffmpeg side added hls support in it, and then libav decided to make a hls muxer separated
[09:50] <rcombs> of course :|
[09:50] <ubitux> (they originated the segment)
[09:51] <nevcairiel> for some reason people submit patches for the hls muxer in ffmpeg as well though
[09:51] <nevcairiel> i use segment myself and it works fine
[09:51] <nevcairiel> since for a long time it had many more features which i actually needed
[09:51] <ubitux> i'm not sure of the motivation of the split and why it wasn't done in segment
[09:51] <rcombs> it seems like the HLS encoder could be implemented (to maintain compatibility) as a thin wrapper around the segment encoder?
[09:51] <rcombs> (to avoid all the duplication)
[09:51] <ubitux> rcombs: i would say so as well
[09:52] <nevcairiel> by now there are a few rather hls specific things in the hls muxer i think, but could still implement them in segment i guess
[09:52] <ubitux> hlsenc is less than 450 lines, it shouldn't be that hard to squash it into segment
[09:52] <ubitux> some way or another
[09:54] <wm4> HLS is the thing with timestamps wrapped in id3v2 for mp3?
[09:54] <ubitux> hls is a .m3u manifest linking to split files
[09:55] <nevcairiel> i think HLS does actually support this mode wm4, but i use it for audio/video in one TS file and no such madness
[09:55] <rcombs> I've never even heard of that ID3 thing you're talking about
[09:55] <nevcairiel> its rather crazy
[09:55] <nevcairiel> because mp3 carries no timestamps, they had to shove timestamps somewhere for audio-only streams to sync them
[09:55] <nevcairiel> so they put them in ID3 tags
[09:56] <rcombs> wat
[09:56] <rcombs> well then, I'll handle work in #4048 as if the HLS encoder didn't exist, and then maybe things could be backported sometime or whatever
[10:00] <ubitux> it seems luca also added hls support in the segment muxer in libav, somehow
[10:00] <rcombs> so we've come full-circle on uselessness!
[10:02] <ubitux> actually, we might not be the one adding hls support, so this is very curious
[10:02] <ubitux> unless i'm mistaken
[10:02] <ubitux> i thought stefano worked on the segmenter and hls support but i might have been wrong here
[10:03] <ubitux> maybe he added other formats in the segmenter
[10:03] <ubitux> so libav might have originated both the hls segmenter and the hls support in segment
[10:03] <ubitux> which is kind of surprising
[10:05] <ubitux> so yeah, disregard ffmpeg adding hls support in segment, that was wrong
[10:06] <ubitux> the split of segment/hlsenc for hls support is not because of the fork, it's because libav made 2 :p
[10:32] <rcombs> ^ I think I explained that pretty well; if anyone would like to peruse and comment, that'd be great
[10:39] <pross> 10 years of ubuntu. woo.
[11:33] <kevmitch> are there opinions on this https://github.com/mpv-player/mpv/issues/1205 ?
[11:34] <kevmitch> is it just the rendering that's happening relative, or is it actually stored that way?
[11:35] <wm4> nothing ffmpeg has business about
[11:35] <wm4> PGS subtitles store a resolution (typically matches video res), but that's it
[12:46] <cone-158> ffmpeg.git 03Thilo Borgmann 07master:6e6b79e7b809: lavf/mov.c: Prevent memory leak in case of invalid metadata reads.
[13:31] <cone-158> ffmpeg.git 03Stefano Sabatini 07master:7ba2e134fb78: lavfi/afade: fix cur_sample computation
[13:32] <cone-158> ffmpeg.git 03Stefano Sabatini 07master:843d7bb3a60d: lavfi/concat: accept a single segment
[14:01] <cone-665> ffmpeg.git 03Rodger Combs 07master:1372c557866a: doc/ffmpeg.texi: document the new -start_at_zero option
[14:57] <ubitux> Assertion pkt->dts == ((int64_t)0x8000000000000000UL) || pkt->dts >= 0 failed at libavformat/mux.c:577
[14:57] <ubitux> :(
[15:21] <j-b> 'morning
[15:29] <Compn> kierank : want to make a gpl violation for http://mac.eltima.com/media-player.html ?
[16:49] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:059c842818a1: avcodec/mjpegdec: Support 24111100 pix fmt id
[16:52] <ubitux> now i probably need to bisect...
[16:52] <Daemon404> you mean ffbisect
[16:53] <ubitux> is it still necessary nowadays?
[16:54] <Daemon404> yes
[16:54] <Daemon404> afaik
[16:54] <ubitux> ok
[17:11] <ubitux> mmh that's actually not a regression, my 2.4 just hasn't the same assert level
[17:47] <ubitux> "And be civil. [...] please fuck off."
[17:47] <ubitux> haha wm4
[17:51] <ubitux> ok it might actually be a regression, but from a long time ago
[18:02] <saste> arwa, ping
[18:02] <feklee> Which branch contains the bleeding edge? I'm looking for WebM/VP9 such as "-tile-columns".
[18:03] <thardin> master?
[18:03] <feklee> In master I can't find these.
[18:03] <thardin> if it's a very recent feature in libvpx then it's probably not in yet
[18:06] <feklee> @thardin I'm following a tutorial: http://wiki.webmproject.org/adaptive-streaming/instructions-to-playback-ada…
[18:06] <feklee> Quote: "Note about FFmpeg: You will need to download the latest (tip-of-the-tree) version of FFmpeg in order for some DASH features to work. You can either download nightly static build from https://www.ffmpeg.org/download.html or build FFmpeg yourself from the git repository."
[18:07] <feklee> A patch has been submitted in Nov. 2013: https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-November/150547.html
[18:09] <thardin> not providing a git hash is somewhat unhelpful of that guide
[18:09] <thardin> try to grep for the commit in the logs
[18:12] <feklee> @thardin Found it. Commit: 517afd72c6772f69671d913f03f4be89dd1dd665
[18:12] <feklee> Weird that it seems missing now.
[18:14] <thardin> maybe it got replaced with something better?
[18:14] <thardin> gitk libavcodec/libvpxenc.c
[18:16] <thardin> uhm, "tile-columns" and "tile-rows" are in current master
[18:24] Action: Daemon404 wonders if there is some irc client that adds @
[18:50] <feklee> @thardin Weird, I must have grep'ed in the wrong directory before. Anyhow - after recompilation - when executing ffmpeg I still get: "Unrecognized option 'tile-columns'."
[18:50] <feklee> Well, I guess that's an end user question now, doesn't belong here.
[19:33] <kierank> Compn: i only did it because I had to sit through a marketing presentation about the stupid player
[19:34] <cone-665> ffmpeg.git 03Mika Raento 07master:17702f1fc584: mov.c: reasonable bitrate for fragmented mp4
[20:10] <Compn> kierank : ahhaha, really?
[20:10] <Compn> wow
[20:11] <feklee> @thardin In the end it was simply a matter of specifying `--enable-libvpx` as option for `configure`. Facepalm!
[20:14] <kierank> I believe we have followed the licensing rules for FFmpeg and more than happy to comply if you can tell us what we have violated. We have not distributed any source code and have used the compiled libraries as-is from the Zeranoe site
[20:14] <kierank> Compn: that's what I got in response
[20:19] <llogan> most spammers seem to get a trac "karma" in the 30-50 range. first time i've seen one 10x bigger...
[20:24] <llogan> hundreds of script kiddy attempts today
[21:43] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:d5a3a20d1e19: avcodec/mjpegdec: simplify chroma_height calculation
[21:53] <culey> hello, i'm applying for opw, is it late for me? If not what can I start contributing on? Thanks!
[21:56] <cone-665> ffmpeg.git 03Janne Grunau 07master:04d8af5f1796: fate-mpeg4: use TARGET_SAMPLES for resize tests
[21:56] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:2f74b8d0edbe: Merge commit '04d8af5f17961b9b7076b8c974e360feb08787c2'
[22:06] <cone-665> ffmpeg.git 03Vittorio Giovara 07master:e73d26bbd65f: smoothstreamingenc: explict cast to avoid overflow
[22:06] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:4542615063fb: Merge commit 'e73d26bbd65f1ac5fc73ef3fd24cab1bed8ba2e2'
[22:24] <J_Darnley> Oh... culey left
[22:27] <cone-665> ffmpeg.git 03Vittorio Giovara 07master:f22aa6b841dc: flvdec: avoid unitialized use of a struct member
[22:27] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:1922357e5a05: Merge commit 'f22aa6b841dc54fa1dd804303885b1e230a5f629'
[22:46] <cone-665> ffmpeg.git 03Vittorio Giovara 07master:629b2ed0ac77: flvdec: make sure to check create_stream and report the same error
[22:46] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:3099008f0780: Merge commit '629b2ed0ac77d7c4bf1aeac5e70cafee5fa0fcae'
[22:48] <ubitux> remote: -Deny- Trailing whitespace found in tests/ref/fate/sub-stl.
[22:48] <ubitux> remote: -Deny- Commit aborted, fix the issue and try again.
[22:48] <ubitux> rhaaa
[22:48] <ubitux> j-b: ^
[22:48] <ubitux> :((
[22:49] <ubitux> well, i guess i can avoid them but still..
[22:50] <Compn> thats something we made a commit hook for ubitux
[22:50] <Compn> not really j-b's problem
[22:50] <ubitux> it's on videolan
[22:50] <Compn> ffmpeg did that since like 2011
[22:51] <ubitux> yes sorry, i mistook it with the bug from earlier
[22:51] <ubitux> but anyway, the problem is, the file is supposed to have trailing whitespace
[22:51] <Compn> ah
[22:51] <Compn> i see desu ne.
[22:51] <Compn> probably michael can override it
[22:52] <J_Darnley> What? How is it supposed to have it?
[22:52] <ubitux> sample has some trailing spaces
[22:52] <michaelni> Compn, no, j-b can
[22:53] <J_Darnley> Oh, the fate reference?
[22:53] <ubitux> J_Darnley: yes
[22:53] <michaelni> ubitux, maybe it can be tricked by using a merge, but thats a bit ugly
[22:54] <ubitux> so when transcoded to ass, the trailing whitespaces are kept
[22:54] <ubitux> michaelni: yeah it sucks :p
[22:54] <ubitux> michaelni: we can change the sample maybe
[22:55] <ubitux> michaelni: http://b.pkh.me/STL_capability_tester.stl
[22:55] <ubitux> can you replace it with this one?
[23:00] <cone-665> ffmpeg.git 03Lukasz Marek 07master:da833a6d090f: lavd/fbdev_dec: use default device when not provided
[23:01] <cone-665> ffmpeg.git 03Lukasz Marek 07master:6aa1cfed0b22: lavd/fbdev_common: report error during probing fbdev device
[23:02] <michaelni> ubitux, done
[23:02] <ubitux> cool, thanks
[23:02] <ubitux> i guess i can't push now though...
[23:02] <ubitux> got to wait another 24 hours...
[23:33] <rcombs> is it just me, or does AC3 never get extradata, resulting in mov_write_ac3_tag never being run?
[23:33] <rcombs> (well, never finishing successfully)
[23:36] <wm4> you have to mux mp4 with ffmpeg? poor soul
[23:36] <rcombs> yup :3
[23:36] <rcombs> DASH, actually
[23:37] <wm4> it can't even demux dash properly
[23:37] <Compn> >always complaints >never fixes
[23:38] <wm4> why don't you fix it then
[23:38] <wm4> if it's so simple
[23:38] <rcombs> works for me if I byte-concatenate the initial mp4 to all the segments :3
[23:38] <wm4> hm is it that simple
[23:38] <rcombs> apparently
[23:39] <rcombs> you can also start at any segment, as long as you have initial.mp4 immediately before it and it's first
[23:39] <rcombs> (for the files I've worked with, anyway)
[23:40] <wm4> my own problem with mp4 dash is that youtube-muxed dash is pretty simple, but libavformat still insists on reading the whole file on opening
[23:40] <wm4> though that one could probably be fixed by reading the dash-specific index element (or whatever it is)
[23:41] <cone-665> ffmpeg.git 03Vittorio Giovara 07master:7207dd8f829b: rmdec: check av_new_packet return value
[23:41] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:840bc8e284c8: Merge commit '7207dd8f829baee58b4df6c97c19ffde77039e8d'
[23:59] <cone-665> ffmpeg.git 03Vittorio Giovara 07master:be42c0b8d57f: rmdec: stricter error check to avoid theoretical unitialized use
[23:59] <cone-665> ffmpeg.git 03Michael Niedermayer 07master:979062fe2feb: Merge commit 'be42c0b8d57fe2ea769892d102ffd5561dc18709'
[00:00] --- Wed Oct 22 2014
1
0
[00:41] <swair> any guide on how to use libavfilter to apply filter on frames?
[00:42] <swair> tutorials/docs anything works
[01:05] <tolmark12> newbie question: I need to convert some files to M2V for play on an old system. When I try converting a .MOV to M2V, the M2V file is really pixelated. Is there a way to maintain the high quality of the original file?
[01:05] <tolmark12> command : https://gist.github.com/Tolmark12/8070ceb5f12d9c776e97
[01:05] <c_14> Throw more bitrate at it.
[01:06] <PovAddict> tolmark12: if you don't set a bitrate, the default is 200kb/s, which is stupidly low
[01:06] <tolmark12> ah
[01:06] <tolmark12> what's a good bitrate?
[01:07] <tolmark12> looking at docs : ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
[01:07] <tolmark12> is that fairly standard?
[01:07] <PovAddict> 64k is even lower :P
[01:07] <c_14> You do know that 64k < 200k, right?
[01:07] <c_14> Your input is around 222376 kb/s, aim for that ballpark
[01:07] <PovAddict> lol
[01:07] <PovAddict> the input is RLE though
[01:07] <tolmark12> cool, let me give that a shot
[01:08] <tolmark12> perfect, thanks for the help!
[01:57] <Cin_> So, if anyone's around, I have a hopefully quick, if potentially stupid question (and feel free to route me elsewhere if this is the wrong place to ask)
[01:57] <Cin_> Does the MP4 container support independant stream metadata titles? Because I kept thinking the script I was working on was screwing up and dropping them, but I'm now questioning if my entire premise is flawed and it's an issue with the container >.>
[01:58] <Cin_> crap, wrong channel
[01:58] <Cin_> lol
[01:58] <Cin_> ignore that, I'm apparently too tired to pay attention tonight @_@
[01:58] <Cin_> wait, right channel
[01:59] <Cin_> I'm more tired than I thought...
[03:05] <llogan> Cin_: i'm not sure about the specifications, but ffmpeg doesn't seem to show anything for an output made with -metadata:s:v:0 title="stream title"
[03:14] <Cin_> llogan: hmmm, it seems to work with language, just not title
[03:18] <Cin_> so if I run the following
[03:18] <Cin_> -metadata:s:a:1 language=jpn -metadata:s:a:1 title="DTS Core 5.1 @ 1.5 Mbps"
[03:19] <Cin_> the language will override the 2nd audio stream's default language (english) perfectly fine
[03:19] <Cin_> but it won't have a title
[03:19] <llogan> does the input show a per stream title?
[03:19] <Cin_> and just running with -metadata:s:a:1 title="DTS Core 5.1 @ 1.5 Mbps" and no language reference does nothing :/
[03:20] <relaxed> maybe it depends on the container
[03:20] <Cin_> that's what's so weird! Both Input and Output of ffmpeg are showing stream title metadata
[03:20] <Cin_> it's just not in the final file
[03:21] <Cin_> relaxed: my original question was basically, is this even a thing that the mp4 container can do, or is it an issue with ffmpeg, or is it an issue with my script :P
[03:24] <relaxed> I'm not sure, see if it works with matroska
[04:17] <Cin_> relaxed: so I massively slimmed down my ffmpeg command string so that I'm only modifying the video and no longer saying anything about the audio or subtitles. When converting to mkv, it drops everything but audio track 1, subtitle track 1, and the video, but audio track one has its correct metadata title. Converting to mp4, which the same command and just changing the file extension of the output file, it drops all subtitles and the au
[04:18] <Cin_> so even by default, there seems to be different handling of mkv and mp4 containers and it seems to be making some assumptions without my direction
[04:19] <Cin_> don't suppose anyone knows where I can find a canonical answer to whether mp4, as a container, supports stream metadata?
[04:26] <ognugs> Greetings. I am using ubuntu to stream a .flv file to rtmp destination. I cannot seem to stop pixelation (blocking) on high motion scenes.
[04:26] <ognugs> I do not think output bitrate is too low, as I can screen capture and output at a similar rate and have a sharp image. Here is my command line, perhaps I am missing something or a setting is too low? http://pastebin.com/SAHxvJQs Thanks for your support. :)
[05:05] <PovAddict> I want to turn a 16:9 video into 4:3, putting half the difference into black bars on top and bottom, and half into cropping the sides, any suggestions on how to do that?
[06:19] <ac_slater> hey all. Does anyone have any hints for using libavformat and creating an mpegts output stream? I'm interesting in both video and arbitrary data (for which I'm making an mux/demux enc/dec pairs for.
[08:27] <deivor> Hi, I'm trying to cross compile ffmpeg for raspbian with libfdk-aac. I've built libfdk-aac correctly and I'm getting "ERROR: libfdk_aac not found" when running ./configure on ffmpeg source dir. config.log shows the error "/home/david/built_ffmpeg/lib/libfdk-aac.a: could not read symbols: File format not recognized".
[08:29] <deivor> I have built ffmpeg successfully without fdk_aac, which means my environment variables are most likely OK. This are my configure flags: http://pastebin.com/tcth9c2F
[08:35] <rcombs> deivor: could you pastebin your entire config.log?
[08:38] <deivor> Yes: http://pastebin.com/fUK4jT8i
[08:49] <relaxed> deivor: remove --enable-libfdk-aac from ffmpeg's configure and see if it fails on the next lib.
[08:50] <deivor> Runs OK without fdk-aac (I do get this : WARNING: /opt/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi-pkg-config not found, library detection may fail.
[08:50] <deivor> )
[08:56] <relaxed> maybe that's the issue
[08:57] <deivor> Well, it does build OK (without fdk-aac), I've been using the internal aac encoder for now
[09:06] <relaxed> you may have better luck building in a VM
[09:24] <K4T> how I can list all capture card in ffmpeg on Linux?
[09:29] <relaxed> K4T: https://trac.ffmpeg.org/wiki/Capture/Webcam
[10:11] <Akagi201> When I cross-compile a program with ffmpeg's lib, I got these link errors. https://gist.github.com/Akagi201/912891ccb22b085e5d32
[10:11] <Akagi201> Any help is very nice.
[11:31] <kevmitch> are there any opinons on this: https://github.com/mpv-player/mpv/issues/1205
[11:32] <JEEBsv> you should probably prod #ffmpeg-devel about this ;)
[11:33] <JEEBsv> since this is mostly a user-oriented channel, and not many of the developers linger here
[11:33] <kevmitch> will do
[13:29] <pikovit> hi guys... I have a problem encoding a video to ismv format with different streams not being aligned
[13:30] <pikovit> I narrowed it down to the fact that one of the output ismv files does not start on timestamp 0
[13:30] <pikovit> but I'm having trouble figuring it out, why exactly that happens
[13:49] <pikovit> anyhwow --- I figured out the problems were bframes in x264, but I don't know why
[13:51] <pikovit> check the outputs: http://pastebin.com/4eF6wm5Y (no bframes, I set the wrong title of pastebin) vs http://pastebin.com/8yXm3NAS (WITH bframes)
[13:51] <pikovit> is this expected behaviour ?
[13:52] <pikovit> I can provide sample of input and output if needed, let me know
[13:58] <pikovit> another interesting thing to note - changing the output format to mp4 instead of ismv, it works OK, see http://pastebin.com/4unNCmXG
[14:07] <t4nk856> hello, guys. Could anyone in a few words explain when avformat-54.dll is built and when avformat-55.dll and what does indexes mean?
[14:21] <t4nk856> hello?
[14:22] <kepstin-laptop> t4nk856: you get avformat-55 if you build ffmpeg version 2.0-2.3 and avformat-54 for 0.11-1.1
[14:22] <kepstin-laptop> it's just a version number indicating incompatible changes
[14:22] <t4nk856> kepstin-laptop: really??
[14:22] <t4nk856> hell
[14:23] <kepstin-laptop> the versions of the libraries in each version are shown on the releases page: http://ffmpeg.org/download.html#releases
[14:25] <t4nk856> kepstin-laptop: thank you very much
[14:25] <pikovit> anyone any thoughts on the ismv issue above? :)
[14:54] <edoardo> [video4linux2,v4l2 @ 0x1d4e520] The v4l2 frame is 40588 bytes, but 614400 bytes are expected.
[14:54] <edoardo> can i solve this?
[15:21] <termos> how I can properly set the bufsize of the encoding i libffmpeg? Right now I'm setting it with av_dict_set(&codec_options, "bufsize", "4000000", 0)
[15:27] <termos> it does not look like it is being honored by the encoder
[16:05] <active8> is the format / container (flv, mp4, 3gp, etc. ) that can be sent via RTMP limited by the RTMP protocol or the player?
[16:05] <active8> i.e., the player on the viewing end.
[16:11] <zenny> HI: if one has to trim a video timewise, -ss and -t values works. Is there any way to trim frames, not duration using ffmpeg?
[16:19] <Ney> hi, i have a .ts file that ffmpeg (latest zeranoe buiild) reports a wrong duration on, with "-i input -f null" flags, could anyone explain to me either what I do wrong, or what i can do to get ffmpeg to report a more correction duration, or if i can troubleshoot what is wrong with the file
[16:20] <termos> a follow up to what I asked earlier: seems that vbv-bufsize if the correct thing to set, not bufsize
[16:21] <termos> hm nope
[16:30] <Sunghost> hello - i have installed ffmpeg from squeeze packages and read that a newer one is available in unstable - how can i install that -from backports?
[16:42] <pomaranc> hi, is there any way for ffplay to play a file from the middle - without the header? h264 and any container
[16:42] <kepstin-laptop> i.e. you have actually chopped off part of the file?
[16:43] <pomaranc> yes
[16:43] <kepstin-laptop> it depends on the container format; some will be unplayable, some (like mpeg-ts) might work.
[16:43] <edoardo> hi!
[16:43] <edoardo> cracking sound with alsa: how can i solve that?
[16:43] <edoardo> it also says "alsa buffer xrun"
[16:52] <zenny> Is there a way to remove a few frames in the beginning or end of a video with ffmpeg? Similar to -ss and -t options for time and duration.
[16:59] <relaxed> Sunghost: That's more of a #debian question, or you can you a static build http://johnvansickle.com/ffmpeg/
[17:02] <Sunghost> ok thanks thought someone had same questions
[17:11] <c_14> zenny: you can use the trim filter with the start_frame and end_frame arguments
[17:34] <zenny> c_14: thanks. when I read https://ffmpeg.org/ffmpeg-filters.html#trim it states start_frame is the number of the first frame that should be passed to the output and end_frame is the number of the first frame that should be dropped. A bit confusing how the syntax works. Let's assume that a 5m video needs to be trimmed 5 frames from the beginning and 6 frames at the end. How does the syntax looks like, any clue?
[17:35] <bencc> how can I check if mp4 has the metadata at the end of the file or at the start?
[17:35] <bencc> I can ensure it's at the start with "-movflags +faststart"
[17:35] <bencc> but first I want to check
[17:40] <ChocolateArmpits> bencc, that pushes the atom to the beggining, but not the metadata
[17:41] <bencc> ChocolateArmpits: what should I use to make the file load fast in the browser?
[17:41] <ChocolateArmpits> Exactly that
[17:41] <bencc> cool
[17:42] <bencc> how can I check if a file has the atom at the start or end?
[17:42] <ChocolateArmpits> atomparsley
[17:42] <ChocolateArmpits> Excuse me, AtomicParsley
[17:42] <bencc> I'll look for ubuntu package. thanks
[17:42] <ChocolateArmpits> It's a cli application, it can print file structure
[17:43] <ChocolateArmpits> If you used the flag moov_atom should be at the start
[17:43] <bencc> ChocolateArmpits: I'm using the flag for my files
[17:44] <bencc> now I'm trying to see if a file from another source has it
[17:44] <c_14> zenny: should be -vf trim=start_frame=6:end_frame=6 , that should drop the first five and last 6 frames
[17:45] <ChocolateArmpits> bencc: You can also try setting the atom with mp4box. As I understand it can interleave moov_atom over amount of time so the initial amount of data to download before playback should be at around 40% lower than compared to ffmpeg's faststart
[17:46] <ChocolateArmpits> The rest of it is downloaded over amount of time specified
[17:48] <bencc> ChocolateArmpits: http://dpaste.com/33WZA7V
[17:48] <bencc> looks like the moov atom is close to the start?
[17:49] <ChocolateArmpits> Is the size of the file 9 mbytes?
[17:50] <bencc> 72MB
[17:50] <bencc> AtomicParsley input.mp4 -T | sed -n 2p | grep -q "moov" && echo "yup" || echo "nope"
[17:50] <bencc> this gives me "nope"
[17:52] <ChocolateArmpits> Ok, it's at the end
[17:52] <ChocolateArmpits> It needs to preceed Atom mdat
[17:53] <bencc> good
[17:53] <bencc> that might explain why it takes a long time for the video to start playing
[17:53] <bencc> thanks
[17:58] <feklee> Just checked out master, but cannot find the -tile-columns option for streaming WebM/VP9.
[17:58] <feklee> Is there another branch which contains these?
[17:59] <feklee> Or does master support WebM streaming?
[18:21] <PovAddict> how big is the tv-safe area? :/
[18:23] <ChocolateArmpits> PovAddict: Depends on suggestions
[18:23] <ChocolateArmpits> https://tech.ebu.ch/docs/r/r095.pdf
[18:24] <PovAddict> I'm targeting a 4:3 CRT TV
[18:28] <ChocolateArmpits> In general 80% of total width and maybe around 84% of height can be allowed for title area
[18:28] <ChocolateArmpits> Actually those would be very safe
[18:39] <PovAddict> got my menu to fit with some trial and error
[18:57] <Cin_> Hey, wondering if anyone can help answer whether I'm seeing an issue in FFMPEG or with the MP4 container
[18:57] <Cin_> if I run the following:
[18:57] <Cin_> -metadata:s:a:1 language=jpn
[18:58] <Cin_> it overrides the original track's language just fine, so no syntax issue there
[18:58] <Cin_> but if I run:
[18:58] <Cin_> -metadata:s:a:1 title="DTS Core 5.1 @ 1.5 Mbps"
[18:58] <Cin_> nothing happens
[18:58] <Cin_> the track gets no title
[18:58] <Cin_> anyone else tried that before?
[20:28] <dcoffey> Greetings! I have a question -- I just compiled and installed ffmpeg 2.4.2 from source. When I use ffprobe or ffmpeg on a file, the entire contents of the XMP data are printed before encoding starts. Is it possible to disable parsing the XMP data entirely?
[20:28] <c_14> What part do you want?
[20:29] <c_14> You can try ffprobe -show_streams
[20:29] <dcoffey> I would like to skip the read altogether, it takes about a minute to print the entire data to the screen. If I use -v quiet, it still hangs while parsing the dta
[20:29] <dcoffey> s/dta/data/
[20:30] <c_14> Can you ffprobe your complete command and console output?
[20:30] <c_14> what
[20:30] <c_14> eh
[20:30] <c_14> s/ffprobe/pastebin
[20:30] <PovAddict> lol
[20:30] <dcoffey> sure, hang on
[20:30] <PovAddict> c_14: need to ship a ffpaste
[20:30] <PovAddict> :P
[20:38] <dcoffey> ok sorry for the delay, here is the pastebin of the xmp issue I am having http://pastebin.com/khztXyGC
[20:39] <dcoffey> i truncated it as the log was a 27MB file
[20:46] <dcoffey> the xmp data is 300,000+ lines long, so takes minutes to print before encoding starts
[20:55] <c_14> I'm not sure there's an option to skip reading or to skip parsing of that information. If the problem is that your terminal can't print fast enough, you can try redirecting stderr somewhere else.
[21:01] <feklee> The option `-an` gives: "Undefined constant or missing '(' in 'an'"
[21:04] <feklee> Well, here it is: http://pastebin.com/fYc2Lggf
[21:05] <c_14> There's something wrong with ${VP9_DASH_PARAMS}
[21:05] <feklee> I try to convert to WebM for DASH streaming. I've compiled the latest master branch: "./configure --enable-libvpx --enable-libvorbis --enable-libx264 --enable-avresample --enable-gpl"
[21:05] <c_14> Hint the: [libvpx-vp9 encoder @ 0x1a9dde0] Error setting option frame-parallel to value -an.
[21:07] <feklee> @c_14: `$VP9_DASH_PARAMS`: "-tile-columns 4 -frame-parallel"
[21:07] <c_14> > -frame-parallel <int> E..V.... Enable frame parallel decodability features (from -1 to 1) (default -1)
[21:08] <c_14> -frame-parallel takes an int
[21:08] <feklee> Phew, basically copied from here: http://wiki.webmproject.org/adaptive-streaming/instructions-to-playback-ada…
[21:08] <feklee> Don't even know what `-frame-parallel` does.
[21:08] <c_14> try with -frame-parallel 1
[21:09] <feklee> @c_14: Thanks, that seems to work - it's converting!
[21:10] <feklee> The path to WebM/DASH streaming is full of obstacles...
[21:14] <dcoffey> anyone know which line in libavformat/dump.c I'd need to modify to stop from printing the XMP metadata altogether from http://pastebin.com/khztXyGC while preserving all other output?
[21:32] <dcoffey> found it, line 136 I added this to stop dumping xmp if anyone is curious: http://pastebin.com/puh6SRZx
[21:32] <dcoffey> that's libavformat/dump.c
[21:36] <bofh> Hi all! can somebody please suggest how can I decrease volume from 100% to 80% for a input file, starting at position of second 5 to position of second 8 in the file (so the volume would go down at that range)?
[21:36] <bofh> linear
[21:49] <zenny> c_14: used -vf start_frame=6:end_frame=6, but the output video froze at frame 6 while audio seems to be okay.
[21:49] <c_14> That's not a correct filter...
[21:50] <c_14> eh
[21:50] <c_14> wait
[21:51] <c_14> Right, first of all, it should be -vf trim=[foobar], second you're going to need the total number of frames and then use end_frame=[num_frames]-6
[21:52] <c_14> And no, ffmpeg itself can not get the total number of frames within a filter (than I know of) you'll have to get at that programatically
[21:54] <zenny> c_14: Thanks. Is there a specific programmatic way of ffmpeg to get the total number of frames?
[21:56] <c_14> If it's cfr, it's fps * time_in_seconds, if not you can do `ffmpeg -i file -c copy -f null /dev/null' and then grab the frame= part
[22:00] <ChocolateArmpits> Would it be faster via ffprobe's select_entry as you wouldn't have to parse the text ?
[22:03] <c_14> It might, if used together with -count_frames
[22:05] <zenny> c_14: Thanks for the pointer. But ffmpeg seems to reencode the entire file once again and taking a long time to produce the output video.
[22:06] <c_14> Shouldn't with -c copy, but you can try ffprobe -count_frames -show_streams and then look at the nb_frames of the video stream. It still needs to decode/demux the entire file though.
[23:14] <bencc> is there something in this video that is not optimzied for web browsers?
[23:14] <bencc> http://dpaste.com/15C93YG
[23:14] <bencc> how can I know the codec profile?
[23:16] <bencc> it says "Constrained Baseline"
[23:24] <Nosomy> in x264 settings: --profile baseline
[23:25] <Mavrik> bencc, is that direct dump from some camera?
[23:25] <Nosomy> this video is youtube shit?
[23:25] <Mavrik> it looks fine from here except that the bitrate is kinda large
[23:26] <Mavrik> Nosomy, since when does youtube use constrained baseline profile?
[23:26] <Nosomy> some videos youtube use baseline profile.
[23:27] <Mavrik> mhm, but I highly doubt anyone at Google would ever get so drunk as to serve a 854x480 H.264 video at 3Mbit/s :P
[23:29] <Nosomy> Mavrik, youtube Follow a Standard, 5Mbit/s for 720p (or 3Mbit/s if is new young account)
[23:30] <bencc> Nosomy: I think it is youtube reencoded with some text on top of it
[23:30] <Mavrik> huh.
[23:30] <Nosomy> Youtube Standard is funny
[23:30] <Mavrik> why.
[23:30] <Mavrik> we serve 720p video at 2Mbits
[23:30] <Mavrik> silly.
[23:30] <bencc> it's not the original video
[23:30] <bencc> probably edited with windows movie editor
[23:31] <Mavrik> bencc, anyway, if you reencoded it you probably have to move the MOOV atom to the start
[23:31] <Mavrik> using qt-faststart or some tusch
[23:31] <bencc> Mavrik: if the html5 video element with preload="auto" is on the page
[23:31] <bencc> the browser will preload the video in the background, right?
[23:32] <bencc> the video size is 70MB
[23:32] <bencc> and users waited 10 mintues before playing it
[23:32] <Mavrik> No idea what all 15 browsers out there will do sadly
[23:32] <Mavrik> I'm not a web dev.
[23:32] <bencc> only Chrome
[23:32] <bencc> some of the users saw the video. some saw only black
[23:32] <Mavrik> bencc, if users had to wait before playing it, you certanly have a MOOV atom with file index at the end of file
[23:33] <Mavrik> do a faststart.
[23:33] <bencc> yes, I have the MOOV atom at the end
[23:33] <bencc> and moving it to the start is the first thing I'm going to do
[23:33] <bencc> but I wonder if there are other issues that I need to avoid
[23:34] <bencc> I don't have a machine that reproduces it but got complains from remote users
[23:34] <Mavrik> well first of all, 3Mbit is a huge file
[23:35] <Mavrik> meaning people need a stable, clean, working 3Mbit+ DSL or cable to stream it
[23:35] <Mavrik> and that pretty much kills all your mobile market
[23:35] <Mavrik> so getting that down to 1Mbit or even less (which is achievable at your resolution) should be a first priority
[23:35] <Mavrik> switching to Main or High profile should help with that
[23:36] <bencc> 3Mbit what?
[23:36] <bencc> I don't see it in the ffprobe output
[23:37] <Mavrik> bitrate: 2699 kb/s
[23:37] <Mavrik> each second of your video is 2.7Mbit large
[23:37] <bofh> I'm trying to merge 2-8 seconds of file 1.mp3, delayed with 1 second, with 2 seconds of file 2.mp3
[23:37] <bofh> ffmpeg -i 1.mp3 -i 2.mp3 -filter_complex "[0]atrim=2:10,adelay=1000|1000[0:o];[1]atrim=0:2[1:o];[0:o][1:o]amerge=inputs=2" 3.mp3
[23:38] <bofh> but the result is 2 seconds
[23:39] <bencc> Mavrik: what is a reasonale bitrate? 1000 kb/s?
[23:39] <Mavrik> depends on your content
[23:39] <bencc> if the client has time to buffer, won't it be fine?
[23:39] <Mavrik> bencc, how would it be fine?
[23:39] <Mavrik> if each second of your video needs more bandwidth that client has available
[23:39] <Mavrik> the buffer is just empty
[23:40] <Mavrik> *will just empty making people wait for next buffer
[23:40] <bencc> Mavrik: can't the client preload?
[23:40] <Mavrik> but WHY
[23:40] <Mavrik> 854x480 video has no business being 3Mbit :P
[23:41] <Mavrik> we serve PAL (720x576) at 1Mbit, 720p at 3Mbit and 1080p at 8Mbit
[23:42] <Mavrik> if you want to deliver that to people over internet reencode it to 1-1.5Mbit or so (depending on visual quality) in Main profile with medium or slow x264 preset
[23:42] <bencc> I need the video for an online virtual class
[23:42] <bencc> so I can compromise about quality
[23:44] <bencc> Mavrik: thanks. I'll try it
[23:46] <brontosaurusrex> any plans to add cineform decoder in near future?
[23:47] <Nosomy> for me is x264 CRF 20, trade-off between quality and size.
[23:49] <bencc> Nosomy: what is CRF 20?
[23:50] <bencc> I thought that a mobile client can preload 70MB video file and just play it no matter the bitrate
[23:50] <bencc> if I have enough time, why does the bitrate matters?
[23:52] <Mavrik> ...
[23:52] <Nosomy> crf is "quality metric" ratecontrol of x264, and after so many tests, i saw crf 20 is enough to make sure it is good, and quite good filesize.
[23:52] <bencc> will it still load the video in real time?
[23:52] <Mavrik> Nosomy, CRF needs vbv control added for good web experience
[23:53] <Mavrik> but otherwise it's ok yeah
[23:53] <Cin_> anyone know if the MP4 container supports stream specific metadata titles?
[23:54] <Cin_> like naming audio track 2 as "Commentary" etc?
[23:54] <Nosomy> yes, for this, web videostream is a problem.
[23:54] <bencc> Mavrik: I don't think the mobile client need to load the video in real time
[23:55] <bencc> <video preload="auto"> will let it cashe the file so the bitrate won't be an issue
[23:55] <Mavrik> bencc, which part of "making people wait because your video is ass is bad experience" don't you understand?
[23:55] <Cin_> bencc: keep in mind that on mobile, there's also the issue of data caps in some countries
[23:56] <Mavrik> bencc, you'll be burning 70MB of data for a person and making him wait for your video
[23:56] <bencc> I agree with you that I should reduce the bitrate (filesize)
[23:56] <Mavrik> instead of using 25MB and him being able to view it instantly because you can't be bothered to set proper video parameters?
[23:56] <brontosaurusrex> bencc: perhaps bitrate matters due to AVC levels
[23:56] <bencc> but trying to understand if that what causes some of the users to see black video even after preloading for several mintues
[23:56] <Mavrik> that too, but most devices will carry Level 5.1 and High profile with no problem lately
[23:57] <Mavrik> bencc, some versions of Chrome refused to play MP4s with MOOV at the end for me
[23:57] <bencc> so for web I need faststart and crf 20?
[23:57] <bencc> Mavrik: that's interesting
[23:57] <Cin_> The crf level depends on your needs
[23:57] <Cin_> but 20 is usually fine
[23:58] <Cin_> and the default for a lot
[23:58] <Mavrik> bencc, https://trac.ffmpeg.org/wiki/Encode/H.264#AdditionalInformationTips
[23:58] <bencc> Cin_ do I need other settings?
[23:58] <Mavrik> bencc, see CRF with maximum bit rate
[23:58] <bencc> thanks
[23:58] <Mavrik> add -profile main -preset medium
[23:58] <Mavrik> if you won't add -maxrate/-bufsize CRF might spike too much
[23:58] <bencc> isn't it safer to use baseline profile?
[00:00] --- Wed Oct 22 2014
1
0