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

burek burek021 at gmail.com
Sat Feb 6 02:05:01 CET 2016


[05:57:37 CET] <Elronnd> Not sure if this is the right place to ask, but
[05:57:57 CET] <Elronnd> converting an mkv to an mp4 only shaved off 0.3 GB, is there a way to take off more?
[05:58:31 CET] <chungy> I'm surprised you got such a saving, was that with "-c copy"?
[05:58:45 CET] <chungy> But in general, not really. Metadata from the containers aren't typically very large.
[05:59:20 CET] <Elronnd> ah, okay then
[05:59:23 CET] <Elronnd> thanks anyway
[06:22:25 CET] <satinder> Hi anyone here
[07:20:20 CET] <satinder> ??
[07:34:01 CET] <relaxed> ask a ffmpeg related question
[07:55:06 CET] <chungy> Please state the nature of your media emergency
[10:37:06 CET] <canhtak> Hi guys, Ive a little problem while using ffmpeg and I cannot figure out how to solve it.
[10:38:09 CET] <canhtak> Im trying to call ffmpeg using std::system from a C++ program. The call to std::system is made from a child created using fork() which is then detached from the parent process.
[10:39:03 CET] <canhtak> ffmpeg is launched properly from this process, but stop just after the print of the version + the configuration.
[10:40:01 CET] <canhtak> Any one knows if ffmpeg do something special internally which do not allow my to start it inside a child process with its own group ?
[10:43:33 CET] <furq> canhtak: it should work fine
[10:45:14 CET] <canhtak> furk: it does not for me, we can build a ten line C code if I share it for test ?
[10:45:31 CET] <furq> i just tested it with system(3) on freebsd
[10:45:42 CET] <furq> http://www.lua.org/source/5.2/loslib.c.html#os_execute
[10:45:46 CET] <furq> or with that, which is close enough
[10:45:46 CET] <canhtak> you changed the group of the child process ?
[10:45:56 CET] <furq> oh
[10:46:05 CET] <furq> no, but i can't imagine that would affect it
[10:46:16 CET] <canhtak> nope me to in the first time.
[10:46:31 CET] <canhtak> everything work if I dont change the child process group
[10:46:54 CET] <canhtak> but I need to change it to be sure to handle signals from the parent and allow my child to terminate their work with ffmpeg
[11:33:26 CET] <Triage> Hi. What's a good way to repair a mp4 that plays back fine but doesn't seek correctly?
[11:38:53 CET] <relaxed> Triage: seeks in what? Try, ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4
[11:41:08 CET] <Triage> well I use MPC-HM as my play back software... which I believe uses the same backend as ffmpeg
[11:41:19 CET] <Triage> will try that command in a couple minutes... thanks :-)
[11:48:32 CET] <Triage> yep worked a jiff
[11:48:53 CET] <Triage> so -c is copy codec right? what do the others do?
[11:49:22 CET] <furq> -movflags +faststart puts the moov atom at the start so that web players don't have to download the whole file to start playing it
[11:49:31 CET] <furq> i doubt that had any effect if you were playing it locally
[11:51:37 CET] <Triage> so ffmpeg just kinda repairs it automatically?
[11:52:59 CET] <furq> that command copies the streams into a new container
[11:53:04 CET] <furq> so if the old container was somehow broken then that will fix it
[11:53:38 CET] <Triage> ah
[11:53:53 CET] <Triage> & if it had been the streams in the container that were broken?
[11:54:21 CET] <furq> then your job gets a lot harder
[11:56:40 CET] <furq> canhtak: it seems that it should work with -nostdin
[11:57:13 CET] <canhtak> furq: I tried to with -nostdin but do not work too &
[11:58:13 CET] <canhtak> it seems that -nostdin specify that we dont want ffmpeg to use the commandling because he is running in background, bug not specialy becaus we want it to run inside another group...
[11:59:54 CET] <furq> shrug
[12:00:08 CET] <furq> i tried it with posix_spawn and POSIX_SPAWN_SETPGROUP and it doesn't work without -nostdin
[12:01:49 CET] <furq> hopefully someone who actually knows their way around the internals will know why
[12:05:44 CET] <canhtak> furq: I have to go, I really thank you for the time you spent on my problem, Ill try to figure it out by myself.
[12:05:45 CET] <canhtak> see ya
[12:10:30 CET] <hawke_> good morning
[12:12:15 CET] <hawke_> can i get someone to take a look at this and tell me what i am doing wrong http://pastebin.com/iGCmc1PA
[12:14:00 CET] <Zitter> Hi, I have "Error setting option pix_fmt to value -1" and "Error applying options to the filter" errors doing this: http://pastie.org/10709829 any hint? I'm new to ffmpeg
[12:25:14 CET] <hawke_> zitter what os are you using
[12:27:10 CET] <Ccdc_DuckZ> good morning
[12:28:11 CET] <Ccdc_DuckZ> I'm trying to create an animated gif, and I'm following the example here: http://ffmpeg.org/doxygen/2.8/decoding_encoding_8c-example.html but it's not specifically about gifs, so I'm wondering if there are better resources around?
[12:28:51 CET] <Ccdc_DuckZ> like in video_encode_example(), I don't think I need to set gop_size or max_b_frames, that doesn't sound like it would make sense in the gif world
[12:29:43 CET] <Zitter> hawke_, debian 8
[12:29:59 CET] <hawke_> are you streaming zittler
[12:32:33 CET] <Zitter> what do you mean?
[12:33:14 CET] <Zitter> I have a .mp4 movie (duration 2 minutes) that I would like to fade-to-black to last 10 seconds
[12:35:44 CET] <hawke_> ok sorry i dont know how your using the ffmpeg encoder, but couldnt you use editing software to achieve what you want.....i dont know
[12:37:51 CET] <hawke_> sounds like your using it for html.....but i am new also....trying to use the ffmpeg encoder for a script call ampache
[12:52:56 CET] <Ccdc_DuckZ> how cool, I never realized they had accepted my wtf :D http://thedailywtf.com/articles/a-hardware-switch
[13:24:18 CET] <FilipeMaia> Hi. Could anyone point me to an example of using the API for h264 decoding?
[13:24:44 CET] <JEEB> should be similar to any other decoding, see the exmaples under doc
[13:26:02 CET] <FilipeMaia> JEEB: I tried the decoding_encoding.c example (ffmpeg/doc/examples/decoding_encoding.c), and while it encodes and decodes and for other formats, for h264 it only encodes
[13:26:23 CET] <FilipeMaia> JEEB: I tried to change the code the also do decoding but it did not work
[16:23:21 CET] <FilipeMaia> Hi. Could anyone point me to an example of using the API for h264 decoding?
[16:25:57 CET] <Ccdc_DuckZ> if I include libavcodec/avcodec.h in my c++ code I get linking errors, and after a lot of time spent looking at the output of objdump and nm I figured out my code was trying to find mangled symbols in libavcodec and failed because that's c code
[16:26:14 CET] <Mavrik> Ccdc_DuckZ, doh.
[16:26:24 CET] <Mavrik> There's a reason extern "C" exists.
[16:26:26 CET] <FilipeMaia> Ccdc_DuckZ: live and learn
[16:26:34 CET] <Mavrik> But yeah, that one is fun.
[16:26:35 CET] <Mavrik> :)
[16:26:46 CET] <Ccdc_DuckZ> I assumed headers just had if defined(__cplusplus) extern "C" {} in them
[16:26:59 CET] <J_Darnley> Don't ask C programmers and C library to do your mangling for you!
[16:27:12 CET] <Ccdc_DuckZ> am I supposed to wrap the include in extern "C" myself with avcodec?
[16:27:17 CET] <J_Darnley> Yes!
[16:27:21 CET] <Ccdc_DuckZ> -_-
[16:27:36 CET] <furq> you could ask a friend to do it for you
[16:28:06 CET] <J_Darnley> FilipeMaia: wnat about the examples in the source?
[16:28:13 CET] <J_Darnley> in doc/examples I think
[16:28:19 CET] <FilipeMaia> J_Darnley: no h264 decoding
[16:28:23 CET] <Ccdc_DuckZ> I think this just overwelmed my tolerance for ugliness for this month...
[16:28:41 CET] <Ccdc_DuckZ> luckily it's february
[16:28:44 CET] <Mavrik> FilipeMaia, that example works just fine for h264 decoding.
[16:28:46 CET] <J_Darnley> What do you mean?  I think they show how to use the API
[16:28:48 CET] <FilipeMaia> J_Darnley: the decoding_encoding.c example doesnt have h264 decoding, even though it has encoding
[16:28:49 CET] <Mavrik> It's not format specific.
[16:29:09 CET] <FilipeMaia> I added the following line to the example video_decode_example("test%02d.pgm", "test.h264");
[16:29:14 CET] <Mavrik> There aren't example for every of 100+ formats ffmpeg supports.
[16:29:23 CET] <FilipeMaia> but didnt get any output
[16:29:40 CET] <J_Darnley> "no output" is not an error message!
[16:29:41 CET] <FilipeMaia> But for mpg and mp2 theres both decode and encode
[16:29:48 CET] <FilipeMaia> J_Darnley: I mean no pgm files
[16:30:01 CET] <Mavrik> What are you talking about -_-
[16:30:11 CET] <J_Darnley> Still not an error message!
[16:30:33 CET] <FilipeMaia> J_Darnley: no one said anything about error messages
[16:30:53 CET] <J_Darnley> As a side note: we can't possibly have a colossal 2D matrix of every possible input and every possible output.
[16:31:18 CET] Action: J_Darnley goes back to programmin.
[16:31:35 CET] <FilipeMaia> Im talking about https://www.ffmpeg.org/doxygen/2.1/doc_2examples_2decoding_encoding_8c-example.html
[16:32:17 CET] <FilipeMaia> It does encode and decode for mp2 and mpg, but only encoding for h264
[16:32:44 CET] <FilipeMaia> I tried to add an equivalent line for h264 decoding but I didnt get any output
[16:32:57 CET] <FilipeMaia> and was just asking if theres any example available of h264 decoding
[16:34:24 CET] <drv> video_decode_example() in that program is hardcoded to look up the MPEG-1 video decoder
[16:34:29 CET] <drv> you would at least need to change this line: codec = avcodec_find_decoder(AV_CODEC_ID_MPEG1VIDEO);
[16:35:16 CET] <FilipeMaia> drv: many thanks
[16:50:12 CET] <kbarry> I'm pretty new to streaming media (which has included a lot of playing/reading about ffmpeg),
[16:50:23 CET] <kbarry> I've been trying to find books, or other sources of information for Getting a much better understanding of streamable media, streaming , etc.
[16:51:19 CET] <kbarry> I have read a book on ffmpeg usage, which has been helpful, but am still looking to learn more. It seems a lot of this information may be organizational.
[16:51:38 CET] <kbarry> I'd like some recommended rendings, if that is appropriate to ask here.
[16:52:33 CET] <kbarry> Also, are there sites/blogs that someone who is getting into the digital/streaming media world should frequent, or atleast know about?
[16:53:02 CET] <Ccdc_DuckZ> I'm also following the example code, but for me avcodec_find_encoder(CODEC_ID_GIF) just returns null, should I initialize the library before that call or do anything else? I built my ffmpeg with
[16:53:06 CET] <Ccdc_DuckZ> --disable-gpl --disable-nonfree --disable-version3 --disable-all --disable-everything --disable-static --enable-shared --disable-small --enable-runtime-cpudetect --disable-gray --enable-avutil --enable-avcodec --enable-pthreads --enable-avformat --enable-muxer=gif --enable-encoder=gif --enable-filter=color --prefix=$HOME/apps/ffmpeg
[17:02:33 CET] <drv> i think you need to do avcodec_register_all(); first
[17:04:05 CET] <Ccdc_DuckZ> drv: thanks, that might be it
[17:04:24 CET] <Ccdc_DuckZ> drv: do you think it's safe to call it multiple times? ie: put it in my class' constructor?
[17:05:04 CET] <Ccdc_DuckZ> I can't see anything on that in the docs
[17:05:57 CET] <drv> I think that may have been removed actually, my knowledge is out of date
[17:06:39 CET] <drv> never mind, it's still there, see libavcodec/avcodec.h
[17:07:38 CET] <drv> it looks like it has a check internally to prevent initializing twice, but the docs don't say anything about it
[17:39:06 CET] <kbarry> What is the word for different packaging systems for content
[17:39:23 CET] <kbarry> ie, HLS/ RTMP / MPEG-DASH
[17:41:30 CET] <Mavrik> I guess streaming protocol? :)
[17:42:16 CET] <cortexman> what's the best video player for hosting a 5GB video on my own website
[17:42:30 CET] <cortexman> i need good support for changing the playback speed
[17:54:24 CET] <maslen1> I'm trying to strip the rotational metadata from an image without re-encoding. How can I? I tried using: ffmpeg -i "file_flipped_2.mp4"  -c:a copy -c:v copy -metadata:s:v:0  "file_flipped_2.mp4" , but I got an error that "at least one output file must be specified"
[17:55:02 CET] <maslen1> (typo on the input file, it was initially "file_flipped.mp4", so it did have a different filename)
[17:56:33 CET] <maslen1> oh, got it. I had to specify rotate=0
[21:24:51 CET] <DHE> I have a video being processed (live source) and some kind of error has caused the AC3 decoder to just go haywire and stop processing audio. It just produces some kind of tone now. Is there a way to reset the decoder on-the-fly? (code modifications are okay)
[21:44:52 CET] <dc786> How do I set the source to Composite1 for old Hauppauge on ffmpeg, using v4l2?
[21:46:26 CET] <dc786> Seems to default to Television (analog).
[21:55:35 CET] <triquad> Howdy yall! I'm compiling the CLI for Android and am having trouble getting hw acceleration to work -- has anybody done this successfully? CLI output and build configuration: http://pastebin.com/rSvHigrV
[21:56:31 CET] <JEEB> none of those you tried to enable should work on ARM or linux
[21:57:03 CET] <JEEB> does it actually succeed at configuring :P
[21:57:07 CET] <JEEB> I'd be surprised
[21:57:49 CET] <triquad> Yes, it's compiling and can transcode videos, albeit verrrrry slowly
[21:58:44 CET] <JEEB> confirm what the configure script outputs
[21:59:05 CET] <JEEB> it's not supposed to actually not fail if you try to enable things that aren't supposed to work
[21:59:33 CET] <JEEB> unless the fact that you're running ARM just ignores those since all except for DXVA2 are intel arch only
[21:59:37 CET] <JEEB> and DXVA2 is windows only
[21:59:54 CET] <JEEB> and you are running ARM _and_ linux
[22:00:08 CET] <JEEB> that said, it should still fail
[22:00:38 CET] <JEEB> "no, you dumdum, those don't work a" is what you should be getting from the configur escript
[22:01:26 CET] <JEEB> also
[22:01:50 CET] <JEEB> also that ffmpeg command line output shows a completely different configure line? unless it's cut
[22:04:42 CET] <jkqxz> The name suggests it's an Atom x5 (i.e. Cherry Trail x86-64, not ARM).  Does libva work on Android?
[22:05:28 CET] <JEEB> yeah, I did notice that, but he was building for ARM
[22:05:38 CET] <JEEB> arm-linux-androideabi-4.9
[22:05:48 CET] <JEEB> and intel based devices have a surprisingly good arm emluation
[22:06:02 CET] <JEEB> granted, it would most probably be much faster to just build for IA32/x86_64 :P
[22:06:15 CET] <JEEB> because there's *plenty* of intel arch optimizations in FFmpeg
[22:06:41 CET] <JEEB> although I remember that recent changes in Android and how it requires some stuff broke intel arch builds
[22:07:08 CET] <JEEB> and my guess would be that it's completely different APIs that power the Android HWDEC
[22:07:33 CET] <JEEB> that said, if you would have va-api there you could in theory use it if you had the headers and libs to link against
[22:07:40 CET] <JEEB> (will most probably not come with NDK)
[22:07:52 CET] <jkqxz> Right, yes.  Some clarity over what the target actually is would probably help.
[22:07:54 CET] <triquad> you're right, configure isn't working (ERROR: libx264 not found) -- it was just making from the last time configure did work
[22:08:20 CET] <triquad> it's Cherry Trail ARMv7
[22:09:08 CET] <jkqxz> Those two things are contradictory.
[22:10:14 CET] <JEEB> I mean, the android builds will have intel's arm emu
[22:10:24 CET] <JEEB> so arm binaries will work
[22:10:35 CET] <JEEB> but afaik that stuff isn't arm
[22:11:43 CET] <JEEB> I think on android your best bet is mediacodec
[22:11:44 CET] <triquad> $ cat /proc/cpuinfo  =>  Processor : ARMv7 processor rev 1 (v71), BogoMIPS: 1500.0, Features: neon vfp swp half thumb fastmult edsp vfpv3 vfpv4 idiva idivt
[22:13:31 CET] <jkqxz> Ok, so actually you are cross-compiling from a different machine, which happens to have an x86-64 tablet chip in it.  Apologies for the noise there, then.
[22:14:24 CET] <triquad> yeah exactly, should have clarified, cross-compiling from a Mac
[22:16:39 CET] <JEEB> anyways, your best bet under android is mediacodec, but you will not be able to use it from ffmpeg cli
[22:16:51 CET] <JEEB> not that you'd want to use it from the cli in your app
[22:20:49 CET] <triquad> this is for a media server running on an embedded device -- will be headless Android -- so it's been nice having the CLI for prototyping (have been using it with an Odroid device to good effect)
[22:22:33 CET] <JEEB> basically very few (albeit nowadays more than before) hwaccels have been implemented in the ffmpeg cli app
[22:22:56 CET] <JEEB> as hwaccels require more handiwork from you than decoders
[22:37:35 CET] <triquad> If I'm I go the MediaCodec route, I guess the purpose of integrating ffmpeg would be to extend video format support beyond those built-in to MediaCodec? Found this article: http://intel.ly/1TJryGl -- does it seem like a sane approach?
[00:00:00 CET] --- Sat Feb  6 2016


More information about the Ffmpeg-devel-irc mailing list