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

burek burek021 at gmail.com
Wed Dec 24 02:05:01 CET 2014


[00:59] <zenny> Hi; I am having problem to capture with ffmpeg with two logitech c920 camera (which natively supports h264) and a microphone attached to the 3.5mm TLS input of the computer. One of the camera produces jitters in videos and the lavalier mic connected to the 3.5mm audio input produces jittered audio. The ffmpeg log is at: http://pastebin.geany.org/IH81w/
[01:26] <techtopia> hey guys, can someone help me with multiple audio tracks
[01:27] <techtopia> http://pastebin.com/i8gDftHM
[01:28] <techtopia> this is my encoding line
[01:28] <techtopia> my source video has two tracks, ac3 audio and mp2 audio
[01:28] <techtopia> currently it's just using the mp2 audio
[01:28] <techtopia> but i want it to use the ac3
[01:28] <techtopia> or both
[01:29] <techtopia> what should i change for the audio part? currently it's "-acodec copy %PATHC4%\hout_01.ts"
[01:30] <pzich> with -map https://trac.ffmpeg.org/wiki/How%20to%20use%20-map%20option
[01:31] <techtopia> hey pzich, the thing is, the audio tracks in the source video will never be the same
[01:31] <techtopia> somtimes it will have multiple ac3 tracks sometimes only mp2 somtimes both
[01:31] <techtopia> and this is an automated script so i can't really use map
[01:31] <techtopia> is their someway to always use all audio tracks, just demux and remux them in
[01:40] <llogan> techtopia: add -map 0. then all streams from input 0 will be mapped. also read http://ffmpeg.org/ffmpeg.html#Stream-selection
[01:40] <techtopia> thanks guys :)
[01:42] <llogan> you should use scale instead of -s since you already have a filtergraph
[01:42] <llogan> that way you can better control when the scaling occurs, and it can preserve aspect ratio
[01:44] <techtopia> thanks :)
[01:44] <llogan> since you set -sws_flags it would be: scale=1280:-2:flags=spline
[01:48] <techtopia> would that always output at 1280x720?
[01:51] <sonnie> hi there, here's an MP4 video recorded from a lecture, into flv format. Is that OK to use -r 20 -qscale 6?
[01:52] <techtopia> is the source video 20fps
[01:53] <techtopia> -r 20 will set the framerate to 20fps and it's unlikely the source is 20fps
[01:53] <sonnie> the source is 29.97fps
[01:53] <techtopia> you should keep it the same as source
[01:54] <llogan> techtopia: it will if you force it with 1280:720. see http://ffmpeg.org/ffmpeg-filters.html#scale
[01:55] <sonnie> i'm thinking if there's any rule/tip to decrease frame rate for low-motion video such as lecture.
[01:55] <llogan> you can put H.264 video into flv container, so you don't need to re-encode (unless you want to). -c copy
[01:55] <llogan> also, why do you want flv?
[01:57] <sonnie> i want to put it on web
[01:58] <llogan> you can put mp4 on the web
[01:59] <sonnie> the source file is too large and 1080p is not needed. i want 720p/480p
[02:01] <llogan> sonnie: use a pastebin service to show the complete output of: ffmpeg -i input.mp4
[02:02] <sonnie> llogan, http://paste.ubuntu.com/9600322/
[02:06] <llogan> sonnie: FFmpeg version 0.6.5. that's too old. get a build from http://johnvansickle.com/ffmpeg/
[02:07] <llogan> or compile https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
[02:10] <sonnie> llogan, thanks. I will do this. Back to my question: since the source file is too large for a video server, while changing it to different sizes, is it ok to use smaller fps?
[02:11] <llogan> changing frame size will make a much bigger difference.
[02:13] <llogan> changing frame rate will probably make it look shitty, and the file size difference may not be worth it since it probably won't be much of a savings compared to the resulting jerkiness
[02:14] <llogan> ffmpeg -i input -vf scale=640:-2 -crf 26 -preset medium -c:a copy -movflags +faststart output.mp4
[02:15] <llogan> or "-c:a aac -strict experimental -ac 1 -b:a 64k" if you want to re-encode audio. if it's just voice mono is fine.
[02:15] <llogan> https://trac.ffmpeg.org/wiki/Encode/H.264
[02:15] <llogan> https://trac.ffmpeg.org/wiki/Encode/AAC
[02:19] <sonnie> thank you
[03:10] <techtopia> llogan "-map 0" isn't really a solution for me
[03:11] <techtopia> lets say video one has three streams, 0:0 = video, 0:1 = mp2 audio, 0:2 = ac3 audio, and lets say video two has three streams 0:0 = video, 0:1 = ac3 audio, 0:2 = mp2 audio
[03:11] <techtopia> how can i with the same command get it to export the ac3 audio from both videos
[03:12] <techtopia> if i use -map 0:2 for example, sometimes it will copy an ac3 file and somtimes it will copy an mp2 file
[03:14] <llogan> techtopia: i tohught you wanted both audio streams
[03:15] <techtopia> yes that was the idea but then i have the same issue again with the output file
[03:15] <techtopia> i was going to demux out the mp2 later but it's the same problem
[03:16] <llogan> if both the default stream selection and using -map 0 doesn't do what you want, then you'll have to script it
[03:16] <techtopia> im trying to script it :p
[03:16] <techtopia> i can show you what i have so far
[03:17] <llogan> ok, but we can't really support scripting here. just the ff* tools.
[03:18] <techtopia> http://pastebin.com/VNkNtBhv
[03:19] <techtopia> i just need a command for the ac3 audio and im pretty much done
[03:20] <llogan> you could probably use ffprobe to get the correct stream index
[03:21] <techtopia> but then i would have to do that everytime
[03:21] <techtopia> i kinda want an automated way to do it
[03:22] <techtopia> hmm actually
[03:22] <techtopia> i could do a ffprobe input.ts, it would print the results, then i could do a /choice what audio stream do you want to use
[03:22] <techtopia> and set a path to it
[03:22] <techtopia> yeah this might work i will have a play
[03:23] <llogan> you said -map 0 didn't do what you need, and neither does the default stream selection, and neither does explicit mapping nor something like -map 0:a:0, so ffprobe is probably the way to do it
[03:23] <techtopia> yeah
[03:23] <techtopia> thanks for the help and ideas :)
[03:28] <llogan> techtopia: ffprobe -v error -select_streams a -show_entries stream=index,codec_name input.foo
[03:29] <llogan> https://trac.ffmpeg.org/wiki/FFprobeTips (for Linux though)
[03:29] <llogan> Windows equivalent examples, if possible...i don't know, would be nice to add if you feel up to it
[03:45] <xpen> i'm compile ffmpeg from source, i installed libs such as yasm, libvpx to a self defined location, so, when i building ffmpeg, it complains "cant not find yasm, libvpx"
[03:45] <xpen> how to solve this?
[03:46] <xpen> the ffmpeg version i'm compiling against 2.5.1
[03:48] <wh-hw> hi, how to static build a 64bit version ffmpeg ?
[03:50] <llogan> xpen: what is your ffmpeg configure? actually you could just show the head and tail of config.log. use a pastebin site.
[03:57] <xpen> rror: vpx/vpx_decoder.h: No such file or directory
[03:57] <xpen> i included it by using extra-cflags="path/to/libvpx"
[03:58] <xpen> this caused an error, gcc can not create executable binary
[04:02] <techtopia> thanks again llogan :) added these two lines and now i have everything working. "ffmpeg -i input.ts" then "set /p as=Which audio stream do you wish to use (eg, 0:1, 0:2, 0:3 ect...). : "
[04:07] <wh-hw> hi, all
[04:46] <kxra> can someone help me use ffmpeg to stream to RTMP?
[04:50] <llogan> kxra: http://ffmpeg.org/ffmpeg-protocols.html#rtmp
[05:08] <wh-hw> hi, i have a problem like this , when i compile opencv 2.4.10 : /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libavcodec.a(vc1dsp_mmx.o): relocation R_X86_64_PC32 against symbol `ff_pw_9' can not be used when making a shared object; recompile with -fPIC
[05:08] <wh-hw> anybody can help with that ?
[05:09] <llogan> isn't that question more appropriate for #opencv?
[05:14] <wh-hw> llogan, nobody answer me in that channel
[05:31] <k_sze[work]> Does ffmpeg's -ss option accept an offset expressed in number of frames instead of time?
[05:31] <k_sze[work]> e.g. would be useful if I know the exact frame number that I want to extract from a video file.
[06:07] <fling> Are there useable alternatives to libx264?
[07:00] <k_sze[work]> fling: define "useable"?
[07:01] <fling> k_sze[work]: not too slow encoding, not too poor image quality&
[07:01] <fling> but similar to x264 :D
[07:01] <fling> vp9 is too slow for example.
[07:01] <k_sze[work]> then yes, from my own testing, libx264 is the only useable codec right now.
[07:02] <k_sze[work]> hevc is supposed to yield even better quality/size ratio.
[07:02] <fling> doh!
[07:02] <k_sze[work]> but the current encoder implementation is still not fast enough.
[07:02] <fling> k_sze[work]: where to get hevc?
[07:02] <k_sze[work]> recent builds of ffmpeg support hevc
[07:03] <fling> ohh
[07:03] <k_sze[work]> it's one of the codecs, so instead of specifying libx264, specify hevc
[07:03] <fling> k_sze[work]: I have 2.3.3 installed, upgrading to 2.5.1.
[07:03] <k_sze[work]> but like I said, too slow (can't even do 30 fps at ultrafast preset)
[07:03] <fling> or do I need a newer version?
[07:03] <fling> ohhh
[07:04] <k_sze[work]> 2.5.1 is already the newest release.
[07:04] <fling> I'm getting 11 fps with veryslow ;<
[07:04] <fling> I mean with x264
[07:04] <k_sze[work]> well, that's not surprising.
[07:04] <k_sze[work]> I can do about 30 fps with superfast on a Core i3.
[07:05] <fling> Sounds good.
[07:05] <k_sze[work]> and that's 1080p YUYV video.
[07:05] <fling> my video is 480p :P
[07:06] <k_sze[work]> I'd say stick with libx264 until hevc is ready for prime time.
[07:06] <fling> ok& thanks for the info.
[07:08] <fling> k_sze[work]: will it support opencl btw?
[07:08] <k_sze[work]> what will?
[07:09] <fling> libx265
[07:09] <fling> btw how slower is it compared to x264?
[07:11] <k_sze[work]> fling: it can take advantage of opencl already, if I understand correctly
[07:12] <k_sze[work]> your ffmpeg needs to be built with --enable-opencl though, I think.
[07:12] <fling> I also need to check if nouveau supports opencl on my card.
[07:12] <k_sze[work]> I think it was doing 20 fps at ultrafast preset on my Core i3.
[07:13] <k_sze[work]> what nvidia card do you have? Is it Kepler-based?
[07:14] <fling> k_sze[work]: gtx640 and gtx9600 something
[07:16] <k_sze[work]> the gtx 640 should be Kepler-based.
[07:16] <k_sze[work]> in which case you might be interested in a ffmpeg build with nvenc enabled.
[07:16] <k_sze[work]> (nvenc is a h.264 codec that does much of the encoding on the GPU)
[07:17] <fling> With nouveau?
[07:17] <k_sze[work]> But it might be a pain to obtain, depending on your platform.
[07:17] <k_sze[work]> you won't get that with nouveau, I think.
[07:17] <fling> This is the problem.
[07:21] <fling> k_sze[work]: Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz -> http://dpaste.com/25XW99A
[07:26] <fling> k_sze[work]: 4 fps with veryslow btw
[07:27] <fling> umm it is 3 now :D
[07:32] <fling> k_sze[work]: I'm getting decent results even with medium preset, the output is very small.
[09:18] <cas> Hi, I use x11grab on a decklink output. I set x11grab to -framerate 30 and the decklink output to a 30fps output, no frames are dropped but the output looks quite choppy
[09:19] <cas> my load is also not really problematic, any ideas how I can improve this?
[09:43] <k_sze[work]> Is exact frame seeking supposed to work with H.264 in AVI?
[09:43] <JEEBsv> exact frame seeking is very hard with lavf
[09:44] <JEEBsv> which is why there are libraries like ffms2 and l-smash works that try to work around the issues with lavf and various formats
[09:44] <k_sze[work]> let me check those out.
[09:44] <JEEBsv> so you should never, ever expect it to be frame exact
[09:44] <JEEBsv> as in, lavf by itself
[09:46] <JEEBsv> L-SMASH Works is not really a universal library, unlike ffms2. IIRC. it's an aviutl/avs/vapoursynth plugin
[09:46] <JEEBsv> but it does do frame-exactness in mpeg-ts and friends better than ffms2 with interlaced content
[09:46] <JEEBsv> neither is always perfect due to "lol lavf/lavc"
[09:47] <k_sze[work]> :/
[09:56] <k_sze[work]> https://trac.ffmpeg.org/wiki/Seeking
[09:56] <k_sze[work]> nice
[09:56] <k_sze[work]> I like how they used Mononoke Hime for sample frames.
[09:56] <k_sze[work]> One of my favourite anime.
[10:00] <k_sze[work]> As of FFmpeg 2.1, when transcoding with ffmpeg (i.e. not just stream copying), -ss is now also "frame-accurate" even when used as an input option.
[10:00] <k_sze[work]> I wonder if that statement still holds.
[10:00] <k_sze[work]> (now that we are at version 2.5.1)
[10:06] <hanshenrik> i have some big mp4 files i want to convert to.. something small, and do it really fast (running on old hardware and crappy cpu)
[10:06] <hanshenrik> suggestions?
[10:07] <k_sze[work]> What does ffmpeg do about frame timestamps/timecodes?
[10:07] <hanshenrik_> dammit disconnect
[10:08] <k_sze[work]> e.g. for 30 FPS video, does it round up or round down the milliseconds?
[10:10] <hanshenrik_> encoding must be fast, output size must be small,  quality is not a concern, suggestions?
[10:13] <fling> k_sze[work]: interesting thing -> http://dpaste.com/34H4ZHM
[10:13] <fling> slower is better than veryslow for x265 for some unknown reason.
[10:15] <k_sze[work]> I *think* slower does not necessarily mean smaller.
[10:15] <fling> k_sze[work]: but this is what presets for.
[10:16] <k_sze[work]> IIRC it just means better quality given the same target output size.
[10:16] <k_sze[work]> or better quality to size ratio.
[10:16] <fling> ohh
[10:16] <fling> but I thought the quality should stay almost the same and crf controls it.
[10:17] <__jack__> well, a part of is
[10:17] <fling> k_sze[work]: and preset only controls how much processor time is needed for ecoding.
[10:17] <fling> less time = bigger output
[10:17] <fling> Am I wrong here?
[10:17] <__jack__> preset are set of predefined option
[10:17] <__jack__> an option can just allow deeper processing on some part of the process
[10:18] <__jack__> meaning more perfect output (ratio quality/size) with a cpu-cost
[10:19] <__jack__> crf is another option that does not really consomme more power, but influence the encoder
[10:19] <__jack__> both of them will change the output, but they are not exclusive at all
[10:21] <fling> __jack__: ok, thanks for the info ;>
[10:21] <fling> The audio takes way too much size in the file :<
[10:28] <fling> __jack__: should I also use -tune film when my input is a real life footage?
[10:31] <__jack__> fling: dunno if it is really usefull
[10:31] <fling> __jack__: why is not it?
[10:32] <__jack__> I think that these params are only usefull in a case-per-case basis, to get the best of
[10:32] <__jack__> try it and let me know if it increase the ratio :)
[10:33] <fling> __jack__: [libx265 @ 0x7f8bf521b9e0] Unknown option: tune.
[10:35] <fling> __jack__: Don't I need 10bpp? dont I need any specific profile? I want the best quality and I don't care about hardware players.
[10:35] <fling> And my input is loseless noisy webcam captures :P
[10:36] <fling> Looks like x265 tune can be only set to psnr, ssim, zerolatency, or fastdecode, not very useful for me.
[10:38] <__jack__> fling: as far as I looked for, usefull options are preset, rd & me
[10:39] <__jack__> psy-* seems to be usefull to, but I dunno why (and how!)
[10:39] <__jack__> have a look at them
[10:39] <fling> __jack__: thanks for the info.
[10:50] <Fjorgynn> hello
[10:50] <__jack__> hi
[10:51] <Fjorgynn> is the default flac good in ffmpeg?
[10:51] <Fjorgynn> encoder
[10:52] <k_sze[work]> Doesn't ffmpeg rely on the official libflac anyway?
[10:52] <Fjorgynn> I don't know
[10:56] <fling> __jack__: Which container to use for opus only audio stream?
[11:04] <hanshenrik_> ./ffmpeg -y -i ../i.mp4 -vf scale=128:96 -sample_rate 8000Hz output_file.3gp
[11:04] <hanshenrik_> [libopencore_amrnb @ 0x2ff3ba0] Only 8000Hz sample rate supported
[11:04] <hanshenrik_> Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
[11:13] <__jack__> k_sze[work]: Fjorgynn: it seems that ffmpeg is using is own flac, and can fallback at compile time with libflac; dunno the encoder qualiy;
[11:13] <k_sze[work]> That's ... surprising.
[11:14] <__jack__> fling: ogg (blabla.opus) or just mkv (which is awesome)
[11:15] <k_sze[work]> Why does it use its own flac implementation when the official libflac is already free software? It's not even GPL, it's BSD.
[11:21] <Fjorgynn> :o
[11:25] <Eberx> Hi
[11:26] <__jack__> hum, on my computer, ffmpeg is linked with libflac, but it's not with a newer built:
[11:26] <__jack__> root at jack:~# ffmpeg -codecs |& grep -i flac DEA..S flac                 FLAC (Free Lossless Audio Codec)
[11:26] <__jack__> root at jack:~# ldd /usr/local/bin/ffmpeg | grep -i flac
[11:26] <__jack__> does it changed somehow ?
[11:27] <Eberx> I'm trying to split 2 channels into 2 stream
[11:27] <Eberx> but I got error "there must be exactly one video stream and it must be the first one"
[11:28] <Eberx> How do I order video stream first
[11:28] <Eberx> Input stream is
[11:29] <Eberx> Input #0, avi, from '1.avi':   Duration: 00:06:45.00, start: 0.000000, bitrate: 30340 kb/s     Stream #0:0: Video: dvvideo (CDVC / 0x43564443), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28802 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc     Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s16, 1536 kb/s
[12:08] <Fjorgynn> did a test. Apparently my compiled x264 is much faster to compile
[12:08] <BtbN> what?
[12:12] <Fjorgynn> encode
[12:35] <Fjorgynn> 33 MB file with ultrafast that is okay
[12:39] <alexhhh> hello i am curious is it possible to output a quicktime reference file using ffmpeg?
[12:39] <Fjorgynn> quicktime reference file?
[12:40] <alexhhh> yes it is seperated in to mov, m2v, wav
[12:47] <edoardo> is there a way to remove libav and install ffmpeg on debian?
[12:48] <edoardo> i can't do anything
[12:54] <__jack__> dpkg -l|grep libav -> aptitude purge blabla
[12:55] <__jack__> note that ffmpeg (the real ffmpeg) lives in Debian
[13:05] <iive> it is in debian sid
[13:06] <iive> and you can install it alongside libav (only the -dev packages might conflict)
[13:13] <edoardo> __jack__: iive in wheezy stable i get libav
[13:15] <iive> it got into debian just few months ago. it is not going to be in the next stable release either... what was it name... jessie?
[13:16] <edoardo> yes
[14:27] <jkli> hi guys
[14:28] <jkli> im wondering, does 60fps encodes double the bitrate?
[14:28] <jkli> i have yet to experiment with 60fps on my own, so I'm wondering if there are already good encoding profiles for 60frames stuff
[14:49] <Mavrik> jkli, usually double fps doesn't meant double bitrate (due to frame similarity), but bitrate certanly would be bigger
[14:49] <Mavrik> I have no idea what do you mean by "good encoding profiles"
[14:50] <jkli> i just saw that some even encode 30fps source to 60fps
[14:52] <Mavrik> O.o
[14:52] <Mavrik> what would that achieve.
[14:54] <klaxa> the "true hfr experience" which actually means "requires a bigger harddrive"
[15:03] <Mavrik> it wouldn't because the frames would be the same... except if they use those interpolation filters
[15:03] <Mavrik> which look really terrible
[15:53] <Glar> Hello. Is it possible to encode & cut in a video at the same time ? (ffmpeg  -i input.mp4 -force_key_frames 00:00:05,00:00:09 -c:v libvpx -b:v 1M -an output.webm)
[15:55] <Mavrik> can you explain more?
[15:55] <Mavrik> what is "cut"?
[15:56] <Glar> extract few seconds from the video
[15:57] <Mavrik> yes, just set start and end time with ss and t parameters.
[15:57] <Glar> ok !
[15:57] <Glar> thank you, i'm trying that
[16:00] <Glar> its working, thank you
[16:00] <Glar> I love so much ffmpeg! Have a nice day :)
[16:05] <YaronT> Hello, does anyone know how to add CORS header (Access-Control-Allow-Origin) to ffserver?
[16:42] <kimo_> hi all, Im trying to get raw data from gstreamer tcp server with ffmpeg tcp client using : ffplay tcp://localhost:port
[16:54] <Fjorgynn> ok
[17:23] <Fjorgynn> what is ultrafast good for with libx264?
[17:27] <c_14> Making things go faster.
[17:41] <Muchoz> I converted a video recorded in QuickTime and converted it to a gif using ffmpeg and I get this weird output: (definitely noticeable on a non retina screen) https://dl.dropboxusercontent.com/u/45793708/out2.gif Some kind of blue dots everywhere.
[17:41] <Muchoz> And for some reason my IRC client doesn't show the blue circles...
[17:42] <pzich> it's called dithering
[17:42] <Muchoz> In Safari 8 they're not even circles: https://www.dropbox.com/s/6kb87m0qedfqwc4/Schermafdruk%202014-12-23%2017.42.28.png?dl=0
[17:43] <Muchoz> pzich, is there any way that I can convert the .mov file to a gif without dithering?
[17:44] <pzich> I don't know too much about ffmpeg's built-in GIF options, but I've heard exporting (or piping) frames to imagemagick may be a better option
[17:44] <pzich> something like http://superuser.com/a/730389
[17:48] <Muchoz> pzich, that command isn't outputting anything unfortunately.
[17:48] <Muchoz> Saving I mean.
[17:48] <Muchoz> Nvm
[17:53] <Muchoz> pzich, thanks. It looks quite good, but quite a big file size. I guess I'll just let imgur or gfycat deal with that since they're gonna compress it anyway.
[18:12] <Fjorgynn> So what's the worst thing doing -preset ultrafast?
[18:15] <c_14> Fjorgynn: your file gets bigger? or if you're using cbr the quality will be worse
[18:19] <Fjorgynn> yeah but I am only doing a -loop 1 for an image
[18:23] <c_14> The general principle is use the slowest one that's fast enough for you.
[19:22] <zenny> Hi, having issues with sound capturing directly to the computer. I have logitech c920 webcams with USB interfaces. The audio is always a second shorter than video capture. On the other hand, capturing audio from a lavalier mic halts after a few seconds (like 50s) and gives an error "Alsa buffer xrun and the recorded audio is very jittery. Inputs appreciated!
[19:34] <tibo__> hi guys
[19:34] <tibo__> I'm facing the ERROR: libx264 not found issue while cross compiling ffmpeg for android on mac
[19:34] <lacx> hi all X)
[19:35] <tibo__> libx264 config: ./configure --cross-prefix=<path>/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi- --enable-pic --enable-static --host=arm-linux --sysroot=<path>/android-ndk-r10d/platforms/android-16/arch-arm --prefix=. --disable-cli --disable-opencl --disable-asm --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --disable-lsmash
[19:36] <tibo__> ffmpeg config: ./configure --enable-encoder=h264 --enable-libx264 --arch=arm --enable-gpl --target-os=linux --enable-cross-compile --cross-prefix=<path>/android-ndk-r10d/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/arm-linux-androideabi- --sysroot=<path>/android-ndk-r10d/platforms/android-16/arch-arm --extra-ldflags=-I/./libx264/include -L./libx264/lib -ldl" --extra-cflags=-I./libx264/include"
[19:37] <tibo__> I tried pretty much all the git repo that are supposed to compile ffmpeg + libx264 for android, but they all produce the same error... Any idea why?
[19:38] <tibo__> compile error during the ./configure step: error: x264: no archive symbol table (run ranlib)
[20:02] <ac_slater_> tibo__: so you want to use software libx264 on android?
[20:03] <ac_slater_> I've been doing some work recently to fix ffmpeg's libstagefright stuff. The current tree will not let you compile libcodec agaist libstagefright/omx.
[20:04] <ac_slater_> tibo__: is your goal to encode or decode h264 on android?
[20:04] <tibo__> ac_slater_: I'm building the ffmpeg binary, with libx264 )for android)
[20:04] <ac_slater_> oh. hmm
[20:04] <tibo__> ac_slater_: I need to encore h264 videos
[20:05] <tibo__> I can build and run the binary no problems, but it won't link libx264 somehow...
[20:05] <ac_slater_> tibo__: just warning you, this wont get you real time encoding speeds... maybe 4-10fps
[20:05] <ac_slater_> tibo__: did you compile libx264 with the same toolchain as ffmpeg?
[20:06] <tibo__> ac_slater_: yes, afaik. I posted the 2 configs above
[20:06] <ac_slater_> those configs are assuming libx264 is in your ndk sysroot... is it?
[20:07] <ac_slater_> oh nevermind
[20:07] <ac_slater_> I see
[20:07] <ac_slater_> what version of ffmpeg?
[20:07] <tibo__> I have the latest libx264 and ffmpeg 251
[20:08] <ac_slater_> --extra-ldflags=-I/./libx264/includ
[20:08] <ac_slater_> is there an extra / in there?
[20:08] <tibo__> it's a typo, when I posted here. I just remove the full path, for clarity
[20:09] <ac_slater_> cool
[20:09] <ac_slater_> well
[20:09] <ac_slater_> -I isnt part of ldflags, it should be part of cflags
[20:09] <ac_slater_> but I see it there too
[20:10] <ac_slater_> did you try `arch=android` just for kicks?
[20:10] <ac_slater_> should effect detection of libs though
[20:10] <ac_slater_> shouldnt *
[20:10] <llogan> x264 got some aarch64 updates lately. might help on some android
[20:11] <ac_slater_> tibo__: I would do the smallest possible ./configure call. Just your sysroots,cross compile stuff, and --enable-libx264... nothing else
[20:11] <tibo__> hum no, haven't tried. But also right now, just for testing, I'm compiling for my mac, and got the same problem... So it doesn't seem to be the toolchain
[20:11] <ac_slater_> right
[20:12] <ac_slater_> hmm and I meant `--target-os=android` ... not arch. Anyways...
[20:14] <ac_slater_> tibo__: anyways, the problem isn't really obvious. I would just try the minimal configure call and see what's in config.log for detecting libx264
[20:15] <tibo__> ac_slater_: ok thanks for your help. I'm going to make it work for mac with minimal config, then move to android stuff
[20:17] <ac_slater_> smart
[20:58] <zumba_addict> i forgot how i installed ffmpeg from my mac 1.5 yrs ago. brew list shows it. locate shows ffmpeg on different path, /usr/bin and /usr/local/bin. which shows it is using the one in /usr/bin. Anyways, I would like to update my ffmpeg to have h.265 support. Any recommended solution?
[21:00] <llogan> zumba_addict: ffmpeg has native decoding support
[21:00] <zumba_addict> lol, /usr/bin/ffmpeg is a symbolic link to my /usr/local/bin/ffmpeg
[21:00] <zumba_addict> llogan: what version?
[21:00] <zumba_addict> my version might not support it
[21:00] <zumba_addict> but what about encoding?
[21:00] <llogan> i don't know. ffmpeg -decoders | grep -i hevc
[21:01] <llogan> as for encoding, it is too early and is a waste of time.
[21:01] <zumba_addict> my version - ffmpeg version N-56792-gfc0d8cf'
[21:01] <zumba_addict> k
[21:01] <zumba_addict> so I'll stick with my h.264
[21:02] <zumba_addict> i thought i was so behind since I haven't updated my ffmpeg for more than a year now
[21:02] <llogan> that's old in ffmpegland
[21:02] <zumba_addict> k
[21:03] <zumba_addict> looks like i am not using the one installed by homebrew
[21:03] <llogan> there is some brew info here: http://trac.ffmpeg.org/wiki/CompilationGuide/MacOSX#ffmpegthroughHomebrew
[21:03] <zumba_addict> looks like i install it from source
[21:04] <zumba_addict> because when I run the binary created by brew, i get this error - dyld: Library not loaded: /usr/local/lib/libx264.125.dylib
[21:04] <zumba_addict> installed^
[21:05] <llogan> you can probably just uninstall your old brew and self compiled stuff, clean up any symlink mess, and then follow that guide.
[21:05] <tibo__> ac_slater_: it was a PATH / homebrew issue (facepalm)... you mentioned I'll get 10fps after encoding. Why is that?
[21:05] <ac_slater_> tibo__: h264 is pretty intensive
[21:06] <ac_slater_> tibo__: if you search around for ARM x264 benchmarks you'll see. Last month I was using x264 on a galaxy S4 and I was getting 6fps... even with all optimizations and assembly bits enables
[21:06] <ac_slater_> enabled *
[21:07] <ac_slater_> llogan mentioned that there are some new improvements for 64bit arm. Not sure those will help you
[21:07] <zumba_addict> k
[21:07] <tibo__> ac_slater_: dang... any way around that? I just need to extract 3-5s of video.
[21:08] <zumba_addict> this is what it showed when I ran uninstall - Uninstalling /usr/local/Cellar/ffmpeg/1.2.1...
[21:08] <ac_slater_> tibo__: you can do it, just dont expect it to be fast
[21:08] <ac_slater_> ie - realtime
[21:08] <zumba_addict> is 1.2.1 old?
[21:09] <ac_slater_> tibo__: modern android has `stagefright` and OMX to tap into hardware decoders. I just managed to enable this in ffmpeg by taking libs from my device, fixing libavcodec/libstagefright.cpp and pulling in 300mb of header repos
[21:09] <zumba_addict> got this from the link you posted. Will ffmpeg still have x264 support with these params? brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265
[21:09] <ac_slater_> tibo__: and encoders as well...
[21:09] <ac_slater_> but mostly decoders
[21:11] <ac_slater_> tibo__: you can get around this by using android's MediaCodec. Either sending it ffmpeg demuxed data (raw yuv data) for encode or h264 NAL units (annex b) for decode
[21:13] <ac_slater_> it's not so simple
[21:14] <llogan> zumba_addict: 1.2.1 is old. i assume it will provide x264. my guess is that the --with-* options are for additional things that aren't installed by default. but i've never used brew and don't have an os x machine.
[21:14] <zumba_addict> ok. I just tried brew install ffmpeg and it automatically required x264
[21:15] <llogan> see "brew info ffmpeg"
[21:15] <llogan> maybe it will show what is default.
[21:15] <zumba_addict> wow, brew still downloaded ffmpeg 1.2.1, lol
[21:15] <tibo__> ac_slater_: I did use stagefright in the past... But I had to use the libav apis to get the stream, extract the frames etc. Seemed overkill for extracting few seconds. As far as MediaCodec, it's min api 16...
[21:16] <ac_slater_> yea
[21:16] <tibo__> thanks for the tips tho
[21:16] <zumba_addict> i'll just build from source rather than brew
[21:16] <zumba_addict> i'm getting so many errors
[21:16] <ac_slater_> tibo__: it's the only way to get hardware access however
[21:16] <llogan> zumba_addict: maybe you should do "brew update" first
[21:16] <zumba_addict> oh yeah, i forgot that
[21:17] <tibo__> ac_slater_: oh, so libx264 is sw?
[21:17] <ac_slater_> tibo__: yea, and if it can, NEON and inline asm
[21:17] <ac_slater_> but your configure line has `--disable-asm`
[21:18] <ac_slater_> so I figured your device didnt support the hardware optimizations within x264
[21:18] <ac_slater_> but maybe you should take that out ;)
[21:18] <zumba_addict> even brew update has an error, lol
[21:18] <zumba_addict> my setup is messed up
[21:18] <tibo__> ac_slater_: got it. Yeah, I was trying to minimize dependencies and size. But since now it's working, I can add those options back
[21:19] <zumba_addict> wow, ffmpeg.org has a new interface :)
[21:19] <llogan> zumba_addict: brew doctor?
[21:19] <zumba_addict> and version is 2.5.x :D mine is jurassic
[21:20] <zumba_addict> i'm running it now to see if there are problems
[21:22] <zumba_addict> wow, tons of errors
[21:46] <ruukasu> I'm trying to convert an mkv with h264 and dts to mp4 (preferably h264 and aac), but nothing seems to work
[21:46] <ruukasu> always get "libaacplus doesn't support this output format!"
[21:46] <ruukasu> then after more info it ends with "Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height"
[22:19] <LOSST> Trying to convert some mp4 and mkv movies to xvid for playing on an Argosy HV358T media player(cheap external hd kind)- 30 second test conversions play, but not full movies. Any ideas?
[22:29] <cgreen> Hand0ut!
[22:31] <cgreen> handbrake
[00:00] --- Wed Dec 24 2014


More information about the Ffmpeg-devel-irc mailing list