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

burek burek021 at gmail.com
Sat Mar 23 02:05:02 CET 2013


[02:21] <si-sco> hi all
[02:21] <si-sco> any expert of ffmpeg can help here plz ?
[02:25] <sacarasc> si-sco: If you say what your problem is, someone might be able to help.
[02:34] <Zeranoe> Is there any way to adjust the brightness/contrast/gamma of a video with FFmpeg?
[02:35] <si-sco> sacarasc well actualy its a probleme that i can pay for it if ii found someone to help
[02:36] <si-sco> thats why i asked for an expert
[02:51] <ubitux> Zeranoe: didn't i answer this question not so long ago?
[02:51] <ubitux> hue and (mp=eq2 or frei0r)
[03:04] <Zeranoe> ubitux: You did, I apologize, found out the person was using an LGPL build and apparently MP isn't LGPL. I figure it out with frei0r though
[03:09] <mark4o> Zeranoe: you can also use the lutyuv filter to control those, using an expression
[03:11] <si-sco> ok heres my issue , i use to get some rtmp from a website who charge me and i do restreaming for it for my community, now they put some security so if i open 2 rtmp from them it stops can u help ?
[03:12] <Zeranoe> mark4o: Really? Do you have an example?
[03:13] <si-sco> example? like ?
[03:13] <mark4o> Zeranoe: -filter:v lutyuv="y=gammaval(0.9)"
[03:13] <si-sco> oh its not for me the question sorry
[03:14] <Zeranoe> mark4o: What about brightness/contrast?
[03:14] <mark4o> Zeranoe: -filter:v lutyuv="y=val*1.2"
[03:15] <mark4o> using + and * you should be able to get any brightness/contrast combo
[03:16] <mark4o> + for brightness, * for contrast basically
[03:16] <Zeranoe> mark4o: What sort of scale are they on? Frei0r used 0-1
[03:17] <mark4o> assuming 8-bit input, 16..240 I think
[03:18] <mark4o> but there are constants that you can use in the expression so you shouldn't hardcode that; use minval, maxval, etc.  see the documentation
[03:28] <Zeranoe> mark4o: You sure * is for contrast? I'm no expert but that doesn't look like a contrast boost
[03:35] <mark4o> Zeranoe: well technically "contrast" would involve both multiplication and an addition/subtraction, since the center is not 0.
[03:36] <mark4o> something like lutyuv="y=(val-(maxval-minval)/2)*1.8+(maxval-minval)/2"
[03:38] <Zeranoe> mark4o: I think that worked, but that command confuses me
[03:39] <mark4o> it just adjusts the value to be centered at 0 so that it can do a multiply, and then adjusts it back.  of course you could simplify it to one * and one + using basic math
[03:42] <mark4o> oops I think it should be maxval+minval, not -
[03:44] <mark4o> but if you're going to also adjust the brightness anyway then it doesn't matter, just adjust it more
[03:45] <mark4o> like I said + and * should be able to get you any brightness/contrast combo
[03:50] <Zeranoe> mark4o: Would this be correct:  -filter:v lutyuv="y=val*1.2:y=val+2:y=gammaval(0.9)"
[03:50] <mark4o> no
[03:50] <mark4o> why are you setting y 3 times?
[03:51] <Zeranoe> mark4o: no idea haha
[03:51] <mark4o> If you want to adjust gamma, contrast, and brightness use one equation, like lutyuv="y=gaamaval(0.9)*1.2+2"
[03:57] <Zeranoe> mark4o: That makes more sense, and works great
[04:32] <Soho> hi
[04:33] <Soho> ffmpeg option usage help
[04:33] <Soho> does anyone know how to set copyinkf, copypriorss
[04:33] <Soho> for example
[04:33] <Soho> if my command line :ffmpeg  -loglevel debug  -f video4linux2 -r 10 -s 640x480 -input_format h264 -i /dev/video1  -vcodec copy  http://localhost:8090/feed1.ffm
[04:34] <Soho> how to add the options copyinkf and copypriorss to the commandline?
[05:57] <Demon_Fox> Is 5.1 surround sound audio really 5 complete channels and one channel that only uses 10% the space of a normal channel?
[05:57] <alesan> hi, do you know if I can give BGR data in stdin to ffmpeg?
[06:02] <ubitux> -f rawvideo -pix_fmt bgr24 -i - or something like this
[06:02] <ubitux> i guess.
[06:04] <alesan> I am trying to pipe out from an OpenCV program to ffmpeg to be encoded
[06:11] <relaxed> you need to give ffmpeg the frame sizr and frame rate as well
[06:15] <alesan> relaxed, so far I've given it UYVY so size and fps are already cared for
[06:15] <alesan> thanks
[09:12] <lilalinux> How can I convert a 3D side-by-side movie 3840x1080 that is left+right to right+left with ffmpeg?
[09:13] <lilalinux> mkv format
[09:16] <elkng> how  to mirror video left to right ? should I use option "mp=mirror" or there some other ?
[09:17] <lilalinux> yes
[09:17] <lilalinux> elkng: ah, different question
[09:26] <mark4o> lilalinux: use the stereo3d filter (new in ffmpeg 1.2)
[09:26] <mark4o> http://ffmpeg.org/ffmpeg-filters.html#stereo3d
[09:27] <mark4o> elkng: -filter:v hflip http://ffmpeg.org/ffmpeg-filters.html#hflip
[09:29] <lilalinux> thank you!
[09:36] <JamJams> Does ffmpeg have the ability to stop encoding at a given frame? And can that frame be given during the encoding procces? I'm transcoding a file as it's being recorded by a camera but when I start encoding I don't know when I'd want to stop.
[09:38] <elkng> kill it ?
[09:38] <elkng> at some moment ?
[09:38] <lilalinux> damn, macports only has 1.1.2
[09:39] <elkng> why people don't upgrate to 1.2 yet ?
[09:40] <JamJams> Well yes that could work but it wont be exact :/
[09:40] <JamJams> I thought ffmpeg might have the option for a stop file that it'll check or something.
[09:49] <mark4o> lilalinux: if you can't use stereo3d you could also split it in two, crop each half, and then overlay them in the opposite order.  would be something similar to the example here http://ffmpeg.org/ffmpeg-filters.html#Filtering-Introduction
[09:50] <lilalinux> mark4o: thank you very much
[10:10] <lilalinux> yay, bumping the version number in the portfile worked fine
[10:11] <lilalinux> ffmpeg version 1.2
[10:11] <lilalinux> built on Mar 22 2013 10:00:22 with Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
[10:18] <Wihl-w> JamJams: i'm not the best with ffmpeg.. but would -shortest do anything for you?
[10:19] <JamJams> No, that would just stop encoding once the shortest stream ends. Like if the audio was longer than the video it wouldn't encode the x ammount of extra audio.
[10:19] <Wihl-w> oh so there are situations where they dont end at the same time?
[10:20] <JamJams> It's possible, but that's not my problem.
[10:20] <JamJams> My issue is I'm encoding a live file as it's been written. And I want to define my stop frame during the encode.
[10:21] <JamJams> The only way I can think of doing it is to patch ffmpeg to check a text file for an end frame number each time it encodes a video frame or something
[10:23] <mark4o> JamJams: can you just close the input stream when you want to stop?
[10:24] <JamJams> That wouldn't be frame accurate, I may have some left over footage, I do that currently and it's slowly becoming more and more of an issue.
[10:25] <mark4o> maybe filter the input through another program that sends whole frames to ffmpeg's input and stops when you want to stop
[10:26] <JamJams> Any ideas on what I could use?
[10:27] <mark4o> what kind of video stream is it?
[10:27] <JamJams> MPEG-TS
[10:31] <mark4o> JamJams: sorry, don't know
[10:31] <JamJams> Thanks anyway
[10:32] <lilalinux> mark4o: how do I specify the filter?
[10:32] <lilalinux> ffmpeg -i foo.mkv -vf stereo3d in=sbsl out=sbsr bar.mkv doesn't work
[10:33] <mark4o> lilalinux: -filter:v stereo3d=in=sbs2l:out=sbs2r I think?
[10:33] <lilalinux> thx
[10:34] <aspRine> hi all
[10:35] <aspRine> Does its posssible with FFMPEG/FFSERVER to read a mulitcast stream (eg H.264) and send its stream to RTSP clients ?
[10:36] <aspRine> because I see ffserver supports ffm and files
[10:36] <aspRine> as sources
[10:36] <aspRine> but cannot says if supports multicast -> rtsp
[10:37] <aspRine> multicast udp -> unicast rtsp
[10:46] <lilalinux> mark4o: do you think it makes a difference to convert sbsl -> sbsr or sbsr->sbsl?
[10:47] <mark4o> lilalinux: as far as I know those are symmetrical
[11:22] <lilalinux> a progress bar would be nice ...
[11:22] <elkng> babe in my bed with big titts would be nice
[11:23] <lilalinux> not my department
[11:24] <elkng> http://25.media.tumblr.com/tumblr_m414yyBFPP1r38hk2o1_500.jpg
[11:38] <zap0> i can bearly see the cat
[11:46] <elkng> bear-ly ?
[11:47] <lilalinux> I think I'll just turn the glasses upside down
[11:47] <lilalinux> conversion takes ages
[11:48] <lilalinux> in 1 hour it converted 3%
[11:48] <elkng> do we actually see everything upside down ?
[11:48] <elkng> lilalinux: or turn monitor upsidedown
[11:48] <lilalinux> no, the depth is inverted
[11:49] <lilalinux> elkng: good point
[11:50] <lilalinux> how can I get info about a file like how many frames it has?
[11:52] <lilalinux> do I have to tell ffmpeg that I have 4 cores?
[11:52] <lilalinux> or will it use them automatically?
[11:52] <elkng>  ffprobe ?
[11:52] <elkng> or "mplayer -nosound -vo null -msglevel identify=4 -frames 0"
[11:53] <lilalinux> don't have mplayer
[11:53] <lilalinux> and ffprobe doesn't show the number of frames
[11:53] <lilalinux> if I interprete everything correctly
[11:54] <lilalinux> if the chapter interval is measured in frames, I wonder why it's processing frames > 20k although the last chapter ends at 7k
[11:58] <elkng> lilalinux: "if I interprete everything correctly", try to interpret this: "install mplayer"
[12:07] <lilalinux> ok, mplayer got the decimal places right
[12:07] <lilalinux> the values in ffmpeg have to be multiplied by 1000
[14:17] <shakaponk> hey guyz, how are you? i'm new to ffserver, trying to set up a stream (basically) getting "TCP connection to localhost:8090 failed: Connection refused" and the server logs "[POST] "/rfeed.ffm HTTP/1.1" 200 5525504" what might be the problem?
[14:24] <elkng> pebcac ?
[14:25] <elkng> "i'm new to ffserver", thats the problem
[14:26] <elkng> sometimes its solvable
[14:26] <elkng> some says RTM is a cure
[14:27] <elkng> other says RTFM
[14:28] <elkng> some even says: "birth control is a cure"
[14:29] <shakaponk> elkng, please stop wastin bytes in my log files
[14:29] <elkng> shakaponk: HDDs are expensive arn't they ?
[14:29] <elkng> shakaponk: blame flood not me
[14:30] <shakaponk> if you got nothing to say, just stay in your cellar
[14:30] <elkng> "got nothing to say", have you noticed how much I get to say and said allready ?
[14:32] <elkng> shakaponk: you know those service that played music or something while you are waiting calls ?
[14:32] <elkng> there is a silence anyway
[14:33] <elkng> shakaponk: are you german speaking ?
[14:33] <Vardan> hi all
[14:34] <Vardan> people how can I get frames count of the video?
[14:34] <elkng> shakaponk: what does "na" means ? is that some kind of filler ?
[16:15] <shakaponk> i'm ignoring that tcp connection refused... really don't know what it is about. but the cam is turning on and it seems that it captures into the .ffm file. but the problem is on accessing the stream: getting extradata corrupt and error writing output header errors
[16:50] <lentferj> Is there a away to edit the metadata in mkv (e.g. add language for audio and subtitle streams) without having to copy the whole file to a new one?
[16:55] <XsCode> having problems compiling git source on raspbian, can I paste to channel? (7 lines)
[17:42] <shakaponk> i've pasted my configuration for webm, my server output, and my avconv command output. could someone please point me in the right direction?
[17:42] <shakaponk> http://pastebin.com/apLU4YCt
[17:46] <Mavrik> well, #libav comes to mind since you're using that.
[17:58] <shakaponk> Mavrik: is that a problem? or why do you refer me to this channel?
[17:59] <Mavrik> well, it is a different fork of software
[17:59] <Mavrik> and ffserver has been in active development lately and probably works differently on their side
[18:00] <shakaponk> what lib should i perfer?
[18:00] <shakaponk> i'm not sticked to libav
[18:19] <Hfuy> Afternoon.
[18:19] <Hfuy> I have some material I'd like to deinterlace, but it's 10-bit. Can I be sure that when I put this material through ffmpeg, it won't get truncated?
[18:23] <Hfuy> Furthermore, I'd assumed there was a smart deinterlacer in ffmpeg, but signs are there isn't. Any ideas?
[18:25] <ubitux> yadif isn't smart enough?
[18:26] <Hfuy> I'm not sure.
[18:26] <ubitux> i'm working on porting some ivtc stuff currently, i may port a deint filter from the avs world later, but currently you basically can only rely on yadif
[18:26] <Hfuy> I'm mainly concerned about keeping it 10-bit.
[18:27] <ubitux> afaik it's supporting 10-bit
[18:27] <Hfuy> Do I need to take any special measures to ensure it isn't truncated?
[18:27] <Hfuy> Input is prores quicktime.
[18:27] <Hfuy> Output could be anything but may as well be prores quicktime for easy workflow.
[18:27] <ubitux> use -v verbose and check if there are no auto-inserted scaler reducing the bit depth
[18:28] <ubitux> shakaponk: check this ^
[18:29] <ubitux> basically we can't help you if you're using the fork
[18:29] <Hfuy> is yadif documented anywhere
[18:30] <Hfuy> It's mentioned at http://ffmpeg.org/trac/ffmpeg/wiki/FilteringGuide
[18:30] <Hfuy> but it doesn't have a list of options or anything
[18:30] <ubitux> http://ffmpeg.org/ffmpeg-filters.html#yadif
[18:30] <Hfuy> Right.
[18:30] <ubitux> ffmpeg.org, "Documentation", "Filters"
[18:30] <shakaponk> @ubitux: thx i'll check, but i'm not sure what you guys mean by "fork"
[18:31] <ubitux> shakaponk: project split
[18:31] <ubitux> some developers maintain an alternative version somewhere
[18:31] <ubitux> while the original is still maintained
[18:32] <shakaponk> @ubitux: hmm, i thought so. but where can i get the "original version"?
[18:32] <ubitux> shakaponk: http://ffmpeg.org
[18:32] <Hfuy> What does "swScaler: Unknown format is not supported as input pixel format" mean?
[18:32] <shakaponk> ubitux: that's where i got my version. used git to download
[18:33] <ubitux> shakaponk: your pastebin was saying you were using the fork; did you switch since then>
[18:33] <ubitux> ?
[18:33] <ubitux> ffmpeg.org ` libav.org
[18:33] <shakaponk> no, i didn't... trying to figure out what is it all about right now
[18:33] <shakaponk> but at least it is a hint...
[18:34] <ubitux> Hfuy: you specified an unsupported pixel format i guess
[18:34] <Hfuy> I didn't specify any pixel format.
[18:35] <Hfuy> It does that even if I simply state "ffmpeg -i infile.mov outfile.mov"
[18:35] <shakaponk> ubitux: downloaded a tarbal from here http://ffmpeg.org/download.html#releases few minutes ago, just compiled it
[18:36] <shakaponk> but there is also libav mentioned... not the right one?
[18:36] <ubitux> shakaponk: note that the fork took a very confusing name on purpose
[18:37] <ubitux> the FFmpeg project is distributing libraries (libavcodec, libavformat, libavfilter, etc) and programs (ffmpeg, ffplay, ffserver, ...)
[18:37] <ubitux> when the fork occured, they named the project "Libav"
[18:37] <ubitux> and renamed the tools with av prefixes (avconv, avplay, avserver, ...)
[18:37] <Hfuy> OK, let's try doing this another way
[18:37] <ubitux> they kept on the other hand the name of the libraries
[18:37] <Hfuy> how do I actually tell it to give me prores?
[18:37] <ubitux> -c:v prores as output option
[18:38] <Hfuy> There seem to be several prores encoders
[18:39] <ubitux> Hfuy: yes, prores_anatoliy and prores_kostya
[18:39] <ubitux> prores_anatoliy is the default (prores being an alias)
[18:39] <shakaponk> ubitux: yes, i got the av products... that's damn strange
[18:39] <ubitux> the other one is from the fork; we provide both so you have the choice
[18:39] <Hfuy> Ehr.
[18:40] <Hfuy> "Please use -profile:a or -profile:v, -profile is ambiguous"
[18:40] <ubitux> shakaponk: you did something wrong
[18:40] <Hfuy> oh, -profile:v hq?
[18:40] <Hfuy> ....no
[18:40] <ubitux> apch for hq i guess
[18:40] <Hfuy> Some guides use "hq"
[18:41] <shakaponk> ubitux: i'll do some tests and experiments... thx for your input. now i'm at least one step further :-)
[18:41] <Hfuy> Undefined constant or missing '(' in 'apch'
[18:42] <Hfuy> Well, OK, but it's lengthy
[18:42] <Hfuy> http://pastebin.com/r9raZfQ0
[18:42] <ubitux> try -profile:v apch instead of the -preset thing
[18:43] <ubitux> -preset looks like a codec option for the alternative prores codec
[18:43] <Hfuy> same basic result.
[18:44] <Hfuy> Also same result with prores_kostya or prores_anatoliy
[18:44] <Hfuy> It's identical to last time, except for "apch" instead of "hq".
[18:44] Action: ubitux going to do some testing
[18:45] <Hfuy> Sorry, I don't think I'm being that dense, am I?
[18:46] <Hfuy> Almost looks more like a problem parsing the command line, than an actual codec issue.
[18:46] <ubitux> for the alternative codec, you can -c:v prores_kostya -profile:v hq
[18:46] <ubitux> i'm looking at the main one
[18:47] <ubitux> give me a moment
[18:47] <Hfuy> Ah now that works.
[18:47] <Hfuy> Not particularly quickly, but it does work.
[18:47] <Hfuy> Sheesh, is it normal for prores to be this slow?!
[18:48] <ubitux> the default encoder is faster iirc
[18:48] <Hfuy> It's not a particularly complicated codec.
[18:48] <ubitux> just need to figure out what's going on with the preset selection
[18:48] <Hfuy> And ffmpeg has its own general-purpose DCT engine, that's fast, doesn't it?
[18:50] <shakaponk> ubitux: would it be enough to just delete the files from /usr/local/bin/ to uninstall?
[18:51] <ubitux> Hfuy: yes
[18:51] <ubitux> shakaponk: wow wow wow, what are you doing? :)
[18:51] <Hfuy> Uhoh. Adobe Premiere (which is presumably using Quicktime) doesn't like the resulting file.
[18:51] <ubitux> shakaponk: just run the configure and make and then ./ffserver ... and ./ffmpeg from the directory
[18:51] <ubitux> shakaponk: don't fuck up your system
[18:51] <shakaponk> in the beginning, i've tried to to install ffmpeg via aptitude, then i downloaded sources and compiled and installed
[18:52] <ubitux> shakaponk: debian is packaging the fork under the ffmpeg name
[18:52] <ubitux> you won't get ffmpeg from your packaging
[18:52] <shakaponk> ubitux: :-) thx for the wise words :-)
[18:52] <shakaponk> :-D just have to laugh :-D
[18:52] <Hfuy> Hmm.
[18:52] <Hfuy> This file is definitely... unright.
[18:53] <shakaponk> no offense, i'm a newbie to everything :-)
[18:53] <Hfuy> Even VLC doesn't play it right
[18:53] <ubitux> Hfuy: is it ok without specifying the profile?
[18:53] <ubitux> (with the main codec)
[18:53] <Hfuy> Weirdly, Quicktime will play it.
[18:54] <Hfuy> It doesn't seem to be indexed right. I can't seek within the file.
[18:54] <Hfuy> Wait while I reencode another test. If I CTRL+C ffmpeg halfway through an encode, will it finish off the output file correctly?
[18:54] <ubitux> better use 'q'
[18:55] <Hfuy> Same problems.
[18:55] <Hfuy> Does "ffmpeg version N-45279-g1a104bf" sound like a version I compiled myself?
[18:56] <ubitux> somehow
[18:56] <Hfuy> Hm. I may not have compiled it right.
[18:56] <Hfuy> Entirely possible this ffmpeg is broken.
[18:56] <ubitux> it's possible there are some bugs
[18:57] <ubitux> at least the profile setting looks like one
[18:57] <Hfuy> With the default prores encoder and no specified profile, it defaults to apcn.
[18:57] <Hfuy> And is way, WAY faster.
[18:57] <Hfuy> Although really it should be >realtime. I'd expect it to be disk limited really.
[18:57] <Hfuy> There's no need for prores to be slow.
[18:58] <Hfuy> Still won't skip though.
[18:58] <ubitux> oh
[18:58] <ubitux> try -profile:v 3
[18:58] <shakaponk> i have to leave now, but will work at it later... thx for your input ubitux! have a nice weekend guyz
[18:59] <Hfuy> Seems to be defaulting to AAC audio, which may be why there's a problem.
[18:59] <Hfuy> I'm not sure most NLEs are used to prores with AAC :)
[18:59] <ubitux> Hfuy: 0 - apco, 1 - apcs, 2 - apcn (default), 3 - apch
[18:59] <ubitux> so -c:v prores -profile:v 3
[18:59] <ubitux> can you do some testing with this?
[19:00] <Hfuy> Just doing it
[19:00] <Hfuy> C:\Users\CobaltUser>c:\ffmpeg -i D:\ComponentEdit\Day1\SAMURAI_S001_S001_T198.MO
[19:00] <Hfuy> V -vf yadif -c:v prores -profile:v 3 D:\ComponentEdit\Day1\SAMURAI_S001_S001_T19
[19:00] <Hfuy> 8_delaced2.MOV
[19:00] <ubitux> Hfuy: add -c:a copy
[19:01] <ubitux> so it won't mess the audio
[19:01] <Hfuy> it's happening.
[19:01] <Hfuy> I'm only getting about 13fps (on a core i7 950) so it'll be a while.
[19:02] <ubitux> -t 5
[19:02] <ubitux> (5 seconds output)
[19:03] <Hfuy> Sure.
[19:03] <Hfuy> Still won't seek.
[19:04] <ubitux> this will likely not help, but just in case you may try -movflags +faststart
[19:04] <Hfuy> that's streaming stuff, isn't it?
[19:04] <ubitux> that will put the header on top
[19:04] <Hfuy> I'm aware of what it will do, I'm not aware it will solve this.
[19:04] <ubitux> but yeah that's for streaming
[19:04] <ubitux> seeking is broken where?
[19:05] <ubitux> are you able to seek with ffplay?
[19:05] <Hfuy> I remember the days when we used to have to use mp4box to do that.
[19:05] <Hfuy> Don't have ffplay. Really what matters is whether Premiere will read it.
[19:05] <Hfuy> If NLEs won't read 'em, prores files are largely pointless.
[19:05] <ubitux> check the mov muxer option, maybe there is something
[19:06] <Hfuy> Even VLC won't seek 'em
[19:06] <ubitux> maybe force some keyframes
[19:07] <Hfuy> It's prores. It's an I-frame format.
[19:08] <ubitux> yes but may be the key frames are arbitrarly set in the container if it's an intra only format
[19:08] <ubitux> (random guess)
[19:08] <ubitux> being iframes doesn't mean they are all marked as seek point by the container
[19:09] <Hfuy> How would I do that
[19:09] <Hfuy> (that really should be automatic!)
[19:09] <ubitux> (using ffplay and mplayer)
[19:10] <ubitux> can you check if the output of ./ffmpeg -lavfi testsrc=d=60 -c:v prores -profile:v 3 -y out.mov is seekable?
[19:10] <Hfuy> OK.
[19:10] <Hfuy> Unrecognized option 'lavfi'
[19:10] <Hfuy> Failed to set value 'testsrc=d=60' for option 'lavfi'
[19:11] <Hfuy> (the prores ones won't seek in Premiere either...which makes them unusable)
[19:11] <ubitux> erm
[19:11] <ubitux> try -f lavfi -i testsrc=d=60
[19:11] <ubitux> your version might be a little older
[19:11] <ubitux> (instead of -lavfi testsrc=d=60)
[19:12] <ubitux> ./ffmpeg -f lavfi -i testsrc=d=60 -c:v prores -profile:v 3 -y out.mov
[19:12] <Hfuy> Rendering...
[19:13] <Hfuy> Yeah, that's seekable.
[19:13] <ubitux> ok
[19:15] <Hfuy> Does this tell us anything?
[19:15] <ubitux> i'm wondering :)
[19:16] <ubitux> the encoder marks all frame as key frames, the codec is marked as intra only, ...
[19:16] <ubitux> everything looks correct so far
[19:16] <ubitux> oh can you try to add -use_editlist 0 as output option?
[19:16] <ubitux> (it's a mov muxer option)
[19:16] <ubitux> the edit list might be causing some troubles, so just in case..
[19:17] <Hfuy> Never 'eard of it!
[19:17] <Hfuy> And I thought I knew quite a lot about quicktime.
[19:17] <Hfuy> No change.
[19:18] <ubitux> ok
[19:18] <ubitux> let me have a look to the bug tracker
[19:18] <Hfuy> This shouldn't be hard, should it.
[19:18] <ubitux> you can do it if you want
[19:19] <Hfuy> I'm talking about the encoding process.
[19:19] <Hfuy> Not looking at the bug tracker.
[19:19] <Hfuy> But if it was this broken, wouldn't it long since have been fixed?
[19:19] <Hfuy> This is very often used.
[19:20] <ubitux> i'm not the best person to ask this; i never used prores
[19:20] <ubitux> if you have such non-obvious problem, even if there is no bug, there is something wrong in how we expose the options or the defaults
[19:21] <ubitux> i don't see anything in the bug tracker related to this
[19:21] <ubitux> can you share a sample?
[19:21] <Hfuy> Of what
[19:21] <Hfuy> The problem is the files created by ffmpeg, which anyone can generate.
[19:22] <ubitux> mmh wait
[19:22] <ubitux> i may have a hint
[19:22] Action: Hfuy freezes in position
[19:22] <ubitux> the input is prores already, right?
[19:23] <Hfuy> Yers.
[19:23] <Hfuy> Created on an Atomos Samurai hardware recorder.
[19:23] <Hfuy> Which works fine.
[19:23] <ubitux> can you try -c:v prores_lgpl as input option?
[19:24] <Hfuy> where would that go
[19:24] <Hfuy> before the input?
[19:24] <ubitux> so ./ffmpeg -c:v prores_lgpl -i input.mov -c:v prores -profile:v 3 -c:a copy output.mov
[19:24] <ubitux> i think our main decoder isn't marking the frames as key frames
[19:24] <ubitux> and that might be the problem
[19:24] <Hfuy> That would be...
[19:25] <Hfuy> ...unfortunate.
[19:25] <Hfuy> Nope, still no joy
[19:26] <ubitux> mmh
[19:26] <Hfuy> quicktime, vlc and premiere all *play* the files fine.
[19:26] <Hfuy> They just won't skip.
[19:26] <ubitux> how can i generate such file?
[19:26] <Hfuy> What d'you mean?
[19:26] <ubitux> well, i need to reproduce the issue
[19:26] <ubitux> so i need an input file :P
[19:27] <ubitux> you said the input was generated with ffmpeg?
[19:28] <Hfuy> No. A hardware recorder used on cameras.
[19:28] <ubitux> ok let's try something else
[19:28] <Hfuy> The only ones I could give you would be pretty meaningless, just black picture
[19:28] <ubitux> ./ffmpeg -f lavfi -i testsrc=d=60 -c:v prores -y input.mov
[19:29] <ubitux> can you generate such input
[19:29] <ubitux> check if it's seekable
[19:29] <ubitux> then transcode it like you did with your own input
[19:29] <ubitux> and check if the resulting output is not seekable anymore
[19:29] <Hfuy> input.mov is seekable
[19:30] <Hfuy> although how you've created 320x240 apcn is another matter :)
[19:30] <ubitux> you can try to generate something closer to your original file
[19:31] <ubitux> with let's say -f lavfi -i testsrc=s=1920x1080:d=60 -c:v prores -profile:v 3 or whatever
[19:31] <Hfuy> Right, now THAT's seekable.
[19:32] <ubitux> ok so there is something differing between this input and yours
[19:32] <Hfuy> let me try something here
[19:33] <Hfuy> ah.
[19:33] <Hfuy> -vf yadif makes it unseekable.
[19:33] <Hfuy> ...???
[19:34] <ubitux> ah, really?
[19:34] <Hfuy> Filter stripping out kf info?
[19:34] <ubitux> so, wait
[19:34] <ubitux> when you transcode your original input without yadif
[19:34] <ubitux> the output is seekable?
[19:35] <Hfuy> hm no it's not that simple
[19:35] <Hfuy> Now it seems to be fine.
[19:37] Action: Hfuy tries to figure out what he did
[19:37] <ubitux> Hfuy: btw, if you could pastebin the first hundreds lines of ./ffmpeg -i yourinput.mov -vf showinfo -f null -
[19:37] <ubitux> that would be interesting
[19:37] <ubitux> (it will gives info on what frames are marked as key frames, their type, etc)
[19:37] <Hfuy> Sure, OK
[19:37] <Hfuy> wait while I encode this other test
[19:39] <Hfuy> OK, that's kind of verbose.
[19:39] <Hfuy> everything seems to be iskey:1
[19:40] <ubitux> and type:? i guess?
[19:40] <Hfuy> Yes.
[19:40] <ubitux> if you use -c:v prores_lgpl you should get iskey:1 and type:I, can you confirm this?
[19:40] <ubitux> (as input option)
[19:41] <reindeer> Q:How could I create (even an empty) multichannel file, even record silence "</dev/zero" or use a single wav file and copy that as many times as needed?
[19:41] <Hfuy> No. Still type:?
[19:41] <ubitux> Hfuy: mmh, ok..
[19:41] <ubitux> reindeer: aevalsrc is your friend
[19:41] <ubitux> reindeer: http://ffmpeg.org/ffmpeg-filters.html#aevalsrc
[19:42] <Hfuy> Still trying to make it work again.
[19:42] <Hfuy> Perhaps I made a mistake when I said it was fixed.
[19:42] <reindeer> Hfuy: ok, will look thx
[19:42] <Hfuy> thank ubitux, not me! :)
[19:42] <ubitux> Hfuy: you certainly did something wrong in the second test
[19:43] <ubitux> because using -c:v prores_lgpl as input option (so before the -i), the frame type should appear as I-frame
[19:43] <ubitux> that's what i have here at least
[19:43] <Hfuy> That's not what I get.
[19:44] <ubitux> what exact command line are you using?
[19:45] <Hfuy> http://pastebin.com/M451aWUj
[19:45] <ubitux> that's very strange
[19:45] <ubitux> can you try to upgrade?
[19:45] <ubitux> i think that might be the issue
[19:46] Action: Hfuy looks a bit doubtful
[19:46] <Hfuy> It was tough enough to get a version that will even do prores.
[19:46] <ubitux> the frames out of your decoders seems not marked as i-frame
[19:47] <ubitux> while this is indeed a bug in the main prores decoder (will be solved soon), the alternative one seems not affected
[19:47] <ubitux> but maybe that's because of a recent change as well
[19:47] <Hfuy> I would believe there was something weird about these files.
[19:47] <Hfuy> They came from an on-camera recorder, a piece of hardware that takes SSDs.
[19:48] <ubitux> i don't think it's a problem with the file
[19:48] <Hfuy> They're advertised as being to apple's standard.
[19:48] <Hfuy> The manufacturer paid apple for the specs.
[19:48] <ubitux> Hfuy: if you use the same -c:v prores_lgpl / showinfo command on the previously generated sample with ffmpeg
[19:48] <ubitux> does it show the type:I or not?
[19:48] <Hfuy> Hang on.
[19:49] <Hfuy> Just got the latest Zeranoe binary
[19:49] <Hfuy> same command line gives iskey: 1 type: I
[19:49] <ubitux> great
[19:49] <ubitux> that's better then
[19:50] <ubitux> can you retry an encode then?
[19:50] <ubitux> using that particular prores_lgpl decoder?
[19:50] <Hfuy> In progress
[19:50] <Hfuy> It's also faster.
[19:51] <Hfuy> fixed.
[19:51] <Hfuy> OK that seems good.
[19:52] <ubitux> it works?
[19:52] <ubitux> great so that was the bug
[19:52] <ubitux> i'm going to send a patch in a moment to fix the default prores decoder
[19:53] <Hfuy> Doesn't even seem to need the lgpl decoder
[19:53] <ubitux> oh?
[19:53] <ubitux> meh.
[19:53] <ubitux> so upgrading solved your problems? :P
[19:54] <Hfuy> looks like it
[19:54] <ubitux> ok
[19:54] <Hfuy> Doesn't quite explain why it's stopping after 950 frames
[19:55] <Hfuy> Ah! there are only 950 frames in the input file.
[19:55] Action: Hfuy beats his head against the monitor screen
[19:55] <Hfuy> which one is APCS?
[19:57] <Hfuy> Yowza.
[19:57] <Hfuy> This thing is WAY undershooting its target bitrate.
[19:57] <reindeer> ubitux: thx, interesting stuff that aevalsrc, but its a bit over the top for my needs atm, how about if i just wanted to combine 4 seperate wav files into one?
[19:57] <ubitux> 18:59:20 <@ubitux> Hfuy: 0 - apco, 1 - apcs, 2 - apcn (default), 3 - apch
[19:57] <Hfuy> It's weird that the hardware recorder records APCS.
[19:57] <Hfuy> and I meant overshooting.
[19:58] <reindeer> ubitux: and make it 4ch audio file at the same time
[19:58] <Hfuy> Not undershooting. The file I'm converting from (which is apcs) is like 342MB, whereas the output, same duration, is 450.
[19:58] <ubitux> reindeer: you want a 4ch audio stream with silence?
[19:59] <Hfuy> OK, I'm going to try and actually edit this stuff now!
[19:59] <reindeer> ubitux: yes, i have some wavs that i try to compine into multichannel file, mka or ac3
[20:00] <ubitux> is the intermediate wav silence necessary?
[20:00] <ubitux> i mean you can just generate silence without using intermediate wav files
[20:00] <ubitux> but you can also want to merge them because they contain useful audio
[20:00] <ubitux> what do you want?
[20:01] <reindeer> yes, well there will be usefull audio later on i guess :)
[20:01] <reindeer> now im just trying to learn the creation of multichannel
[20:01] <ubitux> i guess using -map_channel
[20:01] <ubitux> or pan filter directly
[20:01] <ubitux> erm
[20:02] <ubitux> amerge sorry
[20:02] <ubitux> http://ffmpeg.org/ffmpeg-filters.html#amerge
[20:02] <ubitux> check this
[20:02] <ubitux> you can simplify this btw
[20:03] <ubitux> something like ffmpeg -i 0.wav -i 1.wav -i 2.wav -i 3.wav -filter_complex '[0:0][1:0][2:0][3:0] amerge=inputs=4' ...
[20:03] <ubitux> might do the trick.
[20:04] <reindeer> oh..that looks good
[20:06] <reindeer> im gonna try to see what i can output with that, thx
[20:17] <reindeer> ubitux:well, that mixed them together nicely, couldn't do that before, with my -map 0:0 tests..:) Could it be possible to seperate them so only one at the time could be listen to? I have vlc, where i could pick either track or channels to listen to?
[20:33] <ubitux> reindeer: you want to merge them in separate streams then
[20:33] <ubitux> so just map them directly...
[20:33] <ubitux> ffmpeg -i 0.wav -i 1.wav -i 2.wav -i 3.wav -map 0 -map 1 -map 2 -map 3 ...
[20:35] <reindeer> yes. I was also just reading about "join" filter, will that help or is it just extra
[20:37] <ubitux> join is to have them sucessively, and you should use concat instead
[20:40] <reindeer> ubitux: that simple mapping did the trick, great
[20:46] <reindeer> i dont know why i did not succeed earlier with that simple syntax..  I was using the "-map x" numbers, but the also the "-c:a:0 libmp3lame ..etc." and "-c:a:1 lib..etc..et" so somehow it never workded..
[21:57] <grimeton> hi, while trying to demux ts streams to mp4 i get a weird error:
[21:58] <grimeton> Application provided invalid, non monotonically increasing dts to muxer in stream 0: 22 >= 22
[21:58] <grimeton> and i have no idea where to start looking
[21:58] <grimeton> any hints would be great
[21:58] <grimeton> the command line is ffmpeg -i $file.ts -acodec copy -vcodec copy $output.mp4
[22:03] <grimeton> fflogger: running the avconv tool with the same settings fixes it
[22:03] <grimeton> fflogger: but i'll paste it anyway
[22:04] <ubitux> grimeton: you're using a fork of ffmpeg
[22:04] <ubitux> the ffmpeg program you tried to use is a very outdated and broken version of ffmpeg distributed by a fork
[22:04] <ubitux> check this ^
[22:04] <ubitux> (btw, fflogger is a bot)
[22:05] <grimeton> ubitux: hm, i'd prefer using ffmpeg
[22:05] <grimeton> was wondering why it looks exactly the same
[22:05] <grimeton> i guess it's one of those debian things again?
[22:05] <ubitux> kind of
[22:05] <ubitux> check the link
[22:05] <llogan> as a quick test you can try a recent static build
[22:06] <ubitux> grimeton: this is not the same as iceweasel and stuff
[22:06] <ubitux> it really is worse than you expect ;)
[22:06] Action: grimeton downloads the static build
[22:06] <llogan> just download, extract, and then run: ./ffmpeg -i ... or /full/path/to/ffmpeg -i ...
[22:07] <grimeton> the static build works too
[22:07] <grimeton> so i guess it's an old version
[22:07] <grimeton> ubitux: worse than i expect? what happened?
[22:07] <llogan> i should have kept a tally of how many users have been confused my this situation
[22:08] <llogan> grimeton: see the link ubitux provided, and there is also a good link in that linked page.
[22:08] <ubitux> grimeton: again, read the link.
[22:18] <grimeton> ./....
[00:00] --- Sat Mar 23 2013


More information about the Ffmpeg-devel-irc mailing list