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

burek burek021 at gmail.com
Wed Jan 22 02:05:01 CET 2014


[00:30] <l_r> why do i get [alsa @ 0x14e2d80] sample format 0x15002 is not supported    from    ffmpeg -f alsa -c:a aac -i hw:0,0 -f flv rtmp://myserver
[00:53] <pyBlob> Hello there
[00:54] <pyBlob> I'm trying to do some audio capturing and I'm curious about the different raw sample formats ... what's the difference between the formats with "p" and without p?
[01:25] <Gambi_> hi is there a way to get remaining time in place of time ? (when it's reading a videofile with -re )
[01:25] <jkli> does ffmpeg support image filters for thumbnails?
[01:26] <jkli> i saw some effects being applied on thumbail images like contrast optimization and wondered if they can be done with ffmpeg
[01:26] <jkli> or if it has to be done externally through php
[01:27] <Gambi_> you need to use filters or complex filters
[01:29] <jkli> is there a link where all ffmpeg filters are shown with their effects?
[01:30] <Gambi_> http://trac.ffmpeg.org/wiki/FilteringGuide
[01:31] <jkli> no images
[01:32] <Gambi_> http://trac.ffmpeg.org/wiki/FancyFilteringExamples
[01:33] <jkli> ah ok
[01:33] <jkli> thx
[02:17] <l_r> my god the builtin aac codec  consumes 100% cpu
[02:17] <l_r> in my raspberry
[02:18] <l_r> i wonder if libfaac or others make any difference
[02:40] <Hello71> builtin aac is bad
[03:02] <albator> does creating multiple out like -f flv rtmp url -f mp4 output.mp4 raise cpu ?
[03:11] <klaxa> albator, most likely?
[03:11] <klaxa> it's doing more stuff, right?
[03:11] <albator> I never felt this but on this particular encoding, the difference is obvious
[03:11] <albator> so much i can't broadcast basically :)
[03:12] <albator> broadcast and keep a local file
[03:12] <klaxa> what about putting the copy into flv too?
[03:13] <albator> how is that?
[03:14] <albator> i tried to do -f flv rtmp//stream -f flv output.flv
[03:14] <albator> but it s a no go
[03:15] <albator> i need to make a local output at least , then i ll just send using -c:v copy etc
[03:15] <klaxa> why is the -f output.flv thing a no go?
[03:18] <albator> for local file  with .flv extension, it says
[03:18] <albator> Could not write header for output file #1 (incorrect codec parameters ?): Invalid data found when processing input
[03:18] <jkli> is there a way to add a line into the user data of an mp4 file?
[03:19] <jkli> like a url?
[03:20] <klaxa> hmm
[03:20] <klaxa> i'm not too sure how ffmpeg handles multiple output files, but i'm guessing then that it will not use the same output options for the second output as for the first output
[03:21] <klaxa> meaning that even if you used the same settings, it will encode everything twice
[03:21] <klaxa> with piping you can encode it once and use -c copy in another ffmpeg instance to get it to work without encoding twice
[03:21] <albator> still pretty curious it doesn't work when requesting same output extension
[03:22] <albator> while it works with -f flv & -f mp4
[03:22] <klaxa> like i said
[03:22] <albator> hmmm
[03:22] <klaxa> ffmpeg probably applies different encoding options to different outputs
[03:22] <albator>  u must be right
[03:23] <klaxa> anyway, maybe try something like this: ffmpeg -i <input> [encoding options] -f flv pipe:1 | ffmpeg -i - -c copy rtmp:// -c copy output.mp4
[03:23] <albator> i have been using piping and never felt this before
[03:23] <klaxa> that will probably convolute your terminal though
[03:23] <albator> but with the concat muxer, i went to something else, and using multiple output without piping
[03:23] <albator> so that explain this
[03:23] <albator> very good, i m sure u fix my problem
[03:23] <albator> thanks
[03:24] <albator> i ll first use piping to make both stream+local file , then concat the resulting local file
[05:30] <liam-kelly> How do I compile ffmpeg with support for h265/vp9?
[05:34] <liam-kelly> Nevermind, I reread the ubuntu compilation guide and it is included in libvpx.
[06:10] <Guest66336> while compiling ffmpeg i'm getting error /usr/bin/ld.bfd.real : libavutils/aes.o : reloaction R_ARM_THM_MOVW_ABS_NC against a 'local symbol' cannot be used when making a shared object, recompile with -fPIC
[06:10] <Guest66336> libavutils/aes.o : could not read symbols : Bad value
[07:59] <anshul> I was using mjpeg codec from libavcodec, I am getting [mjpeg @ 0xaaf14d20] overread 8 message in the new git code, while I am not getting any error in the fourier release of ffmpeg
[08:02] <anshul> can any one suggest what should I do to remove [mjpeg @ 0xaaf14d20] overread 8 message. should I look to my input or ffmpeg code, or should I comapare forrier release code and git code.
[08:07] <gnos> Hey, is there a way to use ffmpeg to cut off, say, the leftmost 2/5 of a video stream?
[08:16] <anshul> @gnos  you want to cut the video frame?
[08:18] <gnos> Yeah, I want to crop out the left 2/5 of the frame
[08:24] <gnos> I'm lookint at http://libav.org/libavfilter.html#crop, but I don't really understand it.
[08:36] <kvz> I'm having trouble with this ffmpeg command + output: http://pastebin.com/yMt7P1fx - does anyone know what the "real" error in this output is?
[08:38] <CommaCrazy> hi all, question, how can I restream a mpts stream and just add buffer to the stream using ffmpeg?
[09:05] <Keestu> is it possible to capture rtsp streaming data using ffmpeg in android?.  i am new to ffmpeg, sorry for basic question.
[09:17] <sspiff> I'm having a weird memory leak, which valgrind says is caused by me calling avcodec_decode_subtitle2() - yet I always call avsubtitle_free() when *got_sub_ptr is non-zero.
[09:18] <sspiff> Does anyone have a clue what I might be missing? Is there something else I need to free after calling avcodec_decode_subtitle2()?
[09:19] <ubitux> anshul: if it's a regression, please open a ticket
[09:19] <ubitux> gnos: cut the width?
[09:20] <ubitux> kvz: [mp4 @ 0x24c6a00] Malformed AAC bitstream detected: use audio bitstream filter 'aac_adtstoasc' to fix it ('-bsf:a aac_adtstoasc' option with ffmpeg)
[09:20] <ubitux> sspiff: not that i know of
[09:21] <sspiff> ubitux: argh! I've been breaking my head over this.
[09:21] <sspiff> I'm no doubt doing something retarded
[09:21] <ubitux> sspiff: call free even if no *got_sub_ptr
[09:21] <ubitux> maybe
[09:21] <kvz> ubitux: The bsf:a aac_adtstoasc is already passed though.. So, broken input file? It happens on a few input files.
[09:23] <ubitux> kvz: you need to use bitstream filter inside the segmenter
[09:23] <sspiff> ubitux: didn't change anything :( I'll continue looking
[09:23] <ubitux> sspiff: what's the leak?
[09:24] <ubitux> kvz: probably :)
[09:25] <sspiff> I'm not sure, I can't get line numbers for ffmpeg to appear in valgrind
[09:26] <sspiff> I'm rebuilding ffmpeg from source and going to link against that
[09:26] <sspiff> ubitux: http://pastie.org/8652952
[09:26] <sspiff> but that probably doesn't mean much to you :)
[09:27] <ubitux> does it leak with ffmpeg itself?
[09:27] <sspiff> when using the ffmpeg command?
[09:27] <sspiff> haven't tried
[09:27] <sspiff> I need to go to a meeting, I'll try when I get back
[09:28] <ubitux> kvz: mmh, maybe start simplifying your cmd line
[09:28] <ubitux> your crazy x264 settings are not needed anymore
[09:28] <ubitux> then can you reproduce with a simple transcode?
[09:35] <anshul> there must be some @gnos you are using scale command, its function is not to crop
[09:35] <anshul> @gnos you are using scale command, its function is not to crop
[09:36] <anshul> I was using mjpeg codec from libavcodec, I am getting [mjpeg @ 0xaaf14d20] overread 8 message in the new git code, while I am not getting any error in the fourier release of ffmpeg
[09:36] <anshul> an any one suggest what should I do to remove [mjpeg @ 0xaaf14d20] overread 8 message. should I look to my input or ffmpeg code, or should I comapare forrier release code and git code.
[09:36] <anshul> sorry I didn't got what is regression
[09:37] <anshul> sorry I also mixed up with gnos question and kvz output
[09:44] <gnos> anshul, can you please tell me how to use the crop function? The docs don't explain it very well
[09:52] <anshul> gnos: can you tell me, what you tried yet. so that I may understand that the document need to be more elaborated or its only problem with you
[09:53] <ubitux> http://ffmpeg.org/ffmpeg-filters.html#crop the doc is here btw.
[09:54] <gnos> I haven't tried anything yet, I don't know what to try. I'm using livestreamer to watch my friends twitch.tv streams, but he has a placeholder for  his webcam that he doesn't have yet, and I just want to see the part of the stream that actually matters
[09:54] <gnos> ubitux, I looked at that and I just don't understand it
[09:54] <ubitux> ffplay randomvideo.avi -vf crop=<try-something>
[09:55] <ubitux> gnos: and that's not the doc you pasted
[09:55] <ubitux> there are examples below
[09:55] <gnos> Oh. Is it using the libav syntax?
[09:56] <ubitux> you probably want crop=2/5*in_w
[09:56] <ubitux> "the libav syntax"?
[09:56] <ubitux> libav is a fork, their doc is outdated
[09:56] <gnos> Ok, I see
[09:56] <anshul> gnos:http://trac.ffmpeg.org/wiki/FilteringGuide try this if you are using ffmpeg
[09:56] <gnos> I was reading on the forum that it uses the libav syntax. I guess they're just full of it
[09:57] <anshul> gnos:basic of applying filters
[09:57] <ubitux> what you say makes no sense gnos
[09:57] <gnos> On "a forum" I meant
[09:57] <ubitux> not that part
[09:57] <gnos> I don't know why they would say that
[09:57] <gnos> anshul, that link doesn't work
[09:58] <renihs> works for me
[09:58] <renihs> link url is valid :)
[09:58] <gnos> I messed up
[09:59] <gnos> Ok, I guess I'll just play around with it then
[09:59] <gnos> Was hoping I'
[09:59] <anshul> ubitux:should i discuss about regression on developer forum, i dont know how to decide regression
[10:01] <ubitux> anshul: open a ticket on the trac
[10:02] <ubitux> saying "it works with version N, doesn't with version N, here is a sample, command line and full output in both versions: [...]"
[10:02] <ubitux> (doesn't with version M*, you get it)
[10:04] <anshul> ubitux thanks
[10:13] <sspiff> ubitux: problem is present but less severe with ffmpeg (I'm using a different version of the same sample, my tool uses MPEG PES streams for testing, not transport streams
[10:13] <sspiff> ubitux: http://pastie.org/8653090
[10:14] <ubitux> use ./ffmpeg_g
[10:17] <sspiff> ubitux: sorry, re-running
[10:18] <DeadSix27> woah
[10:18] <DeadSix27> i just foudn out how useful ffmpeg will be for what i planned
[10:18] <sspiff> ubitux: http://pastie.org/8653106 :)
[10:19] <DeadSix27> -> test.txt -> "file '..' | file '..'" -> "ffmpeg -f concat -i test.txt -c copy out.mkv"
[10:19] <DeadSix27> that was the most satisfying thing i found out ever.
[10:19] <sspiff> I assume this means there's a leak in the dvbsub decoder? Or am I jumping to conclusions?
[10:20] <sspiff> DeadSix27: good for you :)
[10:20] <renihs> hmm is there a way to record the audio output (speakers) with ffmpeg/alsa only?
[10:20] <renihs> or do i need jack/alsaloop/pulse/something for that
[10:20] <ubitux> sspiff: please share a sample :)
[10:21] <sspiff> ubitux: you mean the input file? Sure thing! Do I upload to my own storage or is there a place for these things?
[10:22] <gnos> can ffmpeg read from stdin?
[10:22] <sspiff> it will appear here in a short while: https://dl.dropboxusercontent.com/u/197940/SubTitleHD.ts
[10:23] <sspiff> gnos: yep
[10:23] <gnos> Do I have to pass it any options to make that happen?
[10:23] <sspiff> cat ~/Documents/extract_subtitles/samples/SubTitleHD.ts | ./ffmpeg_g -i - -map 0:#0x1580 -scodec dvdsub foo.mkv worked for me
[10:24] <sspiff> so just point to "-" as input
[10:25] <sspiff> ubitux: upload is done
[10:26] <anshul> does anyone know what does the Ah  and Al parameter means in function mjpeg_decode_scan file libavcodec/mjpegdec.c
[10:26] <gnos> How do I pipe it's output to another program after that?
[10:26] <anshul> write pipe:1 instead of outputfilename
[10:27] <gnos> Ok, thanks
[10:30] <CommaCrazy> how can I restream a mpts stream and just add buffer to the stream using ffmpeg?
[10:43] <gnos> Is it possible to use the filters in ffplay?
[10:46] <gnos> The man page mentions getting a list of all filters, and detailed information about a filter, but not whether it's possible to use a filter
[10:57] <strigga> hi, quick quesiton: is there a way to tell avconv not to use 100% of my memory?
[11:01] <sspiff> ubitux: should I file a bug?
[11:01] <saste> strigga, !fork
[11:02] <ubitux> sspiff: probably
[11:08] <sspiff> I'll look into the leak this afternoon
[11:08] <sspiff> perhaps I can fix it easily. If not, I'll file a bug.
[11:53] <sspiff> weird, the leak originates from an av_mallocz for creating subtitle rects, but they seem to be free'd cleanly in avsubtitle_free
[11:58] <sspiff> the indentation of dvbsub_display_end_segment seems broken
[12:10] <sky2> average: hello
[12:10] <sky2> microchip_: hi
[12:11] <average> sky2: :) so you've returned
[12:11] <average> I thought you gave up
[12:12] <average> nice to see someone's ambitious
[12:12] <sky2> average: no. im not a guy to give up so easily
[12:13] <sky2> im always a learner & really wish to learn linux stuufs
[12:13] <sky2> stuffs*
[12:14] <sky2> until i get my mission fulfilled of converting .flv files to .3gps or vice -versa
[12:14] <average> interesting
[12:14] <average> so what have you brought to the table today ?
[12:15] <sky2> right now im heel bent on getting .flv converted into mobile compatible .3gp & wish to enjoy them on my mobile :)
[12:16] <sky2> hell*
[12:16] <sky2> come what may..i must get it done :p
[12:16] <average> sure, have you read the links I gave you yesterday ?
[12:17] <average> show me some new commands and some output/errors
[12:18] <sky2> average: it was too late in the night here (midnite) & was dog tired & a bit off-mood for not having my desired job done.. so could not afford myself watching the full video that you provided me with..
[12:19] <sky2> i was speaking of yesterday..
[12:19] <average> the video was like 3 minutes long, but nevermind that, you can watch it today
[12:19] <sky2> yea
[12:19] <sky2> sure
[12:19] <sky2> i bookmarked it
[12:20] <sky2> will watch it today for sure
[12:21] <sky2> average: may I PM you if you dont mind pls
[12:23] <average> sky2: pm me
[12:24] <sky2> thanks a ton
[12:29] <clu3> hi all, im relatively novice with ffmpeg, i would like to split an mp3 files into multiple smaller continous mp3 files, is this possible with ffmpeg?
[12:30] <saste> clu3, segment muxer
[12:33] <average> clu3: continous ?
[12:33] <clu3> saste, thanks. i did a quick google and still hopeless
[12:33] <clu3> average, i mean if those split files are concatenated together, they will produce the original mp3 file
[12:34] <saste> clu3, why don't you read the ffmpeg documentation instead?
[12:34] <average> ffmpeg -i file.mp3 -ss <start> -t <duration> -vn piece.mp3
[12:34] <average> clu3: ^^
[12:35] <average> clu3: saste knows what he's talking about. you will think that "wow, that was so easy, let's see what else I can do" . but to find out, you have to read the documentation and try stuff out..
[12:36] <average> <start> is in the format HH:MM:SS and <duration> is a number of seconds
[12:36] <average> I think <start> is even  HH:MM:SS.mm
[12:36] <average> where mm is milliseconds
[12:36] <clu3> average, thanks alot. @saste, I did, but it's really not easy to find out, as I'm quite dumb with media and stuff
[12:37] <clu3> average, any chance if it is possible to split into multiple files at once? like the input would be an array
[12:37] <average> clu3: you see what I mean ?
[12:37] <average> you just did it
[12:37] <average> you did exactly what I predicted you would do
[12:37] <average> before you would even do it
[12:37] <clu3> average,  ^^
[12:37] <average> clu3: now move your ass and go read some docs for your own sake
[12:38] <clu3> wow you ffmpeg guys are so hardcore
[12:38] <average> saste: am I hardcore ? is he right ?
[12:39] <average> I don't see myself as hardcore
[12:39] Action: relaxed is softcore
[12:39] <clu3> seriously, for a utility where I just need a command line to split it, this is pretty basic command and i've googled, i didn't find it
[12:40] <average> clu3: listen, ffmpeg is not for *everything* , you might need some bash here and there to achieve what you want...
[12:40] <clu3> to read the whole documentation to use it is really too much, hence i'm here
[12:40] <saste> clu3, segment muxer, ffmpeg-formats(1)
[12:40] <saste> you can use it to split the input into multiple files, containing a given media duration
[12:41] <saste> also splitting and joining is not as simple as people think
[12:41] <average> clu3: nobody forced you to read the whole documentation. there is stackoverflow, there is avp.stackexchange.com ...
[12:41] <average> clu3: there are mailing lists where people talk about this
[12:41] <clu3> plus, look at this http://www.ffmpeg.org/documentation.html , where is a novice like me supposed to go
[12:41] <average> clu3: it's not like "omg, poor clu3 , he doesn't have any place to read about this stuff.."
[12:41] <clu3> average, as i told u i already googled
[12:41] <clu3> and SO always comes first in the result
[12:42] <average> clu3: You did not google, do not contradict me otherwise I will google and I'll prove you wrong from the very first page of google search results !
[12:42] <saste> clu3, http://ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment
[12:42] <saste> that implies some basic understanding of how multimedia works
[12:48] <clu3> average, really i do not wanna argue with u but just so you know. This is what i got http://stackoverflow.com/questions/43890/crop-mp3-to-first-30-seconds
[12:49] <clu3> now if u look at the answer and with a media-dumb guy like me, that's even more confusing
[12:49] <clu3> that's why i wanna talk directly to you guys in here
[12:49] <clu3> i was like "wtf is transcoding" when i read that stackoverflow answer
[12:53] <clu3> nvm, best wishes guys
[12:53] <clu3> i gotta go
[12:53] <clu3> peace
[13:21] <sspiff> average: he just doesn't have enough background knowledge to understand the documentation/SO/the google results.
[13:21] <sspiff> which begs the question if he can pull off what he's trying, but still
[13:54] <sspiff> ubitux: found it!
[13:56] <sspiff> there's a mismatch between DVBSubContext.display_list_size and the actual number of entries in DVBSubContext.display_list
[13:57] <sspiff> allocation is based on the display_list_size, but the number of rects can subsequently be lowered if there are fewer entries in the list, and there's no free there
[13:57] <sspiff> I'm going to change allocation to happen based on the actual number of entries, if that's alright with you?
[14:03] <ubitux> sspiff: #ffmpeg-devel :)
[14:03] <ubitux> sspiff: i'm not the maintainer of that code
[14:32] <xlinkz0> i'm trying to record from a webcamera using ffmpeg, i set -r 30 but i get a message saying 'The driver changed the time per frame from 1/30 to 1/10
[14:33] <xlinkz0> i can watch video at 30fps with vlc
[14:57] <Hello71> !pastebin
[14:57] <Hello71> !triggers
[15:07] <xlinkz0> Hello71: http://codepad.org/3l2q8vJV
[15:11] <sky2> average: i have been able to convert the said .flv into a .3gp using ffmpeg
[15:11] <sky2> its playing successfully in my mobile
[15:11] <sky2> :)
[15:12] <sky2> \o
[15:31] <average> sky2: nice work :)
[15:31] <average> sky2: \o/
[15:32] <sky2> average: ty
[15:33] <average> np
[15:33] <sky2> now concentrating on how to convert an.mp4 to .3gp
[15:33] <sky2> :p
[15:35] <NiksenX_> Hey guys! Could you please suggest me channel about p2p?
[15:40] <__raven_> anyone there
[15:44] <spaam> nope. everyone is dead.
[15:47] <__raven_> i need to build a quality test chain for some params - anyone who did such already?
[16:08] <Keshl> __raven_: As far as I know, no, and it's not really possible. Each video is different. One level of -crf or bitrate or whathaveyou can alter your footage differently than another.
[16:09] <Keshl> In general, though, if you're using x264 and -crf, 23 is "sane" and 18 is "visually lossless". If you're worried about people pausing your video and being all OCD, I've found that 11 makes that appear lossless.
[16:10] <Keshl> Of course your mileage may vary. You may be able to use higher values (Thus smaller sizes and bitrates) without knocking off quality if your video moves more slowly or only has action in one area.
[16:12] <__raven_> Keshl: i am talking about technical valuas as like as fokus, dropouts, blackframes, light and so on
[16:41] <sspiff> seems like I can't figure out how to disable format probing for my AVIOContext
[16:52] <sspiff> Can anyone tell me why avformat_open_input is calling ff_id3v2_read for an MPEG2 TS?
[17:33] <x_> What is the best way to capture your desktop at a high frame rate like 60 fps. Right now if use ffmpeg -f x11grab -i :0.0 -r 60 -s 640x480 I can barely get 30 fps. FFMPEG is only using at around 20-30% cpu as well. Now 640x480 is not what I am looking for I would like to do 1080 or at the very least 720 resolution.
[17:40] <klaxa> x_ maybe your storage is too slow
[17:41] <x_> klaxa, Really? IOtop was reporting it using under 1MB/s
[17:42] <JEEB> you should first of all try how fast capture by itself is
[17:42] <JEEB> -f null and set output to - (slash)
[17:42] <JEEB> and if it doesn't do rawvideo then, add rawvideo to be the output "encoder"
[17:44] <x_> -f null?
[17:44] <JEEB> yes
[17:44] <JEEB> as in "don't output it anywhere"
[17:44] <JEEB> it should default to raw video and audio "encoders" in that case
[17:44] <JEEB> but I'm not sure :P
[17:44] <spaam> but null is somewhere! :D
[17:44] <JEEB> and you need the slash
[17:45] <JEEB> because ffmpeg wants an output descriptor
[17:45] <JEEB> even if it's just stdout (which will get nothing because of -f null)
[17:50] <sky2> average: could you pls suggest how the command should be to convert an .mp4 to a .3gp ? I used this which says that there is " No such file directory " whereas the file is on the Desktop & I changed the current directory to cd Desktop
[17:50] <sky2> here goes the command:
[17:51] <sky2> ffmpeg -i source.mp4 -s qcif -vcodec h263 -acodec aac -ac 1 -ar 8000 -r 25 -ab 32 -y output.3gp
[17:52] <x_> so what you're saying something like ffmpeg -f x11grab -s 1920x1080 -i :0.0 -r 60 -f null
[17:52] <sky2> x_: u r asking me ?
[17:53] <x_> JEEB, my apologies
[17:53] <sky2> x_: no prob
[17:53] <JEEB> x_, and the slash for the output "file name"
[17:53] <JEEB> otherwise ffmpeg will error out
[17:54] <sky2> JEEB: the flv i was trying with to convert to .3gp was sucessfully got converted & worked fine on my phone
[17:54] <x_> JEEB, of course, it reports 60 fps so encoding would be a bottleneck?
[17:55] <JEEB> x_, so it keeps the 60fps when going through the capture?
[17:56] <x_> JEEB, yes it keeps 60 fps
[17:56] <JEEB> x_, ok, now add in the output settings -c:v libx264rgb -preset ultrafast -crf 0
[17:56] <JEEB> and test that
[17:56] <JEEB> still keep -f null
[17:56] <JEEB> it will encode the video with libx264 into lossless RGB
[17:57] <JEEB> (and then proceed to throw out the result, but yeah)
[17:57] <x_> JEEB, ah it appears to work at 60 fps with libx264 but how do we get something we can keep?
[17:58] <JEEB> now remove -f null and the slash, and make it out.mkv or so
[17:58] <JEEB> it will thus mux it into matroska
[18:00] <x_> as soon as I do that it reports ~30 fps the file is pretty small
[18:00] <JEEB> uhh
[18:00] <JEEB> post full command line and the output
[18:00] <JEEB> in a pastebin
[18:00] <JEEB> and link here
[18:00] <x_> okie doke
[18:02] <x_> http://pastebin.com/Fqq8uEvp
[18:03] <JEEB> you forgot the -crf 0 :P
[18:03] <JEEB> also your input seems to be read as 30fps
[18:03] <JEEB> looking by that
[18:03] <JEEB> Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 1988667 kb/s, 29.97 tbr, 1000k tbn, 29.97 tbc
[18:04] <x_> rame=  705 fps= 26 q=13.0 Lsize=    4350kB time=00:00:29.11 bitrate=1223.9kbits/s?
[18:04] <x_> is that not to be trusted?
[18:04] <JEEB> it just says the runtime encoding speed
[18:04] <x_> huh
[18:04] <x_> wait
[18:05] <x_> So what is capping it at 29.97 I wonder.
[18:05] <JEEB> I thought about saying this before, but try moving the -r to before -i
[18:05] <JEEB> because as far as I can see this is doing exactly what I thought it'd do
[18:05] <JEEB> as in, converting to 60fps
[18:06] <x_> ah
[18:06] <x_> that makes sense.
[18:06] <x_> So how do we improve encoding speed then?
[18:07] <x_> of course faster hardware but perhaps there i something I am missing.
[18:07] <JEEB> well to be honest this doesn't really look too promising looking at the x264 enabled asm line "using cpu capabilities: MMX2 SSE2Fast LZCNT"
[18:08] <JEEB> you could try removing -c:v libx264 -preset ultrafast -crf 0 and switching to -c:v ffvhuff
[18:09] <x_> JEEB what other capabilities will it "use"?
[18:09] <JEEB> x_, what?
[18:10] <x_> JEEB, Perhaps I did not ubild libx264 with flags that would be useful? that my cpu supports of course :P
[18:10] <JEEB> nah
[18:10] <JEEB> it doesn't get limited like that
[18:11] <JEEB> only your cpu limits it, everything gets built
[18:11] <JEEB> anyways, also don't jump around
[18:11] <JEEB> 1) test just capture and -f null with raw video "coding" 2) add the video encoder 3) add file output
[18:12] <JEEB> (just noting because you suddenly switched to 1080p and all that)
[18:12] <JEEB> also, I have to note that the ffmpeg version you're using is pretty old.
[18:13] <x_> JEEB, Yeah I should compile 2.x somewhere and take alook at that.
[18:13] <JEEB> anyways, libx264rgb with preset ultrafast and crf 0 will be lossless and RGB
[18:13] <JEEB> so will ffvhuff
[18:14] <JEEB> those are pretty much the fastest stuff you can get around
[18:14] <JEEB> so if that goes too slow
[18:14] <JEEB> then you're out of luck :P
[18:14] <x_> JEEB :) indeed! thanks a bunch
[18:15] <JEEB> (crf set to 0 with a 8bit x264 enables lossless coding, with >8 bit depth you will have to set qp to zero as crf values get dragged lower because of normalization of lossy values with various bit depth encoding)
[18:16] <JEEB> (and preset ultrafast is the fastest x264 preset, its usage for video capture is just fine, otherwise it's not really useful for anything else but encoding speed competitions)
[18:16] <JEEB> (I mean, _lossless_ video capture)
[18:17] <x_> JEEB, hmm thanks for the info I'll continue reading up on what I can perhaps I'll stumble on something else to ask ^^
[18:17] <JEEB> you can gain some extra speed on the encoder side if you add a colorspace conversion to 4:2:0 YCbCr, but this will cause degradation :)
[18:18] <JEEB> -pix_fmt yuv420p , with x264 you have to switch to the normal encoder name (libx264), and with ffvhuff it should work as-is?
[18:19] <x_> JEEB I'm interested in speed atm I could drop some quality :P
[18:20] <JEEB> yeah, I just really recommend using RGB for the capture in most cases :) Because swscale can do funky things with the conversion, esp. in relation to colormatrix etc.
[18:20] <Mista-D> HLS segment adds a lot of TS overhead compared to a source TS file, used "-f hls -c copy". Started with 5 MB file, ended up with 8.2 MB (its a 1 fps slide show at 64kbps).  Whenever its TS fat is trimmed (ffmepg -i segment_%03d.ts -c copy -copyts out_segment_%03d.ts), the WebVTT stops working... something related to the TS/CC timing is removed or changed. Is this a ticket, or i'm doing something
[18:20] <Mista-D> wrong?
[18:20] <x_> Really cool! to know interested in learning some more :D
[18:21] <sky2> converted .mp4 to .3gp \o
[18:21] <sky2> wow
[18:21] <x_> cool beans ;-)
[18:42] <x_> JEEB works really well now. thanks for your knowledge I appreciate it :-)
[18:43] <JEEB> np
[18:44] <x_> am able to squeeze out 60 encoding fps on a phenom 2 1090t
[18:45] <x_> with latest git.
[18:46] <l_r> is there a way to read both and video and audio via pipe with dd?
[18:47] <JEEB> dunno about dd, but if you use a container you could squeeze both :P
[18:47] <l_r>  dd if=/dev/vdie0  +   dd if=/dev/audio | ffmpeg -i - etc..?
[18:47] <l_r> the fact is that
[18:48] <l_r> this consumes all my cpu   ffmpeg -f alsa -i hw:0,0 -c:a aac  -f flv out.flv
[18:48] <l_r> the aac codec is damn slow
[18:48] <JEEB> uhh
[18:48] <l_r> i am on a raspberry
[18:48] <JEEB> oh
[18:48] <JEEB> yeah
[18:48] <JEEB> you will barely have CPU time to do anything on that thing encoding-wise
[18:49] <l_r> but why so slow?
[18:49] <JEEB> you would actually have to use some profiling tool to find that out :P
[18:49] <l_r> woould libfaac make any difference?
[18:49] <JEEB> no idea, but I wouldn't use faac but fdk-aac
[18:50] <l_r> is it a matter of builtin aac vs eterenal?
[18:50] <JEEB> no
[18:50] <l_r> ok
[18:50] <JEEB> as in, it doesn't matter if the thing is internal or external, both can be slow or fast
[18:50] <JEEB> you really don't want to throw out overly vague statements :P
[18:50] <JEEB> anyways, you might want to do the same thing as I recommended to that other screen capture guy first tho
[18:51] <JEEB> test how fast you can capture only
[18:51] <JEEB> -f null
[18:51] <l_r> and then?
[18:51] <JEEB> and the slash symbol as the "output file name"
[18:51] <l_r> ok..but what is the goal?
[18:51] <JEEB> to see which part is making it slow
[18:51] <l_r> it's aac codec
[18:51] <l_r> since streaming in wav only takes 50%
[18:52] <JEEB> instead of "I have this thing that captures, encodes and muxes and writes it to a file"
[18:52] <l_r> "only"
[18:52] <JEEB> ok
[18:52] <JEEB> yeah, the raspi isn't exactly fast :P
[18:52] <l_r> i see
[18:52] <l_r> it's a pity
[18:52] <l_r> actually h264 of the cam is good for streaming video
[18:52] <l_r> but audio needs some encoding
[18:52] <l_r> in software
[18:52] <JEEB> yes, a hardware ASIC makes things simpler :P
[18:53] <JEEB> for such devices
[18:53] <JEEB> in any case, if you want to learn what exactly is slow in there
[18:53] <JEEB> you profile
[18:53] <l_r> does not usb device exist for this?
[18:53] <l_r> with an internal aac encoder?
[18:53] <l_r> usb-sound cards i mean
[18:53] <l_r> cheapy
[18:54] <JEEB> noidea
[20:33] <llogan> x_: with x11grab try -framerate instead of -r (as an input option)
[21:28] <l_r> what is the best aac encoder?
[21:30] <klaxa> fdk-aac
[21:30] <klaxa> i think that's the one that is referred to by "the best"
[21:37] <Irrelium> I am trying to use ffmpeg to record a screencast at 30 FPS, but whenever I have a bit of lag and the framerate drops below 30 FPS, it makes the video speed way up at that point when I play it back, which also causes the video to get ahead of the audio
[21:37] <Irrelium> Is there any way I can prevent this?
[21:38] <Irrelium> This is the command I am using right now http://pastebin.com/6fy4shQi
[21:40] <re-G> try ultrafast preset at least
[21:40] <Irrelium> I know that would make the video lag less, but it is still bound to lag at some point even if I use ultrafast
[21:41] <Irrelium> And I would like to prevent the audio getting out of sync if it does
[21:41] <l_r> klaxa, but is it also faster?
[21:42] <klaxa> fast, good, cheap
[21:42] <klaxa> pick any two
[21:42] <klaxa> Irrelium: move the -r 30 flag behind the input
[21:42] <klaxa> otherwise ffmpeg will accumulate 30 frames and put them in one second of the video
[21:43] <Irrelium> By behind do you mean before the '-f x11grab'?
[21:45] <Irrelium> Well, I am going to assume that is what you mean and give it a try
[21:45] <Irrelium> Thanks
[21:45] <re-G> -i is input
[21:46] <Irrelium> Oh, so it should go at the end of the first line
[21:47] <klaxa> yes
[21:47] <Irrelium> (I always get confused when people say 'behind something' or 'in front of something' :P)
[21:47] <Irrelium> I can never remember which way is which
[21:47] <klaxa> :P
[21:47] <klaxa> <before -i> -i <behind -i>
[21:49] <l_r> ERROR: libfdk_aac not found
[21:50] <l_r> where can i find it
[21:50] <klaxa> probably in your distro's repos
[21:50] <JEEB> you build it and then add its prefix to the search path
[21:50] <JEEB> and no, it generally isn't in repos binary-wise
[21:50] <JEEB> because the license says that binaries can only be distributed with a license
[21:50] <klaxa> not even the library development binaries?
[21:50] <klaxa> oh...
[21:50] <JEEB> which is why it's nonfree
[21:51] <JEEB> the source code can be distributed of course
[21:51] <l_r> my only hope is fdk-aac
[21:51] <l_r> for the cpu issue
[21:51] <l_r> the internal codec is consuming too much
[21:52] <JEEB> your only hope is to either have someone write optimized code for your crappy ARM board, or see if any other encoder is better at it :P
[21:53] <klaxa> does it have to be aac?
[21:53] <l_r> whatever can be in flv
[21:53] <klaxa> can't mp3 be in flv?
[21:53] <l_r> aac and mp3 re the only one i am aware of
[21:53] <l_r> but
[21:53] <klaxa> but?
[21:53] <l_r> mp3 cannot be read on ipads
[21:53] <l_r> by default
[21:53] <l_r> you know...
[21:53] <l_r> apple...
[21:54] <llogan> Irrelium: why use -f flv and then give output name .mp4?
[21:54] <llogan> also you should always include the complete ffmpeg console output with yout command
[21:55] <llogan> l_r: can you stream copy the audio and then re-encode it later?
[21:55] <klaxa> wikipedia states: >MP3, Nellymoser, ADPCM, Linear PCM, AAC, Speex
[21:56] <l_r> llogan, hmm...there are thousands of clients...a short answer would be no
[21:56] <llogan> you did not provide much information so we are making guesses
[21:56] <klaxa> thousands of clients and you're running a server on an ARM board?
[21:56] <llogan> libshine may encoder faster than libmp3lame on ARM
[21:57] <klaxa> mp3 has the ipad incompatibility thing though
[21:57] <l_r> yes
[21:57] <Irrelium> llogan: I guess because I didn't notice that :P
[21:58] <l_r> only mp3 and aac can be in a flv?
[21:58] <Irrelium> I was using this command to stream and modified it to record to a file
[21:58] <Irrelium> So I guess I just left the flv in there
[21:58] <llogan> l_r: also, if you're using raspberry you may be using Rasbian, and if you're using Rasbian you're probably using Libav, not FFmpeg
[21:58] <klaxa> l_r: <klaxa> wikipedia states: >MP3, Nellymoser, ADPCM, Linear PCM, AAC, Speex
[21:59] <l_r> llogan, but i am recompiling everything
[21:59] <l_r> the version in raspian is years old
[21:59] <l_r> speex?
[21:59] <l_r> wow
[21:59] <l_r> nellymoser <- never heard of it
[21:59] <klaxa> this is wikipedia, enjoy with care
[22:00] <l_r> what's this nellymoser?
[22:00] <klaxa> probably unsupported on ios
[22:00] <llogan> it's nothing.
[22:00] <llogan> carry on
[22:00] <klaxa> http://en.wikipedia.org/wiki/Nellymoser_Asao_Codec
[22:01] <JEEB> well, iOS doesn't support FLV to begin with :P
[22:01] <JEEB> so his explanations are already all over the place
[22:14] <_fil_> hello, I'm stuck with a video in which I want to replace a portion of the video track by another track
[22:15] <_fil_> I've tried to cut/merge and so on but it always breaks
[22:33] <llogan> _fil_: sounds like you want to concatenate. or maybe overlay.
[22:36] <_fil_> yes
[22:40] <_fil_> llogan: precisely, I need to overlay video2 over video1, starting from time t (video2 is much shorter than video1)
[22:45] <_fil_> how do I specify the timestamp to begin the overlay? http://pastebin.com/kEjFNBDW
[22:58] <llogan> _fil_: use timeline. https://ffmpeg.org/ffmpeg-filters.html#Timeline-editing
[23:02] <_fil_> hmm and how do I specify that the overlay should start at 00:01:58.680 with the content of video2?
[23:05] <_fil_> ffmpeg -i complet2.mp4  -i insert.mp4 -filter_complex "overlay enable='between(t,118,219)'" output.mp4 -t 00:01:58.680
[23:05] <_fil_> " No such filter: 'overlay enable'"
[23:05] <_fil_> something with the syntax probably :DD
[23:06] <llogan> _fil_: you may need the trim filter as well, but i can't remember and i should be editing videos...
[23:06] <llogan> also your ffmpeg may be old. does it have timeline support? ffmpeg -filters
[23:07] <llogan> https://ffmpeg.org/download.html#MacOSXBuilds
[23:08] <_fil_> ffmpeg version 1.2.4
[23:08] <llogan> note that the online docs are synced nightly to the most recent code, so if you must use an old version then refer to the local docs
[23:09] <_fil_> i just reinstalled it with homebrew :)
[23:09] <llogan> ffmpeg -filters has a key that will indicate which filters have timeline support
[23:09] <_fil_> apparently it's the 1.2 branch
[23:09] <_fil_> should I switch to branch 2.x ?
[23:10] <llogan> brew install ffmpeg --devel
[23:10] <llogan> http://trac.ffmpeg.org/wiki/MacOSXCompilationGuide#Shortcut:CompileFFmpegthroughHomebrew
[23:10] Action: llogan gets back to editing
[23:10] <_fil_> thank you!
[23:17] <_fil_> almost there -- I just need to fix the timestamp on video2 so that I overlay it in sync
[23:23] <llogan> _fil_: see setpts/overlay examples in filter docs
[23:28] <_fil_> I'm trying hard!
[23:28] <_fil_> does this look liek it's going to work? =>
[23:28] <_fil_> ./ffmpeg-2.1.3  -i incomplet.mp4 -i insert.mp4 -filter_complex "overlay=enable='between(t,118,219)';[0:v] setpts=PTS-STARTPTS;[1:v] setpts=PTS-STARTPTS+118*25" output.mp4
[23:40] <llogan> _fil_: i recommended setpts because: "Be aware that frames are taken from each input video in timestamp order, hence, if their initial timestamps differ, it is a good idea to pass the two inputs through a setpts=PTS-STARTPTS filter to have them begin in the same zero timestamp"
[23:41] <llogan> so you would use setpts first: "[0:v]setpts=PTS-STARTPTS[out1];[1:v]setpts=PTS-STARTPTS[out1];[out1][out2]overlay stuff[filtered]" -map "[filtered]"
[23:42] <_fil_> I'm lost
[23:44] <_fil_> maybe I can just change the pts in my insert.mp4 file so that it begins with 118s of a blank image
[23:47] <_fil_> I'm trying this now:
[23:47] <_fil_>  ./ffmpeg-2.1.3  -i incomplet.mp4 -i insert.mp4 -filter_complex "[1:v] setpts=PTS-STARTPTS-118*25-17 [decal];[0:v][decal] overlay=enable='between(t,118,220)'" output.mp4
[23:47] <_fil_> (each try costs 10 minutes)
[23:48] <llogan> add "-preset ultrafast" when testing
[23:49] <llogan> otherwise by default it will use -preset medium (assuming your build supports libx264, then it will default to the encoder mpeg4)
[23:52] <_fil_> HA! thanks! :)
[23:57] <llogan> _fil_: you can use the trim filter to specify which section of the input you want
[00:00] --- Wed Jan 22 2014


More information about the Ffmpeg-devel-irc mailing list