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

burek burek021 at gmail.com
Tue Oct 6 02:05:01 CEST 2015


[01:17:56 CEST] <IRCMonkey> Hey, is there a way with ffmpeg for it to output a warning about dropped frames or lag during a stream?
[02:38:37 CEST] <NapoleonWils0n> hi all
[02:38:57 CEST] <NapoleonWils0n> does ffplay have a cache option like mplayer, eg -cache 8192
[02:43:04 CEST] <c_14> afaik no
[02:44:51 CEST] <NapoleonWils0n> cheers was getting buffer under run with alsa
[02:45:16 CEST] <NapoleonWils0n> have to change the buffer size on alsa thx mate
[02:59:43 CEST] <IRCMonkey> Hey, is there a way with ffmpeg for it to output a warning about dropped frames or lag during a stream?
[03:43:17 CEST] <IRCMonkey> Um, is anyone around to answer my question that I've posted?
[04:12:43 CEST] <fahadash> Can we input a video file and save only audio portion of it as mp3 ?
[04:20:24 CEST] <TD-Linux> fahadash, ffmpeg -i video.webm -vn audio.mp3
[04:20:41 CEST] <TD-Linux> (or whatever other audio format you want)
[04:30:50 CEST] <fahadash> I found this article http://linuxpoison.blogspot.com/2010/04/how-to-extract-audio-from-video-file.html#ixzz3nejIF15U
[04:30:53 CEST] <wyatt8740> anyone know if I can tell ffmpeg to seek to a given time in a pipe? I am trying to pipe video in from glc-play (a tool to play back videos recorded with glc-capture), and don't want to start ffmpeg encoding until 5 seconds into the video. I know I can do this with two runs, but I'd prefer to do it in one. Any ideas?
[04:31:02 CEST] <fahadash> Well explained, saying same thing you said. Thank you TD-Linux
[04:31:18 CEST] <c_14> wyatt8740: just use -ss
[04:31:22 CEST] <wyatt8740> c_14: tried
[04:31:24 CEST] <wyatt8740> didnt work
[04:31:36 CEST] <c_14> Should
[04:31:38 CEST] <c_14> What's your command?
[04:32:10 CEST] <wyatt8740> I was attempting to play it back as I encoded for testing purposes, so my command was glc-play glc-capture-2.glc -y 1 -o - | ffmpeg -i - -ss 00:05:00 -f nut -vcodec rawvideo - | ffplay -
[04:32:25 CEST] <wyatt8740> and my error: EOF before video frames
[04:32:26 CEST] <wyatt8740> pipe:: Invalid data found when processing input
[04:32:32 CEST] <fahadash> Sometimes I wish that some of the other projects were as cool as ffmpeg
[04:32:54 CEST] <wyatt8740> also, 'glc-play glc-windwaker-2.glc -y 1 -o - | ffplay -ss 00:05:00.000 -' doesnt work
[04:32:59 CEST] <wyatt8740> just plays the video without seeking
[04:33:19 CEST] <wyatt8740> says 'pipe:: could not seek to position 300.000'
[04:33:26 CEST] <wyatt8740> yknow, because its in a pipe
[04:33:38 CEST] <fahadash> You need a "delay" :P
[04:33:43 CEST] <wyatt8740> yes
[04:33:45 CEST] <wyatt8740> yes I do
[04:33:59 CEST] <wyatt8740> and that's what I'm asking for :p
[04:35:41 CEST] <c_14> cat file | ffmpeg -ss 60 -i - out.mkv <- works for me
[04:35:53 CEST] <wyatt8740> I can't cat the file because it's not a raw video file
[04:36:07 CEST] <c_14> It's still just a normal pipe.
[04:36:20 CEST] <wyatt8740> yes it is, and if you see what I just said it didn't work
[04:36:43 CEST] <c_14> It does for me. What version are you running?
[04:36:52 CEST] <wyatt8740> 2.7.2
[04:37:57 CEST] <wyatt8740> and again: [nut @ 0x7f5b10000920] EOF before video frames
[04:37:57 CEST] <wyatt8740> pipe:: Invalid data found when processing input
[04:38:06 CEST] <wyatt8740> because I'm trying to preview my seek
[04:38:37 CEST] <wyatt8740> so if anyone knows a container that works for piping that works out better than nut, let me know
[04:39:06 CEST] <wyatt8740> also says 'Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)'
[04:39:36 CEST] <c_14> try mpegts?
[04:39:37 CEST] <wyatt8740> oh wait
[04:39:42 CEST] <wyatt8740> 00:05:00 is 5 minutes
[04:39:43 CEST] <wyatt8740> not 5 seconds
[04:39:48 CEST] <wyatt8740> let me try this :\
[04:39:59 CEST] <wyatt8740> aand that worked
[04:40:01 CEST] <wyatt8740> i'm a moron
[04:40:05 CEST] <wyatt8740> thanks :D
[04:41:43 CEST] <fahadash> "Lets try this" would have been the last words of any human after the extinction of human race
[04:42:00 CEST] <fahadash> would be*
[05:01:19 CEST] <wyatt8740> FFmpeg was actually my first experience with the command line in any meaningful way and was the gateway for me to linux/unix and open-source/free software :)
[05:01:38 CEST] <wyatt8740> All I originally wanted was a video encoder for my ipod but I ended up with so much more.
[05:12:18 CEST] <wyatt8740> and yet I am still learning how the CLI tool works -_-
[05:12:39 CEST] <wyatt8740> (6 years later)
[05:58:43 CEST] <pinPoint> the video and audio input always come first before any other codec specs in ffmpeg right?
[05:59:42 CEST] <c_14> The options go in front of the file they modify.
[06:02:07 CEST] <pinPoint> but input is first right?
[06:03:00 CEST] <c_14> If an option is supposed to be applied to the output, it goes after the inputs and before the output.
[06:03:10 CEST] <klaxa> general syntax: ffmpeg [input options] -i <input> [output options] <output>
[06:03:10 CEST] <c_14> If it's supposed to be applied to the input, it goes before the input.
[06:03:11 CEST] <pinPoint> ok
[06:03:19 CEST] <pinPoint> so like this: ./ffmpeg -i phfx_com.mov i audio.m4a c:v prores_ks -profile:v 4 -pix_fmt yuv444p10 output.mov
[06:03:28 CEST] <klaxa> looks correct
[06:03:47 CEST] <c_14> You're missing a '-' before the c:v
[06:03:48 CEST] <klaxa> maybe set an audio codec if you don't want to use the default
[06:03:52 CEST] <klaxa> ah
[06:03:56 CEST] <klaxa> missed that
[06:03:56 CEST] <pinPoint> yes
[06:05:02 CEST] <pinPoint> like this. ==> ./ffmpeg -i phfx_com.mov i audio.m4a -c:v prores_ks -profile:v 4 -pix_fmt yuv444p10 -c:a aac -strict -2 -b:a 256k output.mov
[06:05:40 CEST] <klaxa> if it is already in aac, maybe you might just want to copy the audio
[06:05:57 CEST] <klaxa> but afaik the native aac encoder has gotten some improvements?
[06:06:16 CEST] <pinPoint> it works fine actually. sound is good
[06:06:33 CEST] <pinPoint> but yes.. it might be a .wav input or .mp3
[06:09:35 CEST] <pinPoint> klaxa: so remove -c:a aac -stric -2  -b:a 256k and replace with -a copy?
[06:09:46 CEST] <klaxa> with -c:a copy
[06:09:48 CEST] <klaxa> but yes
[06:23:10 CEST] <pinPoint> ok
[11:01:14 CEST] <ravenlock> Hi.  I've a question regarding the usage of FFmpeg in commercial software.
[11:01:21 CEST] <ravenlock> I've read the following:  https://www.ffmpeg.org/legal.html
[11:01:53 CEST] <ravenlock> but am hoping to gather a few comments from your team if possible.
[11:03:27 CEST] <JEEB> neither GPL or LGPL do not stop you from using it in commercial software, although GPL might not be viable for closed source cases due to its "release all sources" nature
[11:04:38 CEST] <JEEB> LGPL FFmpeg is of the usual LGPL kind. "Give the user the exact sources for the LGPL software, Let the user replace the library if he or she really wants to (in other words, with shared linking you don't do much else, with static linking you release object files so that the user can link his own FFmpeg into it)
[11:04:38 CEST] <JEEB> more or less like that
[11:04:44 CEST] <JEEB> IANAL and all that of course
[11:05:23 CEST] <ravenlock> closed source is our desire (commercial I suppose was moot)
[11:06:19 CEST] <ravenlock> as I read the license compliance, I felt we were essentially in the clear, but there is one stipulation that concerns me in particular
[11:06:44 CEST] <ravenlock> #13  Remove any prohibition of reverse engineering from your EULA.
[11:07:28 CEST] <ravenlock> would you consider this mandatory?  must we prevent customers from reverse engineering our closed source application?
[11:08:46 CEST] <Mavrik> ?
[11:08:49 CEST] <ravenlock> and JEEB .. would you be a FFmpeg dev?  (I'm not familiar with the FFmpeg community)
[11:08:59 CEST] <Mavrik> ravenlock, it explicitly says you MUST NOT prevent your customers from reverse engineering.
[11:09:42 CEST] <ravenlock> yes,  I see that.  :)
[11:09:54 CEST] <ravenlock> however... the page also has the caveat:  "It is not the only way to comply with the license, but we think it is the easiest. There are also a few items that are not really related to LGPL compliance but are good ideas anyway."
[11:10:10 CEST] <ravenlock> so... is #13 just "a good idea"
[11:10:12 CEST] <ravenlock> or required?
[11:10:31 CEST] <Mavrik> LGPL requires it.
[11:10:35 CEST] <Mavrik> Of course, ask your lawyer.
[11:10:46 CEST] <Mavrik> But your EULA must not speak for LGPLed code.
[11:11:00 CEST] <ravenlock> strangely.... our corp lawyers refuse to comment for fear they will be liable.  o_0
[11:11:17 CEST] <Mavrik> Why the fuck do you have them then?
[11:11:23 CEST] <ravenlock> hahaha
[11:11:27 CEST] <ravenlock> I don't write that check.
[11:11:33 CEST] <Mavrik> Anyway, see http://programmers.stackexchange.com/a/163667 :)
[11:11:36 CEST] <ravenlock> I've asked the same question
[11:13:02 CEST] <ravenlock> ok.  thanks.  that post seems.... enlightening
[14:06:46 CEST] <sovernace> c++ pointed me here. Any basic tutorials for a novice at c++ to learn ffmpeg and make a well made game streaming software?
[14:06:58 CEST] <sovernace> Browsing the website now..
[14:08:13 CEST] <Mavrik> hmmf.
[14:08:31 CEST] <Mavrik> FFmpeg is written in C and there's nothing much else than the examples in doc/ folder and doxygen documentation.
[14:19:55 CEST] <sovernace> So... learn C? and c++ is all the sudden saying not to use h.264 because thats high latency. ffmpeg and h.264 are two different encoding methods, right?
[14:21:00 CEST] <sovernace> I found http://ffmpeg.gusari.org/viewforum.php?f=25&sid=5ac333fe17b563a10c965905d08336a0 ...
[14:25:21 CEST] <iive> ffmpeg is framework, that support a lot of codecs. h264 is one of the codecs.
[14:26:43 CEST] <iive> there is x264 that is encoder implementation. it also supports a number of options to lower the latency (aka disable bi-direction frames, look-ahead and other stuff that increases compression)
[14:33:59 CEST] <sovernace> I just... dont know how to use any of this yet. I ran into trouble with my ide trying to figure out why i'm getting undefined references for things in windows.h for capturing the image of my screen
[14:34:31 CEST] <blue112> Hi here.
[14:34:39 CEST] <blue112> I'm getting a segfault when calling sws_getContext
[14:34:43 CEST] <blue112> What could be the problem ?
[14:35:23 CEST] <BtbN> You're calling it wrong. Or you found a bug in swscale. Or you did something that corrupted the heap/stack. Or your ram is broken. Or something miscompiled libswscale.
[14:35:38 CEST] <blue112> Hm, probably the corruption thing.
[14:35:56 CEST] <blue112> Because it doesn't crash every time, maybe 4 time out of 53
[14:35:57 CEST] <blue112> 5*
[14:36:19 CEST] <BtbN> Use your favourite debugger to track it down.
[14:36:44 CEST] <blue112> I don't know how to debug correctly a program on Windows
[14:37:41 CEST] <DHE> does valgrind run under windows? inconsistent crashes like that often suggest valgrind can help track it down
[14:37:55 CEST] <blue112> valgrind would help, yeah. I'm checking if it runs on windows.
[14:38:09 CEST] <blue112> First google link "Is there a good Valgrind substitute for Windows?"
[14:38:13 CEST] <blue112> Doesn't sound like it does.
[14:39:47 CEST] <blue112> I'm checking drmemory
[15:13:22 CEST] <blue112> I got a WARNING: prefetching unadressable memory in avcodec. unpon calling avformat_find_stream_info
[15:14:16 CEST] <blue112> That's all I got
[15:18:06 CEST] <iive> prefetch never segfaults, you can give it invalid address and it would just ignore it.
[15:18:29 CEST] <blue112> iive, ok, so why does my sws_getContext sometime segfaults ?
[15:19:41 CEST] <iive> if it does crash on prefetch, you might have found a CPU bug.
[15:20:29 CEST] <iive> also, avformat is file reading/writing ... quite far away from swscale.
[15:20:39 CEST] <blue112> iive, I don't think it crashes on prefetch. I though there was some memory corruption, so I've check with a memcheck tool. But no problem other than this unadressable prefetch. So, if there's no memcorruption, why does it crashes on getContext, which sounds like a benign operation to me ?
[15:22:49 CEST] <iive> run it under gdb and when it crashes, do a  backtrace
[15:23:26 CEST] <iive> if it happens at random, there is a good chance some function got unaligned buffer when it expects it to be aligned.
[15:23:52 CEST] <iive> e.g. you might have allocated buffer with malloc, instead of av_alloc
[15:23:57 CEST] <blue112> iive, actually, it runs perfectly on Linux. It crashes on windows.
[15:23:57 CEST] <iive> stuff like that.
[15:24:16 CEST] <blue112> Hm, I have no malloc, only av_malloc
[15:24:26 CEST] <iive> i think on windows memalign hack is enabled by default...
[15:24:54 CEST] <blue112> when it doesn't crash on sws_getContext, it does on sws_scale
[15:25:36 CEST] <iive> you'll have to debug it.
[15:25:49 CEST] <blue112> gdb doesn't seems to be able to read symbols from my PE file
[15:25:50 CEST] <blue112> :(
[15:28:18 CEST] <iive> if you compile with visual studio, run it with its debugger.
[15:29:56 CEST] <blue112> iive, I compile it with visual studio tools, cl and link, from a makefile. How do I start the debugguer then?
[15:30:11 CEST] <iive> i have no idea...
[15:47:32 CEST] <Prelude_Zzzzz> hey everyone good day
[15:48:01 CEST] <Prelude_Zzzzz> can anyone help me... with ffmpeg encoding.. my image is looking pretty good but on scene changes it get lots of pixelation and then it cleans up 1 second later
[15:48:24 CEST] <Prelude_Zzzzz> any way to make the system be smart and not cause any pixalation on scene change ?
[15:52:31 CEST] <iive> Prelude_Zzzzz: that's what you get at fixed bitrate.  you can either use quality base encoding (e.g. libx264 -crf 18 gives you quality similar to mpeg2 quant=2 maximum quality) OR use two pass encoding (if you want the best quality for a given size).
[15:53:18 CEST] <iive> if you are capturing and streaming, then setting vbv buffer may easy the spikes by keyframes.
[20:05:29 CEST] <Foloex> hello world
[20:06:06 CEST] <Foloex> I'm trying to use the concat demuxer as specified here: https://ffmpeg.org/ffmpeg-formats.html#concat
[20:07:01 CEST] <Foloex> I get errors with inpoint and outpoint, saying "unknown keyword ..."
[20:08:26 CEST] <Foloex> Does any of you has a complex script file using most of the api presented in the link I provided ?
[20:10:19 CEST] <Foloex> it seems like concat only accepts "file" keywords
[20:14:01 CEST] <YaMoonSun_> Firstly, good morning, secondly, give me a moment and I'll read that real quick
[20:15:10 CEST] <Foloex> YaMoonSun_: good evening, sure, no rush
[20:18:51 CEST] <Foloex> by the way, here is a more concrete howto of concat: https://trac.ffmpeg.org/wiki/Concatenate
[20:19:42 CEST] <YaMoonSun_> So you're trying to combine videos essentially?
[20:20:04 CEST] <Foloex> yes, but using subpart of videos
[20:20:41 CEST] <YaMoonSun_> Implying just a clip from each video instead of combining the two full sized video streams?
[20:20:47 CEST] <Foloex> yes
[20:22:30 CEST] <Foloex> the issue is that the "inpoint" and "outpoint" keyword provided by the api are not recognised when used in a script
[20:22:31 CEST] <YaMoonSun_> I'm fairly certain that you just have to create a mylist.txt file that contains all the file locations as well as their start (-ss) and ending times (-to)
[20:22:56 CEST] <Foloex> only "file" "duration" and "ffconcat version 1.0" seem to be recognised
[20:23:27 CEST] <YaMoonSun_> Can copy/paste the terminal or command prompt into a pastebin?
[20:24:39 CEST] <Foloex> http://pastebin.com/cs6gZ7qA
[20:25:52 CEST] <Foloex> what I pasted should be the equivalent of "ffmpeg -i input.mp4 -ss 23 -to 4:39.7 -c copy output.mp4"
[20:26:37 CEST] <c_14> Foloex: your version of ffmpeg is probably too old
[20:26:40 CEST] <YaMoonSun_> That never worked for me personally, I had to do -ss 00:00:23 -to 00:04:39.700
[20:26:44 CEST] <c_14> inpoint/outpoint are relatively new
[20:26:59 CEST] <YaMoonSun_> Also, -c copy copies both audio and video codecs?
[20:27:02 CEST] <c_14> (but it looks like they're bugged in current git)
[20:27:25 CEST] <Foloex> c_14: in the doc it says "The concat demuxer was added to FFmpeg 1.1"
[20:27:34 CEST] <Foloex> I have ffmpeg version 2.6.4
[20:27:35 CEST] <c_14> The demuxer, sure. But not all the options.
[20:28:24 CEST] <Foloex> then it says "You can read about it in the documentation." with a link pointing to https://ffmpeg.org/ffmpeg-formats.html#concat
[20:28:50 CEST] <c_14> So? 2.6.4 is old
[20:30:15 CEST] <Foloex> ok, so I'll install 2.8 from source and hope it works ?
[20:31:02 CEST] <c_14> You can try that, but I think they're currently bugged. I'll have to test later.
[20:31:30 CEST] <Foloex> (I installed it on debian through the deb-multimedia repository)
[20:33:32 CEST] <Foloex> c_14: thanks
[21:29:53 CEST] <brontosaurusrex> whats the max that lame encoded file lenght would vary from original?
[21:30:03 CEST] <brontosaurusrex> length*
[21:34:47 CEST] <Foloex> wow, the speed difference between 2.6.4 and 2.8 is impressive
[21:36:50 CEST] <Foloex> 2.8 gets "inpoint" and "outpoint" \o/
[21:37:18 CEST] <Foloex> it's all good now
[21:37:39 CEST] <Foloex> c_14, YaMoonSun_ : thanks
[21:38:06 CEST] <YaMoonSun_> Nice, glad you got it taken care of man
[00:00:00 CEST] --- Tue Oct  6 2015


More information about the Ffmpeg-devel-irc mailing list