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

burek burek021 at gmail.com
Sat Aug 24 02:05:01 CEST 2013


[00:00] <axorb> IamTrying: ffmpeg -i Supernova1.mov -vcodec copy -acodec copy 1.mpg
[00:00] <Mavrik> JennieL, weeeelll&.. yeah. It's also quite buggy. Lemme read your post again :)
[00:00] <JennieL> Mavrik: Thanks.  I am NOT making any promises that any of the info there is helpful! ;-)
[00:00] <Mavrik> JennieL, ok, bad news is& you can't really do what you want in the way you have your system set up
[00:00] <IamTrying> axorb, [mpeg @ 0x17315a0] buffer underflow i=0 bufi=234980 size=238677 [mpeg @ 0x17315a0] packet too large, ignoring buffer limits to mux it
[00:01] <IamTrying> [mpeg @ 0x17315a0] VBV buffer size not set, muxing may fail
[00:01] <JennieL> Mavrik: Which part?  Just want to trasncode & stream the mpegts to my TV.
[00:01] <JennieL> Or even VLC, at this point
[00:02] <JennieL> and, of course, have the controls work
[00:02] <Mavrik> JennieL, since you are sending output from ffmpeg directly to your TV and ffmpeg doesn't have any controls to move around the stream after it started processing (it's a tool for transcoding files primarly, not streaming :/)
[00:02] <axorb> rtmp would be good if your TV supports it
[00:02] <IamTrying> JennieL,  Mavrik, is right, VLC and all of them are good for nothing, Gstreamer fights with VLC and VLC fights with Gstreamer, at the end of the day both are good for nothing
[00:02] <JennieL> Mavrik: ffplay does ...
[00:02] <Mavrik> ffplay is a simple example of a player :)
[00:03] <JennieL> Ok, getting confused.  Is it not possible?
[00:03] <Mavrik> you need a DLNA server which can restart transcoding on another point when you want to seek.
[00:03] <Mavrik> a DLNA server that understands that request and will properly restart encoding
[00:03] <JennieL> It's already in there.  Mediatomb ...
[00:04] <JennieL> @ http://ffmpeg.org/pipermail/ffmpeg-user/2013-August/016996.html  -- "I setup a "Mediatomb" DLNA server to get the videos onto my TVs."
[00:04] <IamTrying> axorb, dont know but this did not worked ffmpeg -i Supernova1.mov -vcodec copy -acodec copy 1.mpg
[00:05] <Mavrik> JennieL, what you're setting up is ffmpeg with command to transcode WHOLE file from BEGINNING without any timing parameters always
[00:06] <Mavrik> JennieL, it also says in MediaTomb FAQ that they do not support seeking on transcoded streams
[00:06] <JennieL> Mavrik: Is that a limitation of Mediatomb?  or DLNA?  The mediatomb folks told me this works.
[00:07] <Mavrik> mediatomb
[00:07] <axorb> MediaTomb should be doing the transcoding anyway
[00:07] <Mavrik> seeking probably works if you don't have to transcode.
[00:07] <JennieL> axorb: Mediatomb uses an ffmpeg-based script ...
[00:07] <Mavrik> but your ffmpeg command certanly won't support seeking
[00:07] <JennieL> Mavrik: Do you offhand know of a more reliable DLNA that *would* do this?
[00:07] <Mavrik> I think PS3 Media Server supports seeking while remuxing
[00:08] <JennieL> For Linux that'd be the UMS?
[00:08] <Mavrik> I used it for a bit awhile ago, wouldn't know how compatible is it with other DLNA clients
[00:08] <axorb> IamTrying: ffmpeg -i Supernova1.mov -vcodec libx264 -acodec aac -strict experimental 1.mpg
[00:08] <axorb> then figure out what the -sameq option is now
[00:08] <axorb> but you need to specify the codecs, and this will transcode instead of remux (which is ideal)
[00:08] <durandal_1707> -sameq option never was useful for you ......
[00:09] <axorb> okay, don't use -same1
[00:09] <axorb> sameq
[00:09] <IamTrying> axorb, OK but is not this all is a hard way? its like 2013 can it not be like $ ffmpeg -multi-files-from 1 2 3 4 5 -to one.mov ?
[00:10] <durandal_1707> IamTrying: no
[00:10] <axorb> you're concatting right?
[00:10] <durandal_1707> why you are ignoring info people already gave you?
[00:10] <axorb> https://trac.ffmpeg.org/wiki/How%20to%20concatenate%20(join,%20merge)%20media%20files
[00:10] <axorb> ffmpeg -f concat -i <(for f in ./*.wav; do echo "file '$f'"; done) -c copy output.wav
[00:10] <JennieL> Mavrik: Sigh.  UMS forums seem to blame ffpmeg (http://www.universalmediaserver.com/forum/viewtopic.php?f=9&t=672&p=3903&hilit=seek#p3903)  That's assuming I've found the right topic.
[00:10] <axorb> there's a loop for you
[00:11] <axorb> and ffmpeg can seek, it's just hard to get it right
[00:11] <Mavrik> JennieL, ffmpeg can't seek once transcoding has started, you have to restart it form another point
[00:11] <axorb> ^ you need to cancel the current job
[00:11] <axorb> and use -ss
[00:12] <axorb> VLC can seek while transcoding though if you use an rtmp output
[00:13] <JennieL> axorb: Hm.  So no way to 'connect' that cancel_job+seek_to_new_location to the buttons on the remote?
[00:14] <IamTrying> OK - axorb thank you , it works great.
[00:14] <JennieL> This stuff really is SO far over my head ...
[00:14] <axorb> DLNA would be the one making the seek request
[00:14] <axorb> and the server would have to translate that into canceling the job and starting a new one
[00:14] <IamTrying> durandal_1707, thank you too, its working
[00:14] <JennieL> axorb: So, back to a DLNA server that actually works ... i.e. !Mediatomb
[00:15] <Mavrik> JennieL, as I said, try out PS3 Media Server& I've had some success with it on Xbox and it supported seeking then
[00:15] <axorb> never used DLNA, but it definitely is possible
[00:15] <axorb> I just implemented it actually
[00:15] <axorb> except with HLS instead of DLNA
[00:16] <durandal_1707> hmm why they claim ffmpeg does not support internal subtitles?
[00:16] <axorb> durandal_1707: http://trac.ffmpeg.org/ticket/2067
[00:16] <axorb> maybe?
[00:17] <JennieL> Mavrik: PMS is on linux? (I'm looking now ...)
[00:17] <Mavrik> think so.
[00:17] <JennieL> Mavrik: I must be blind ... where on the MediaTomb FAQ did you find that stmt?
[00:18] <JennieL> I'm poking around here, http://mediatomb.cc/dokuwiki/faq:faq, and am missing it
[00:18] <Mavrik> 4.2.1: http://mediatomb.cc/pages/transcoding#id2892931
[00:18] <Mavrik> anyway, sleep, g'nite
[00:18] <IamTrying> durandal_1707,  funny. i worked in one company and had a nice experience where i was working there i had few people and my boss included. 1) when ever i write application using java/python and release it (i always put a README file) 2) none of them use that README file and instead of learning they asks me can you not add this feature and that, which is already given to them 3) LOL - you just reminded me that one by saying that NO LOL
[00:20] <JennieL> Mavrik: thanks
[00:27] <JennieL> Off to try UMS.  TA!
[00:31] <durandal_1707> IamTrying: the command you mentioned would when used with ffmpeg mux all stream from all input files into output file
[00:37] <IamTrying> durandal_1707, yes temporary its working great thank you!! appreciate it
[00:38] <durandal_1707> huh, what is working great?
[05:47] <Codewaffle> I'm using ffmpeg to realtime/live transcode video files and stream them straight to an rtmp server (ffmpeg -re -i blah.avi -f flv rtmp://localhost/live/thing) - is there any way to seek/pause/etc when this is going on?
[10:42] <inqb> hello
[10:43] <inqb> can anyone please help me?
[10:46] <spaam> only if you tell us about what you want help with . if not we wont help you.
[10:46] <inqb> :)
[10:46] <inqb> i'm trying to understand libav libraries
[10:46] <inqb> why do avformat_write_header() emits warning: "Codec for stream 0 does not use global headers but container format requires global headers"
[10:47] <Mavrik> well, because it's probably true :)
[10:48] <inqb> :)
[10:48] <Mavrik> your video codec didn't create global header info and the container you're muxing into requires global metadata
[10:49] <Mavrik> inqb, which codec and format are we talking about here?
[10:49] <inqb> h264/mpeg-ts
[10:50] <inqb> h264 stream is demuxed from mov container
[10:56] <Mavrik> hmmm, that's wierd
[10:56] <Mavrik> TS shouldn't require global headres
[10:56] <Mavrik> MOV does however
[10:57] <Mavrik> if I recall correctly you're supposed to send that through h264_mp4toannexb bitstreamfilter to H.264 stream gets PPS/SPS packets injected periodically
[10:57] <inqb> yes, you're right...
[10:57] <inqb> i was trying to write to .mp4
[11:18] <fschuetz> Hello everyone. Trying to compile a slim ffmpeg for android that should only do audio encoding. Trouble is, I seem to need avfilter.a file, which is 27 MB in size. Also I noticed that a lot of code is build, that is disabled in my configure script. Is this intended?
[11:19] <Mavrik> fschuetz, nope
[11:20] <Mavrik> fschuetz, I suggest you configure it with --disable-everything and then enable things you need
[11:20] <Mavrik> you seem to be compiling all filters
[11:21] <shlomo> How can I read a video file and get a raw array of pixels for each frame? I couldn't find a simple example
[11:22] <Mavrik> shlomo, there's a decode_example.c in doc/examples I think
[11:23] <Mavrik> shlomo, you need to demux file, decode video stream and you'll get raw video frames from decoder
[11:25] <shlomo> Mavrik, Does doc/examples/demuxing.c do it?
[11:25] <Mavrik> demuxing does just demuxing.
[11:27] <Mavrik> shlomo, filtering_video.c does it
[11:27] <Mavrik> you just don't need the filters bit
[11:31] <inqb> how do i fix "H.264 bitstream malformed, no startcode found, use the h264_mp4toannexb bitstream filter (-bsf h264_mp4toannexb)" error?
[11:31] <fschuetz> ok. found my problem. thanks
[11:31] <inqb> i've tried AVBitStreamFilterContext *filter = av_bitstream_filter_init("h264_mp4toannexb");
[11:31] <inqb> but av_bitstream_filter_filter(filter, c, NULL, &packet->data, &packet->size, packet->data, packet->size, 0); always return 0;
[11:32] <shlomo> Mavrik, instead of lines 219-234, just use frame? https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/filtering_video.c#L212
[11:32] <Mavrik> shlomo, yeah, you'll have raw frame data in frame->data[] array
[11:33] <Mavrik> shlomo, remember, you'll probably get a YUV420 format, not RGB :)
[11:34] <Mavrik> you can use swscale library to convert formats and resize frames if you have to :)
[11:34] <Mavrik> inqb, hmm, I know there were some wierd things about that when used in code
[11:34] <Mavrik> I had to inject PSS/SPS packets manually
[11:38] <inqb> do you know of any tutorial how to do that?
[11:38] <inqb> i can see, that someone had the same problem: http://ffmpeg.org/pipermail/libav-user/2012-March/001484.html
[11:38] <Mavrik> no, not really
[11:41] <Mavrik> inqb, reading the source of mpegtsenc.c of ffmpeg could give you some idea why does it require that
[11:41] <Mavrik> my usecase was different from yours
[11:45] <inqb> Mavrik: thx for hinting me about PSS/SPS
[11:45] <Mavrik> mhm
[11:46] <inqb> i found this post: http://aviadr1.blogspot.com/2010/05/h264-extradata-partially-explained-for.html
[11:46] <inqb> and i think this is what i need
[11:46] <Mavrik> yeah, that's it
[11:46] <Mavrik> you have to create AnnexB format for MPEG-TS
[11:46] <inqb> yup
[11:46] <inqb> and the input is from .mov file
[11:46] <Mavrik> the thing I can't really tell you right now is where will you find SPS/PSS data in your input
[11:47] <Mavrik> x264 encoder dups them into it's priv_data field in AVCodecContext
[11:47] <Mavrik> you'll probably find them somewhere in AVFormatContext of mov
[11:47] <Mavrik> then I just prepended every keyframe with those packets
[11:47] <Mavrik> and everything went well
[11:47] <inqb> ok
[11:58] <inqb> ok, then why [filter = av_bitstream_filter_init("h264_mp4toannexb");] doesn't work?
[11:59] <Mavrik> it expects some fields formatted in certain way same with bitstream
[11:59] <Mavrik> check the source
[11:59] <inqb> maybe i need to pass packet->side_data instead of packet->data to the av_bitstream_filter_filter()?
[12:02] <Mavrik> no, because it manipulates the data to inject packets
[12:28] <d-fens_> hi, regarding http://ffmpeg.org/pipermail/ffmpeg-user/2013-August/017037.html, can somebody help me out there how to do that with the filter_complex  in a fast way?
[12:29] <d-fens_> switching the inputs puts the background over the sequence :(
[12:39] <inqb> finally some progress
[12:39] <inqb> h264_mp4toannexb works fine
[12:40] <inqb> i had to set AVCodecContext.extradata
[12:40] <inqb> but...
[12:41] <inqb> the resulting video plays for 14sec instead of 10min, display only keyframes (i think)
[13:06] <inqb> and i found out the reason: pts/dts values weren't rescaled to output stream's time_base
[13:36] <fschuetz> Hello everyone. I've built a ffmpeg and would like to use it to convert audio files from different formats to vorbis. Any advice, where I should start? I've checked the doc at http://ffmpeg.org/doxygen/trunk/ but can't really find the entry point.
[13:45] <inqb> fschuetz: try http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html
[13:46] <fschuetz> thanks
[13:46] <JEEB> ugh
[13:46] <JEEB> that's rather old
[13:46] <JEEB> at least looking at the changelog ending in 2009
[13:46] <JEEB> so I recommend looking at the samples in the source directory
[13:46] <JEEB> as well as keeping some tabs of the ffmpeg doxygen from the main site open
[14:02] <fschuetz> ok
[14:03] <Mr_E-> https://ffmpeg.org/trac/ffmpeg/ticket/2748 I can confirm this one aswell, It makes a lot of problems not only with hw decoders, but also software like udpxy.
[14:09] <fschuetz> avformat_open_input returns an error code. How can I check, what it means?
[14:16] <JEEB> Mr_E-, you might want to look into OBE if you want better mpeg-ts muxing
[14:22] <Mr_E-> The muxing is fine, it just needs to output 1 size packets only, and not use it as a max value :)
[14:32] <Mavrik> JEEB, OBE_
[14:32] <Mavrik> ?
[14:43] <elkng> I compilled ffmpeg from source and I used options for gcc: "-O2 -march=i486 -mtune=i686" is it alright to use those options ? or its better to use "-O0" or "-O1" ?
[14:48] <JEEBsv> Mavrik: Open Broadcast Encoder
[14:48] <JEEBsv> by kierank, uses his libmpegts muxer
[14:48] <JEEBsv> which is much stricter than libavformat's as far as I know
[14:49] <Mavrik> oh that looks very nice
[16:17] <kotfare> hi there ... any quick command to transcode a DBT-S2 , 10mbps from satellite to UDP  multicast  ?
[16:17] <kotfare> i found a lot of commands but most of them doesnt has a smooth  streaming on the output
[16:17] <kotfare> DVB-S2 *
[17:42] <Mista_D> cant pass a vf with ' from a varaible to FFmpeg. http://pastebin.ca/2436477
[18:03] <Codewaffle> any way to render embedded (ssa, stream 0.3 - not already hardsubs) subtitles in one pass? Currently I'm extracting the subtitles with ffmpeg out to SSA and then feeding it back in to a second call and it's a little annoying :/
[18:09] <Mista_D> Got it. vf='-filter:v foo:bar/' works.
[18:16] <fschuetz> Is there something similar to avformat_open_input to write a file
[18:31] <Mista_D> Image overlay to fade out after 10 sec... Any advise?
[18:33] <durandal11707> Mista_D: you need to be much more specifici
[18:35] <fschuetz> I am using the Android NDK to convert audio files from different formats to a user supplied output format.
[18:37] <fschuetz> I managed to open an input file, find the format and stream and decode a packet to frame
[18:38] <Mista_D> durandal11707: -filter_complex 'overlay=10:main_h-overlay_h-10:enable=lte(t,10)'  -- expected it to last 5 sec, but the command is refused.
[18:38] <fschuetz> So right now I would like to encode the those decoded frames to packets (outputformat) and write them to a file
[18:39] <fschuetz> the snippet I am working right now http://pastebin.com/F1BvprFT
[18:40] <Mavrik> uh& that's rather& wrong.
[18:40] <fschuetz> ok. what do I have to do?
[18:47] <durandal11707> Mista_D: how is it refused?
[18:48] <Mista_D> durandal11707: [overlay @ 0x15231a20] Option 'enable' not found
[18:49] <durandal11707> Mista_D: your ffmpeg is too old
[18:50] <Mista_D> durandal11707: new one fails too with " Missing ')' or too many args in 'lte(t' "
[18:51] <fschuetz> Can someone give me some directions on encoding/decoding audio please?
[18:53] <durandal11707> Mista_D: that is because you do not escape it correctly
[18:54] <Mavrik> fschuetz, it's obvious you haven't even read the small documentation about the methods you're using
[18:54] <Mavrik> you're ignoring the return types
[18:54] <Mavrik> it seems you haven't even checked the examples in doc folder of ffmpeg
[18:58] <fschuetz> I do read the doc. However I find it somewhat confusing. I've also tried to find source that does, what I want, as obviously ffmpeg must have it already. Just could not find it.
[18:59] <Mista_D> durandal11707: here's command, all escaped well. http://pastebin.ca/2436494
[19:00] <durandal11707> Mista_D: you did not escaped ','
[19:03] <Mista_D> durandal11707: Nice. Thanks. Any way to make it fade at the end?
[19:03] <durandal11707> what you need to fade main or overlay or both?
[19:08] <Mista_D> durandal11707: Overlay fadeout after  10 sec with complete fade out by 12 sec.
[19:09] <durandal11707> then you use fade filter on it, i do not see how is that complicated
[19:14] <fschuetz> what's the difference between avcodec_free_frame and av_frame_free
[19:26] <CentRookie> hi, I'd like to hear your opinion. when it comes to speed x quality, what do you think brings the best buck per cpu encoding time, ref 8 instead of 4 or bstratagy2 instead of 1 ?
[19:27] <CentRookie> to enable both would cost too much in encoding tme
[19:35] <cbreak> more reference frames help with noisy footage, like images from a snow storm, rain, filmed content
[19:36] <CentRookie> whats the diminishing rate of return treshold?
[19:36] <CentRookie> ref 12 ?
[19:37] <cbreak> depends.
[19:37] <cbreak> a few years ago, x264 was able to print encoding statistics
[19:38] <cbreak> you should be able to see the histogram of reference frames and iframe distances and so on
[19:44] <CentRookie> well
[19:44] <CentRookie> thats not really helpful to a beginner like me
[19:47] <Mavrik> why are you even dealing with this then?
[19:47] <Mavrik> what kind of use-case prevents you from using presets?
[19:48] <CentRookie> why do you guys keep pushing presets?
[19:48] <CentRookie> i dont care about presets
[19:49] <Mavrik> then learn how x264 works.
[19:50] <Mavrik> presets are there for people that don't want to learn how x264 works and what the parameters mean
[19:50] <Mavrik> if you don't want to use presets then learn to read the x264 encoding statistics so you can optimize beyond those presets for your use-case
[19:54] <cbreak> CentRookie: as beginner, you should just start out with one of the presets, and then extend them as you go and learn how encoding works.
[19:54] <cbreak> CentRookie: all parameters are tradeoffs. Sometimes between compression and time, quality and space, or even different kinds of quality.
[19:55] <cbreak> and most of them hugely depend on the specifics of the content
[19:55] <cbreak> there wouldn't really be a point in options that are not a tradeoff :D
[19:56] <CentRookie> well it takes 2 min to read into 1 option, there are roughly 60 or more options, so it would take 120 min just to read them, I have spent already several weeks on this, so I kinda know what they mean.
[19:56] <CentRookie> still reading a histogram would go into the matter in deeper
[19:56] <CentRookie> not speaking about finding out which of the options are depreciated
[19:57] <cbreak> 2 mins? that's quick.
[19:57] <CentRookie> as the documentation isn't really up to date concerning ffmpeg 2
[19:57] <CentRookie> 2 mins to get a general understanding
[19:57] <cbreak> ffmpeg doesn't really matter
[19:57] <cbreak> if you use x264, then it does all the encoding
[19:57] <cbreak> all parameters are from it
[19:57] <CentRookie> well ffmpeg and x264 documentation should be similiar
[19:58] <CentRookie> cant use one without the other except you go with a whole other encoder
[20:01] <durandal11707> what documentation?
[20:05] <cbreak> CentRookie: I used to use x264 without ffmpeg (directly)
[20:06] <cbreak> x264 as encoder, mk4tool for muxing, something else for aac, and mplayer for decoding the input (which in turn, of course, used ffmpeg :)
[20:22] <CentRookie> mm yes
[20:23] <CentRookie> actually is there a way to automate tests?
[20:24] <CentRookie> and to output side by side comparison images
[20:24] <CentRookie> dunno if somebody has already thought about that kind of feature
[20:24] <CentRookie> im running tests and am creating tens of video files and ahve to test them by hand and the naked eye
[20:25] <CentRookie> cbreak, i have a question regarding the first few seconds
[20:25] <CentRookie> in all my videos there seem to be an initial phase where image quality is really bad, like the first 3 seconds
[20:26] <CentRookie> i have not been able to figure out what causes it
[20:26] <CentRookie> might be movflag faststart?
[20:26] <cbreak> as far as I know, h264 can't handle fades well. maybe.
[20:27] <cbreak> the fast start I know is about the location of the index
[20:27] <CentRookie> well that index takes a certain amount of space right
[20:28] <cbreak> you'll have it anyway
[20:28] <CentRookie> and if bitrate control tries to compensate it, it will affect video quality
[20:28] <cbreak> only if you're dumb enough to use bandwidth limiting with two pass or so :)
[20:28] <CentRookie> nope, all 1 pass
[20:28] <CentRookie> but what do you mean with bandwidth limiting
[20:28] <cbreak> with CRF it should try to get consistent quality
[20:29] <cbreak> CentRookie: I mean a bitrate mode as opposed to a quality mode like crf
[20:29] <CentRookie> ah i see
[20:29] <CentRookie> but still dont really understand, isnt rc=2pass often used?
[20:30] <cbreak> only if you don't care as much about quality and encode speed
[20:30] <cbreak> and instead value exact file sizes most.
[20:30] <file> what's this about my size?
[20:30] <CentRookie> well its a trade off
[20:31] <CentRookie> i try to encode 1 hour worth of video into 120-130mb
[20:31] <CentRookie> so am working at quite the border
[20:31] <cbreak> then you'd use 2 pass rate limiting
[20:31] <CentRookie> no, i use 1 pass
[20:31] <CentRookie> havent thought too much abot 2 pass
[20:32] <CentRookie> tkes too much encoding time
[20:32] <cbreak> one pass will give you uneven quality
[20:32] <CentRookie> i know
[20:32] <CentRookie> that's the trade you pay
[20:32] <CentRookie> im not encoding 1 super important videos
[20:32] <CentRookie> but lots of videos
[20:32] <CentRookie> thousands
[20:32] <cbreak> then I'd use crf
[20:32] <CentRookie> yep
[20:32] <CentRookie> im using crf 24
[20:33] <cbreak> you can't decide how big the movies will be, but at least they all get the same quality
[20:33] <CentRookie> but it tends to blow up file size
[20:33] <cbreak> then use a bigger number
[20:34] <CentRookie> say, if i do 2 pass but lower ref 8 to 4 and bstratgy 2 to 1, and very fast first pass, then would I get better quality with the lower encoding settings?
[20:34] <cbreak> no.
[20:35] <CentRookie> in what way no
[20:35] <cbreak> 2 pass vs 1 pass doesn't increase quality.
[20:35] <CentRookie> the quality should be more even
[20:35] <cbreak> it just makes sure it is all more or less the same quality
[20:35] <cbreak> less reference frames hurt quality
[20:36] <CentRookie> well when we talk about low bitrate encoding, more even quality means higher overall quality
[20:36] <cbreak> crf is usually superior to any number of passes in quality
[20:36] <cbreak> for the same bitrate
[20:36] <cbreak> (and same other settings)
[20:36] <CentRookie> depends
[20:36] <CentRookie> usually i can get superior compression with 2pass
[20:37] <cbreak> nope.
[20:37] <cbreak> with the same bitrate, you obviously get the exact same compression.
[20:37] <CentRookie> much better quality on smaller bitrate
[20:37] <cbreak> and since crf makes more even quality than any number of passes
[20:37] <cbreak> you get better quality
[20:38] <CentRookie> might be, but it doesnt control bitrate well
[20:38] <cbreak> and since you only use one pass worth of encoding time, you could even throw in more expensive options
[20:38] <cbreak> it doesn't control bitrate at all
[20:38] <CentRookie> lets say i do 1 pass encoding for 1 hour video, for hd i would need at least 1200kbps video rate for decent quality, if i do 2 pass, i can reach the same quality with 600kbps
[20:39] <CentRookie> crf is decent enough, but the bitrate control is nowhere as good as in 2pass
[20:39] <CentRookie> i get much smaller files with 2pass at same quality
[20:39] <cbreak> no
[20:39] <CentRookie> well thats my experience
[20:40] <CentRookie> from testing hundreds of encodings
[20:48] <CentRookie> well i guess it can depend on input and bitrate you are working on
[21:47] <hackeron> hey, I have a sound card with 1 audio input that provides 12 channels. How do I tell ffmpeg I want to just channel number 6 only?
[21:48] <hackeron> (mono)
[22:12] <CentRookie> hmmrrgrr
[22:13] <CentRookie> i cant fix this noise effect no matter how high i set the bitrate
[22:14] <CentRookie> has anyone experienced that after encoding, the first 3-4 seconds are really ugly and bad in quality, until image quality stabilizes?
[22:15] <CentRookie> I thought it might be because of faststart, but it wasnt
[22:47] <cbreak> is it bad in the input too?
[22:47] <cbreak> is it bad with crf too?
[22:49] <Fieldy> i'm recording a full screen game to .mkv with the intention of it being high quality and fast to record, and then later i'll convert it to something smaller. is there something faster than .mkv I could use? disk space isn't an issue nor is speed (it's a high end SSD)
[22:51] <sacarasc> .mkv is a container only.
[22:51] <sacarasc> The container part of encoding is pretty damn quick.
[22:51] <Fieldy> okay so if I am losing frames it's a computational issue and I need to make the area i'm recording smaller?
[22:51] <CentRookie> no, input is very good
[22:51] <CentRookie> sorry, for late reply, was coding
[22:52] <sacarasc> Fieldy: Something like -c:v libx264 -preset:v veryfast -crf 0 will do a lossless dump of it.
[22:52] <sacarasc> Sorry
[22:52] <sacarasc> *ultrafast
[22:52] <sacarasc> I think.
[22:52] <CentRookie> crf with max bitrate is bad, yes, without max it is ridiculous huge
[22:53] <Fieldy> what does -crf do? it is not in the manpage I have
[22:53] <JEEB> it is a x264-specific option
[22:53] <JEEB> sets the constant rate factor
[22:53] <JEEB> closest thing we have to "constant quality" in the video encoding :P
[22:53] <JEEB> CentRookie, how are you using crf + maxrate?
[22:53] <JEEB> it sounds like you're doing something wrong
[22:54] <Fieldy> probably. the command i'm doing is: ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 25 -s 1920x1026 -i :0.0+0,54+nomouse -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 ~/temp/video.mkv
[22:54] <JEEB> crf + maxrate (_and_ bufsize) should be rather good
[22:54] <Fieldy> to be honest there's so many examples out there in so many places, i end up with a mashup which could easily be wrong
[22:54] <JEEB> at least better than similar 1pass bit rate-based
[22:54] <JEEB> Fieldy, video-wise that looks fine
[22:54] <JEEB> lossless H.264
[22:55] <Fieldy> the issue is that it starts out at 25fps but drops to 14. on playback, it appears to play twice the actual speed
[22:55] <JEEB> crf 0 with a 8bit x264 is lossless, with >8bit (9,10bit) x264 the lossless value is somewhere around negative
[23:00] <Fieldy> so if i can keep that at 25, i'll be golden.
[23:09] <CentRookie> how I am using maxrate and crf? together ^^
[23:09] <CentRookie> it works on certain videos
[23:09] <CentRookie> but i have this problem even without crf
[23:09] <CentRookie> i used to do ratetol
[23:09] <sacarasc> Fieldy: What does your CPU usage look like when you're doing it?
[23:10] <Fieldy> sacarasc: not sure, closed everything down, spent way too much time on this today. but probably fairly high, what i'm capturing is very cpu intensive and multithreaded. it's a pretty strong system with lots of ram and a fast SSD, but it can only do so much. thanks for your input
[23:11] <sacarasc> CPU is more likely to be the bottleneck over anything else.
[23:11] <Fieldy> probably wouldn't have to mess with all of this if the linux version of the flight sim had functioning video capture in it (the win version does, grumble)
[23:51] <CentRookie> has anyone experienced "Incomplete MB-tree stats file." while encoding multipass ?
[00:00] --- Sat Aug 24 2013


More information about the Ffmpeg-devel-irc mailing list