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

burek burek021 at gmail.com
Wed Nov 21 02:05:01 CET 2012


[00:52] <jordan_> I need my video to seek fast. I've done some experiments on it. Seems the biggest factor is the resolution, even if bitrate is the same low res 320x180, is much faster than 1280x720. Overall both vids same size.
[00:53] <jordan_> Does that make sense
[00:53] <jordan_> the a higher res would seek slow even though the bitrate is near the same
[00:53] <llogan> seek on a desktop player, web player, something else? i'm not really clear what you're asking.
[00:53] <JEEB> less memcpies needed etc., so yes -- but the real way to keep seek times low is to use relatively short GOPs :P
[00:53] <jordan_> it's actually a medialement in .net, but it uses the media player in windows under the hook
[00:54] <JEEB> and possible -tune fastdecode with libx264
[00:54] <JEEB> *possibly
[00:54] <jordan_> JEEB but why more memcopy if they are the same size
[00:54] <JEEB> decoded picture
[00:54] <jordan_> oh it decodes to a larger thing
[00:54] <JEEB> yes
[00:54] <JEEB> and less macroblocks in general
[00:54] <JEEB> during decoding
[00:55] <jordan_> JEEB is there anyway to set the decoded size, i mean do you have to decode it to 1280x720
[00:55] <jordan_> is it possible do you know of to say use decode 320x180
[00:56] <JEEB> pretty much, do note the other things I said tho
[00:56] <JEEB> long GOPs naturally make seeking not so fast
[00:56] <JEEB> as well as with libx264 using more intensive encoding algorithms (there is -tune fastdecode)
[00:57] <jordan_> JEEB i want to just focus on decode, not encode
[00:58] <jordan_> Could I set the decode gop and decode rez and all that without modifying the source video?
[00:59] <jordan_> well probably not gop
[00:59] <jordan_> but maybe res
[01:09] <JEEB> nope
[01:10] <JEEB> nothing like that lowres thing you could with MPEG-2 / MPEG-4 Part 2 ages ago
[02:15] <tremby> hey. i'm trying have an overlay image (png) on a short video, which fades out at the end. i have this command line: http://nopaste.info/4cd6ae8415.html -- testvideo.y4m is a 90 frame video. the overlaytest.png shows on the output fully opaque the whole time. if i pull back the start of the fadeout to frame 60 rather than 80 i do see the fade out, at the very end
[02:15] <tremby> so it seems the fadeout is not starting on the frame i specify. why might that be?
[06:37] <FelipeS> hey all had a question regarding mpegts and the PCR
[06:37] <FelipeS> wiki states, "The value of the PCR, when properly used, is employed to generate a system_timing_clock in the decoder." What does it mean by "generate a ..clock in the decoder"
[06:37] <FelipeS> how is a count value used to generate a clock
[07:27] <n0risc`> Anyone with issues with libspeex? ffmpeg compiles fine, but bugs out executing ffmpeg with a file with speex audio codec with "ffmpeg: symbol lookup error: ffmpeg: undefined symbol: speex_header_free"
[07:28] <n0risc`> speex-1.2rc1 was installed successully.
[07:32] <tg2> ffmpeg -i /storage/storage/7/6/4/9/0/0/9467.avi -map_chapters -1 -bsf:0 h264_mp4toannexb -vcodec:0 libx264 -b:v:0 1400000 -bf:0 2 -threads:0 0 -s:0 624x352 -partitions:0 +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -acodec:1 libfaac  -b:1 96000 -ac:1 2 -ar:1 44100 -re -f mpegts -
[07:32] <tg2> giving me av_interleaved_write_frame(): Broken pipe
[07:33] <tg2> output: http://pastie.org/private/ujoldypcq9aaquigd296a
[07:52] <tg2> any suggestions?
[11:48] <ArunC> Hi all, has anyone succeeded in building ffmpeg on windows with mingw? If so, will we be able to use the ffmpeg libraries generated with another application which is being built using MSVisual Studio?
[12:13] <JEEBsv> ArunC: yes, and yes. But nowadays you can build ffmpeg with MSVC as well, take a look at the documentation over at ffmpeg.org
[12:13] <zap0> how long has that been true?
[12:14] <zap0> http://ffmpeg.arrozcru.org/wiki/index.php?title=MSVC
[12:15] <ArunC> I was wondering on the same as well. The main page even says that "FFMPEG DOES NOT BUILD UNDER MSVC++, AND WILL NOT, EVER, BUILD UNDER MSVC++."
[12:16] <durandal_1707> what page?
[12:17] <durandal_1707> http://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b
[12:19] <durandal_1707> ah that page mentions arrorzcu but it really should not
[12:19] <durandal_1707> anything on arrozcru is dead and unmaintained
[12:20] <JEEBsv> of course since MSVC only supports a limited subset of an older C version, you will have to use a helper app to get the code to build. But yes, it builds and links.
[13:06] <saste> has someone recommendations for creating a video which can be played safely by crappy WMP?
[13:08] <durandal_1707> saste: if i'm not mistaken there is faq entry
[13:14] <durandal_1707> but that is probably for older windows
[13:17] <JEEBsv> wmp12 is mp4 (possible random parsing limitations because the WMP12 mp4 parser doesn't seem to be the best ever)  + H.264, 4:2:0, 8bit, within level 4.1 limitations + AAC audio
[13:17] <JEEBsv> if anything older than wmp12, then you're best off using MS's Expression Encoder to create wmv3 + wma in asf
[13:37] <saste> wmv seems the safest choice
[13:37] <saste> mpeg4 or msmpeg4v2 + AVI seems not supported
[13:38] <durandal_1707> what version?
[13:38] <saste> mpeg4 (H.264) + AVI has timestamp issues  (slowed down video)
[13:38] <saste> durandal_1707, what version of what?
[13:38] <durandal_1707> of windows
[13:38] <saste> windows 7
[13:39] <durandal_1707> and with asf?
[13:39] <durandal_1707> (i hope our asf is not hack)
[13:40] <saste> ASF usage is discouraged in the FAQ
[13:40] <saste> but seems to work fine as well
[13:40] <saste> WMP seems incredibly picky
[13:41] <saste> it's a mistery to me how people manage to use such a piece of crappy software
[13:41] <saste> awesome
[13:42] <ubitux> they don't
[13:46] Action: saste first thing does when it has a windows machine in his hands is to install VLC and FF
[13:48] <ubitux> wmp might be usable with some crazy codec pack
[13:48] <ubitux> but my latest experience with windows is around 12 years old, so i can't tell much
[15:13] <mads-> Can anyone tell me whether it is sane or not to use ffmpeg x11grab to record my screen for like 4 hours? It seems the video I have as a result for this doesn't have any indexes, so I can't jump in it
[15:22] <Mavrik> mads-: it is sane :)
[15:22] <Mavrik> mads-: missing indexes are connected with your choice of encoder not x11grab :)
[15:26] <mads-> Mavrik: good to hear.
[15:27] <mads-> Rather me being stupid, than ffmpeg.
[16:18] <petep> burek: Hi, last time, you directed me to look at the x264 -profile option. I tried it. I got error messages like "x264 [error]: high422 profile doesn't support 4:4:4" and no encoding was done. This happens with every other profile than high444. Though, as I told, -pix_fmt yuv420p works for me. Just wanted you to know.
[16:19] <Mavrik> that's logical
[16:19] <Mavrik> "high422" means high profile with 4:2:2 samples... putting 4:4:$ samples won't work :)
[16:20] <petep> Mavrik: yes the idea was to force the encoder to produce a 422 output, although the input is 444. But -profile seems not to help to accomplish this.
[16:20] <Mavrik> oh yeah, of course not
[16:20] <Mavrik> "-pix_fmt" will force pixel format conversion
[16:20] <Mavrik> so something like
[16:21] <petep> yep
[16:21] <Mavrik> -pix_fmt yuv422p
[16:21] <Mavrik> will create 4:2:2 output
[16:21] <Mavrik> "-profile" is something that gets applied to encoder and pixel format conversion isn't done by encoder :)
[16:22] <petep> https://gist.github.com/77b747bce11a014dc04c
[16:22] <petep> burek: see above
[16:23] <Mavrik> petep: yeah, add "-pix_fmt yuv422p" to that and it should work perfectly
[16:24] <Mavrik> "ffmpeg -pix_fmts" will return you all pixel formats ffmpeg can handle
[16:24] <petep> Mavrik: yes I know, but than I can left out -profile, its not needed
[16:24] <Mavrik> that depends
[16:24] <petep> at least in my case
[16:24] <burek> petep do you know the difference between profiles and pixel formats?
[16:25] <Mavrik> IIRC x264 will automatically switch to high profile (since baseline and main don't support 4:2:2)
[16:25] <burek> http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles
[16:25] <Mavrik> petep: btw, a small note: there's not alot of players that can handle anything other than 4:2:0
[16:25] <petep> burek: i just read the 2-3 line in the online manual about -profile
[16:25] <Mavrik> petep: so make sure your target player supports it :)
[16:25] <burek> now you can read a lot more :)
[16:25] <petep> and a have a vague idea of pixel format in general
[16:27] <burek> shortly, using higher profiles you are enabling more complex algorithms for encoding/decoding, which your targeted devices might not have implemented (due to weak cpu power and such)
[16:27] <petep> 16:25 Mavrik: petep: btw, a small note: there's not alot of players that can handle anything other than 4:2:0
[16:27] <petep> Mavrik: ah sorry I was talking about 420 not 420 u re right
[16:31] <petep> Mavrik: ah sorry I was talking about 420 (pxfmt), not 422 (pxfmt), u re right
[16:31] <Mavrik> :)
[16:31] <petep> anyway the -profile high also doeas not work, as we talked about
[16:32] <petep> -pix_fmt yuv420p does
[16:32] <petep> (puh now i corrected everything :) )
[16:37] <petep> burek: uohh ... looking over ur last link ... now it looks to me the -profile option is somewhat orthogonal to the -pix_fmt option.
[16:48] <petep> 16:27 burek: shortly, using higher profiles you are enabling more complex algorithms for encoding/decoding, which your targeted devices might not have implemented (due to weak cpu power and such)
[16:48] <petep> burek: So my target device is a html5-vidoe playing webbrowser. What profile would you suggest?
[16:49] <Tjoppen> main?
[16:49] <petep> which is default?
[16:50] <Davstern15> I have a PNG image. I am trying to add some metadata into it. Can I do this with ffmpeg?
[16:50] <Mavrik> petep: default depends on video resulution and bitrate
[16:50] <Mavrik> petep: pretty much all devices with exception of older iPads/tablets and phones support high profile
[16:50] <Davstern15> "This channel is publicly logged" <-- PLEASE stop doing this. Why would you want this?
[16:50] <Mavrik> Main is agood bet
[17:00] <burek> petep, your target is not a html5 video webbrowser
[17:00] <burek> your target is underlying hardware / machine on which the browser is running
[17:01] <burek> petep, what is your overall (logical) goal
[17:10] <tg2> http://pastie.org/private/yn2nulz6n9c5mkym7eh0fa
[17:10] <tg2> can somebody shed some light on this?
[17:13] <petep> burek: I want to encode a set of PNGs (which are generated within a my application (java)). The result should be a video that every html5-Browser like Chrome or Firefox or Safari can play. So this involves also OS specific video libs, or plugins, it should just run on most end user machines, that are used to browse my webapp which responds with that video. My PNGs have atm a resolution of 1200x1200 and are RGB. And everything worke
[17:13] <petep> d very well with an older ffmpeg version before 1.0 release. Since 1.0 I figured now out I had to add  -pix_fmt yuv420p to fix my broken application. Thats all the story, I guess.
[17:13] <burek> "a video that every html5-Browser like Chrome or Firefox or Safari can play." <-- good luck with that
[17:14] <burek> you'll most likely end up creating 2-3 different versions of your output for each of those
[17:14] <petep> well, I know x264 is only for some browsers, firefox gets a webm video from my app
[17:14] <petep> yes i do creat 3 videos
[17:15] <petep> 1.0 just broke my app because of the pixel format issue
[17:16] <petep> and now ist fixed :) , thanks to  -pix_fmt yuv420p
[17:21] <tg2> can somebody have a look at my paste and tell me what i'm doing wrong
[17:22] <tg2> i'm trying to create an h.264/aac with mpegts output and send that to stdout, but i'm getting an odd error.
[17:22] <tg2> I get "av_interleaved_write_frame(): Broken pipe" after a few frames of output
[17:25] <burek> tg2 just a sec
[17:25] <burek> petep, well yes, it's actually a common problem these days :)
[17:26] <burek> tg2 is there a reason for using this: +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8
[17:28] <tg2> not entirely sure
[17:28] <tg2> here's the wierd part
[17:28] <tg2> this command, when run from the command line
[17:28] <tg2> works fine
[17:28] <tg2> ;\
[17:29] <tg2> but when launched from a differnet user, I get this
[17:29] <tg2> but itw orks fine with -f flv
[17:29] <burek> tg2 are you sure you know what you are doing? :)
[17:29] <tg2> this command works fine for outputting to mp4
[17:29] <tg2> and to flv
[17:30] <burek> the weird part is actually that you are using something you don't even understand :)
[17:30] <tg2> but i want to create a streamable transcode
[17:30] <burek> just because it works doesn't mean it's correct
[17:30] <tg2> I will try it without partitions
[17:30] <tg2> I believe that just limits the partition algorithms to those, and I think it has to do with end-device compatability
[17:31] <tg2> basically the exact same command from my webserver and from the terminal
[17:31] <tg2> return two different results, despite using the same ffmpeg
[17:32] <burek> tg2, yes it does, but did you check -preset -profile and -tune
[17:32] <burek> also -crf
[17:33] <burek> if you don't know exactly what you need, i would suggest you use those options
[17:33] <burek> unless you are really into h264 and know what you are doing (and why), then you can use all those flags if you like
[17:33] <burek> otherwise it will just complicate your life for nothing
[17:34] <tg2> this doesn't resolve the issue however
[17:35] <burek> also your input might be damaged or unsupported: [mpeg4 @ 0x33a6080] Invalid and inefficient vfw-avi packed B frames detected
[17:36] <tg2> works fine from command line
[17:36] <tg2> i did
[17:36] <tg2> ^
[17:36] <tg2> http://pastie.org/private/yn2nulz6n9c5mkym7eh0fa
[17:37] <burek> that is from the command line?
[17:37] <tg2> http://pastie.org/private/jwmolq9ynvgact7cg9nviq
[17:37] <tg2> that is from the command line
[17:38] <tg2> gives a small error about pts, but keeps on going
[17:38] <tg2> whereas when launched from webserver exec() it gives a pipe error
[17:38] <tg2> identical command
[17:38] <tg2> same ffmpeg
[17:38] <tg2> if I change -f from mpegts to flv, it works fine from teh webserver and command line, I get identical output
[17:39] <burek> the input file is not the same
[17:39] <burek> /storage/storage/7/6/4/9/0/0/9467.avi
[17:39] <tg2> i can use the same input file doesn't matter it will be hte same result
[17:39] <burek> /storage/storage/8/2/0/0/0/0/28.mov
[17:39] <burek> it does matter
[17:39] <tg2> i'll update with an avi
[17:39] <burek> use the same file
[17:39] <burek> if you don't use the same file, then this is not true: <tg2> works fine from command line
[17:40] <tg2> http://pastie.org/private/yn2nulz6n9c5mkym7eh0fa
[17:40] <tg2> that is with the same .mov file
[17:40] <Davstern15> Can I use ffmpeg.exe to add a piece of metadata into a PNG?
[17:40] <burek> you see, it doesn't work fine from command line
[17:40] <tg2> http://pastie.org/private/yn2nulz6n9c5mkym7eh0fa  <--- from the webserver (same .mov)
[17:41] <burek> tg2, i dont quite understand your questions.. :S
[17:41] <tg2> http://pastie.org/private/jwmolq9ynvgact7cg9nviq <--- from the command line (same .mov)
[17:41] <tg2> my question is, what exactlyd oes this error mean: av_interleaved_write_frame(): Broken pipe
[17:41] <tg2> I'm trying to figure out why ffmpeg would react differently when launched from the webserver as it would from command line
[17:42] <burek> it means your output can't be created
[17:42] <burek> tg2, let's go again
[17:42] <grepper> Davstern15: something like imagemagick might be more appropriate
[17:42] <burek> this time read slowly and pay attention
[17:42] <Davstern15> Dammit. How can it be so hard to do this simple task?
[17:43] <Davstern15> I just want to add a small string to a PNG to later be able to retrieve it and tell them: "You stole this from me."
[17:43] <burek> show us 2 output logs (with same input file) that show your statement is true (that it works from command line and not from webserver)
[17:43] <tg2> those are both above
[17:43] <burek> paste them again here
[17:44] <tg2> http://pastie.org/private/yn2nulz6n9c5mkym7eh0fa  <--- from the webserver
[17:44] <tg2>  http://pastie.org/private/jwmolq9ynvgact7cg9nviq <--- from the command line
[17:44] <tg2> same .mov file
[17:44] <burek> on those pastes i see this
[17:44] <burek> /storage/storage/7/6/4/9/0/0/9467.avi <--- from the webserver
[17:44] <burek> /storage/storage/8/2/0/0/0/0/28.mov <--- from the command line
[17:44] <burek> how is that the same?
[17:45] <zap0> smylink
[17:45] <tg2> ahhhhhh
[17:45] <tg2> sorry
[17:45] <tg2> i pasted the output from the .avi into that pastie
[17:45] <tg2> blonde moment
[17:45] <tg2> i will update
[17:45] <burek> ok
[17:45] <tg2> its baiscally the exact same
[17:45] <burek> zap0 :D
[17:49] <tg2> http://pastie.org/private/q9qjuefmv6ymx7euu2dirg
[17:52] <grepper> Davstern15: you can do that with imagemagick :  convert -comment "You stole this from me" in.png out.png
[17:54] <Davstern15> But I don't have any imagemagick thang...
[18:01] <grepper> Davstern15: http://www.imagemagick.org/script/binary-releases.php#windows
[18:19] <neufeld> Can anybody suggest why, when I use force_key_frames in ffmpeg v1.0, the keyframes appear to be inserted exactly one second early?  I patched up the code to instrument it, it parsed my command-line arguments correctly and filled in the appropriate data structures with the correct numbers for my input file, but when I use the showinfo filter, it reports that the new key frames are all one second earlier than I
[18:19] <neufeld> requested.
[18:58] <Grey-fox-13_> Good day, i have a problem with mp3 encoding both when ripping the mp3 from an avi or reencoding from another mp3 the problem is that in the process about 50 milliseconds of silence are added to the beginning of the file the command  i use is ffmpeg -i "input.mp3" -acodec libmp3lame -ab 160k -ac 2 -ar 44100 "output.mp3" so just about as simple as it gets for encoding also the 50 milliseconds don't overwrite anything they are bein
[19:42] <Grey-fox-13_> greetings anyone here that could help?
[21:09] <tg2> any reason -re wouldn't limit encoding speed to realtime?
[21:09] <tg2> seems like its completely ignored
[21:12] <llogan> tg2: if you don't use it as an input option it is probably ignored
[21:13] <llogan> the syntax is basically "ffmpeg [input options] -i input [output options] output"
[21:13] <tg2> its before -i
[21:13] <tg2> seems like it might only be on vcopy
[21:14] <tg2> a normal full encode at 720p goes ~170fps
[21:14] <tg2> (big server)
[21:14] <tg2> when i put -re it still goes along at 170fps
[21:27] <tg2> @llogan you were right my command assembler was putting the -re in the wrong place but only when building the exec command - thanks.
[22:08] <tremby> i want to overlay one video stream on another, and both come from pipes. is this possible with ffmpeg? how do i tell ffmpeg what the format of the input stream in the -vf movie=pipe:3 is? i want it to read a sequence of PNGs like image2pipe
[22:10] <ubitux> i'd recommend to use -filter_complex instead
[22:11] <tremby> do you know it to be possible or is that just a suggestion of something to look at?
[22:12] <tremby> can you point me in the right direction?
[22:14] <ubitux> should be possible, and -filter_complex will allow you to specify your input with the -i of ffmpeg, and you won't have to bother with the movie= escaping
[22:15] <tremby> ubitux: ah, that makes sense. i'll try. i'll ask for help if i get stuck -- last time i looked at filter_complex the documentation seemed very opaque
[22:16] <ubitux> the -filter_complex option has some overlay examples
[22:16] <ubitux> so you should be able to get a grip with it
[22:19] <llogan> tremby: this might help: http://stackoverflow.com/a/13405214/1109017
[22:23] <tremby> thanks
[22:26] <tremby> ack, but now it doesn't like my PNG stream. "missing png signature", repeated for each frame.
[22:52] <MarioMey> Hello, there.
[22:52] <MarioMey> Anybody knows how to fix low quality avconv encoding, using Bombono?
[22:53] <MarioMey> Maybe it is another channel...?
[23:00] <llogan> MarioMey: yes, wrong channel.
[23:03] <tremby> so, in pursuit of what i was talking about above, i'm trying to bring in things from two different input pipes at once. first i want to make sure i can take things in from file descriptor 3. this works: ffmpeg -r 30 -f image2pipe -codec:v png -i pipe:0 -y tmp.mp4 0<tmp.png
[23:03] <tremby> but if i replace pipe:0 with pipe:3 and 0<tmp.png with 3<tmp.png (file descriptor 3 instead of stdin) it does not work
[23:04] <tremby> i get "[image2pipe @ 01edd6e0] Could not find codec parameters for stream 0 (Video: png): unspecified size"
[23:04] <tremby> any idea why?
[23:19] <mykul> Does anyone know how amix works in terms of volume renormalization? My amixes are coming out quiet
[00:00] --- Wed Nov 21 2012


More information about the Ffmpeg-devel-irc mailing list