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

burek burek021 at gmail.com
Sun Nov 1 02:05:01 CET 2015


[04:16:39 CET] <aro> when installing on linux, where are the ffmpeg headers installed?
[04:30:03 CET] <chungy> when custom compiling, usually /usr/local/include. It depends on your ./configure arguments.
[04:32:08 CET] <aro> i get this error when compiling ffmpeg-php
[04:32:09 CET] <aro> configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the --enable-shared option
[04:33:55 CET] <furq> aro: pkg-config --cflags libavcodec
[04:34:23 CET] <aro> -I/usr/include/ffmpeg
[04:34:55 CET] <aro> so, when i run ./configure --with-ffmpeg=/usr/include/ffmpeg - it still gives me that header error
[04:38:27 CET] <aro> what do i do from there?
[04:47:13 CET] <chungy> Did you install it from a distro package?
[04:47:39 CET] <aro> i did
[04:48:03 CET] <aro> it appears that the build script for ffmpeg-php is looking in the wrong place for the headers
[04:48:14 CET] <aro> they are in: /usr/include/ffmpeg/libavcodec/avcodec.h
[04:48:26 CET] <aro> but, its looking for /usr/include/ffmpeg/avcodec.h
[04:48:55 CET] <chungy> What distribution?
[04:49:04 CET] <aro> centos 7
[04:50:10 CET] <chungy> It doesn't look like ffmpeg is part of the base repo.
[04:50:16 CET] <aro> its not
[04:50:25 CET] <aro> i got it from where the #centos guys told me to go
[04:50:32 CET] <chungy> How did you install it?
[04:50:33 CET] <aro> they have a 3rd party listing of supported repos
[04:50:34 CET] <aro> yum
[04:50:39 CET] <aro> yum install ffmpeg ffmpeg-devel
[04:50:43 CET] <chungy> not really answering the question
[04:51:06 CET] <chungy> Though if you installed a -devel package, that should have everything needed. Do you know what version of ffmpeg, and if ffmpeg-php has a minimum requirement?
[04:51:25 CET] <aro> ffmpeg-php requires at least 0.49
[04:51:37 CET] <aro> i am using 2.6.3
[04:54:43 CET] <aro> im gonna try something hacky
[04:54:50 CET] <furq> aro: https://trac.ffmpeg.org/wiki/PHP#WrapperLibraries
[04:54:59 CET] <furq> "Since a lot of changes/improvements are being made, inside ffmpeg's code, every day, it makes ffmpeg-php incompatible with the latest ffmpeg."
[04:55:32 CET] <chungy> there was no 0.49... last number before 1.0 was 0.11
[04:55:52 CET] <chungy> anyhow, yeah it's possible the project hasn't been maintained for the latest standard layout
[04:56:05 CET] <furq> it probaly means 0.4.9
[04:56:19 CET] <furq> and yeah it hasn't been updated since 2007
[04:56:33 CET] <furq> it seems very unlikely it'll work
[04:56:46 CET] <furq> "For $75 USD (via Paypal) I will install ffmpeg and ffmpeg on your Linux server."
[04:56:49 CET] <furq> classy!
[04:57:09 CET] <furq> i've always wanted ffmpeg and ffmpeg installed on my linux server
[05:03:46 CET] <chungy> it's not hard even if you do it from source.
[05:05:16 CET] <aro> yeah i did that, and got chastized by #centos
[05:05:23 CET] <aro> because "i should be using package managers"
[05:06:10 CET] <chungy> Usually they can stay on top of bug and security updates for you, instead of having to manually update everything you do... though if they have 2.6.3, they're not really doing even that :P
[05:06:46 CET] <chungy> Latest in the 2.6 series is 2.6.4, released in July
[06:09:46 CET] <Keshl> How do I drop every N frames with ffmpeg? I've tried Googling it and found relevant results, but they all lead to either unanswered questions, or one guy on a forum who says to use something akin to "-filter:v "select='mod(n,24)'"", but that doesn't work for me or the guy on the forum. (Frustratingly, the guy on the forum figured it out and replied with a "fixed it!"-style post. x.x...)
[07:15:57 CET] <durandal_170> Keshl: not(mod...
[07:42:43 CET] <Keshl> That got it, thank you!.. But each frame now stays on-screen for a full second, rather than keeping the framerate I had before and making stuff whiz by. x.x I'll try to figure that out myself, but I woudln't reject any help there. <.<'
[07:45:29 CET] <Keshl> Got it! That was fast. Just specificed -r before -i and set it to a really high value, like almost 2,000.
[07:58:43 CET] <Keshl> All good, full command for those interested: http://pastebin.com/0fG9XRhf -- I've found this to produce the most reasonable output.
[08:30:12 CET] <Fyr> guys, could you provide me with a link to ffmpeg 2.8 ARM?
[08:50:33 CET] <waressearcher2> is anyone here ?
[08:51:54 CET] <durandal_1707> nope
[08:51:58 CET] <waressearcher2> I need to make first 2 seconds of the video black and then normal, so I use this trick "fade=t=in:st=2:d=0.01", but I think there should be a proper way
[08:52:16 CET] <waressearcher2> so its like fades in really fast after 2 seconds
[08:52:23 CET] <waressearcher2> is there other way ?
[08:56:15 CET] <waressearcher2> anyone ?
[09:08:12 CET] <waressearcher2> durandal_1707: are you 308 years old ?
[09:36:12 CET] <Fyr> guys, after performing first pass, the passlogfile is empty. how to convert into H265 with two passes?
[10:01:38 CET] <relaxed> Fyr: what was your command?
[10:05:12 CET] <Fyr> ffmpeg -i source.wmv -c:v libx265 -x265-params crf=18 -preset slow -threads 16 -pass 1 -passlogfile 13.log output.mkv
[10:05:28 CET] <Fyr> the second is the same, but -pass 2
[10:06:12 CET] <Fyr> -y
[10:08:13 CET] <Fyr> relaxed,
[10:11:29 CET] <Fyr> I omitted -x265-params and output the very first pass to /dev/null, anyway, the logfile is empty.
[10:11:30 CET] <relaxed> Fyr: this works, -x265-params pass=1
[10:12:01 CET] <relaxed> omit "-pass 1/2"
[10:12:03 CET] <Fyr> thanks
[10:12:52 CET] <Fyr> relaxed, can I use pass=1:crf=18?
[10:14:15 CET] <relaxed> Why use both? 2 passes is used achieve a certain size / crf is varible bitrate
[10:14:53 CET] <Fyr> to achieve smaller size with higher quality?
[10:17:29 CET] <relaxed> presets control compression
[10:18:02 CET] <relaxed> If you don't need a specific size then I think 2 pass will be a waste of time
[10:18:17 CET] <relaxed> but you can do it :)
[10:25:12 CET] <relaxed> you can set a cap with maxrate
[10:27:16 CET] <TD-Linux> relaxed, umm that's not true at all. you need to specify both
[10:27:37 CET] <TD-Linux> if you're using crf, you can think of 2pass as "extreme lookahead"
[10:53:28 CET] <waressearcher2> I need to make first 2 seconds of the video black and then normal, so I use this trick "fade=t=in:st=2:d=0.01", but I think there should be a proper way
[11:00:01 CET] <relaxed> TD-Linux: What's not true at all?
[11:01:37 CET] <TD-Linux> that there is no reason to use 2pass and crf together
[11:04:11 CET] <relaxed> noted
[11:15:55 CET] <Fyr> TD-Linux, then in which case there is?
[11:16:38 CET] <TD-Linux> Fyr, crf specifies what quantity you want. 2pass gives the rate control more information
[11:17:11 CET] <Fyr> then how to measure quality when using two-pass encoding?
[12:33:26 CET] <waressearcher2> my question is not important ?
[12:52:58 CET] <niko988> i have a question: I have a couple Netzwork-Cam's that streem their video. Is there a software with that i can capture all the video-streams and put them all next to each other and save that as a video? so the output video should look like this: http://www.priggen.de/wp-content/gallery/leistungen/videoueberwachung-2.jpg
[12:53:30 CET] <BtbN> Well, how about ffmpeg?
[12:53:42 CET] <BtbN> As you already found its channel.
[12:54:34 CET] <StephenS> niko988, ffmpeg can do that :)
[12:55:00 CET] <StephenS> niko988, check this https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos
[12:56:22 CET] <niko988> BtbN: So i can tell ffmpeg for example: background color: black; on position x:10 y:10 video stream: *url*; on position x:10 y: 1000 videostream: *url2*?
[12:56:37 CET] <BtbN> yes.
[12:56:40 CET] <niko988> StephenS: Thank you for this link, i will take a look at it =)
[12:57:37 CET] <niko988> that is fantastic =) That is exactly what i was looking for =) Thank you StephenS and BtbN
[13:33:51 CET] <waressearcher2> how to make part of video black ?
[13:58:01 CET] <waressearcher2> does anyone answers ?
[14:04:35 CET] <c_14> Use the overlay filter
[14:06:57 CET] <waressearcher2> c_14: last year you were c_13 ?
[14:12:53 CET] <c_14> No, but there 0.0120935% more of me.
[14:21:26 CET] <waressearcher2> 14.0120935 what is that ?
[14:25:42 CET] <waressearcher2> c_14: so you a carbon in the air ?
[14:31:54 CET] <durandal_1707> what kind of part of video you want black?
[14:32:06 CET] <waressearcher2> first 2 seconds
[14:34:35 CET] <durandal_1707> hmm, completely black use geq
[14:35:12 CET] <durandal_1707> With enable expression
[14:42:49 CET] <waressearcher2> ChocolateArmpits: your name is disgusting
[14:43:21 CET] <ChocolateArmpits> waressearcher2: why???
[14:51:06 CET] <waressearcher2> ChocolateArmpits: when I read it first I imagine chocolate and then right at the moment when I start to imagine how I would lick it goes second part of your name
[14:52:04 CET] <waressearcher2> its like using CandyPenis for name
[14:53:41 CET] <waressearcher2> ChocolateArmpits: some names you can't mix togeter, like "Dart Weider's Charity" or "Stable Windows"
[14:57:13 CET] <waressearcher2> or "ffmpeg development is complete"
[15:42:07 CET] <DX099> hi all
[15:42:36 CET] <DX099> per "https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2014-January/152661.html" ffmpeg is supposed to be able to at least recognize bink 2 files and play audio
[15:43:20 CET] <DX099> however, I have some .bk2 files that ffmpeg 2.8 doesn't recognize
[15:45:24 CET] <DX099> it says "Invalid data found when processing input", what could be the problem?
[16:01:15 CET] <DX099> RadVideoTools says the file was compressed with Bink 2.4d. Does this mean it hasn't been implemented in ffmpeg yet?
[16:32:45 CET] <durandal_1707> DX099: nobody cared to motivate someone to do it
[17:34:22 CET] <waressearcher2> c_14: are you 14th isotope of carbon ?
[17:41:28 CET] <kutemo> http://pastebin.com/WUcNrMJX
[17:42:07 CET] <kutemo> this file is unplayable. i've also tried 1509k, 1509.75k, but only 768k seems to work. anyone knows why? tia
[17:58:24 CET] <zhanshan> hi what's your favourite video player in linux, and what do you use to play VIDEO_TS folders?
[17:58:52 CET] <zhanshan> I use debian jessie and don't manage to compile vlc by hand, the packaged version in jessie is crap since it was not a stable rls
[18:00:44 CET] <AndrzejL> guys... x265 related question. Am I in the right channel?
[18:01:24 CET] <ChocolateArmpits> AndrzejL: there's a dedicated #x265 channel here on freenode
[18:01:33 CET] <AndrzejL> cool beans
[18:01:35 CET] <AndrzejL> thanks
[18:03:19 CET] <retard> zhanshan: i use mpv
[18:04:13 CET] <zhanshan> retard what's the command line to play VIDEO_TS folders with mpv pls?
[18:04:25 CET] <waressearcher2> AndrzejL: "cool beans", where is it from ?
[18:04:42 CET] <waressearcher2> retard: why you use such name ?
[18:04:44 CET] <ChocolateArmpits> zhanshan: You should start from the IFO file
[18:05:08 CET] <zhanshan> waressearcher2: haha
[18:05:22 CET] <zhanshan> it's so good "cool beans"!
[18:05:45 CET] <retard> waressearcher2: what do you mean?
[18:08:34 CET] <waressearcher2> retard: you right then
[18:09:18 CET] <retard> zhanshan: i just play the vob files and it works for me
[18:11:32 CET] <zhanshan> ChocolateArmpits: so it's just mpv *.IFO, huh?
[18:11:36 CET] <zhanshan> fair enough!
[18:15:23 CET] <StephenS> anyone with experience on compiling ffmpeg with android?
[18:16:15 CET] <zhanshan> ChocolateArmpits: that's so good to know!! $ mpv *.IFO or $ mplayer *.IFO
[18:20:20 CET] <AndrzejL> waressearcher2: no idea :) heard it somewhere and adopted it ;)
[18:22:40 CET] <AndrzejL> anything you can tell me from this benchmark thingy?
[18:23:37 CET] <AndrzejL> oops wrong chan ;)
[19:19:30 CET] <printlin1> hi, how can I play what comes from netcat -vulp 3000 | opusdec --force-wav - - | with ffplay?
[19:19:40 CET] <waressearcher2> ffplay - ?
[19:22:33 CET] <printlin1> hm, it doesn't work :/
[19:22:42 CET] <printlin1> this is how I'm sending it: rec -t raw -e signed-integer - | opusenc --bitrate 16 --ignorelength --expect-loss 10 --max-delay 10 --framesize 10 - | netcat -u 127.0.0.1 3000
[19:22:42 CET] <waressearcher2> I think it work in mplayer
[19:22:47 CET] <c_14> try pipe:0
[19:22:49 CET] <c_14> instead of -
[19:23:02 CET] <c_14> And what do you mean "doesn't work"
[19:23:06 CET] <c_14> Does it output an error?
[19:23:07 CET] <printlin1> the mistake could also be at the sender side
[19:23:21 CET] <waressearcher2> printlin1: why do you need ffplay ?
[19:23:43 CET] <waressearcher2> I mean isn't ffplay is "just in case" program, there are lot of other players
[19:25:32 CET] <printlin1> waressearcher2: oh, didn't know that. I tried it with sox's play first, without any success either
[19:26:02 CET] <c_14> It's not really "just in case", it's just not a full-featured player.
[19:26:04 CET] <c_14> It works just fine.
[19:26:35 CET] <c_14> Though, you don't need the opusdec
[19:26:39 CET] <c_14> ffplay eats opus just fine
[19:26:43 CET] <c_14> it can also listen on udp
[19:26:53 CET] <c_14> So you don't even need the netcat on the receiving end
[19:27:41 CET] <printlin1> c_14, how exactly?
[19:27:56 CET] <c_14> ffplay udp://127.0.0.1:3000?listen
[19:28:52 CET] <waressearcher2> AndrzejL: are you watching FLoB series ?
[19:29:04 CET] <printlin1> c_14: can I also listen to somewhere without specifying an IP address?
[19:29:09 CET] <printlin1> to a port
[19:30:02 CET] <c_14> 0.0.0.0 is IPv4 all interfaces and :: should do ipv6 all interfaces iirc
[19:30:08 CET] <waressearcher2> can ffplay connect remotely and receive stream instead of listening on port for someone to connect ?
[19:30:12 CET] <c_14> So 0.0.0.0:3000
[19:30:14 CET] <printlin1> it's interesting that rec only sends 2 hundredths of a second, then stops
[19:30:14 CET] <c_14> waressearcher2: yes
[19:30:50 CET] <waressearcher2> ffplay pipe:0 < /dev/tcp/addres/port ?
[19:31:40 CET] <c_14> eeeeeh, that'll work (in bash), but urgh don't do that
[19:31:44 CET] <c_14> ffplay tcp://address:port
[19:34:32 CET] <printlin1> if you have opus and sox installed, you can perhaps give it a try: rec -t raw -e signed-integer - | opusenc --bitrate 16 --ignorelength --expect-loss 10 --max-delay 10 --framesize 10 - | netcat -u 127.0.0.1 3000
[19:35:12 CET] <c_14> What does `rec' record from?
[19:35:14 CET] <c_14> alsa/pulse ?
[19:35:46 CET] <c_14> If so, ffmpeg can do that to. (I have neither sox, nor the opus tools installed to test with)
[19:35:48 CET] <printlin1> not sure, I'm on OSX
[19:36:01 CET] <c_14> avfoundation then probably
[19:36:13 CET] <c_14> https://ffmpeg.org/ffmpeg-devices.html#avfoundation
[19:37:04 CET] <printlin1> rec itself records just fine, perhaps opusenc is the culprit
[19:37:23 CET] <c_14> have you tried rec | opusenc | ffplay - ?
[19:37:26 CET] <printlin1> or perhas a firewall :/
[19:37:51 CET] <c_14> A firewall on the lo interface is pretty out there
[19:37:55 CET] <c_14> (why would you want one there)
[19:39:00 CET] <printlin1> yeah, right :)
[19:43:07 CET] <printlin1> rec -t raw -e signed-integer - | opusenc --bitrate 16 --ignorelength --expect-loss 10 --max-delay 10 --framesize 10 - | ffplay - does not work (invalid data found when processing input)
[19:43:33 CET] <printlin1> oh, I should also decode it before piping it to ffplay
[19:43:51 CET] <printlin1> (shouldn't I?)
[19:45:09 CET] <c_14> ffmpeg should have an opus decoder, it might not be detecting it though. Does opusenc produce raw opus or does it mux it into ogg as well?
[19:45:20 CET] <StephenS> if I want to run this /home/stefan/bin/ffmpeg -i in.mp4 -c:v libvpx -qmin 30 -qmax 35 -crf 35 -threads 1 -speed 1 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -c:a libvorbis -b:a 96k out.webm
[19:45:23 CET] <c_14> Might be able to do ffplay -c:a opus - to force it to decode using opus
[19:45:24 CET] <StephenS> what do I need from libs?
[19:45:36 CET] <StephenS> I have yasm and libx264
[19:45:46 CET] <c_14> Well, obviously libvpx and libvorbis
[19:46:07 CET] <StephenS> lol I missed libvorpis
[20:02:00 CET] <StephenS> is something wrong with my ffmpeg instruction?
[20:02:08 CET] <StephenS> because to webm it works fine, but from webm to mp4 it fails
[20:02:43 CET] <StephenS> Could not find tag for codec vp8 in stream #0, codec not currently supported in container
[20:02:51 CET] <furq> what do you think that error message might mean
[20:03:19 CET] <printlin1> c_14: I got noise with this now: rec -t raw - | opusenc --raw --bitrate 16 --ignorelength --expect-loss 10 --max-delay 10 --framesize 10 - - | ffplay -codec:a opus -
[20:03:25 CET] <StephenS> I miss vp8, but just wondering is my syntax correct?
[20:03:27 CET] <printlin1> so some bitrate mismatch likely
[20:05:18 CET] <printlin1> but, awesome, it also works via the port and the udp URI
[20:11:02 CET] <StephenS> so how to fix this vp8 error?
[20:12:04 CET] <StephenS> configuration: --prefix=/home/stefan/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/stefan/ffmpeg_build/include --extra-ldflags=-L/home/stefan/ffmpeg_build/lib --bindir=/home/stefan/bin --enable-gpl --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree
[20:12:12 CET] <StephenS> libvpx is enabled as you can see furq
[20:13:17 CET] <furq> i don't know how to explain it any more clearly than "codec not currently supported in container"
[20:13:54 CET] <StephenS> so how to fix it?
[20:13:59 CET] <StephenS> There must be a solution
[20:14:11 CET] <furq> you can't put vp8 in mp4
[20:14:20 CET] <furq> or vorbis for that matter
[20:14:35 CET] <StephenS> I see
[20:14:39 CET] <furq> the solution is to use a codec which you can put in mp4
[20:14:45 CET] <furq> https://en.wikipedia.org/wiki/MPEG-4_Part_14#Data_streams
[20:15:05 CET] <StephenS> ffmpeg -i in.webm -sameq out.mp4 wont transform it in mp4?
[20:15:38 CET] <furq> no
[20:16:13 CET] <furq> i don't think -sameq even exists any more
[20:17:11 CET] <StephenS> how about ffmpeg -i in.webm -c:v libx264 -crf 20 -c:a aac -strict experimental out.mp4 ?
[20:17:28 CET] <furq> try it
[20:17:59 CET] <StephenS> I mean it works
[20:18:05 CET] <StephenS> but just making sure its a good way to do it?
[20:18:24 CET] <furq> that depends on what you want to get out of it
[20:19:42 CET] <StephenS> just mp4 output with the same quality as webm
[20:19:47 CET] <StephenS> so simple convert
[20:25:51 CET] <Fyr> ffmpeg -i x.mp4 -
[20:25:51 CET] <Fyr> guys, where does it outputs?
[20:47:23 CET] <AndrzejL> waressearcher2: FLoB? I am not
[22:04:23 CET] <c_14> StephenS: should be good enough for most cases
[22:22:55 CET] <DragonsLordKERNE> Hi guys!
[22:23:11 CET] <DragonsLordKERNE> I am using FFMPEG to replace AVIdemux
[22:23:28 CET] <DragonsLordKERNE> AVIdemux seems to be not fine, enough to deal with MP4
[22:23:37 CET] <DragonsLordKERNE> the problem I have with FFMPEG
[22:23:59 CET] <DragonsLordKERNE> is that it seems to be not able to set a specific keyframe interval
[22:24:25 CET] <c_14> -g or -force_key_frames
[22:24:27 CET] <c_14> -g is preferred
[22:24:44 CET] <DragonsLordKERNE> also if I use option -g 250
[22:24:52 CET] <DragonsLordKERNE> Hi, c_14
[22:24:55 CET] <JEEB> then the GOP length will depend on the encoder
[22:25:07 CET] <JEEB> also that option has to come between the input and the output
[22:25:19 CET] <JEEB> as in, after the -i option wiht its parameter and the output file name
[22:25:19 CET] <DragonsLordKERNE> -g 250 seems to fix the Max key int = 250
[22:25:25 CET] <JEEB> yes
[22:25:36 CET] <JEEB> how adaptive an encoder is with that limit depends on the encoder
[22:25:46 CET] <JEEB> which is generally a good thing
[22:26:04 CET] <DragonsLordKERNE> I would like to have Null frames = 0
[22:26:27 CET] <DragonsLordKERNE> Min key int = 1 - Max key int = 250
[22:26:28 CET] <JEEB> which means repeated frames being none
[22:26:32 CET] <DragonsLordKERNE> as I did with AVIdemux
[22:26:44 CET] <JEEB> null frames shouldn't be used outside of AVI output
[22:26:45 CET] <DragonsLordKERNE> is it possible, also with FFMPEG
[22:26:59 CET] <DragonsLordKERNE> (Hi JEEB)
[22:27:05 CET] <JEEB> and in there only for VFR anyways
[22:27:19 CET] <JEEB> min keyint depends on the encoder and you shouldn't care
[22:27:22 CET] <JEEB> just set -g 250
[22:27:25 CET] <JEEB> and you're OK
[22:27:32 CET] <JEEB> any other questions? :P
[22:27:38 CET] <DragonsLordKERNE> Yes
[22:27:43 CET] <DragonsLordKERNE> I am not so expert
[22:27:53 CET] <DragonsLordKERNE> may I obtain the same output
[22:27:57 CET] <DragonsLordKERNE> with AVIdemux
[22:28:02 CET] <DragonsLordKERNE> and FFMPEG
[22:28:09 CET] <JEEB> NFI
[22:28:13 CET] <DragonsLordKERNE> in terms of the parameters I mentioned above?
[22:28:17 CET] <DragonsLordKERNE> NFI = ?
[22:28:49 CET] <JEEB> well null frames ("duplicate the previous picture" is a horrible hack used to manage "VFR" in AVI)
[22:29:03 CET] <JEEB> that is not used unless you decide to output VFR content into AVI
[22:29:12 CET] <JEEB> VFR = variable frame rate
[22:29:38 CET] <JEEB> as for min keyint, yes you can force it but most encoders have sane values set depending on your keyint, so you generally don't want to touch it. at all.
[22:29:44 CET] <JEEB> for max keyint, -g is that.
[22:29:51 CET] <JEEB> any other questions?
[22:30:31 CET] <DragonsLordKERNE> within avidemux the option is "Maximum I-frame interval"
[22:30:53 CET] <JEEB> yes, that is -g
[22:30:56 CET] <DragonsLordKERNE> the encoder should be the same (XviD, I mean)
[22:31:00 CET] <JEEB> it sets the maximum GOP length
[22:31:47 CET] <JEEB> I'm telling to you, just set -g and be done with it :P
[22:32:11 CET] <DragonsLordKERNE> OK but I can't understand
[22:32:38 CET] <DragonsLordKERNE> here is what I see watching an avi encoded with FFMPEG:
[22:32:43 CET] <DragonsLordKERNE> Key frames                  477 (0; 71; 102; 104; 108; ... 33686)
[22:32:43 CET] <DragonsLordKERNE> Null frames                 2 (1; 2)
[22:32:43 CET] <DragonsLordKERNE> Min key int                 1
[22:32:43 CET] <DragonsLordKERNE> Max key int                 250
[22:32:43 CET] <DragonsLordKERNE> Avg key int                 70.742138
[22:32:44 CET] <DragonsLordKERNE> Delay                       0 ms
[22:33:22 CET] <DragonsLordKERNE> and here is the same, encoded with AVIdemux:
[22:33:23 CET] <DragonsLordKERNE> Key frames                  569 (0; 250; 500; 750; 1000; ... 66985)
[22:33:23 CET] <DragonsLordKERNE> Null frames                 0
[22:33:23 CET] <DragonsLordKERNE> Min key int                 1
[22:33:23 CET] <DragonsLordKERNE> Max key int                 250
[22:33:23 CET] <DragonsLordKERNE> Avg key int                 117.785589
[22:33:24 CET] <DragonsLordKERNE> Delay                       0 ms
[22:33:46 CET] <DragonsLordKERNE> can you understand, now, what I mean?
[22:34:29 CET] <JEEB> your latter has set both minimum and maximum GOP length to 250
[22:34:46 CET] <DragonsLordKERNE> with avidemux Key frames are exactly each 250 frames
[22:34:52 CET] <JEEB> yes
[22:35:00 CET] <JEEB> not sure why you'd want that, but sure
[22:35:08 CET] <DragonsLordKERNE> here with FFMPEG it seems to be different
[22:35:26 CET] <JEEB> yes, you've only set the maximum GOP length so the encoder is doing its own decisions within that :P
[22:35:40 CET] <DragonsLordKERNE> would you be so kind to tell me how can I do this?
[22:35:52 CET] <DragonsLordKERNE> may I also disable null frames?
[22:36:43 CET] <DragonsLordKERNE> I am not sure, too
[22:36:44 CET] <JEEB> wekk if you have null frames then your timestamps don't match against the timebase (frame rate)
[22:36:52 CET] <JEEB> *well
[22:37:13 CET] <DragonsLordKERNE> but the "customer" I will provide the output would like to have a "fixed GOP size"
[22:37:21 CET] <DragonsLordKERNE> and equal to fps * 10
[22:37:32 CET] <DragonsLordKERNE> so PAL = 25 fps * 10 = 250
[22:38:10 CET] <JEEB> not sure ffmpeg has a global option for minimum keyint
[22:38:46 CET] <JEEB> there's -keyint_min but that sounds like a libx264-specific option
[22:42:45 CET] <DragonsLordKERNE> so should I try something like -keyint_min 250 -g 250
[22:42:47 CET] <DragonsLordKERNE> ?
[22:43:50 CET] <JEEB> no idea if that option works for stuff not libx264 :P
[22:44:06 CET] <JEEB> but in any case, I'm just thankful I don't have to give a flying F about mpeg-4 part 2
[22:45:11 CET] <DragonsLordKERNE> would you be so kind to elaborate your statement "if you have null frames then your timestamps don't match against the timebase (frame rate)"?
[22:45:20 CET] <DragonsLordKERNE> it mean that my source is not fine?
[22:46:04 CET] <DragonsLordKERNE> analysing that with mediainfo I see
[22:46:05 CET] <DragonsLordKERNE> Frame rate mode                          : Constant
[22:46:05 CET] <DragonsLordKERNE> Frame rate                               : 25.000 fps
[22:52:37 CET] <ChocolateArmpits> So what's the problem? you can also try disabling scene detection
[22:52:57 CET] <DragonsLordKERNE> sorry?
[22:53:45 CET] <ChocolateArmpits> encoders have scene detection to know when to place a new I-frame
[22:54:12 CET] <ChocolateArmpits> What this results in is non-uniform gop length throughout the life
[22:54:25 CET] <DragonsLordKERNE> how can I disable this in ffmpeg?
[22:54:35 CET] <ChocolateArmpits> what codec are you using ?
[22:54:47 CET] <DragonsLordKERNE> -codec:v libxvid
[22:55:10 CET] <DragonsLordKERNE> (Hi ChocolateArmpits! :))
[22:55:17 CET] <DragonsLordKERNE> thank you, in advance, for your help
[22:59:43 CET] <ChocolateArmpits> -sc_threshold 0
[22:59:49 CET] <ChocolateArmpits> will disable scene detection
[23:00:03 CET] <DragonsLordKERNE> so, with the -g 250 option
[23:00:11 CET] <DragonsLordKERNE> should produce an output
[23:00:21 CET] <DragonsLordKERNE> with a fixed GOP of 250 frames?
[23:00:23 CET] <ChocolateArmpits> don't forget to add the keyint_min
[23:00:38 CET] <ChocolateArmpits> this triplet should produce the desired output
[23:00:57 CET] <DragonsLordKERNE> so should I use the same values reported by avinaptic
[23:00:59 CET] <DragonsLordKERNE> ?
[23:01:07 CET] <DragonsLordKERNE> keyint_min = 1
[23:01:07 CET] <ChocolateArmpits> by what for what ?
[23:01:14 CET] <DragonsLordKERNE> keyint_max = 250
[23:01:29 CET] <DragonsLordKERNE> -sc_threshold 0
[23:06:07 CET] <DragonsLordKERNE> ChocolateArmpits, are you still there?
[23:06:13 CET] <ChocolateArmpits> DragonsLordKERNE: ye
[23:06:27 CET] <DragonsLordKERNE> did you understand my question?
[23:06:44 CET] <ChocolateArmpits> I don't understand what else you need
[23:07:13 CET] <DragonsLordKERNE> I would need to understand which options should I use
[23:07:23 CET] <DragonsLordKERNE> analysing an output of avidemux
[23:07:25 CET] <DragonsLordKERNE> I see
[23:07:26 CET] <DragonsLordKERNE> Null frames                 0
[23:07:26 CET] <DragonsLordKERNE> Min key int                 1
[23:07:26 CET] <DragonsLordKERNE> Max key int                 250
[23:07:35 CET] <ChocolateArmpits> g, keyint_min, sc_treshold
[23:07:39 CET] <ChocolateArmpits> threshold*
[23:07:40 CET] <DragonsLordKERNE> Key frames                  569 (0; 250; 500; 750; 1000; ... 66985)
[23:07:49 CET] <DragonsLordKERNE> fine by me
[23:07:52 CET] <DragonsLordKERNE> (almost)
[23:07:54 CET] <DragonsLordKERNE> g 250
[23:08:02 CET] <DragonsLordKERNE> sc_treshold 0
[23:08:08 CET] <DragonsLordKERNE> and min key int = 1 ?
[23:08:18 CET] <ChocolateArmpits> keyint min should equal 250
[23:08:37 CET] <ChocolateArmpits> (though I'm not sure how that will go about the end of the file)
[23:09:05 CET] <ChocolateArmpits> anyways, just do this and see how it goes
[23:11:56 CET] <DragonsLordKERNE> thank you, ChocolateArmpits
[23:12:00 CET] <DragonsLordKERNE> Pass 1 started
[23:12:02 CET] <DragonsLordKERNE> ...
[23:14:03 CET] <DragonsLordKERNE> ChocolateArmpits, do you also know how I can disable Null Frames?
[23:20:58 CET] <ChocolateArmpits> DragonsLordKERNE: I have no idea about those
[23:22:02 CET] <DragonsLordKERNE> thank you, anyway
[23:22:13 CET] <DragonsLordKERNE> also for my too bad english
[23:22:16 CET] <DragonsLordKERNE> -_-
[00:00:00 CET] --- Sun Nov  1 2015


More information about the Ffmpeg-devel-irc mailing list