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

burek burek021 at gmail.com
Thu Aug 23 02:05:01 CEST 2012


[03:01] <EricAhn> I'm going to restream from HLS (  http://qthttp.akamai.com.edgesuite.net/iphone_demo/Video_Content/npr/blindpilot_hdv_bug/all.m3u8 ) to rtsp://10.10.10.10/stream, are there option this restream in ffserver?
[04:21] <JAJMaster> So, if I use ffmpeg (current source build) to downsample an MP3 I get different results based on whether I output to a .mp3 directly or use "... -f mp3 ->song.mp3". The former gives me a valid, working MP3. The latter yields an error when I play it saying it can't find the MP3 header. Any suggestions?
[04:29] <JAJMaster> Regardless of the MP3 I select to downsample (seemingly) the one using STDOUT redirect is always 309 bytes smaller than writing the file directly.
[04:31] <EvanDotPro> hi, i can't seem to figure out how to delay the video feed from a webcam that i'm overlaying with -vf so that it syncs with the audio... i tried -itsoffset but it doesn't seem to have any effect.
[04:33] <EvanDotPro> this is for a live feed, if that makes a difference.
[04:33] <EvanDotPro> http://evan.pro/screencast/
[04:37] <EvanDotPro> the command i'm using currently, is http://evan.pro/caps/8efc89.png
[04:37] <EvanDotPro> the video is about .3 seconds ahead of the webcam audio
[05:22] <xxthink> can ffmpeg decode uvuc format
[05:22] <xxthink> can ffmpeg decode cuvc format
[07:23] <powerNET> i have a question
[07:23] <powerNET> i want to talk to another ffmpeg process through tcp
[07:23] <powerNET> here's what i'm using
[07:25] <powerNET> http://pastebin.com/PnxfnGjP
[07:26] <powerNET> ffmpeg -i tcp://127.0.0.1:4747/ -acodec copy -f wav test.wav
[07:26] <powerNET> but i get the same error
[08:58] <EricAhn> I just wonder what ffm is?
[08:58] <EricAhn> In ffserver, use ffm style flename.
[09:58] <bug2000> What's the command to extract audio from a file as is? No re-encoding of the file.
[09:59] <japjap> Hello, I am having a remote DVR and I want to ask it to play some video for given time range (RTSP). I need to record that locally with ffmpeg. Does ffmpeg support this ?
[09:59] <bug2000> *Hello.
[10:32] <japjap> So does anybody know about setting the date/time range ?
[10:34] <intracube> japjap: check out the -ss and -t options
[10:36] <intracube> the placement of -ss relative to the input filename gives different behaviour
[10:36] <intracube> check here for more info: http://ffmpeg.org/ffmpeg.html
[10:36] <japjap> intracube, I read the documentation, but how should time be specifed to include the date ?
[10:37] <japjap> should it be the unit timestamp ?
[10:37] <japjap> and include seconds from '70 ?
[10:38] <intracube> I'm not sure about setting the timestamp
[10:39] <intracube> only setting the time range to decide which parts of an input you want to encode
[10:40] <japjap> intracube, another question... how to launch ffmpeg to record input from RTP/RTSP/HTTP ?
[10:42] <intracube> I don't know about that, sorry
[11:09] <intox2001> anyone managed to compile ffmpeg for android / tegra3 (with neon's instructions?)
[11:16] <intox2001> bouuh
[12:15] <[4-tea-2]> Greetings. I'm trying to overlay a logo (video) on top of a video; in my first attempts, ffmpeg seems to ignore the alpha channel in the logo I got from our video guy (h.264/mp4). Any recommendations on what codec/container to try next?
[12:34] <saste> [4-tea-2]: pastebin
[12:35] <saste> --loglevel verbose also should help
[12:36] <saste> *-loglevel verbose
[12:45] <[4-tea-2]> Working on it.
[12:51] <[4-tea-2]> saste: http://paste.debian.net/185036/ - like this?
[12:56] <saste> [4-tea-2]: what says ffprobe logo1_x264.mp4
[12:56] <saste> ? it seems it has no alpha channel
[12:57] <[4-tea-2]> http://paste.debian.net/185038/
[12:57] <saste> [4-tea-2]:  indeed yuv420p
[12:57] <[4-tea-2]> The video guy just sent me a new version in a different container, where would I see if it actually had an alpha channel?
[12:58] <saste> I can't say if MP4 supports alpha...
[12:58] <saste> is it a static image or a video?
[12:58] <[4-tea-2]> It's a video with an animated logo.
[12:58] <saste> uhm ok...
[12:58] <[4-tea-2]> ...because static logos aren't obnoxious enough already. :)
[13:00] <[4-tea-2]> saste: any signs of an alpha channel here? http://paste.debian.net/185039/ - not sure what to look for...
[13:00] <saste> from what I just read in libx264.c x264 seems *not* to support alpha channels
[13:02] <saste> and I don't see many codecs which support that, apart rawvideo
[13:02] <saste> another alternative would be to store the alpha channel in a separate stream
[13:03] <saste> latest ffmpeg has two new filters (alphamerge, alphaextract) which may help
[13:03] <[4-tea-2]> Let me ask the video guy whether I can get rawvideo from him.
[13:03] <[4-tea-2]> I'd rather not start chasing ffmpeg versions on this machine unless really, really necessary.
[13:04] <[4-tea-2]> Been there, and it didn't help the stability of the service I was trying to provide. :)
[13:11] <[4-tea-2]> #win: http://video.vl2.4players.de/v1/test/Crysis_3_CryEngine_3_Tech_Trailer-logo.mp4
[13:11] <[4-tea-2]> Thanks so much, saste!
[13:18] <[4-tea-2]> This is of course just proof-of-concept, the actual logo we'll be using will be different. :)
[14:32] <JAJMaster> So, if I use ffmpeg (current source build) to downsample an MP3 I get different results based on whether I output to a .mp3 directly or use "... -f mp3 ->song.mp3". The former gives me a valid, working MP3. The latter yields an error when I play it saying it can't find the MP3 header. Any suggestions?
[14:32] <JAJMaster> Regardless of the MP3 I select to downsample (seemingly) the one using STDOUT redirect is always 309 bytes smaller than writing the file directly.
[14:47] <gxk> i am looking for example, how to stream h264 video file over transport stream with ffmpeg?
[14:48] <zap0> what makes you think its possible.
[14:52] <gxk> zap0: it is also an answer :)
[14:53] <zap0> ok, good luck.
[14:54] <gxk> zap0: for example, http://www.ikeralbeniz.net/2012/05/23/generar-un-ts-transport-stream-valido-para-dvb-t-y-dvb-t2-tdt/
[14:56] <zap0> some random web site...
[14:56] <Mavrik_> gxk: easy
[14:56] <Mavrik_> gxk: you just have to force MPEG2-TS output with -f mpegts
[14:56] <Mavrik_> gxk: and use h264_mp4toannexb bitstream filter
[15:05] <gxk> Mavrik_: thanks, i will try
[15:11] <gxk> zap0: another link, just in case you interested in my question: http://ffmpeg.org/trac/ffmpeg/ticket/614
[15:35] <thomas--> hi, it seems that ffmpeg struggles to find libfaac on our installation: http://fpaste.org/Lgbs/
[15:35] <thomas--> obviously im missing something here
[15:41] <pron> --extra-cflags="-I/usr/local/faac/include
[15:41] <pron> --extra-ldflags="-L/usr/local/faac/lib"
[15:41] <pron>  ~
[15:42] <pron>  +
[15:42] <pron> # cat /etc/ld.so.conf.d/libfaac.conf
[15:42] <pron> /usr/local/faac/lib
[15:43] <thomas--> thanks, i just managed to fix it
[15:43] <pron> but thats incase the path is in completely difrent place like i have
[15:43] <pron> to keep my own comiled stuff away more :}
[15:43] <pron> from rest
[15:44] <thomas--> i couldnt compile faac unfortunately, because i ran into some issues with perl and the time to fix this is kind of limited, so ended up using rpms and forgot faac-devel, which i obviously needed
[15:45] <pron> ah yeh
[15:45] <pron> :}
[15:45] <pron> umm perl ?
[15:46] <thomas--> the bootstrapper from faac needs perl apparently
[15:51] <msmithng> can anyone explain the q=N in the ffmpeg log output?
[15:52] <JEEBsv> quantizer methinks
[15:53] <JEEBsv> depends on the encoder used what exactly it means
[16:43] <intox2001> anyone managed to compile ffmpeg for android / tegra3 (with neon's instructions?)
[16:44] <intox2001> uses of -mfpu=neon fails the build of the .so file
[16:44] <intox2001> removing this is compiling ... but performance are really decreased
[16:45] <intox2001> i get this error \Android\DVBStream\jni\ffmpeg-0.11.1/libavcodec/arm/fft_fixed_init_arm.c:36: undefined reference to `ff_fft_fixed_calc_neon'
[16:56] <n00bl0v3r> Guys, anyone has any idea of how to manipulate mp3 file's meta data using ffmpeg??
[17:00] <brontosaurusrex> n00bl0v3r, i managed to export to something, then notepad, then reimport
[17:01] <brontosaurusrex> something = some text file
[17:01] <hi117> n00bl0v3r mp3 metadata is a troll
[17:01] <n00bl0v3r> any example?
[17:01] <brontosaurusrex> looked like .ini i think
[17:01] <n00bl0v3r> hi117, yeah?
[17:01] <brontosaurusrex> n00bl0v3r, hold on ...
[17:01] <hi117> theres a lot of different ways to encode the metadata actually, depending on tool and version
[17:01] <n00bl0v3r> hi117, any examples of cli tools?
[17:02] <hi117> i think ffmpeg can do it though
[17:02] <hi117> i think ffmpeg can do it...
[17:02] <brontosaurusrex> n00bl0v3r, not here, i have stuff on other machine
[17:02] <n00bl0v3r> hi117, alright
[17:03] <hi117> yeah -metadata key=value
[17:03] <n00bl0v3r> brontosaurusrex, cool, but you're sure I can do it with ffmpeg though?
[17:03] <hi117> come back if it errors
[17:03] <n00bl0v3r> hi117, I'll give it a try , will come back :)
[17:03] <brontosaurusrex> n00bl0v3r, yes, but unsure what formats are supported, you know like will it use id3 or what for mp3 ...
[17:04] <brontosaurusrex> n00bl0v3r, so the patching to different format-specific tags is mistery
[17:04] <brontosaurusrex> for mua
[17:04] <n00bl0v3r> ahhaha ok...
[17:05] <brontosaurusrex> n00bl0v3r, but internally it can go say flac -> aac and tags will automagically transfer to whatever aac uses (or mp4 uses)
[17:12] <n00bl0v3r> brontosaurusrex, hmm... it does
[17:13] <n00bl0v3r> i just tried.. :D
[17:13] <brontosaurusrex> like i said
[17:34] <brontosaurusrex> jovo, please dont prv msg me
[17:34] <brontosaurusrex> :P
[17:56] <powerNET> how do i input a tcp:// source
[18:06] <msmithng> JEEBsv: quantizer? I thought it was quality. h.264 in this case though...
[18:10] <JEEBsv> msmithng: there is no such thing programmatically as 'quality'
[18:10] <msmithng> I must have mistaken that value with the notion of setting q in the cli
[18:10] <msmithng> so where can I find details on what these expressed values represent?
[18:13] <JEEBsv> depends on the format, and the q/sameq settings handle quantizers, too
[19:12] <solars> hey, is there any way to play a file with  moov atom not found? (mp4)
[19:13] <JEEB> unless the file was created with the fragments feature, no
[19:13] <JEEB> because pretty much all the information on what data is put where is in that atom
[19:13] <JEEB> (pretty much an index)
[19:14] <JEEB> and I guess if it had fragments it wouldn't error out like that
[19:14] <MP4_maniac> JEEB: even if fragmented, moov atom is requires for some codecs since moov atom includes decoder specific info
[19:14] <JEEB> alrighty
[19:14] <solars> :(
[20:03] <hexsprite> hola.  i would like to apply a slow motion effect part of a video only... basically with a starting time and and end time... Is that possible using -ss and -t options ?
[20:04] <hexsprite> Or will that simply trim the video?
[20:05] <ubitux> you should use the setpts filter
[20:06] <ubitux> now about the starting and ending time, it might get slightly tricky
[20:06] <hexsprite> my initial thought was to split the video first... apply the effect to a single file and then recombine
[20:06] <hexsprite> but i thought there might be an easier way... trying it now ;)
[20:08] <ubitux> let's say mmh... -vf 'setpts=(gt(t\,10)*lt(t\,20)*2.0+1.0)*PTS'
[20:08] <ubitux> maybe something like this
[20:08] <ubitux> :)
[20:08] <ubitux> (not tested)
[20:08] <ubitux> heh, i want to do it now...
[20:10] <hexsprite> here's what Im trying: ffmpeg -ss 00:00:04 -t 00:00:10 -vf 'setpts=(gt(t\,10)*lt(t\,20)*2.0+1.0)*PTS' -i testdata.mov -acodec copy -vcodec copy testslow.mov
[20:10] <ubitux> replace t with PTS
[20:11] <ubitux> i'm trying to make a generic one, just a sec
[20:13] <ubitux> saste: it's too bad we don't have a 't' in setpts :(
[20:14] <ubitux> well, we can use PTS*TB though.
[20:14] <saste> ubitux: what do you mean?
[20:14] <saste> don't we have T?
[20:14] <saste> weird...
[20:14] <ubitux> if we want a setpts based on a timelapse
[20:14] <ubitux> we need to use PTS*TB
[20:14] <ubitux> instead of a simple 't'
[20:14] <saste> => patch
[20:15] <ubitux> i'm going to write a working eval for hexsprite first ;)
[20:16] <ubitux> fun, if we setpts to 0 it works anyway
[20:22] <ubitux> hexsprite: can you try ffmpeg -i testdata.mov -vf 'setpts=(gt(PTS*TB\,4)*lt(PTS*TB\,10)*(2.0-1.0)+1.0)*PTS' testslow.mov ?
[20:22] <ubitux> should be 2x slower between ts=4 and ts=10
[20:23] <ubitux> also, about your previous cmd line, you can't vcodec copy
[20:23] <ubitux> about the audio, you need to change it as well or it will be in desync (i guess)
[20:24] <hexsprite> without the vcodec/acodec I get: Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
[20:24] <ubitux> -c:a libmp3lame -aq 0
[20:24] <ubitux> or something.
[20:24] <ubitux> hexsprite: try with -an first
[20:24] <ubitux> (no audio)
[20:25] <hexsprite> hmm seems to work! the audio may need some tweaking in the long run
[20:25] <ubitux> well for the audio
[20:26] <ubitux> -af asetpts=<same as above>
[20:26] <ubitux> but you'll need a re-encode
[20:26] <ubitux> so set your codec and settings properly
[20:26] <ubitux> btw, note that a slowdown doesn't mean any motion estimation
[20:26] <ubitux> we desperatly need a filter for this :(
[20:27] <hexsprite> yeah like http://slowmovideo.granjow.net/ ?
[20:27] <ubitux> yes
[20:28] <hexsprite> their demo vids are awesome
[20:28] <ubitux> nag him to port these to a FFmpeg filter
[20:28] <ubitux> :)
[20:28] <ubitux> so it will be native and maintained in the long run
[20:29] <hexsprite> maybe i can get my client to sponsor that work
[20:29] <ubitux> would be awesome :)
[20:30] <hexsprite> hmm
[20:30] <hexsprite> doesnt seem to work.. at 4s in the video stops for 4 seconds and then starts again
[20:30] <hexsprite> no slow down
[20:31] <ubitux> mmh
[20:31] <hexsprite> mm it may be that its actually slow starting at 8s in.. maybe i should adjust the slowdown so its even more dramatic...
[20:32] <ubitux> setpts=(gt(PTS*TB\,4)*lt(PTS*TB\,10)*2.0)*PTS
[20:32] <ubitux> does this work better?
[20:33] <hexsprite> Hmm it does seem to slow down the video but there's still a 4 second pause with nothing happening.. and then it seems to jump position in the video again when it unpauses... will try your new setting
[20:36] <hexsprite> video plays for about a second, then stops for about 7-8 seconds and then resumes in slow motion for the remainder of the playback
[20:37] <ubitux> mmh strange
[20:39] <ubitux> indeed...
[20:39] Action: hexsprite checks version of ffmpeg he;s running
[20:40] <hexsprite> 0.11.1
[20:40] <ubitux> version is ok
[20:40] <ubitux> i can reproduce
[20:41] <ubitux> saste: any idea why it doesn't work? :)
[20:42] <saste> ubitux: (2.0-1.0)
[20:42] <saste> what's the point?
[20:43] <ubitux> because of the +1.0 after
[20:43] <ubitux> so the expression is always (2 or 1) * PTS
[20:43] <saste> yes but 2-1 = 1
[20:44] <ubitux> the 2.0 is simpler to change
[20:44] <ubitux> like i want a 3x slowdow, i just need to change the 2.0 into 3.0
[20:45] <saste> did you check the result with showinfo?
[20:45] <ubitux> testing this with ffplay, i get a freeze, a slowdown, and then it gets back to normal
[20:45] <ubitux> nope :)
[20:46] <saste> keep in mind that ffplay may do weird things, like fixing pts heuristically
[20:46] <ubitux> nothing reaches showinfo for a while
[20:46] <ubitux> ah yeah, true
[20:47] <ubitux> same with ffmpeg :P
[20:47] <ubitux> it's fun to see the Parsed_showinfo_2 prefix disappearing in the log... :)
[20:48] <saste> -nostats
[20:48] <hexsprite> i love helping to find bugs ;)
[20:48] <ubitux> oh the stats, ok..
[20:49] <ubitux> saste: there is jump in the pts
[20:49] <ubitux> so using setpts=(gt(PTS*TB\,5)*lt(PTS*TB\,10)*(3.0-1.0)+1.0)*PTS
[20:49] <ubitux> i get:
[20:49] <ubitux> [Parsed_showinfo_2 @ 0x1e12e40] n:118 pts:4922 pts_time:4.922 pos:2562442 fmt:yuv420p sar:4/3 s:640x480 i:P iskey:0 type:P checksum:0100231F plane_checksum:[D1A5B62B 2A02EFF2 24B87CE4]
[20:49] <ubitux> [Parsed_showinfo_2 @ 0x1e12e40] n:119 pts:4963 pts_time:4.963 pos:2578365 fmt:yuv420p sar:4/3 s:640x480 i:P iskey:0 type:P checksum:C9441910 plane_checksum:[57B0AC22 9E14ED34 44017F9C]
[20:50] <ubitux> [Parsed_showinfo_2 @ 0x1e12e40] n:120 pts:15015 pts_time:15.015 pos:2594834 fmt:yuv420p sar:4/3 s:640x480 i:P iskey:0 type:P checksum:C67FA445 plane_checksum:[03304585 47A5E523 7658798E]
[20:50] <ubitux> [Parsed_showinfo_2 @ 0x1e12e40] n:121 pts:15141 pts_time:15.141 pos:2616053 fmt:yuv420p sar:4/3 s:640x480 i:P iskey:0 type:P checksum:E5587184 plane_checksum:[7A2413AB 3649E627 36BC77A3]
[20:50] <ubitux> t=5 ’ t=15
[20:51] <ubitux> (and then some kind of slowdown)
[20:52] <ubitux> maybe it's because of the re-use of an altered PTS
[20:52] <saste> what's the objective?
[20:53] <ubitux> oh wait it might be normal
[20:53] <ubitux> saste: slowdown by X times (here 3) between a range (here ts=5 to 10)
[20:54] <ubitux> i actually need to honor the pts shift after ts>10
[20:54] <saste> then the expression looks wrong
[20:54] <ubitux> yeah indeed, i think i understand now
[20:54] <ubitux> dunno how that could be done nicely...
[20:55] <ubitux> oh there is prev_outpts
[20:59] <saste> if(t <= T1, PTS)+if(T1 < t < T2, PTS*F)+if(t>= T2, PTS+(T2-T1)*F)
[20:59] <saste> F= slow down factor
[21:00] <saste> you could store it with st(0, 3.0) and use ld(0), not that it's very nice
[21:00] <saste> completely untested
[21:02] <saste> no it's still wrong
[21:02] <ubitux> :D
[21:03] <saste> in the internal range: T1 + (PTS-T1)*F
[21:08] <ubitux> T1*TB should be better but yeah
[21:08] <ubitux> gonna try
[21:09] <saste> and audio...
[21:09] <saste> that's not gonna workig
[21:09] <ubitux> :(
[21:09] <ubitux> so much pain
[21:09] <ubitux> :D
[21:09] <saste> we would need some streching audio filter
[21:09] <ubitux> well we ned motion estimation filter for video as well :)
[21:09] <ubitux> stretching ’ resampling
[21:10] <saste> we need a lot of things
[21:13] <ubitux> it starts to get messy
[21:14] Action: ubitux is loosing his mind
[21:17] <ubitux> Error while parsing expression 'ld(0,3);ld(1,5);ld(2,10);if(lte(PTS*TB,ld(1)),PTS)+if(gt(PTS*TB,ld(1))*lt(PTS*TB,ld(2)),ld(1)*TB+(PTS-ld(1)*TB)*ld(0))+if(gte(PTS*TB,ld(2)),PTS+(ld(2)-ld(1))*ld(0))'
[21:17] <ubitux> :(
[21:19] <saste> what's exactly the error?
[21:22] <ubitux> i just gave it :)
[21:25] <ubitux> oh i'm stupid
[21:26] <ubitux> (it's st, not ld)
[21:27] <saste> 'setpts=st(0\,3)\;st(1\,5)\;st(2\,10)\;if(lte(PTS*TB\,ld(1))\,PTS)+if(gt(PTS*TB\,ld(1))*lt(PTS*TB\,ld(2))\,ld(1)*TB+(PTS-ld(1)*TB)*ld(0))+if(gte(PTS*TB\,ld(2))\,PTS+(ld(2)-ld(1))*ld(0))'
[21:27] <saste> almost there
[21:27] <ubitux> yes
[21:27] <ubitux> i use a file for this :p
[21:27] <saste> nice if you like egyptian gerogliphs
[21:27] <ubitux> :D
[21:29] <saste> it would be simpler by supporting configuration
[21:29] <saste> you send an event to setpts at a given time
[21:29] <saste> so you don't need all the logic branches
[21:29] <ubitux> ah yeah, didn't you write a filter to inject cmd?
[21:42] <ubitux> hexsprite: sorry it seems more complicated than expected ;)
[21:43] <hexsprite> ahh
[21:43] <hexsprite> OK ;)
[21:43] <hexsprite> i will go back to Plan A which is to split up the files and then apply the filter and recombine ;(
[21:43] <ubitux> :(
[21:45] <hexsprite> thanks for your help, ubitux
[23:53] <Ganymede> This is a bit off-topic but suppose I have an Android device and the specs say that it supports H.264, MPEG4, MP4 audio, and AAC. Ignoring bitrate, how can I know more detailed information about what the device can playback, e.g., H264 profile level. I basically have hundreds of videos that I'd like to playback on my device and want to know which H264/MPEG4 videos I'll have to re-encode before playback and
[23:53] <Ganymede> which ones I can do a stream copy and stick it into an MP4 container for playback.
[00:00] --- Thu Aug 23 2012


More information about the Ffmpeg-devel-irc mailing list