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

burek burek021 at gmail.com
Fri Jan 10 02:05:01 CET 2014


[05:55] <SpecialEd> I'm having a hell of a time installing ffmpeg on my Ubuntu 12.04LTS 64-Bit Server for some reason. I've followed the official steps provided @ https://trac.ffmpeg.org/wiki/UbuntuCompilationGuide but for some reason when I complete everything the command ffmpeg still isn't regonized, The program 'ffmpeg' is currently not installed. You can install it by typing:
[05:55] <SpecialEd> Any ideas on how I can resolve this so that I can successfully get ffmpeg installed on this server?
[05:58] <SpecialEd> I know that the step to enter hash -r should resolve this issue, but for whatever reason its not for me :(
[06:09] <relaxed> SpecialEd: what prefix did you use to install it?
[06:09] <relaxed> where should it be? did you create a *.deb?
[06:14] <SpecialEd> ./configure --prefix="/root/ffmpeg_build" --extra-cflags="-I/root/ffmpeg_build/include" --extra-ldflags="-L/root/ffmpeg_build/lib" --bindir="/root/ffmpeg/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree;
[06:14] <SpecialEd> You mean in there?
[06:15] <relaxed> run: /root/ffmpeg/bin/ffmpeg
[06:15] <SpecialEd> ahhhh
[06:15] <SpecialEd> ok
[06:15] <SpecialEd> and I can make a bash alias for it right ?
[06:16] <SpecialEd> I guess i shoulda just done /usr/local/bin, doh
[06:21] <relaxed> an alias would work or just use the absolute path
[07:21] <SpecialEd> OK, I just reconfigured it with the /usr/local/bin/ as the path for the bindir and its working perfectly again on my server. Thank you so much relaxed for leading me back on the path to success, I truley appreciate it!
[09:45] <dshankar> Hi! I'm trying to install ffmpeg with libvpx, libx264, and x11grab on Mac OS 10.9.1
[09:46] <dshankar> I'm building from source, with "./configure --enable-gpl --enable-libvpx --enable-libx264 --enable-x11grab"
[09:46] <dshankar> However, this popups up.... "ERROR: libvpx decoder version must be >=0.9.1"
[09:46] <dshankar> I've installed libvpx from git, as well as various deps (following http://wiki.webmproject.org/ffmpeg/building-with-libvpx)
[09:47] <dshankar> checking vpxdec, it says "Included decoders:     vp8    - WebM Project VP8 Decoder v1.3.0-569-gd606bf9"
[09:47] <dshankar> I'm stumped. Why does ffmpeg think libvpx is < 0.9.1 when it clearly is 1.3.0?
[10:11] <relaxed> dshankar: do you have old headers from a previous version lying around?
[10:11] <dshankar> relaxed: I don't think so, but how would I check?
[10:12] <dshankar> (I agree, that seems like the most likely issue.)
[10:12] <dshankar> (Permissions seems to be another possible problem? ref: http://comments.gmane.org/gmane.linux.lfs.beyond.devel/24904)
[10:12] <relaxed> look at your config.log
[10:13] <relaxed> try adding --extra-cflags="/path/to/dir/include" --extra-ldflags="-L/path/to/dir/lib"
[10:13] <dshankar> oh
[10:14] <dshankar> earlier in the log file
[10:14] <dshankar> "/var/folders/nc/4sqy62h13h51z1d36yx6m7d40000gn/T//ffconf.7B3KhHi8.c:1:10: fatal error: 'vpx/vpx_decoder.h' file not found"
[10:14] <relaxed> er, --extra-cflags="-I/path/to/dir/include"
[10:14] <dshankar> there are 52 "fatal error: .... file not found" errors in config.log
[10:14] <dshankar> is that normal...?
[10:15] <dshankar> and 57 "1 error generated" messages
[10:16] <relaxed> rerun configure with what I said.
[10:18] <dshankar> i did
[10:18] <dshankar> and this time
[10:18] <dshankar> I get the same error, and the same 'fatal error' '1 error generated' etc.
[10:19] <dshankar> (to clarify, I ran ./configure --enable-gpl --enable-libvpx --enable-libx264 --enable-x11grab --disable-shared --extra-cflags="-I/path/to/dir/include" --extra-ldflags="-L/path/to/dir/lib"
[10:19] <dshankar> wait
[10:20] <relaxed> uh, you need to change /path/to/dir/include
[10:20] <relaxed> where did you install libvpx?
[10:21] <dshankar>  usr/local/bin
[10:21] <relaxed> then use --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib"
[10:22] <relaxed> this tells ./configure where to find headers and libs installed to non-standard locations.
[10:22] <dshankar> ahh
[10:22] <dshankar> makes more sense
[10:24] <dshankar> i'm missing something else then. the libvpx stuff is fine
[10:24] <dshankar> ERROR: Xext not found
[10:26] <dshankar> going to install libXext-1.3.2 to see if it fixes
[10:28] <dshankar> yeah looks like I missed x11grab dependencies.
[10:37] <dshankar> never mind, x11grab would be useless for Mac since it can only capture X apps. Not useful for screencast AFAIK? Would be fine on X-based OSes though.
[11:48] <blastergod>  Hello, I am trying to concat 2 mp4 files using a simple command "ffmpeg.exe -i "C:\vid1.mp4"  -i "C:\vid2.mp4"   -filter_complex "concat" -y "c:\zzzz.mp4""   . It works with all files but 1 . When I try to concat this 2 files, ffmpeg shows an error (after encoding about 300 frames) : "deprecated pixel format used, make sure you did set range correctly" and than the frame stops changing, the
[11:48] <blastergod> timetsamp stops changing and the fps goes down from 200,199 etc... but it never reaches 0. It simply drops fps and that's it, it stays there without doing anything. If I press Q in command line (windows) the process stops and the video cannot be played. Now if I take each of the above videos and re-encode them first, than the concat works. What can cause this problem?
[11:49] <blastergod> so the problem appears with vid2.mp4 (it's a vine, downloaded directly from vine). But if I first us this "ffmpeg.exe -i "c:\vid2.mp4" "c:\re_encodedvid2.mp4"
[11:50] <blastergod> and than use concat with vid1.mp4, than it will work . I would love it to work without re-enconding first
[11:53] <blastergod> here is how the command line window looks like after the error appears: http://sodevrom.net/Clipboard01.jpg
[11:56] <relaxed> that's not an error
[11:56] <relaxed> if there's an error it will be on the last line
[12:01] <blastergod> well it's not an error, but it simply stops there, I mean the fps drops fast at start, than it drops by 0.01 and 0.001 and it never reaches 0 to finish the encoding
[12:01] <blastergod> both files have 6 seconds, so it should go very fast
[12:03] <relaxed> blastergod: (MP4Box is part of gpac)  MP4Box -cat 1.mp4 -cat 2.mp4 -new combined.mp4
[12:11] <blastergod> I wanted to use ffmpeg because I am also using resize and things like that + I am working with other files
[12:12] <blastergod> any idea why it stops like that? Maybe there is a command in ffmpeg that (if it detects that the frame / timestamp does not change) it simply skips
[12:12] <relaxed> ah
[12:26] <iive> blastergod: try inserting scale as a first filter. it might be possible that it does have different pixel format, e.g. 420 vs 422
[12:38] <blastergod> can you give me a short example on how to use it ? -filter_complex "scale=3/3,concat" ?
[12:47] <blastergod> I tried with -filter_complex "scale=480:480,concat" , but the same thing happens :(
[14:44] <IamTrying> ffdec_h264 http://i.stack.imgur.com/MQTGJ.png - How to get ride from this problem? x264enc has no problem but when i am decoding it get lot of gray frames.
[14:59] <GT1> hi, I have a problem building ffmpeg for android, I'm getting this error: /home/gajdot/Desktop/adt/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc is unable to create an executable file.
[14:59] <GT1> C compiler test failed.
[14:59] <GT1> can anybody help me?
[15:00] <GT1> my problem is that even if it compiles and i get a runnable ffmpeg, when I run my command, it won't recognize -preset option
[15:01] <GT1> Unrecognized option 'preset'
[15:02] <GT1> Is there anybody here? Or I'm talking all by my slef?
[15:02] <GT1> More then 200 people and nobody replies me?
[15:03] <relaxed> calm down, we're not all grouped around a computer waiting to serve you.
[15:03] <JEEBcz> GT1, for any configure script failures check the output of config.log
[15:03] <GT1> I'm chilled but at least a hello would have been nice :) now I know someone is here
[15:04] <relaxed> hello GT1
[15:04] <JEEBcz> people usually don't say much hellos on IRC
[15:04] <GT1> i run the configuration with: # ./configure --arch=arm --target-os=linux --enable-runtime-cpudetect --prefix=/home/gajdot/ffmpeg_new/ffmpeg/android/arm --enable-pic --disable-shared --enable-static --cross-prefix=/home/gajdot/Desktop/adt/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --sysroot=/home/gajdot/Desktop/adt/android-ndk-r9/platforms/android-9/arch-arm/ --extra-cflags='-Os -fpic -marm' --extra-ldflag
[15:04] <JEEBcz> as I said, go read config.log
[15:04] <GT1> sorry, didn't remembered that :P didn't used irc for more then 10 years xD
[15:05] <GT1> that was the first thing I checked, just a sec, and I'll copy what may be important
[15:05] <JEEBcz> and of course there are people with dozens of channels open, or doing something else in general
[15:05] <JEEBcz> usage of pastebins is recommended
[15:05] <GT1> k
[15:06] <relaxed> GT1: Also, look at the arch you're targeting on http://fate.ffmpeg.org/ and click the far right link under "Tests" to see they build it.
[15:06] <relaxed> it will show the ./configure switches, etc
[15:08] <GT1> so here is the log file
[15:08] <GT1> http://pastebin.com/xmjwQgS7
[15:08] <IamTrying> http://i.stack.imgur.com/MQTGJ.png - How to fix this problem caused by ffdec_h264?
[15:09] <relaxed> GT1: look at the bottom
[15:10] <GT1> k, but I don't get it why does he wants to search that on the desktop
[15:10] <JEEB> because you set your cross-prefix to that?
[15:11] <JEEB> --cross-prefix=/home/gajdot/Desktop/adt/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
[15:11] <JEEB> same for sysroot
[15:11] <GT1> NDK=$HOME/Desktop/adt/android-ndk-r9
[15:11] <GT1> SYSROOT=$NDK/platforms/android-9/arch-arm/
[15:11] <GT1> TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
[15:12] <GT1> rofl
[15:12] <GT1> k
[15:12] <GT1> i didn't changed it back, I reverted the config file and forgot to do so
[15:12] <GT1> just a sec
[15:12] <IamTrying> JEEB, are you a Gstreamer and FFmpeg consultant too? do you do hourly consulting for fixing such problem: http://i.stack.imgur.com/MQTGJ.png ?
[15:13] <JEEB> no idea about gstreamer
[15:13] <consta> hi there
[15:13] <consta> i  m looking for such a solution like http://stackoverflow.com/questions/11647868/using-ffmpeg-to-stream-continuously-videos-files-to-a-rtmp-server/21007808#21007808
[15:13] <IamTrying> Well i want to pay someone, who can fix this problem with FFMpeg and Gstreamer causing this http://i.stack.imgur.com/MQTGJ.png deadly grey screen
[15:13] <consta> anybody has an idea what the static playlist pipe would look ?
[15:15] <IamTrying> use Gstreamer its water simple
[15:16] <IamTrying> read files from a list ! sink to RTSP using soup or so..
[15:18] <GT1> k, now the old error is back
[15:18] <GT1> ERROR: libfdk_aac not found
[15:18] <JEEB> ok, so time to compile that library and make sure ffmpeg's configure can find it
[15:18] <GT1> sorry if I'm a bit noob with this, but to be honest the only reason I installed ubuntu to be able to compile ffmpeg xD
[15:18] <JEEB> for hints and other things look for config.log
[15:19] <GT1> the first warning which doesn't sounds to nice is
[15:19] <GT1> WARNING: /home/gajdot/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-pkg-config not found, library detection may fail.
[15:19] <GT1> mktemp -u XXXXXX
[15:20] <GT1> btw I could compile ffmpeg with guardian, but my problem was that it was just way to old
[15:21] <JEEB> that warning doesn't really matter too much
[15:21] <JEEB> as long as you have the libs and the headers done and available in a place that the configure script knows
[15:23] <GT1> that's my problem, I don't know how to do it, with guardian project I used mostly the same config options and it compiled, I don't get it why can't the new one find it
[15:24] <GT1> none the less, lets start from zero, I can't find any reference how could I get or compile that lib
[15:24] <JEEB> fdk-aac is the name of the library
[15:25] <GT1> kk
[15:25] <GT1> i'll compile it just a sec
[15:25] <GT1> should I put it in the same directory as ffmpeg so it could see it?
[15:26] <JEEB> no
[15:27] <JEEB> you use the --prefix configuration option with all of the libraries to install the libraries and headers to a certain prefix - f.ex. --prefix=/home/hurrdurr/projects/arm_prefix/
[15:27] <JEEB> this will install the library and headers in that prefix, under directories lib and include
[15:27] <JEEB> you then just add those two directories to the search paths when building anything that depends on them
[15:27] <GT1> i followed the one on the ffmpeg.org
[15:27] <JEEB> (and/or use PKG_CONFIG_PATH)
[15:27] <GT1> --prefix="$HOME/ffmpeg_build"
[15:28] <JEEB> yes, if you are not already using that prefix for anything native
[15:28] <JEEB> also that tutorial most probably is not gonna take into mention the fact that you're cross-compiling for arm
[15:29] <GT1> k, I'm a bit confuse, please try to explain this if I'm a total retard, because I really have no experience with compiling and stuff in linux. I followed this
[15:29] <GT1> git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac cd fdk-aac autoreconf -fiv ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean
[15:30] <GT1> and if I open the ffmpeg build folder in lib subfolder I see libfdk-aac.a
[15:30] <GT1> so how can I point the configuration to find it?
[15:30] <JEEB> basically that compiles you the library with the default tools
[15:30] <JEEB> so if you are building for ARM
[15:30] <JEEB> that will not work
[15:31] <GT1> k, what command do I need to add to specify that I want it for arm?
[15:31] <JEEB> that library uses autotools/autoconf so the stuff is the same as with any other autotools-based configure script
[15:31] <JEEB> the --help switch of the configure script could be useful
[15:32] <JEEB> also make sure to do make distclean in the fdk-aac source directory and to remove the ffmpeg_build directory
[15:32] <JEEB> so you have no old crap there
[15:33] <JEEB> System types:
[15:33] <JEEB>   --build=BUILD     configure for building on BUILD [guessed]
[15:33] <JEEB>   --host=HOST       cross-compile to build programs to run on HOST [BUILD]
[15:34] <JEEB> both of these take the cross-prefix without the following dash
[15:34] <JEEB> also you probably want to add the bin directory of your cross compiler to the PATH
[15:34] <JEEB> so you don't have to use its full path when calling it
[15:35] <JEEB> export PATH=${PATH}:/home/hurrdurr/where/is/ndk/bin/
[15:35] <JEEB> and after that you should be able to call out arm-linux-androideabi-gcc and friends without specifying the full path to them
[15:36] <JEEB> the thing before gcc and the dash before it is your HOST cross-compilation triplet, which autotools will probably want :P
[15:36] <GT1> k, but I still can't get it. Now I really feel stupid
[15:36] <GT1> ... When you programm for couple of years and a *** linux compilation is way over your head
[15:37] <GT1> I just wish i would have paid more attention on linux class :(
[15:38] <GT1> i deleted the b uild folder
[15:38] <GT1> by distclean you meant? make distclean?
[15:38] <JEEB> yes
[15:38] <GT1> which results in make distclean
[15:38] <GT1> make: *** No rule to make target `distclean'.  Stop.
[15:38] <JEEB> ok, then just make clean
[15:38] <GT1> make distclean
[15:38] <GT1> make: *** No rule to make target `distclean'.  Stop.
[15:39] <JEEB> uhh, you copied the same thing :)
[15:39] <GT1> make clean
[15:39] <GT1> make: *** No rule to make target `clean'.  Stop.
[15:39] <JEEB> in the fdk-aac directory?
[15:39] <GT1> yeap
[15:39] <JEEB> weird
[15:39] <JEEB> oh right
[15:39] <GT1> gajdot at gajdot:~/ffmpeg_new/ffmpeg/fdk-aac$
[15:39] <JEEB> the damn guide did make distclean
[15:39] <GT1> :D
[15:40] <JEEB> basically 1) add your tools to PATH  so you don't need to set the full path when calling them (the bin where the cross-compile triplet binaries are in) 2) ./configure --prefix=/home/hurddurr/your/arm_prefix/ --host=arm-linux-androideabi
[15:40] <GT1> cross compile triplet?
[15:41] <JEEB> <JEEB> and after that you should be able to call out arm-linux-androideabi-gcc and friends without specifying the full path to them
[15:41] <JEEB> <JEEB> the thing before gcc and the dash before it is your HOST cross-compilation triplet, which autotools will probably want :P
[15:42] <consta> so nobody has an idea about a script using pipe to create a static playlist and stream without interuption?
[15:42] <GT1> you wrote PATH=${PATH}:/home/hurrdurr/where/is/ndk/bin/
[15:42] <GT1> so basically my ndk path is
[15:42] <consta> i d need a little example to get an idea about the syntax..
[15:42] <JEEB> GT1, don't forget the export command itself from that line :P
[15:42] <GT1> -PATH=${PATH}:/home/gajdot/android-ndk-r9b
[15:43] <GT1> but I don't have bin inside that folder...
[15:43] <JEEB> but you have the binaries in there?
[15:43] <JEEB> the arm cross-compilation tools
[15:43] <JEEB> basically add to the PATH whatever directory contains the cross-compilation tools :P
[15:43] <GT1> i have toolchains in it where I have arm-linux-androideabi somethign
[15:44] <JEEB> the actual arm-linux-androideabi-gcc etc.?
[15:44] <JEEB> or just a directory called like that
[15:44] <GT1> the gcc i have in
[15:44] <GT1> /home/gajdot/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin
[15:45] <JEEB> yup
[15:45] <GT1> so I need to add this root to the path like you said?
[15:45] <JEEB> export PATH=${PATH}:/home/gajdot/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin
[15:45] <JEEB> and that adds that directory to the executable search PATH
[15:45] <GT1> k, done
[15:46] <GT1> now I can run the configuration again?
[15:46] <JEEB> and you should now be able to use those tools without specifying the full path to them
[15:46] <JEEB> check that you can run those binaries successfully first
[15:46] <JEEB> like test running the gcc
[15:46] <JEEB> it should come up with tab-autocompletion
[15:46] <GT1> test run? you mean ./arm-
[15:46] <GT1> ?
[15:47] <GT1> because if so, then no, it won't auto complete
[15:48] <JEEB> no
[15:48] <JEEB> dot-slash means "this current directory"
[15:48] <JEEB> once again, you're specifying a specific place instead of generally trying to call it
[15:48] <GT1> k
[15:48] <GT1> working
[15:48] <JEEB> great
[15:48] <GT1> i mean if i type arm-linux it will autocomplete
[15:49] <JEEB> now try fdk-aac's configure with your --prefix set and --host=arm-wahtever-you-have-there
[15:49] <GT1> so the prefix doesn't really matter just I need to remember later right?
[15:50] <JEEB> --prefix just tells the configure script where to install things after compilation goes through
[15:50] <JEEB> with make install
[15:50] <GT1> ./configure --prefix="$HOME/ffmpeg_build" --disable-shared --host=arm-linux-androideabi-gcc like this?
[15:50] <JEEB> sure
[15:50] <JEEB> and uhh
[15:50] <JEEB> no -gcc
[15:50] <GT1> kk
[15:51] <JEEB> arm-linux-whatever is your cross-compilation triplet
[15:51] <GT1> I still have no clue what's cross-compilation triplet
[15:51] <JEEB> it's an ID for the thing it compiles stuff for
[15:51] <JEEB> arm
[15:51] <JEEB> it's linux
[15:52] <JEEB> and it has the androideabi identifier
[15:52] <JEEB> cross-compilers generally have the triplets in their binary names
[15:52] <GT1> k, so when I tried this: ./configure --prefix="$HOME/ffmpeg_build" --disable-shared --host=arm-linux-androideabi
[15:52] <GT1> it didn't work
[15:52] <GT1> ./configure --prefix="$HOME/ffmpeg_build" --disable-shared --host=arm it did
[15:53] <JEEB> well, I've only used autoconf-based things with mingw so far
[15:54] <JEEB> and there i686-w64-mingw32 and friends worked
[15:54] <JEEB> which was the full triplet
[15:54] <JEEB> see the library's config.log to see if it used the right tools
[15:54] <GT1> for which one? the arm or the arm-linux stuff?
[15:55] <JEEB> the one that succeeded
[15:55] <consta> hi
[15:55] <JEEB> autoconf-based config.log output is long so brace for it
[15:55] <GT1> and what do I need to find in it?
[15:55] <JEEB> but you should be able to grasp if it used the correct compiler for it or not
[15:55] <JEEB> basically check that your arm-linux-androideabi stuff got used
[15:56] <GT1> PATH: /home/gajdot/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin
[15:56] <JEEB> no, I mean when it actually tested stuff
[15:56] <JEEB> it should write there which compiler it used and so forth
[15:57] <GT1> configure:3185: checking for C compiler version
[15:57] <GT1> configure:3194: gcc --version >&5
[15:57] <GT1> gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
[15:57] <GT1> ?
[15:58] <JEEB> go further
[15:58] <JEEB> it should test both
[15:58] <GT1> I can't figure out the conf file, I upload it to paste bin?
[15:58] <GT1> configure:2889: checking for arm-gcc
[15:58] <GT1> configure:2919: result: no
[15:59] <JEEB> just pastebin if you can't read it
[15:59] <GT1> http://pastebin.com/GC3YuL6D
[16:02] <JEEB> also if that's your PATH then something's gone wrong, you forgot the ${PATH}: part before the other directory? Although it can still find the normal gcc...
[16:02] <JEEB> also no, that doesn't mention the android compiler anywhere
[16:02] <JEEB> yeah, so that only succeeds because it doesn't really check
[16:02] <JEEB> try again with your triplet
[16:02] <GT1> ./configure --prefix="$HOME/ffmpeg_build" --disable-shared --host=arm
[16:03] <GT1> k, i paste a log
[16:03] <JEEB> because it most definitely is checking for the triplet-gcc and friends
[16:03] <JEEB> configure:2889: checking for arm-gcc
[16:03] <JEEB> configure:2919: result: no
[16:03] <JEEB> this part
[16:03] <JEEB> this should always have the triplet you set in --host
[16:04] <GT1> so I should write --host=arm-gcc?
[16:04] <JEEB> no
[16:04] <JEEB> how did you even end up with that?
[16:04] <GT1> k, I think now it checked the good thing but fails
[16:04] <JEEB> pastebin?
[16:04] <GT1> with the long one
[16:04] <GT1> arm-linxus-androideabi
[16:04] <GT1> just as ec
[16:04] <JEEB> and I hope you copied it correctly :P
[16:05] <JEEB> instead of actually typoing it
[16:05] <GT1> http://pastebin.com/PLhHDqDi
[16:06] <GT1> well... :D
[16:06] <JEEB> yes, you didn't typo it in the configuration
[16:06] <GT1> ?
[16:06] <GT1> i used ./configure --prefix="$HOME/ffmpeg_build" --disable-shared --host=arm-linux-androideabi
[16:07] <JEEB> ok, it seems like it cannot find the libraries
[16:07] <JEEB> might want to try with this set correctly:
[16:07] <JEEB>   --with-sysroot=DIR Search for dependent libraries within DIR
[16:07] <JEEB>                         (or the compiler's sysroot if not specified).
[16:08] <GT1> and instead of dir type in the path of the gcc?
[16:08] <JEEB> :|
[16:08] <JEEB> whatever is your goddamn sysroot
[16:09] <JEEB> I don't use the NDK, I don't know it. But you have ALREADY SET IT WHEN CONFIGURING FFMPEG
[16:09] <JEEB> so you should already have a grasp of what your sysroot is
[16:10] <JEEB> sorry for the caps :P
[16:10] <GT1> actually no :P but I believe you mean this? NDK=/home/gajdot/android-ndk-r9b
[16:10] <GT1> SYSROOT=$NDK/platforms/android-9/arch-arm/
[16:10] <JEEB> that's a good thing to look at as well, yes -- and that might be your sysroot
[16:10] <JEEB> although as I already noted
[16:10] <JEEB> you had set it when you configured ffmpeg
[16:10] <JEEB> I remember you setting the sysroot configuration option there as well
[16:11] <GT1> i just used that variable
[16:11] <GT1> which translates to /home/gajdot/android-ndk-r9b/platforms/android-9/arch-arm/
[16:11] <JEEB> time to wire those neurons together and actually think a bit ;)
[16:11] <JEEB> try configuring with your sysroot set
[16:12] <GT1> still fails but at leasdt I believe it found the gcc
[16:12] <JEEB> you should know what your sysroot is and, you can then check the result
[16:12] <JEEB> ok, so even with the sysroot it fails?
[16:12] <JEEB> more pastebins?
[16:12] <JEEB> although wait...
[16:13] <GT1> http://pastebin.com/4sh75M24
[16:13] <GT1> ?
[16:13] <GT1> for?
[16:13] <JEEB> I misparsed the error
[16:13] <JEEB> it is actually failing to find an .o file
[16:13] <JEEB> not an .so file, which would be a library
[16:14] <GT1> ok, my master. So what now?
[16:15] <JEEB> ok... it seems like the compiler needs an extra cflag...
[16:15] <GT1> which one? the ffmpeg?
[16:15] <JEEB> your _compiler_ needs an extra cflag :P
[16:16] <GT1> the guardin uses this cflag
[16:16] <GT1> --extra-cflags="-I../x264 -I$LOCAL/include -mfloat-abi=softfp -mfpu=neon" \
[16:16] <GT1> the guardin ffmpeg build i mean, uses this to configure ffmpeg, should I change to this one?
[16:17] <JEEB> no
[16:17] <GT1> k, so what cflag I need and where? ffmpeg or aac?
[16:17] <JEEB> can you post the config.log of the last successful ffmpeg configuration that found the compiler (but didn't find the library)?
[16:17] <JEEB> I want to see what succeeded there for you
[16:17] <GT1> kk
[16:18] <GT1> but I paisted it already, let me check back
[16:18] <GT1> http://pastebin.com/GC3YuL6D
[16:18] <JEEB> no, ffmpeg
[16:18] <JEEB> not fdk-aac
[16:20] <GT1> the ffmpeg which succeded with guardian? or the one I tried and compiles but has the error?
[16:20] <JEEB> -_-
[16:21] <JEEB> the one you configured and which didn't find fdk-aac
[16:21] <GT1> k
[16:23] <GT1> http://pastebin.com/tGwBrLv2
[16:24] <JEEB> ok...
[16:24] <GT1> ?
[16:24] <JEEB> that seems to be doing exactly what I found on the internets
[16:24] <JEEB> it seems to be setting the sysroot setting when calling the compiler
[16:25] <JEEB> instead the autoconf thingy just tries to create a binary by running 'gcc herpderp.c'
[16:25] <JEEB> which fails
[16:25] <GT1> ok, and how can this be fixed?
[16:25] <JEEB> and since autoconf-based stuff does not have convenience settings
[16:25] <JEEB> like --extra-cflags
[16:25] <JEEB> you will have to make the command that launches the configure script a bit less pretty
[16:26] <GT1> I'm listening
[16:27] <JEEB> CFLAGS="${CFLAGS} --sysroot=/home/gajdot/android-ndk-r9b/platforms/android-9/arch-arm/" CXXFLAGS="${CXXFLAGS} --sysroot=/home/gajdot/android-ndk-r9b/platforms/android-9/arch-arm/" ./configure --your --options
[16:27] <JEEB> something like this
[16:27] <JEEB> CFLAGS sets the C compiler flags
[16:27] <JEEB> CXXFLAGS sets the C++ compiler flags
[16:28] <JEEB> these two can be found when looking at the --help output of the configure script, at the end (if you wondered where I knew these two from)
[16:28] <JEEB> anyways, brb
[16:30] <GT1> still not good
[16:32] <GT1> this is the con fig.log
[16:32] <GT1> http://pastebin.com/J9jMu6HQ
[16:32] <GT1> and I use this to compile it
[16:32] <GT1> http://pastebin.com/frgnXeWL
[16:35] <JEEB> ugh
[16:35] <JEEB> why are we on such different pages
[16:35] <JEEB> that thing I noted was for fdk-aac
[16:35] <GT1> because I'm not a linux user :P
[16:35] <JEEB> not ffmpeg
[16:35] <JEEB> I think at this point it has nothing to do with linux
[16:36] <JEEB> we were trying to get fdk-aac to build and I asked you to look up some things
[16:36] <GT1> Well it may seem, but the problem is that linux and terminal and stuff is just light years from me
[16:36] <JEEB> then you suddenly switch to ffmpeg?
[16:36] <JEEB> anyways, try what I noted with fdk-aac
[16:36] <GT1> k
[16:37] <JEEB> I'd just say that it just seems like you're used to not having to care about library dependencies and build systems that need you to do something else than open a vs solution and hit rebuild :)
[16:37] <GT1> with the --with-sysroot and all?
[16:38] <JEEB> <JEEB> CFLAGS="${CFLAGS} --sysroot=/home/gajdot/android-ndk-r9b/platforms/android-9/arch-arm/" CXXFLAGS="${CXXFLAGS} --sysroot=/home/gajdot/android-ndk-r9b/platforms/android-9/arch-arm/" ./configure --your --options
[16:38] <JEEB> this should tell you that you should set those settings you were setting
[16:38] <JEEB> but also prepend the two variables before the called thing (the configure script)
[16:38] <GT1> k, it compiling
[16:38] <JEEB> so the thing gets called with those system variables set
[16:38] <GT1> just a sec
[16:38] <GT1> let met check
[16:39] <GT1> i'm a c sharp programmer in general, so yeah this is really far off my confort zone
[16:40] <GT1> it seems it compiled, should I make and make install?
[16:42] <GT1> it did, in the config now instead of gcc i see arm-linux-androideabi-gcc and it succeds
[16:42] <GT1> so I'll run make
[16:42] <GT1> and make install
[16:44] <GT1> now that I installed how can I point my ffmpeg configuration to look there?
[16:46] <JEEB> set the variable like the CFLAGS/CXFFLAGS variables PKG_CONFIG_PATH=/home/hurr/your/prefix/lib/pkgconfig as well as add -I/your/prefix/include to extra-cflags and -L/your/prefix/lib to extra ldflags
[16:47] <JEEB> you did understand what I just said, right? :P
[16:47] <GT1> yeap
[16:47] <GT1> I'm not retard just seems like one :P
[16:48] <GT1> just a sec, I update my config and I'll paste just to double check
[16:48] <JEEB> also I'm pretty sure you'll want to simplify your ffmpeg configuration at first a lot
[16:49] <GT1> I'm open ears
[16:49] <JEEB> well, I'm waiting for your fdk-aac check to go through first :P
[16:51] <GT1> so my two flags should look like this right?
[16:51] <GT1> --extra-cflags="-Os -fpic $ADDI_CFLAGS -I/home/gajdot/ffmpeg_build/include" \
[16:51] <GT1> --extra-ldflags="$ADDI_LDFLAGS -L/home/gajdot/ffmpeg_build/lib" \
[16:51] <GT1> and this before the config call PKG_CONFIG_PATH=/home/gajdot/ffmpeg_build/lib/pkgconfig
[16:51] <GT1> did I got it right/
[16:52] <GT1> i need to upgrade libmp3lame I belive
[16:52] <GT1> PKG_CONFIG_PATH=/home/gajdot/ffmpeg_build/lib/pkgconfig
[16:52] <GT1> ERROR: libmp3lame >= 3.98.3 not found
[16:54] <JEEB> ok, so yeah -- you got through that check
[16:55] <JEEB> so I will guess our little endeavour got through
[16:55] <JEEB> now, what are you building this ffmpeg for
[16:55] <GT1> yeah :-*
[16:55] <GT1> i just update the liblame
[16:55] <GT1> i hope that will be easy
[16:55] <JEEB> no, just stop
[16:55] <GT1> k
[16:55] <JEEB> what are the purposes in decoding and encoding that you will be using this thing for?
[16:56] <GT1> the thing you just said :P decoding video, combining them then encoding them again
[16:56] <JEEB> ok, so what are you thinking about encoding the videos in?
[16:56] <GT1> well yeah, i could just include h264 or what, because I will encode only to mp4
[16:57] <GT1> but does it really matter if I have more encoders inside?
[16:57] <JEEB> what I'm trying to note here is that ffmpeg has the vast majority of the decoders inside
[16:57] <JEEB> yes, it does because it adds work to you and me to guide you to a goal :P
[16:57] <JEEB> now, mp4 so I guess x264 for video encoding and fdk-aac for the audio?
[16:57] <GT1> yep, but for decooding I need every possible thing
[16:58] <JEEB> those are included
[16:58] <JEEB> also, on an unrelated tangent, are you thinking of distributing this or just using it yourself?
[16:58] <GT1> distributing
[16:58] <JEEB> then you cannot use fdk-aac
[16:59] <JEEB> as it is --enable-nonfree as the licenses do not match
[16:59] <GT1> puff, so i can't encode mp4?
[16:59] <JEEB> enable-nonfree makes the binary nondistributable
[16:59] <JEEB> you can
[16:59] <JEEB> ffmpeg contains its own aac encoder
[16:59] <JEEB> so yeah, x264 is left then as the only library you need
[16:59] <JEEB> now post me your current ffmpeg configure line in a pastebin
[16:59] <GT1> so this stuff with fdk_aac was useless? rofl
[17:00] <GT1> well at least I learnt from it
[17:00] <JEEB> yes, although you did teach me some quite interesting things on how NDK's compiler works
[17:00] <GT1> http://pastebin.com/RqC9eZm8
[17:00] <JEEB> the need for --sysroot to be set when calling the compiler, among other things
[17:01] <JEEB> ok, let's clean this up mostly first and build one without x264 first then
[17:01] <GT1> so If i get it right, nonfree and libfdk_aac removed
[17:01] <JEEB> no, most of this stuff will be removed
[17:01] <JEEB> because there's a lot of unneeded stuff :)
[17:01] <JEEB> (as in, enabled by default etc.)
[17:01] <GT1> i believe, I was glad I could make it work in the first place
[17:02] <GT1> k, so what to remove and what to leave
[17:02] <JEEB> do a make clean in the ffmpeg source dir first
[17:02] <JEEB> and let me write it up :)
[17:02] <GT1> done
[17:03] <JEEB> my configure command btw will need the tools to be in the PATH
[17:03] <JEEB> making it shorter in that way
[17:03] <GT1> if you write what do I need to add to path, I'm good with that :P
[17:04] <JEEB> you already did that didn't you ;)
[17:04] <GT1> well if the only things you need that we already add, then yes :P
[17:05] <JEEB> it's not in the script that you linked me, but you already did the export of that variable in the terminal
[17:05] <JEEB> --arch=arm --target-os=linux --cross-prefix=arm-linux-androideabi- --sysroot=${SYSROOT} --disable-tools --enable-ffmpeg
[17:05] <JEEB> I guess this should do at first?
[17:05] <JEEB> I think it was --disable-tools
[17:05] <JEEB> (first disabled all tools, then enabled ffmpeg)
[17:06] <GT1> it seems to compile
[17:07] <JEEB> try make -jX where X is the amount of cores you have to see if you can actually compile it :)
[17:07] <JEEB> if it actually creates an ffmpeg binary at the end successfully you can raise your hands and banzai
[17:07] <JEEB> because you've gotten through the first part
[17:07] <JEEB> which is a basic current ffmpeg build
[17:07] <GT1> but why do I need to specify the cores?
[17:08] <JEEB> because make by default does one thing at a time
[17:08] <JEEB> you are basically telling you how many things to do at once
[17:08] <GT1> so like this?
[17:08] <GT1> ./configure \
[17:08] <GT1> --arch=arm \
[17:08] <GT1> --target-os=linux \
[17:08] <GT1> --cross-prefix=arm-linux-androideabi- \
[17:08] <GT1> --sysroot=${SYSROOT} \
[17:08] <GT1> --disable-tools \
[17:08] <GT1> --enable-ffmpeg
[17:08] <GT1> make clean
[17:08] <GT1> make -j4
[17:08] <GT1> make install
[17:09] <JEEB> no you should make clean before you configure for a new build :P
[17:09] <JEEB> and don't make install
[17:09] <JEEB> just check that you can compile the basic ffmpeg
[17:09] <GT1> i said it compiles already :(
[17:09] <JEEB> I wasn't sure if you meant that
[17:10] <JEEB> or if you meant that the configure script went through fine
[17:10] <GT1> the make didn't finsihed yet, but if it went trough so much, it's good, at least till now if I got so far it was good
[17:10] <JEEB> let's just make sure :)
[17:10] <GT1> k
[17:10] <JEEB> because it links at the end
[17:12] <GT1> till we wait, what do we need to add?
[17:13] <JEEB> well, if the compilation goes through fine, then we can just compile x264 as well, and then compile ffmpeg with it :)
[17:14] <GT1> great I left prefix out
[17:14] <GT1> where does it place default?
[17:15] <JEEB> /usr/local is in most cases the default, but as I said you should have not done make install (and it would have most probably just told you it failed because /usr/local is generally only write'able by root)
[17:15] <GT1> i removed make install
[17:16] <GT1> and it compiled
[17:16] <GT1> and I believe I have the ffmpeg executable besude my run script
[17:16] <GT1> http://pastebin.com/fLmiPGWX
[17:16] <GT1> I run it like this
[17:17] <GT1> it compiled without error
[17:17] <JEEB> cool
[17:17] <consta> hi
[17:17] <GT1> and it placed it beside the config script...
[17:17] <JEEB> you can then test that the binary runs on your device
[17:17] <JEEB> would be rather derpy if it ended up not working :P
[17:18] <JEEB> as in, you can run the binary and see for example the help or whatever
[17:18] <JEEB> or well, run it at all on the arm host
[17:18] <GT1> does presets included by default./
[17:19] <GT1> 01-09 18:18:57.004: W/LOGTAG(31285): ***Unrecognized option 'preset'.***
[17:19] <JEEB> -preset is a x264-specific option
[17:19] <JEEB> so you gain it only after you build with x264
[17:19] <JEEB> but yeah, if you can run it, cool
[17:19] <JEEB> then you have a working binary \o/
[17:20] <GT1> well i'm not sure
[17:20] <GT1> just a sec
[17:20] <JEEB> something like `ffmpeg -codecs` should give you a nice amount of output
[17:20] <GT1> it was compiled 7 min before
[17:20] <GT1> k this is the one
[17:21] <GT1> so how to compile the x264
[17:21] <GT1> i mean to compile with it
[17:21] <GT1> because as far as I remember
[17:21] <GT1> I already compiled it
[17:21] <GT1> back when I first tried
[17:21] <JEEB> you probably compiled it for something else, and even if you compiled for ARM we're gonna do it again
[17:21] <JEEB> first of all grab the source code for x264, `git clone git://git.videolan.org/x264.git`
[17:22] <JEEB> (by default git checks the repo name and names the directory it clones into like that
[17:22] <GT1> yeah, I figured that out when I first cloned ffmpeg :)
[17:24] <GT1> do I need any special command? or I can build it according to ffmpeg
[17:24] <GT1> site
[17:25] <JEEB> btw, you might want to clean up that ARM prefix you had made
[17:25] <JEEB> and yes, you will have to cross-compile
[17:25] <JEEB> and basically for x264 I think you will need the following configuration options: --prefix (you already know how this works) --disable-cli --enable-static --host=arm-linux-androideabi --cross-prefix=arm-linux-androideabi- --sysroot=/your/usual/sysroot
[17:25] <JEEB> this should configure it successfully :)
[17:26] <JEEB> and you might be getting used to some of those options
[17:26] <JEEB> disable-cli disables the x264 command line encoder, enable-static enables the static library (no separate libraries are built by default by x264's build system, so you have to enable whichever you want)
[17:27] <GT1> k, just a sec, I'll be lasy and try to run with the already compiled x264 if not, I'll do it as you command
[17:27] <JEEB> uhh
[17:27] <GT1> :(
[17:27] <JEEB> do you even know if the library you built before is for arm?
[17:27] <JEEB> if not, clean the prefix and compile anew
[17:27] <GT1> yes, because that what I used with the guardian
[17:27] <JEEB> x264 is so small it should be quick
[17:28] <GT1> and everything worked, my only problem was that ffmpeg was version 0.11.1
[17:28] <GT1> anyway, just a min and It will finish compiling and then I'll check if it works or not, if not I'll recompile it
[17:29] <JEEB> also you would need to poke ffmpeg's configuration to make it look for x264 just like you made it look for fdk-aac
[17:29] <JEEB> the extra configuration options needed for x264 specifically are: --enable-gpl and --enable-libx264
[17:29] <JEEB> that should be all
[17:29] <GT1> yeah, i figured that configuration part out already, that's whit what I'm trying now
[17:30] <GT1> and it found the x264 without problem
[17:30] <GT1> k, fingers crossed
[17:30] <GT1> i'll test it
[17:31] <GT1> rofl, same preset not found
[17:32] <GT1> and the whole compilation didn't gave an error at all
[17:32] <JEEB> is libx264 listed if you run -codecs on the binary?
[17:32] <JEEB> also are you sure you are running the binary you built?
[17:32] <JEEB> also did the configure script's terminal output note that libx264 is an enabled video encoder? (as in, it is in the listing of all encoders)
[17:33] <GT1> ]http://pastebin.com/rGe3S0Sj
[17:33] <GT1> this what the error I get
[17:33] <GT1> the creation time says it is what I use
[17:34] <GT1> i'll check for codecs
[17:38] <GT1> http://pastebin.com/diKFgnQK
[17:38] <GT1> h264 is listed only
[17:38] <GT1> but that's not what I need?
[17:38] <JEEB> yup, lacks x264
[17:38] <JEEB> thus you are running a build that has no x264 built in
[17:39] <GT1> kk
[17:39] <GT1> just found out
[17:40] <GT1> the problem was that the disable-tools was unknown
[17:40] <JEEB> that shouldn't really matter
[17:40] <GT1> and it didn't watch furter
[17:40] <JEEB> hm?
[17:40] <JEEB> shouldn't really matter
[17:40] <GT1> well yes, because it won't compile anny option which is after that
[17:40] <JEEB> uhh
[17:40] <GT1> now I removed it
[17:40] <GT1> and now it says
[17:40] <GT1> that x264 lib not ofund
[17:40] <JEEB> if that happens then that's a bug in the configure script
[17:40] <GT1> so back to the drawing board
[17:41] <JEEB> how old version are you using?
[17:41] <GT1> ffmpeg/
[17:41] <GT1> the lastest
[17:41] <GT1> got it from git
[17:41] <JEEB> ok
[17:41] <JEEB> does it finish configuring successfully btw?
[17:41] <GT1> yes
[17:41] <JEEB> or does it just completely stop the configure script
[17:41] <JEEB> ok deffo a bug then
[17:42] <JEEB> if it ignores everything after an unknown setting
[17:42] <GT1> it completes, just leaves the rest of the options out
[17:42] <JEEB> yeah
[17:42] <JEEB> bug
[17:42] <JEEB> I would understand if it would, yunno, fail
[17:42] <GT1> yeah, would make more sense
[17:42] <JEEB> instead if it just pleasantly ignores everything after an unknown setting
[17:42] <JEEB> that's even worse than just ignores that one unknown setting :P
[17:42] <GT1> so, back to x264 i need to build it
[17:42] <JEEB> *ignoring
[17:42] <JEEB> yeah
[17:43] <JEEB> I already posted how you should configure it
[17:43] <JEEB> <JEEB> and basically for x264 I think you will need the following configuration options: --prefix (you already know how this works) --disable-cli --enable-static --host=arm-linux-androideabi --cross-prefix=arm-linux-androideabi- --sysroot=/your/usual/sysroot
[17:43] <JEEB> <JEEB> this should configure it successfully :)
[17:43] <JEEB> <JEEB> and you might be getting used to some of those options
[17:43] <JEEB> <JEEB> disable-cli disables the x264 command line encoder, enable-static enables the static library (no separate libraries are built by default by x264's build system, so you have to enable whichever you want)
[17:43] <GT1> yah, i just revised it
[17:43] <GT1> you shouldn't paste it in :P
[17:43] <JEEB> sorry, it's a habit because people really tend to not scroll
[17:43] <JEEB> now do check if the configure script runs correctly and that the output looks correct
[17:43] <GT1> i do :P as I said I'm idiot to linux, but not as a person :P
[17:47] <GT1> ./configure --prefix="$HOME/ffmpeg_build" --disable-cli --enable-static --host=arm-linux-androideabi --cross-prefix=arm-linux-androideabi- --sysroot=/home/gajdot/android-ndk-r9b/platforms/android-9/arch-arm/
[17:47] <GT1> k runs
[17:47] <GT1> I can make and isntall now right?
[17:47] <JEEB> if the configure script's output looks sane enough, feel free
[17:47] <GT1> platform:      ARM
[17:47] <GT1> system:        LINUX
[17:47] <GT1> cli:           no
[17:47] <GT1> libx264:       internal
[17:47] <GT1> shared:        no
[17:47] <GT1> static:        yes
[17:47] <GT1> asm:           yes
[17:47] <GT1> interlaced:    yes
[17:47] <GT1> avs:           avxsynth
[17:47] <GT1> lavf:          no
[17:47] <GT1> ffms:          no
[17:47] <GT1> mp4:           no
[17:47] <GT1> gpl:           yes
[17:47] <GT1> thread:        no
[17:47] <JEEB> lol
[17:47] <JEEB> pastebin, ho!
[17:48] <GT1> sorry :(
[17:48] <JEEB> anyways, looks sane enough although I still lol at how even with --disable-cli you got avs
[17:48] <JEEB> enabled
[17:49] <GT1> k
[17:49] <GT1> it seems finished
[17:53] <consta> hi
[17:54] <JEEB> GT1, so did you get ffmpeg's configure to find the library and headers of x264's?
[17:54] <JEEB> :)
[17:54] <JEEB> should have worked with the -I and -L in extra-cflags and extra-ldflags accordingly
[17:54] <GT1> yeah, i'm just waiting to finish
[17:55] <GT1> with this can I read mp3, wav and stuff to use it as audio?
[17:55] <JEEB> yes
[17:56] <JEEB> pretty much everything has a decoder in libavcodec itself
[17:56] <GT1> k
[17:56] <GT1> i hope it will work
[18:02] <GT1> k, it seems to work :-*
[18:02] <GT1> thank you very much
[18:02] <JEEB> now just remember that you will have to follow the GPL when you distribute the binaries
[18:03] <GT1> where can I check the gpl license?
[18:04] <JEEB> basically means that you have to distribute the source code for each thing you distro
[18:04] <JEEB> although if you want to really read the license it is available at the FSF
[18:05] <JEEB> with just enable-gpl you enabled GPLv2
[18:05] <JEEB> (you can switch to the v3 license if you ever should want that with the --enable-version3 switch)
[18:05] <JEEB> but generally companies etc. prefer version 2 because of the TIVO clause not being there
[18:05] <GT1> what's the difference between the two?
[18:06] <JEEB> legalese-wise probably a lot
[18:06] <GT1> can I sell the program if I have this component?
[18:06] <JEEB> yes, GPL doesn't touch you taking money
[18:06] <JEEB> it just means that you have to provide the source code
[18:07] <GT1> and what was the non-free stuff with the other?
[18:07] <JEEB> I haven't looked into the intricacies of how much the GPL wants you to do when you make an app that just uses the command line interface of it
[18:07] <JEEB> enable-nonfree just means that it's not "free software" (free as in the FSF libre sense)
[18:08] <JEEB> that option is only needed to use stuff that is under a license that doesn't work together with ffmpeg's license, and the resulting binary cannot be distributed
[18:08] <GT1> is there a way for me to distribute the program without giving the sourcecode of the application?
[18:09] <JEEB> well that's what I have no idea of regarding an app that just calls another app on the command line, if you were using it as a library I would have been able to say "no"
[18:09] <JEEB> the GPL talks about "derivative works" and so forth
[18:10] <JEEB> also if you want to make a payware app, you could use x264 separately, and license it under the non-GPL license by making a contract with x264 LLC
[18:10] <JEEB> that way you would only have to care about LGPL, not GPL
[18:12] <JEEB> GT1, basically is your idea to use ffmpeg (the command line app) from another app that acts as an interface?
[18:12] <GT1> I hat elegal stuff :(
[18:12] <GT1> yes
[18:12] <GT1> Simply put yes, I made an interface for it
[18:12] <JEEB> ok, then ask the ffmpeg and x264 devs if they consider a graphical frontend to be a "derivative work"
[18:13] <JEEB> also just so that I make it clear
[18:13] <JEEB> I Am Not A Lawyer (IANAL)
[18:14] <JEEB> also everything that I'm saying about the GPL is very general and based on what I generally have noted
[18:14] <JEEB> but yeah, if people generally don't think of frontends as "derivative works", then you would only have to distribute full source code (including x264's that you built in) for every released binary
[18:15] <JEEB> if it is considered a "derivative work", then it all falls under the GPL
[18:15] <GT1> how the hell can I distribute binary in an apk? O.o
[18:15] <JEEB> uhh, the apk is a binary distribution format?
[18:16] <brontosaurusrex> GT1, so whats the problem, just release the source of your app and thats it
[18:16] <brontosaurusrex> and say it: I'am GPL as well.
[18:17] <GT1> simply put, if I put my app up to play store
[18:17] <GT1> do I need to do anything else or not
[18:17] <brontosaurusrex> Should have a note on where to get the sources
[18:18] <GT1> k, then how can you ask money for something for which oyu give the source you only need to build?
[18:20] <GT1> or is there any other codec which I can use instead of x264?
[18:22] <GT1> k
[18:22] <GT1> i can
[18:22] <brontosaurusrex> GT1, http://stackoverflow.com/questions/1749672/do-you-have-to-pay-for-gnu-gpl-software-that-is-for-sale
[18:22] <GT1> i found  a popular answer on stackoverflow
[18:22] <JEEB> GT1, you could license x264 from x264 LLC
[18:23] <JEEB> and thus you would have it under the non-GPL license that they offer
[18:23] <GT1> http://stackoverflow.com/questions/1394623/can-i-dynamically-call-a-lgpl-gpl-software-in-my-closed-source-application
[18:23] <JEEB> of course in that case it would be simpler to use the x264 library itself instead of the libx264 wrapper in ffmpeg
[18:24] <JEEB> because ffmpeg has no option for "hi my x264 is not GPL"
[18:25] <JEEB> and if you want to go forward with just a ffmpeg frontend then my recommendation is to ask on #ffmpeg-devel and #x264dev , and actually ask the developers because they will be the ones giving you trouble if they think you are not abiding by their license
[18:25] <brontosaurusrex> ^
[18:26] <GT1> Ok, i'll do that tomorrow
[18:27] <JEEB> but yeah, there's multiple ways of handling it all
[18:27] <JEEB> including using the libraries and having a licensed x264
[18:27] <JEEB> which would remove GPL and only put you against LGPL, which is much less restrictive (or from FSF's perspective, "gives the software much more FREEDOM")
[18:29] <brontosaurusrex> one would think GPL is the ultimate freedom ;)
[18:30] <GT1> well my thoughts are fuck licensing :( if something is free, then be free and *** lawyers. If not, then pay for it and bye bye. But like this... It's ridiculous.
[18:30] <GT1> Anyway, thanks for the help. It meant a lot. I'll ask around tomorrow
[18:30] <JEEB> well
[18:30] <GT1> bye
[18:31] <GT1> well
[18:31] <GT1> ?
[18:32] <JEEB> it's basically the rules that the creators set. You get the software for free (as in beer), but you there are some limitations on what you can do with it. ffmpeg itself is LGPL. which means that you just have to give the user the ability to "switch the library". GPL is usually used by things that have double licensing.
[18:32] <JEEB> like x264
[18:33] <JEEB> where it's either GPL or "you pay and you only have to release your possible changes to x264 itself to the developers"
[18:33] <JEEB> GPL is a mess and I don't like it personally, but I think it's quite fair
[18:34] <GT1> kk, have a good day
[18:35] <GT1> i need to go now
[18:35] <GT1> thanks for the help once again
[18:40] <brontosaurusrex> yes, but the main point of GPL was to stop people "harvesting free code and charging for closed versions of the same"
[18:40] <JEEB> he left already
[18:40] <brontosaurusrex> so "open it and charge it" should be the point.
[18:41] <brontosaurusrex> ok ...
[19:13] <frable> Hey folks, in my output video the part where it should be black, it looks magenta/purple. I thought I might fix it by changing the input pixel format for sws_scale, but none yields better results as BGRA with this magenta overlay. I could imagine the problem maybe being linked to the fact that my input image is a Texture with DXGI_FORMAT_B8G8R8A8_U
[19:13] <frable> NORM, hinting that some kind of normalization has taken place. Any suggestions on how to approach/fix this?
[19:14] <JEEB> sounds like you want more information on the input picture type
[19:14] <JEEB> and while at that you should probably find how to deal with it correctly
[19:16] <frable> yeah, the problem is this and the corresponding RGBA format doesn't appear too often yet, at least in no useful topic, and the microsoft documentation is sparse. as usual. I guess the easiest approach would be to convert the color format on GPU to smth. more convenient before reading it out?
[19:17] <JEEB> probably
[19:19] <frable> Alright, guess I will go for that after all then. Still curious, though, if it really is the normalization aspect or smth. else that screws up the colors.
[19:19] <frable> The description for the format stating: A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.
[19:20] <JEEB> no idea, just make sure that you have the correct planes in use and correct areas and so forth
[19:23] <frable> yeah, will double check that again as well.
[21:13] <consta> hi there
[21:13] <consta> i  m looking for such a solution like http://stackoverflow.com/questions/11647868/using-ffmpeg-to-stream-continuously-videos-files-to-a-rtmp-server/21007808#21007808
[21:13] <consta> anybody has an idea what the static playlist pipe would look ?
[21:34] <Mayumi> how can i remove padding for a video i am transcoding?
[21:56] <llogan> Mayumi: you can use the crop filter
[21:56] <llogan> http://ffmpeg.org/ffmpeg-filters.html#crop
[21:58] <llogan> consta: ask on ffmpeg-user mailing list
[22:00] <consta> ok thx
[23:03] <AleXoundOS> Hi. I'm streaming with ffmpeg to twitch.tv/snipealot1
[23:03] <AleXoundOS> Can you tell me what causes such image distortion?
[23:08] <juanmabc> cool feed :-)
[23:08] <juanmabc> what distortion? appart from quality?
[23:08] <AleXoundOS> juanmabc, eh, it stopped atm
[23:08] <AleXoundOS> juanmabc, I mean there is no distortion now
[23:08] <juanmabc> yep, it seems so :)
[23:09] <AleXoundOS> juanmabc, it mixed parts of different frames together
[23:09] <juanmabc> could be prebuffering
[23:09] <juanmabc> the feed start etc
[23:10] <juanmabc> if only in english (despite not being english myself, eh)
[23:10] <AleXoundOS> it was like one frame was still and changes from further frames applied to it
[23:11] <AleXoundOS> juanmabc, what do you mean about english?))
[23:11] <juanmabc> isn't that japanese?
[23:11] <AleXoundOS> Korean
[23:12] <juanmabc> oh, see
[23:12] <juanmabc> ah, i mean 'more international'
[23:12] <juanmabc> we like it or not, english made it as t lang
[23:13] <AleXoundOS> (if you want an english cast of this, check twitch.tv/teamliquidnet)
[23:14] <AleXoundOS> juanmabc, can you check twitch.tv/snipealot4
[23:15] <l_r> hello guys
[23:15] <AleXoundOS> it has a little distortion at the moment
[23:15] <AleXoundOS> l_r, hi
[23:15] <l_r> i have a problem
[23:15] <l_r> ffmpeg does not adapt the video output to the same framerate as the h264 input
[23:15] <juanmabc> i'm on it AleXoundOS
[23:16] <AleXoundOS> juanmabc, thx, what do you think about this?
[23:17] <AleXoundOS> juanmabc, like there are many artifacts on the image
[23:17] <l_r> basicalli i read h264 video from a device and send the stream to a remote rtmp server, the video might slowly change the framerate during the day (at night it's 15fps as the shutter speed is slower). well, ffmpeg does not seem to recognize this change via -re
[23:18] <juanmabc> seems quality of image mixed with inter framing issues, happens with some codecs
[23:18] <l_r> juanmabc, are you talking to me?
[23:18] <juanmabc> i don't know if the streaming could turn down quality to meet net requirements
[23:19] <juanmabc> nope, l_r
[23:19] <l_r> ok
[23:19] <AleXoundOS> juanmabc, I'm not encoding this, just using -vcodec copy (it's x264), when I watch the source with player it has no artifacts
[23:19] <AleXoundOS> juanmabc, but after streaming to twitch sometimes it gets distortion
[23:20] <l_r> is there a way to make a video 30 fps although the input is 15fps?
[23:20] <AleXoundOS> l_r, yes
[23:20] <l_r> how
[23:21] <juanmabc> note that happens when the image changes a lot, like discard, seems some iframe issue
[23:21] <AleXoundOS> l_r, you can explicitly specify output rate
[23:21] <l_r> what is the command line?
[23:21] <juanmabc> -r 30 i think
[23:21] <l_r> hm
[23:21] <l_r> then the thing does not work
[23:21] <AleXoundOS> l_r, -r before output section
[23:22] <l_r> yeah i tried it
[23:22] <l_r> it does not work
[23:22] <juanmabc> -r:v 30 ?
[23:22] <AleXoundOS> juanmabc, no, I think it doesn't relate to image changes
[23:22] <Mayumi> hi
[23:22] <AleXoundOS> juanmabc, the source video doesn't have such distortion
[23:22] <AleXoundOS> juanmabc, maybe I need to use some copytb option or something like that?
[23:22] <l_r> i mean, the command line is correct, but it has artifacts, the video looks accearated in some interval of time, and blocked in other ones
[23:23] <Mayumi> is there a setting with ffmpeg to remove the black boxes surrounding a video?
[23:23] <l_r> the -r thing is unuseful for me
[23:23] <l_r> not working
[23:23] <AleXoundOS> l_r, try different vsync options
[23:23] <l_r> let me see
[23:23] <Mayumi> when i transcoded a video using aws transcoder (uses ffmpeg) it managed to do this, but when i did it locally wiht ffmpeg it didnt
[23:23] <Mayumi> there has to be some sort fo setting or something
[23:24] <AleXoundOS> l_r, I'm not sure, but maybe encoder options can ignore -r setting
[23:27] <AleXoundOS> l_r, but basically "-r output" option should work, manual says: "As an output option, duplicate or drop input frames to achieve constant output frame rate fps."
[23:27] <l_r> but it doesnt
[23:27] <l_r> it's h264 as input
[23:27] <l_r> remember
[23:28] <AleXoundOS> l_r, and what you get?
[23:29] <l_r> dd if=/dev/video0 | ffmpeg -r 30    [...]    <---- works in the morning when the video is really 30fps, but at night the video is 15fps  due to shutter speed change,   i have to restart ffpeg with -r 15 at night, because ffmpeg cannot handle the change of the fps well, that is video stops unexpectdly very often for some small intervals of time
[23:30] <l_r> -re does not work either
[23:30] <l_r> -re should be "automatic"
[23:31] <Mayumi> s0o0o0o
[23:31] <Mayumi> nobody kno my issue =(
[23:44] <llogan> Mayumi: you can use the crop filter
[23:44] <llogan> http://ffmpeg.org/ffmpeg-filters.html#crop
[00:00] --- Fri Jan 10 2014


More information about the Ffmpeg-devel-irc mailing list