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

burek burek021 at gmail.com
Thu Dec 20 02:05:01 CET 2012


[01:14] <bjrohan> What is typically the best ffmpeg settings for recording a desktop for editing later, in which it will then be compressed
[01:15] <bjrohan> I have an 1920x1080 display
[01:15] <bjrohan> I currently use
[01:15] <bjrohan> ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec flac -vcodec libx264 -threads 0 ./Desktop/mydesktop.mkv
[01:20] <klaxa> bjrohan_: add -preset ultrafast -crf 0
[01:20] <klaxa> or was it -qp 0 ?
[01:20] <klaxa> not sure if those are interchangable...
[01:26] <bjrohan_> Where do I add tat?
[01:26] <bjrohan_> the ultrafast
[01:26] <klaxa> after -vcodec
[01:27] <klaxa> and after libx264
[01:27] <klaxa> before -threads
[01:28] <bjrohan_> ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec flac -vcodec -preset ultrafast -crf 0 libx264 -preset ultrafast -crf 0 -threads 0 ./Desktop/mydesktop.mkv
[01:28] <klaxa> uh... not directly after -vcodec :X
[01:28] <klaxa> didn't express it correctly
[01:28] <klaxa> ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec flac -vcodec libx264 -preset ultrafast -crf 0 -threads 0 ./Desktop/mydesktop.mkv
[01:29] <bjrohan_> ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec flac -vcodec -preset libx264 -preset ultrafast -crf 0 -threads 0 ./Desktop/mydesktop.mkv
[01:29] <klaxa> no -preset after -vcodce, just copy my line
[01:29] <bjrohan_> I did :-)
[01:29] <klaxa> :)
[01:29] <bjrohan_> And what does adding that do?
[01:30] <klaxa> sets lossless encoding
[01:30] <klaxa> and disables a lot of compression extentions so it's fast
[01:30] <klaxa> you need fast encoding for realtime things like screencasting
[01:31] <bjrohan_> Gotcha
[01:32] <bjrohan_> is an intel i7 chip fast enough to compress on the fly, and again if I am going to edit and then compress should I just leave it as uncompressed as possible?
[01:32] <klaxa> i7 should be fast enough to compress like this on the fly
[01:32] <klaxa> i guess bottleneck will be I/O speed, do you have an SSD?
[01:32] <bjrohan_> .mkv is not compressedc correct
[01:32] <bjrohan_> I don't :-(
[01:34] <burek> bjrohan_ http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20grab%20the%20desktop%20(screen)%20with%20FFmpeg
[01:37] <bjrohan_> Thanks burek and klaxa
[05:26] <bjrohan> I have recorded a clear desktop recording in ffmpeg with: ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec flac -vcodec libx264 -preset ultrafast -crf 0 -threads 0 ./Desktop/mydesktop.mkv
[05:27] <bjrohan> If I import to cinelerra, it only grabs the audio (says unknown format) Openshot will open and process it. After looking around it looks that CInelerra wants a raw format
[05:27] <bjrohan> how do I do that with ffmpeg?
[05:28] <bjrohan> My only reason is to try cinelerra to see how good it is with adding effects.Perhaps it isn't worth it?
[05:28] <klaxa> well convert it to a raw format?
[05:30] <bjrohan> klaxa: I am a noob, how would I do that?
[05:30] <bjrohan> klaxa, do you do much video editing? If so what do you use?
[05:30] <klaxa> ffmpeg -i some-input -vcodec raw -acodec copy some-output.mkv
[05:31] <klaxa> i don't do any video-editing whatsoever
[05:31] <bjrohan> ah
[05:31] <bjrohan> why do you know so much about ffmpeg
[05:31] <bjrohan> jsut straight up recording
[05:31] <klaxa> because i use it, and actually i don't know that much
[05:32] <klaxa> i know how to use it and that's it
[05:33] <bjrohan> I entered your line with the source and dest file I got an error unknown encoder "raw"
[05:34] <klaxa> hmm... yeah makes sense i guess?
[05:34] <klaxa> lemme look at the help screen
[05:35] <klaxa> ffmpeg -i some-input -vcodec rawvideo -acodec copy some-output.mkv
[05:35] <klaxa> hurr durr, not sure if it can be muxed into mkv though
[05:35] <bjrohan> A site sas Cinelerra will accept quicktime as an import file, MPEG-4 video and MPEG-4 audio
[05:36] <klaxa> that would require you to re-encode to mpeg4 part 2, you don't want that
[05:36] <klaxa> would decrease quality significantly
[05:36] <bjrohan> klaxa: that rawvideo appears to have worked it is processing
[05:37] <bjrohan> I don't have a video fileI need to preserve. I am just testing things. Would recording in that format be okay?
[05:38] <klaxa> it would certainly be of lower quality
[05:38] <bjrohan> Gotcha
[05:38] <bjrohan> pooie in CInelerra
[05:38] <bjrohan> It won't import the raw format very quickly :-(
[05:39] <bjrohan> I don't  have a powerhouse computer, but still
[05:39] <klaxa> it's raw data, it's not compressed, but it's a lot
[05:39] <bjrohan> Yeah, I think it was hanging.
[09:20] <Matias^> hello all
[09:21] <Matias^> i've got a question concerning -use_wallclock_as_timestamps option
[09:23] <Matias^> are there any limits on the influence on particular input modules, or should it 'generally' always work?
[09:35] <Yulth> Hi everyone!
[09:37] <Yulth> I didn't find out in google how to make ffmpeg able to use all cpu cores converting to HE-AAC using libfdk_aac. I've tried '-threads 0' option but didn't work. Any suggestions?
[09:38] <Matias^> does it work when you force the number of cores?
[09:38] <Yulth> Matias^: It works but using only 1 core
[09:44] <Yulth> It may be due to fdk-aac doesn't have support for multithreading? Or due to I'm typing wrongly the ffmpeg's options?
[09:46] <JEEB> fdk-aac probably doesn't have threading, you could check the wrapper for details
[09:49] <Yulth> JEEB: How Can I check this?
[09:51] <JEEB> check the AVCodec definition of .capabilities for anything that says CODEC_CAP_SOMETHING_THREADS
[09:52] <JEEB> I don't see anything like that in there, so I'd say that libfdk-aacenc.c is not threaded
[11:28] <Nick-S> when putting .ts into mp4 or avi i am losing the compression level
[11:31] <JEEB> default is to re-encode so if you are just doing ffmpeg -i derp.ts out.mp4/avi you are getting it re-encoded with various things. In case of mp4 you get libx264 with crf 23 and preset medium, with avi you get mpeg4 (MPEG-4 Part 2, aka what xvid or divx use) with 200kbps
[11:31] <JEEB> you need to add -c copy to copy the streams if they can be put into mp4 or avi
[11:32] <JEEB> and in general if you're re-encoding lossy material that is not of too high bit rate, you are either going to have to be prepared for some quality loss, or at least not much if any gains in compression :P
[11:38] <Nick-S> i am wondering about going from .ts into mp4/avi other container, the command i have used did not just copy the stream but also re-encoded , it is parameter less command
[11:39] <Nick-S> so how do i preserve?
[11:39] <JEEB> I just told you
[11:39] <Nick-S> sorry i i ddidn't see your reply it was scrolled down
[11:39] <JEEB> :P
[11:39] <Nick-S> so just -c:v?
[11:39] <Nick-S> without any other specification?
[11:39] <JEEB> ...
[11:40] <Nick-S> ?
[11:40] <JEEB> -c copy for all tracks IIRC, -c:v copy for video only and so forth
[11:40] <JEEB> see the damn copy after it :P
[11:40] <Nick-S> ?!
[11:41] <JEEB> what part of this did you not understand?
[11:41] <JEEB> setting the damn codec to 'copy' does a stream copy
[11:42] <DonBastel> Nick-S: the parameter is '-c copy' (set codec to copy) (without the ' ' )
[11:43] <Nick-S> oh
[11:44] <DonBastel> -c:v says set the videcodec to something what comes behind so '-c:v copy' (without the ' ') copies only the video
[11:44] <JEEB> yes
[11:44] <DonBastel> without the :v part it sets all codecs to copy.
[11:44] <DonBastel> and with :a it sets the audio codec (iirc)
[11:44] <JEEB> yup
[11:44] <JEEB> and s for subtitles
[11:44] <DonBastel> hope that makes everything clear :)
[11:45] <JEEB> also to be exact, -c is the option and copy is the parameter for it >_>
[11:51] <Nick-S> thanks
[11:51] <Nick-S> i guess its documented isn't it
[11:51] <DonBastel> sure
[11:52] <Nick-S> when i go from png sequence to h264 am i losing something in color conversion? i think it goes to yuv444p
[11:54] <Nick-Ass> this is the real me
[11:55] <JEEB> if it goes to 444p that's an old ffmpeg because currently the default is the more supported format (420p) is the default. And yes, you are converting to limited range (TV range) YCbCr from RGB, so yes -- you are losing something (with PC/full range you'd be losing less, but good luck with finding anything that supports that)
[11:56] <JEEB> at least you're not subsampling chroma with 4:4:4, but given that only libavcodec-based solutions support it... if you're aiming at any hardware decoding or even most pro-level decoders that's out
[11:57] <Nick-S> i'll tell y
[11:59] <Nick-S> my version isn't old isn't it: N-47062-g26c631c
[12:01] <JEEB> there is no such commit in my ffmpeg git tree
[12:01] <Nick-S> its sais nov 25
[12:02] <Nick-S> very strange, what does 444p specify is it resolution?
[12:02] <Nick-S> i thoutgh its a bit format
[12:02] <JEEB> and yes, there is no commit starting with g26c631c in my ffmpeg git repository clone
[12:02] <JEEB> Nick-S, it's a YCbCr colorspace, with full chroma and luma data
[12:03] <JEEB> also when it's built really doesn't say anything to be quite honest
[12:04] <Nick-S> hmm
[12:04] <Nick-S> strange
[12:04] <JEEB> and yes, it seems like your build should be selecting 420p by default and shouldn't be /that/ old
[12:04] <JEEB> that said, the commit's not on the main ffmpeg repository
[12:04] <JEEB> you're using a patched up build for whatever reason
[12:05] <Nick-S> i can download a later version
[12:05] <Nick-S> from zaenroe
[12:05] <Nick-S> or whatever its called
[12:05] <JEEB> yes, zeranoe builds windows builds as far as I know
[12:05] <Nick-S> oh here it is : Stream #0:0: Video: h264, yuv420p, 320x240, q=-1--1, 90k tbn, 30 tbc
[12:05] <JEEB> but I don't think that should matter, not sure tho :P You're just overriding the pix_fmt
[12:05] <JEEB> yes
[12:05] <JEEB> you are getting 420p as I thought
[12:05] <JEEB> anyways, that is the more supported colorspace with H.264
[12:06] <Nick-S> a
[12:06] <Nick-S> ya
[12:06] <JEEB> it has chroma subsampling and it's converted from RGB to TV/limited range YCbCr
[12:06] <JEEB> aka, color information that is not grayscale (luma), is going to be encoded with one value per 2x2 sample
[12:07] <JEEB> (pretty much all video online or otherwise that normal people have access to is in that format)
[12:09] <Nick-S> ok now a question about -preset slow
[12:09] <Nick-S> what are these presets mean?
[12:09] <Nick-S> how they affect quality
[12:10] <JEEB> they are inside libx264, and they basically set settings for you between fast encoding and slower encoding, depending on your needs. If you are encoding with a set file size (bit rate), then they affect the quality, with CRF (-crf, "closest to constant quality kind of thing we have") it affects compression
[12:11] <JEEB> as in, if you set a certain file size, with a slower preset you naturally can get better compression and thus more quality
[12:11] <JEEB> with CRF the quality is more or less set, but you should get gains file size wise
[12:12] <JEEB> (although the CRF values are not the same throughout all of the presets as they use different metrics to go through the video)
[12:12] <JEEB> (which is why f.ex. veryslow could be a bit bigger than medium with the same crf, the x264 just "sees more detail" in there with the slower preset, to put it in simple terms)
[12:13] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset <- a list of the presets available from libx264
[12:15] <Nick-S> interesting
[12:15] <JEEB> basically it controls how simple or computation-heavy algorithms and H.264 features are used in the compression
[12:17] <JEEB> everything but the fastest and the slowest should be "usable", the fastest is primarily good for cases when you really need speed for benchmarks and stuff like that (or for lossless screen capture in the lossless mode), and the slowest is just "everything up to eleven", doesn't give a great benefit over veryslow, yet is much slowerr
[12:19] <Nick-S> i am using slow atm
[12:29] <neXTleap> Can ffmpeg convert an Xvid file to DivX?
[12:29] <neXTleap> If it can, how?
[12:32] <Nick-S> 10x man, its really helpful
[12:32] <neXTleap> Nick-S: Huh?
[12:33] <JEEB> neXTleap, they are the same format (MPEG-4 Part 2), so you really don't have to "convert" them. The only thing that differs except for the fact that a different encoder wrote the stream is the FourCC ID in the AVI container
[12:33] <JEEB> and yes, you should be able to re-tag the stream with the DivX-used FourCC ID
[12:34] <neXTleap> Well, the only reason I want to do this because I have a bunch of episodes of a TV series that I am trying to cut out some scenes from in Premiere Pro CS6, and the audio becomes out of sync in that video editor.
[12:34] <neXTleap> But the audio is NOT out of sync when played in one of my media players.
[12:34] <neXTleap> (MPC and VLC.)
[12:34] <neXTleap> *is because
[12:34] <JEEB> welcome to VFW, converting the ID to divx shouldn't help at all
[12:35] <neXTleap> VFW = ?
[12:35] <JEEB> Video For Windows, the thing that the editor most probably is loading AVI videos through
[12:35] <JEEB> VFW or AVI were never made for b-frames
[12:35] <JEEB> there were/are hacks around it and they are used for encoding things because b-frames help with compression
[12:35] <neXTleap> I'd assume that they have their own stuff... possibly even ffmpeg.
[12:36] <JEEB> nah, most editors just use VFW (I'm pretty sure premiere uses VFW for AVI)
[12:36] <neXTleap> I see. :(
[12:36] <neXTleap> Well, it's a nightmare and I don't know what to do about it.
[12:36] <JEEB> you can install ut video's 64bit version for windows (VFW/DShow/MF components), and convert the clips you want to use to that format though
[12:37] <JEEB> -c:v utvideo should handle that
[12:37] <neXTleap> "ut video"?
[12:37] <JEEB> yes
[12:37] <JEEB> a lossless video format
[12:38] <JEEB> I made the encoder for it in ffmpeg
[12:38] <JEEB> but it also has components for all major media systems
[12:38] <neXTleap> Why must everything related to video be so complicated?
[12:38] <JEEB> (OS X, Windows)
[12:38] <JEEB> well, I must both agree and disagree with that statement
[12:39] <JEEB> there are things inside digital video that are herp and derp, but at the level you are dealing with it is quite straightforward
[12:39] <JEEB> also blame yourself for people keeping using hacks for b-frames in AVI :P
[12:39] <JEEB> instead of moving to a better container, be it mp4, mkv or flv
[12:39] <JEEB> (also H.264 in mp4 can be opened in premiere nowadays I think)
[12:41] <neXTleap> When you want "real" video files, which aren't optimized for playback, suddenly, even today's huge HDDs feel small.
[12:42] <JEEB> all-IDR files as long as it's not completely uncompressed should be "optimized for playback" even more than the stuff you got :P
[12:42] <JEEB> especially seeking-wise
[12:42] <neXTleap> :S
[12:42] <JEEB> but yes, lossless stuff takes space
[12:42] <neXTleap> I guess I meant "optimized for non-editing and small storage/transfer size".
[12:42] <neXTleap> These damn "keyframes" and whatever...
[12:42] <neXTleap> They have casued countless hours of headache for me.
[12:43] <neXTleap> When you start recording in VLC and stop recording, it never starts and stops where you tell it to.
[12:43] <neXTleap> It's always +- several seconds.
[12:44] <JEEB> if it just does stream copy it can't do anything else really, it must start at the closest IDR frame with whatever way it chooses to select one (what you mean by saying "keyframe"), there's no real way around it
[12:44] <JEEB> and yes, end-user clips are usually encoded with around 10 second GOPs
[12:44] <JEEB> which is 240 to 300 frames
[12:44] <JEEB> since seeking doesn't have to be instant
[12:44] <neXTleap> Well, this program "FRAPS" can start/stop recording at a keypress with system audio and perfect fullscreen video.
[12:45] <JEEB> well d'oh
[12:45] <neXTleap> But it costs money and I cannot pay for it because they use PayPal only for payments and I'm banned there.
[12:45] <JEEB> its input is raw video displayed at the screen
[12:45] <neXTleap> Yeah.
[12:45] <neXTleap> That's what I wish VLC would be doing.
[12:45] <neXTleap> Or any freeware application.
[12:45] <JEEB> why on earth would it do that?
[12:45] <JEEB> other than for screen capture
[12:45] <neXTleap> Because then it would actually work?
[12:46] <JEEB> you are trying to hit a problem with a sledgehammer
[12:46] <JEEB> it will work, but it's not efficient in any way
[12:46] <JEEB> shape or form
[12:46] <JEEB> also more users than you think of most probably can't decode a video and at the same time in realtime encode it losslessly
[12:46] <JEEB> even with simple formats like FRAPS's or Ut Video
[12:46] <JEEB> thus using an app like ffmpeg for the conversion just makes more sense
[12:47] <neXTleap> Except my proposed way is super simple and logical and using ffmpeg takes hours/days/weeks of reading a huge manual and asking questions.
[12:47] <neXTleap> And then using a command line application, if it works at all.
[12:47] <JEEB> you can even seek to parts and start from there, or you can add avisynth there and do it otherwise with it per-frame etc.
[12:48] <JEEB> also there's at least one app that has "smart re-encoding" as far as I know
[12:48] <JEEB> if you really want a simple app that promises to re-encode only what is needed
[12:48] <JEEB> and in theory with ffmpeg's libraries such an app could be made relatively easily, just that corner cases are fucking hell
[12:48] <JEEB> like for example keeping vbv buffer working
[12:50] <JEEB> also ffmpeg /really/ isn't that hard any more, there are some use cases where you need to learn more, but in general it's gotten much better usability-wise than it was, say, two years ago
[12:50] <JEEB> ffmpeg -i derp.avi -c:v utvideo -c:a whatever_id_was_for_16bit_pcm out.avi
[12:51] <JEEB> also ffmpeg now has -codecs and -formats options to check the names of available formats (containers) and codecs
[12:51] <JEEB> also I will agree that windows's default command line interface sucks dongs
[12:51] <JEEB> and that doesn't help one bit :P
[12:52] <JEEB> at least with newer windowses you get powershell, still far from perfect but much better)
[12:52] <neXTleap> I don't know how to use it... :|
[12:52] <neXTleap> Or what I'm even supposed to do in my case.
[12:53] <JEEB> re-encode to ut video or some other "sure to work" format, possibly with seeking and "encode this long" options after the input (before the input will attempt to do it before decoding that might not be as exact)
[12:54] <JEEB> then open that in your editor
[12:54] <neXTleap> "ffmpeg -i derp.avi -c:v utvideo -c:a whatever_id_was_for_16bit_pcm out.avi" <-- What do you mean by the 16 part?
[12:54] <JEEB> pcm that is generally used is 16bit, that's all
[12:55] <JEEB> it's what you get when you do ffmpeg -i derp.avi -vn out.wav
[12:55] <JEEB> vn is "video none"
[12:55] <neXTleap> Huh?
[12:55] <neXTleap> I must first grab the audio?
[12:55] <JEEB> no
[12:56] <JEEB> I'm just generally explaining things since you asked
[12:56] <neXTleap> Then what's the whole deal with "whatever_id_was_for_16bit_pcm"?
[12:56] <JEEB> because I don't remember the exact ID for that format, I was just going to check it out?
[12:57] <JEEB> pcm_s16le
[12:57] <JEEB> there
[12:57] <JEEB> ffmpeg -i derp.avi -c:v utvideo -c:a pcm_s16le out. avi
[12:57] <JEEB> encodes a clip in ut video with raw audio
[12:57] <JEEB> that should make sure you don't get a/v desynch even with VFW
[12:58] <neXTleap> Definitely worth a shot. So I will now try it.
[12:58] <JEEB> just a warning of course that it will be big, just not bigger than those FRAPS files
[12:58] <JEEB> you can then later add -ss and -t options after the -i
[12:58] <JEEB> ss is for seeking in seconds
[12:59] <JEEB> -t will only encode a set amount of seconds after starting the encoding
[13:00] <JEEB> http://umezawa.dyndns.info/wordpress/?p=3439
[13:01] <neXTleap> "Unrecognized option 'cv'
[13:01] <neXTleap> Failed to set value 'utvideo' for option 'cv'"
[13:01] <JEEB> then you have an old ffmpeg :)
[13:01] <neXTleap> Like a month old.
[13:01] <JEEB> grab a new one from zeranoe
[13:01] <sacarasc> Or you missed the colon.
[13:01] <JEEB> oh
[13:01] <sacarasc> -c:v not -cv
[13:01] <JEEB> didn't note that
[13:01] <JEEB> yeah, that you did :)
[13:01] <neXTleap> And c:a?
[13:02] <JEEB> basically -c sets the codec, and if you want to specify a codec to audio/video/sub only, you add a colon and the identifier
[13:02] <JEEB> which is a for audio, v for video and s for subtitles
[13:03] <neXTleap> Well, it surely became big. Hoping that it will be in-sync.
[13:03] <JEEB> it should be
[13:03] <JEEB> also that umezawa link should lead you to the installer of the newest ut video
[13:03] <JEEB> so you should be able to test it in action :)
[13:03] <neXTleap> Premiere Pro CS6 says it's "damaged or unsupported" :(
[13:04] <JEEB> yes, you have to install the ut video component first
[13:04] <JEEB> as I linked
[13:04] <neXTleap> Hmm...
[13:04] <JEEB> windows by default supports only very few formats
[13:04] <neXTleap> I'm scared of it. The Asian letters don't make it less scary. :O
[13:04] <JEEB> see the "Windows (exe)" part in the site I linked
[13:04] <JEEB> it's OK, it's Japanese. And I know the developer :P
[13:05] <JEEB> heck, I implemented the format in ffmpeg :D
[13:05] <neXTleap> People always take it as a personal insult when I don't trust their EXEs...
[13:05] <neXTleap> But it's all about security and paranoia.
[13:06] <JEEB> it's also open source so if you are able to compile it you should be able to do it :P
[13:06] <JEEB> but I guess given you have problems with command line you can't do that
[13:06] <neXTleap> I don't "have problems with command line"...
[13:06] <JEEB> or if it makes you less paranoid, you should help people get code signing certificates
[13:06] <neXTleap> I have problems knowing what it wants me to do.
[13:07] <neXTleap> Certificates only (somewhat) make you sure who signed it. :|
[13:07] <JEEB> naturally
[13:07] <JEEB> aanyways, with the 64bit component installed for ut video it should be able to open it
[13:08] <neXTleap> Must it be "ut video"?
[13:08] <neXTleap> I know you're partial toward it, but...
[13:08] <JEEB> nope, but it's the most supported thing
[13:08] <neXTleap> I've never heard of it...
[13:08] <neXTleap> Most supported by what?
[13:09] <JEEB> since it has components for all major OSs (win/os x/linux), I'm pretty sure it makes it the most supported lossless video encoding thingy except for pure raw video
[13:09] <JEEB> and I wouldn't want you to install the 64bit version of the thing called FFDShow-tryouts to get you ffvhuff/ffv1 support :P
[13:09] <wieshka> as VLC is using FFMPEG libs, i will ask on ffmpeg channel also: i have compiled from latest git FFMPEG with --enable-librtmp optionand also VLC with the same option (--enable-rtmp) - now i am trying to stream from VLC using mux=ffmpeg{mux=flv} for destination mux to FMS server. FMS server registers new stream, but when i connect to this stream from flash - i dont have neither picture, neither sound.
[13:09] <wieshka> any ideas where to search for problem ?
[13:10] <wieshka> the same FMS setup is valid if i am streaming stream from Flash media encoder
[13:10] <wieshka> so it is not a FMS problem
[13:10] <JEEB> I think enabling librtmp disabled the internal rtmp(e) implementation
[13:10] <wieshka> JEEB
[13:11] <wieshka> JEEB please explain in details
[13:12] <JEEB> neXTleap, in other words, you could use ffvhuff or ffv1 (or heck, even lossless H.264 with libx264), but that would pretty much leave you with a dead-in-water VFW implementation (FFDShow-tryouts, which has been dead in the water for quite a while, and the only developer is publicly saying that it's "dead")
[13:12] <JEEB> using Ut Video is just the sanest way I could think ogf
[13:12] <JEEB> *of
[13:16] <JEEB> wieshka, I have no idea -- I just have seen while someone was helping someone else that enabling librtmp disabled the internal rtmp(e) implementation which led to stuff not working
[13:17] <wieshka> internal rtmp(e) implementation for FFMPEG you mean ?
[13:17] <JEEB> yes
[13:18] <JEEB> it was completed during libav's this year's GSoC
[13:18] <wieshka> so RTMP is supported by default now as it is part of libav ?
[13:19] <wieshka> and its possible that i have braked this support by adding custom built/compiled version of librtmp to my system ?
[13:19] <wieshka> ok, thx for lead - i will definetly check this out
[13:20] <JEEB> just don't enable librtmp when building ffmpeg?
[13:20] <JEEB> and yes, it's now part of both libav and ffmpeg
[13:22] <JEEB> oh damn, look at the time o/
[13:22] Action: JEEB leaves to get some papers before the office closes
[13:29] <neXTleap> Dammit...
[14:07] <Nick-S> is it possible some how to create a video fron png sequence, but the png's are coming one by one with delay between
[14:15] <saste> Nick-S, right now: no
[14:16] <saste> it would be possible to use the image number to encode the timestamp
[14:16] <saste> feel free to add a feature request for that
[14:37] <neXTleap> What does "10H" mean? Context: Winamp "kpbs" box for a lossless FLAC file.
[14:38] <JEEBsv> it fails at reading the information? Probably an internal item that gets shown in the GUI for whatever reason
[14:38] <neXTleap> I think it's short for a long number.
[14:39] <neXTleap> The box is only max 3 chars long.
[14:39] <neXTleap> Detailed file info says: "Average bitrate: 1018 kbps"
[14:39] <neXTleap> So I guess 10H means "~1000".
[14:40] <neXTleap> Strange.
[14:40] <neXTleap> Why not 1K?
[14:42] <JEEBsv> dunno, ask winamp developers? And I don't think it's a short version of anything, esp. given the H there
[14:42] <JEEBsv> lol
[14:42] <JEEBsv> it's so random
[14:42] <neXTleap> I've seen things like "10E" in Closure Compiler output.
[14:42] <neXTleap> So it seems like it might be some kind of shorthand version.
[14:43] <Tjoppen> maybe the H means hecto, so 10 hecto-kilobits per second
[14:44] <neXTleap> What would that mean?
[14:44] <Tjoppen> 1 Mbps
[14:45] <neXTleap> :S
[14:45] <neXTleap> Ugh.
[14:45] <neXTleap> I have so many damn problems and questions.
[14:45] <neXTleap> I don't know which to begin with.
[15:00] <Abhijit> hello
[15:00] <Abhijit> I need to program ffmpeg to use vaapi when there is intel drivers present. Can anyone guide me on this how to do? etc?
[15:00] <Abhijit> I have seen that ffmeg is using vdpau all the time
[15:49] <EmmanuelJacobs> Hi everybody
[15:51] <EmmanuelJacobs> I'm trying to watch (ffplay) a udp multicast mpegts with this command: ffplay -f mpegts -i udp://224.10.1.1:1234?localaddr=192.168.56.1
[15:52] <EmmanuelJacobs> I was hoping the localaddr stuff would let me specify on which of my network interfaces I would try to join the multicast stream (aka where will my OS send the IGMP stuff).
[15:52] <EmmanuelJacobs> It seems changing value of localaddr doesn't change anything: IGMP joins are always sent on same interface.
[15:53] <EmmanuelJacobs> So my question is: is there something I can use (paramater) to specify what source interface to use to try to catch the multicast stream ?
[16:08] <optics> Hello, is this an appropriate channel seek some help with ffmpeg?
[16:10] <optics> I have an issue with ffmpeg and the handling of two live streams as input..    command is:    ffmpeg -i "rtmp://127.0.0.1/live/streamA.sdp live=1" -i "rtmp://127.0.0.1/live/streamB.sdp live=1" -vcodec copy -acodec copy -f flv -map 0:0 -map 1:0 rtmp://127.0.0.1/live/streamC.sdp
[16:11] <optics> if streamB.sdp is stopped or really if streamA.sdp is stopped (but not both) encoding continues within ffmpeg
[16:19] <cbsrobot> optics: maybe you can add -shortest
[16:19] <optics> aha ok i will try
[16:21] <cbsrobot> EmmanuelJacobs: when did you build your ffmpeg ?
[16:21] <cbsrobot> or in other words - what version are you using ?
[16:21] <optics> cbsrobot: that did the trick it seems!!!!  thanks!
[16:21] <cbsrobot> optics: np
[16:38] <EmmanuelJacobs> cbsrobot: FFmpeg git-26c531c, win64 from http://ffmpeg.zeranoe.com/builds/
[16:38] <EmmanuelJacobs> cbsrobot: sry for late answer...
[16:47] <EmmanuelJacobs> cbsrobot: I see in the source code (udp.c at udp_join_multicast_group) that INADDR_ANY is used when joining a multicast stream. Question is what is the expected behavior of the OS (Windows / Linux) while using this option : one IGMP query on any interface ? one IGMP query on intarfaces configured with default GW ? In my case (Wion7pro x64) IGMPs are getting out only my WiFi interface (none on my VPN or local VirtualBox interfaces
[17:18] <urand0m> To crop the input video to 16:9 instead of padding, I do this but I would like to use 512x288. How would I mod this to do what I want.
[17:18] <urand0m> "scale=iw*sar:ih , crop=min(iw\,ih*(16/9)):ow/(16/9)" -aspect 16:9
[17:19] <Mavrik> urand0m: you'd probably want to switch the filters
[17:19] <Mavrik> hrm
[17:19] <Mavrik> or not, sorry
[17:19] <urand0m> This scales the input width to make the pixels square.  This means that
[17:19] <urand0m> subsequent padding/cropping/scaling operations are done on square-pixel
[17:19] <urand0m> video frames.
[17:19] <Mavrik> yeah, just noticed
[17:19] <Mavrik> :)
[17:20] <urand0m> Any ideas from anybody are more then welcome
[17:21] <urand0m> The reason for 512x288 16:9 is that is is dividable by 8
[17:23] <urand0m> Making a nice profile for my Samsung S3 phone. A 2 pass encoding using a high profile and preset of veryslow.
[17:32] <barque> I think I'm basically wasting a lot of time probing the codec etc. on a video. How do I force the codec to use on libavcodec instead of using it to figure out which codec to use... and on that note any other way to speed up video loading?
[17:33] <Mavrik_> barque: via API or ffmpeg executable?
[17:33] <barque> API
[17:33] <barque> libavcodec
[17:33] <barque> I'm also using custom IO
[17:33] <barque> callbacks
[17:34] <barque> I'm doing in the given order:
[17:34] <barque> 1. avio_alloc_context()
[17:34] <barque> 2. (grabing bytes to feed formatctx)
[17:34] <barque> 3. avformat_open_input()
[17:34] <barque> 4. av_find_stream_info()
[17:35] <barque> 5. search for video stream
[17:35] <barque> 6. avcodec_find_decoder()
[17:35] <barque> 7. avcodec_open()
[17:35] <barque> 8. alloc frames
[17:35] <barque> 9. avpicture_get_size() and av_picture_fill()
[17:36] <Mavrik_> barque: well, if you really know what streams you have on the input you can skip avformat_find_stream_info
[17:36] <Mavrik_> which does the probing
[17:37] <Mavrik_> barque: with that you can also lower the probe size
[17:37] <Mavrik_> which will speed up your startup
[17:38] <barque> How large should the probe really be?
[17:38] <barque> I'm doing 5 megs of reads
[17:38] <barque> how much do I honestly need?
[17:38] <barque> for theora
[17:38] <Mavrik_> wow, that's alot
[17:38] <Mavrik_> what's your container?
[17:38] <Mavrik_> ogg?
[17:38] <barque> Theora/OGG
[17:38] <barque> only
[17:38] <barque> yep
[17:38] <barque> I give it I'm wasting a huge amount of byte reads for formatCtx
[17:39] <Mavrik_> barque: well, ogg headers are only like 300B long
[17:39] <barque> wow so a 300B read should suffice?
[17:39] <Mavrik_> reading 512K or so should give you all info you need
[17:39] <Mavrik_> I suggest you test that :)
[17:40] <barque> well I'm trying to keep it super super minimal
[17:40] <barque> I've done all the wasting now it's time for clean up
[17:46] <heeventuli> hi guys, i'm trying to create thumbnails, according to the documentation this should work: ffmpeg -i input.flv -f image2 -vf fps=fps=44 out%d.png  but i'm getting an error: ffmpeg: unrecognized option '-vf'
[17:46] <heeventuli> how can i solve this?
[17:46] <heeventuli> whoop, sorry. solved. i was calling the wrong ffmpeg-version :/ works fine with the latest ^^
[17:47] <barque> so I've got my probe length down to 32k
[17:47] <barque> much much faster
[17:48] <barque> what else to do?
[17:50] <barque> skip find_stream_info and go right to my video stream?
[17:50] <barque> I know I have a video stream at index 0
[17:52] <barque> is avcodec_find_decoder reasonably fast or should I use a replacement given that I know I'm gonna be using Theora/OGG?
[17:53] <barque> also how do I really replace av_find_stream_info ()?
[17:53] <barque> I need nb_streams and streams[] no?
[18:09] <astanton_> I'm trying to convert a set of pngs into an avi file; is there a way I can control the duration of the video?
[18:10] <smj> astanton_, do you mean something other than playback speed / frame rate?
[18:10] <astanton_> smj, I suppose playback speed would be what I'm looking for
[18:11] <astanton_> assuming that could be set as part of the conversion?
[18:11] <smj> can you try using a higher frame rate? http://ffmpeg.org/ffmpeg.html#Examples-1
[18:11] <astanton_> we have an animated gif which is gigantic that I'm trying to convert to video, but it plays much faster than the gif does
[18:13] <smj> I don't know why I assumed you needed the video to play faster, but try different frame rates
[18:13] <astanton_> dropping down the framerate doesn't appear to change the duration, which is interesting
[18:13] <smj> indeed
[18:14] <astanton_> hmm
[18:14] <smj> are you sure you put output file options before output file name?
[18:14] <astanton_> output file is the last item
[18:15] <astanton_> avconv -i DxWer_%05d.png -r 10 -c:v libx264 -fs 3000000 -preset slow -crf 35 DxWer.avi
[18:16] <smj> does dropping -fs change the duration?
[18:18] <astanton_> doesn't appear to
[18:19] <MIG-> I think there is an input and output framerate (-r)
[18:19] <MIG-> try a -r after the libx264
[18:19] <astanton_> MIG-, giving it a shot
[18:19] <MIG-> k
[18:20] <astanton_> appears to output the same
[18:20] <MIG-> :(
[18:21] <astanton_> hmm, I might have to try doubling up the slides
[18:22] <smj> try setting the framerate as an input file option
[18:22] <astanton_> how would I do that?
[18:23] <smj> put -r 10 before -i
[18:23] <astanton_> gotcha
[18:24] <astanton_> smj, brilliant
[18:24] <astanton_> that fixed it
[18:24] <smj> great :)
[18:24] <astanton_> thank you :)
[18:25] <astanton_> now our poor users won't suffer trying to download a 20mb gif file
[18:37] <ura> Good evening!
[18:38] <smj> hi there
[18:39] <ura> I'm trying to concatenate several ac3 streams, and running ffmpeg -i concat:"one.ac3|two.ac3|three.ac3" out.aac, but looks like ffmpeg does not treat "concat:" specially it just tell that no such directory "concat:one.ac3|two.ac3|three.ac3"
[18:42] <smj> what ffmpeg version are you using?
[18:49] <aleix> i'm following these advises to mitigate packet loss: http://doom10.org/index.php?topic=733.0
[18:49] <aleix> but frmo time to time i get: "Missing reference picture" and then "decode_slice_header error"
[18:50] <aleix> when this happens the horizontal refresh is clearly seen on the streamed video
[18:51] <aleix> i was expecting that this would only affect to one slice, not the whole image
[18:51] <aleix> this only happens with "decode_slice_header error". if I only get "Missing reference picture", then everything looks fine
[18:53] <cbsrobot> ura: try: http://ffmpeg.org/ffmpeg.html#concat
[18:54] <cbsrobot> just make sure all three files ahve the same bitrate
[18:56] <ura> I'm trying to concatenate several ac3 streams, and running ffmpeg -i concat:"one.ac3|two.ac3|three.ac3" out.aac, but looks like ffmpeg does not treat "concat:" specially it just tell that no such directory "concat:one.ac3|two.ac3|three.ac3"
[18:57] <cbsrobot> burek: btw - this could be added to your concat page too
[18:57] <ura> I'm sorry I hit the wronk gey
[18:57] <ura> key
[18:57] <cbsrobot> heh - np
[18:57] <cbsrobot> ura: did it work ?
[18:57] <ura> cbsrobot,  thanks! but I can't make demuxers work: Unable to find a suitable output format for '–list-demuxers' –list-demuxers: Invalid argument
[18:58] <cbsrobot> show me your concat file ...
[18:58] <cbsrobot> and as the manual says: This script format can currently not be probed, it must be specified explicitly.
[18:58] <ura> I didn't yet created it, I just want to make sure that concat demuxer is available
[18:58] <cbsrobot> and you need a pretty recent ffmpeg !
[18:58] <ura> ah, I see
[18:58] <ura> I have ffmpeg 1.0
[18:59] <cbsrobot> I think it was added afterwards
[19:00] <cbsrobot> yeah: https://raw.github.com/FFmpeg/FFmpeg/master/Changelog
[19:00] <cbsrobot> - Virtual concatenation demuxer
[19:00] <cbsrobot> was after 1.0
[19:01] <ura> so may be concat protocol works for current ffmpeg as well ;-)
[19:01] <burek> cbsrobot, it's our page, so feel free to update it :) it's not "mine" :)
[19:01] <emerica_> works here but  with -i "concat:file|file|file"
[19:01] <cbsrobot> hehe I give you a beer if you do it ...
[19:01] <cbsrobot> a cold one
[19:01] <burek> ok :)
[19:01] <cbsrobot> almost freshly brewed
[19:02] <burek> i'll read these logs later, after i finish something :)
[19:02] <cbsrobot> np
[19:02] <cbsrobot> I know your busy reading wired stuff
[19:02] <ura> cbsrobot, thank you very much for help, but I just found a simpler workaround, I use ffmpeg just for conversion, and I use MP4Box to concatenate MP4 files
[19:02] Action: cbsrobot looks at fate
[19:03] <cbsrobot> ura: can mp4box concatenate ac3 ?
[19:03] <cbsrobot> and burek another thing
[19:03] <cbsrobot> maybe daemon404 can help with the cross compile
[19:04] <cbsrobot> he uses win linux and bsd (maybe arm too)
[19:04] <ura> I have a bunch of files *.ac3 and *.m4v. I convert ac3 files to aac with ffmpeg separately. Then I mux aac+m4v to mp4 with MP4Box, and after this I concatenate all mp4 files with MP4Box
[19:05] <cbsrobot> ura: sounds reasonable
[19:05] <burek> cbsrobot, oh, cool :) i'll see to ask him if he is willing to be part of it too
[19:05] <burek> it would be great if we could provide static builds, people tend to like it a lot :)
[19:05] <ura> I planned to make one big AAC file and one big M4V and mux them, but I'll be happy with muxing files separately and merging afterwards :)
[19:05] <cbsrobot> ura: its advisable for the sake of sync
[19:09] <ura> thanks, I just realized this. It turned out that total length of ac3 files does not equal to total length of m4v files. So you right, muxing separately is even better, I will (and I need) to adjust audio delay for each file. Hopefully I tsdemuxer wrote delay information to log when it demuxed m2ts
[19:10] <cbsrobot> ura: why not convert directly from m2ts to mp4 ?
[19:13] <ura> It's a long story :) For some reason ffmpeg does not demux correctly m2ts, and not even demux but also does not decode correctly (camera Canon HF200).
[19:14] <ura> So I use tsdemuxer to demux m2ts, and I use reference decoder (l2decod) to decode H.264 stream to YUV and then compress YUV to m4v.
[19:14] <ura> ffmpeg decoder decodes with flickering, but l2decod produces very nice picture without any flickering
[19:22] <cbsrobot> ura: can you share a file ?
[19:22] <cbsrobot> just a very short file that shows the problem ?
[19:23] <ura> cbsrobot, give me a several minutes I will make one
[19:23] <cbsrobot> np
[19:23] <ura> thanks for dealing with my problem!
[19:23] <cbsrobot> just post a link - I'll be back later too
[19:24] <cbsrobot> uau: did you see: http://jorgenmodin.net/index_html/archive/2010/01/01/hd-video-from-canon-hf200-on-ubuntu-linux---convert-and-play
[19:25] <durandal_1707> nooooo! sameq is there
[19:30] <MIG-> v4l2-ctl --list-formats includes yuv as the first supported format and mjpeg as the second
[19:30] <MIG-> I try to force ffmpeg to use mjpeg, but it wants to use yuv
[19:30] <MIG-> ffmpeg -loglevel verbose -r 9 -f video4linux2 -vcodec mjpeg -i /dev/video0 -vcodec libx264 -r 9 -preset ultrafast -f flv
[19:31] <cbsrobot> durandal_1707: yeah sure - what else :-)
[19:31] <MIG-> My end goal is to reduce the processing power required to encode to x264.  I wanted to try going from mjpeg instead o yuv
[19:31] <cbsrobot> ura: thanks
[19:31] <cbsrobot> and as durandal_1707 pointed out dont' use -sameq
[19:32] <cbsrobot> use -q:v 2 instead
[19:32] <JEEB> ugh
[19:32] <JEEB> why quants and not crf with libx264 :<
[19:33] <JEEB> unless this had nothing to do with libx264
[19:33] <JEEB> just tried to match the comments with the latest lines of someone else
[19:33] <JEEB> lol
[19:33] <ura> cbsrobot, probably new ffmpeg has fixed demuxer and decoder :) I just encoded m2ts directly and everything fine.
[19:33] <cbsrobot> damn it
[19:34] <JEEB> MIG-, if you select the mjpeg input you'd have to both decode and encode
[19:34] <cbsrobot> JEEB I should stop doing 3 things at the same time
[19:34] <JEEB> granted, mjpeg is fast to decode, but still raw YCbCr is easier to read than MJPEG
[19:34] <cbsrobot> ura: nice
[19:34] <MIG-> ok JEEB
[19:34] <MIG-> thanks, then I don't have to fix that issue :0
[19:34] <JEEB> of course some cameras give you a higher frame rate with mjpeg
[19:34] <JEEB> since it's compressed
[19:35] <JEEB> but that has nothing to do with processing power on your side
[19:35] <MIG-> I see
[19:35] <JEEB> just that you are getting more frames per second in
[19:35] <JEEB> (which leads to more processing needed)
[19:35] <MIG-> ya, I'll look into my framerate
[19:35] <ura> cbsrobot, thank you very much! raw video (YUV) used so much space on my HD when I encoded :) Now I know I can encode directly from m2ts :) mplayer plays video without flickering as well (I think this because mplayer2 which I use is using ffmpeg libraries)
[19:36] <ura> but I already encoded YUV files, so I will synchronize m4v manually last time :)
[19:46] <Renacor> ffmpeg -i '/home/vhosts/media/8a6ccd6b33007d903e1de6f5b1d4c4c3d1d3576a13557518879284.mov' -vcodec mpeg4 -mbd 2 -flags +mv4 -trellis 2 -s 480x320 /home/vhosts/media/bf9c9cfa6f0770737a9baec8369fb1676581358b1355751892511.mp4 <--- any reason this would produce an empty mp4 file?
[19:47] <JEEB> Renacor, can you pastebin the full output of that?
[19:48] <Renacor> JEEB: yes one min
[19:48] <Renacor> JEEB: http://pastebin.ca/2295003
[19:49] <JEEB> add -strict experimental?
[19:49] <JEEB> lol
[19:49] <JEEB> it defaults to AAC, and in this case to the internal AAC encoder
[19:49] <JEEB> which needs -strict experimental
[19:49] <JEEB> if you need AAC, I do recommend you just build with libfdk-aacenc
[19:49] <JEEB> https://github.com/mstorsjo/fdk-aac
[19:49] <Renacor> is that why the files are coming up empty?
[19:50] <JEEB> yes, because it won't do anything if it can't use what it selected or what you set, in this case AAC just happens to be the default audio format for mp4
[19:50] <JEEB> and in your case the only AAC encoder it found was the internal one, which is under the "experimental" lable
[19:51] <Renacor> so what flag do I set?
[19:52] <Renacor> ffmpeg -strict experimental -i '/home/vhosts/media/8a6ccd6b33007d903e1de6f5b1d4c4c3d1d3576a13557518879284.mov' -vcodec mpeg4 -mbd 2 -flags +mv4 -trellis 2 -s 480x320 /home/vhosts/media/bf9c9cfa6f0770737a9baec8369fb1676581358b1355751892511.mp4 <-- like so?
[19:52] <JEEB> after -i, output settings go there
[19:52] <JEEB> that'd be setting -strict experimental for the input
[19:52] <JEEB> but I'd say you really want to build fdk-aac if you want to encode AAC :)
[19:52] <JEEB> the libavcodec's implementation isn't exactly good
[19:57] <Renacor> JEEB: thank you for the help!
[20:45] <bastian^1eimar> hi devs. embedded/ram-problem: i use ffmpeg to create a video out of a lot of pictures. at the moment i guess which image ffmpeg has already eat and delete it during conversion to save RAM. is'nt there something like: 'ffmpeg -f image2 -i img_%d.jpg -vcodec mpeg4 \$FILE --auto-delete-images'?
[20:50] <microchip_> bastian^1eimar: nope
[20:52] <bastian^1eimar> microchip_: thanks for the answer, i will read the source, maybe this is easy to add...
[20:53] <microchip_> good luck :)
[21:29] <joseph> I've noticed that merely changing the frame size of a video from, say, 1280x720 to 640x360 doesn't necessarily do much for its file size. Is bitrate a better judge of a file's size?
[21:32] <JEEB> how are you encoding otherwise?
[21:35] <joseph> Well, we generally use Adobe Media Encoder CS5.5 to do all of our encoding.
[21:36] <joseph> But I have a bunch of 720p videos that I need to put on this iPad and there isn't enough space. So I'm thinking about using ffmpeg to re-encode them all to smaller file sizes. But I've noticed that file size doesn't change much just when I change the frame size.
[21:38] <JEEB> just post your damn current command line, would you please? ;)
[21:39] <joseph> I don't have a command line.
[21:39] <joseph> I haven't gotten that far yet.
[21:39] <JEEB> eh
[21:39] <JEEB> then how did you encode with ffmpeg?
[21:39] <joseph> Hence my original question.
[21:39] <joseph> I haven't yet. I'm deciding whether or not it is a suitable alternative to Adobe Media Encoder CS5.5.
[21:39] <joseph> Well, trying to decide.
[21:39] <JEEB> ...I am /very/ much confused
[21:39] <JEEB> "I've noticed that merely changing the frame size of a video from, say, 1280x720 to 640x360 doesn't necessarily do much for its file size."
[21:40] <joseph> Right.
[21:40] <JEEB> did you encode these with what exactly?
[21:40] <joseph> So what does do much for file size?
[21:40] <joseph> Bitrate?
[21:40] <JEEB> ...
[21:40] <JEEB> so did you encode those files with the adobe thingy or ffmpeg?
[21:40] <joseph> Adobe.
[21:41] <JEEB> ok
[21:41] <joseph> So I guess my question is slightly off-topic.
[21:41] <JEEB> so it most probably had a file size (average bit rate) set
[21:41] <joseph> Is average the same as variable?
[21:42] <JEEB> it is generally always variable, but the value you set is generally used as the average over the whole duration of the file, which leads to a set file size with the same length of the video
[21:42] <joseph> Okay, so a small average bitrate generally translates to a smaller file size.
[21:42] <JEEB> yes
[21:42] <joseph> So the frame size is less important.
[21:43] <joseph> Okay, cool.
[21:43] <JEEB> depends on how you're encoding
[21:43] <JEEB> I'm just reading between the lines that you're setting a bit rate
[21:43] <JEEB> instead of using a "quality-based" encoding mode
[21:43] <JEEB> like crf in libx264
[21:43] <joseph> Hm.
[21:43] <joseph> Well, when you use Final Cut to export a file using Quicktime Conversion, there are quality sliders.
[21:43] <JEEB> QUICKTIME >_<
[21:43] <JEEB> fuck
[21:43] <JEEB> fuck that shit forever
[21:44] <joseph> You don't have to convince me, dude.
[21:44] <JEEB> the AAC encoder Apple bought
[21:44] <JEEB> is OK
[21:44] <joseph> Can ffmepg handle Quicktime?
[21:44] <JEEB> the H.264 encoder is fucking garbage
[21:44] <joseph> Right
[21:44] <joseph> That's why we use Adobe Media Encoder a lot.
[21:44] <durandal_1707> ???
[21:44] <JEEB> ffmpeg can eat most stuff Final Cut produces, including prores
[21:44] <joseph> Quicktime seems unable to export an MP4 with the moov element at the beginning of the file, but it can in a Quicktime container. PITA.
[21:45] <JEEB> mov and mp4 are pretty much the same thing
[21:45] <JEEB> (not fully, but in many things)
[21:45] <joseph> JEEB: Not when it comes to exporting from Final Cut.
[21:45] <JEEB> well, technically they still are :P
[21:45] <JEEB> and ffmpeg supports both
[21:45] <joseph> Right.
[21:45] <joseph> Well, I'm looking at using ffmpeg to do all of our encoding.
[21:45] <JEEB> I think Apple Intermediate format isn't supported, but prores is
[21:46] <JEEB> ffmpeg + libx264 + fdk-aac for AAC sounds good enoug
[21:46] <joseph> If I can just figure out the right way to set up a watch folder.
[21:46] <JEEB> *enough
[21:46] <redgetan> when i do "ffmpeg -i some_vid.mp4 -acodec copy -vcodec -bsf h264_mp4toannexb copy out.ts", it gives me "Unable to find a suitable output format for 'h264_mp4toannexb'"
[21:46] <redgetan> what do i need to do to enable mp4toannexb
[21:46] <JEEB> redgetan, maybe put the copy into the correct place :D
[21:47] <redgetan> oh
[21:47] <JEEB> lol
[21:47] <redgetan> i didnt notice that
[21:47] <redgetan> haha
[21:47] <redgetan> stupid hehe
[21:47] <JEEB> joseph, anyways -- just make sure you feed as good stuff as possible to ffmpeg :)
[21:48] <JEEB> I wonder if final cut can output Ut Video if you install the output module for lossless export
[21:48] <JEEB> s/output/quicktime/
[21:48] <joseph> Never heard of Ut Video
[21:48] <JEEB> it's something that came out a couple of years ago, got popular around certain circles about a year ago
[21:48] <JEEB> a simple lossless compression format
[21:48] <joseph> We generally export a 720p Quicktime container that has video encoded via H.264 and audio encoded via AAC.
[21:49] <JEEB> that supports all general OSs
[21:49] <JEEB> Win/OS X/linux
[21:49] <JEEB> has components for VFW/DS/MF and QT on OS X
[21:49] <JEEB> joseph, so basically you already compress it relatively highly and /then/ want to re-encode that to something >_>
[21:50] <JEEB> personally I would rather just output something close-to-the-source once, and encode that into X things for X use cases
[21:50] <JEEB> instead of doing a double lossy
[21:50] <joseph> Could you elaborate on that?
[21:51] <JEEB> output Ut Video/Prores/something else of high quality (Prores is not lossless, but I guess it's "close enough"), and then use ffmpeg to encode that into the use cases you have?
[21:51] <joseph> hm
[21:51] <JEEB> http://umezawa.dyndns.info/wordpress/?p=3074 <- Ut Video if you want to try it out, I'd like to know if Final Cut lets you pick it from the list of QT output formats after being installed
[21:52] <JEEB> Ut Video would be something lossless and compressed
[21:52] <JEEB> in "pro" realm stuff is either lossless and uncompressed, or lossy and compressed
[21:58] <joseph> Right, I could export uncompressed, but we do so much video I don't have the capacity to store it all.
[22:00] <joseph> It would be nice to use maybe shellscripts and ffmpeg to drop a single exported file into a folder and have all the renditions done automatically, and maybe even automatically upload to destinations with corresponding metadata and such.
[22:00] <joseph> But that's above my abilities at the moment.
[22:00] <joseph> heh
[22:01] <joseph> What's the difference between ffmpeg and x264?
[22:03] <durandal_1707> x264 is encoder for single codec
[22:04] <joseph> So it's not part of ffmpeg?
[22:05] <durandal_1707> it is separate project
[22:06] <m_pfeuti> hi guys. I'm triying to copy a avi video with the ffmpeg api. everything seems to work except the indicated fps of the resulting avi is 24000. I succeeded in copying mp4, mkv, and other. Is there some pitfall/trick in the case of avi?
[22:16] <digitalfiz> I'm having a bit of trouble concatnating some videos can someone help
[22:17] <digitalfiz> i have this: ffmpeg -i concat:"unprocessed/encoded/6_min_test-0.mp4|unprocessed/encoded/6_min_test-1.mp4|unprocessed/encoded/6_min_test-2.mp4|unprocessed/encoded/6_min_test-3.mp4|unprocessed/encoded/6_min_test-4.mp4|unprocessed/encoded/6_min_test-5.mp4" -vcodec copy -acodec copy -y 6_min_test-done.mp4
[22:17] <digitalfiz> which should make a 6 minute long video, what it was originally but it only makes a 1 minute video
[22:18] <digitalfiz> Duration: 00:01:00.02, start: 0.000000, bitrate: 7180 kb/s
[22:18] <ubitux> you can't concat mp4 using protocol
[22:18] <digitalfiz> and then i see all the videos listed and Stream #0.0 #0.1 #0.1 ect
[22:18] <ubitux> it's a binary concat
[22:18] <ubitux> use the concat demuxer
[22:19] <digitalfiz> is that a different program?
[22:19] <ubitux> no
[22:19] <ubitux> https://www.ffmpeg.org/ffmpeg.html#concat
[22:20] <digitalfiz> so when im re-encoding the emaller files i should output as ts?
[22:20] <digitalfiz> smaller*
[22:21] <ubitux> if you need to re-encode, you can use the concat filter
[22:22] <digitalfiz> well this is what i am doing maybe you can help
[22:23] <digitalfiz> i am wanting to take a 6 minute video in whatever format, split it up into 1min sections and convert to a specified format and then concat back the specified format needs to be whateer i specify
[22:24] <digitalfiz> with that in mind should i be encoding with mpeg4 but outputting to a .ts? or should i do the normal encoding then do a demuxing then concat
[22:25] <digitalfiz> i know that i am not in a full understanding of audio/video encoding so please excuse my ignorance :(
[22:27] <ubitux> split can be done with -f segment https://www.ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment
[22:27] <ubitux> convert can be done at that step too
[22:27] <ubitux> then depending on your format you can use concat filter, demuxer or protocol
[22:28] <ubitux> filter: needs re-encode, demuxer: if you don't want to re-encode and your format doesn't support file level concat, protocol: if your format support file level concat (like mpeg)
[22:29] <digitalfiz> i dont want to convert while im splitting. the point of the splitting is so i can distribute the encoding over multiple machines then join them back later
[22:30] <ubitux> it is possible, but not mandatory
[22:32] <digitalfiz> man this hurts my brain
[22:38] <ubitux> take one step at a time
[22:38] <ubitux> are you done with segmentation?
[22:39] <ubitux> the concat filter is documented here: https://www.ffmpeg.org/ffmpeg-filters.html#concat
[22:40] <ubitux> use it if you need to re-encode at concatenation
[22:40] <ubitux> otherwise, look for the concat demuxer: https://www.ffmpeg.org/ffmpeg-formats.html#concat
[22:41] <ubitux> if your input is mpeg ps or another format supporting file level concat, you can use the concat protocol like you did in the command line you pasted
[22:41] <ubitux> (mp4 is not mpeg ps)
[22:41] <ubitux> (it definitely does not support file level concatenation)
[22:53] <digitalfiz> the link for concat demuxer doesnt show any examples or anything that needs to be passed to it
[22:59] <ubitux> it's pretty recent
[22:59] <ubitux> put a list of files into a text file
[22:59] <ubitux> then ffmpeg -f concat -i your-list ...
[22:59] <ubitux> something like this should work
[22:59] <ubitux> according to what i read
[23:00] <digitalfiz> and they can be mp4s?
[23:00] <ubitux> yes, afaict
[23:02] <digitalfiz> Unknown input format: 'concat'
[23:03] <digitalfiz> ffmpeg version 0.10.6-6:0.10.6-0ubuntu0jon1~precise1
[23:04] <ubitux> this is way too old
[23:04] <ubitux> we released 0.11 and 1.0 since then
[23:05] <digitalfiz> ill compile that bad boy by hand then :)
[23:05] <ubitux> concat format is not even in 1.0 btw, you need to use git/HEAD
[23:05] <digitalfiz> ok
[23:09] <ubitux> not sure how accurate this is, but it may help you: https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
[23:09] <ubitux> also, for quick testing:
[23:10] <ubitux> burek: binary sizes increased a lot between 16/12 and 17/12; what happened?
[23:19] <barque> what's the reverse of av_register_all ()?
[23:19] <barque> essentially what do I do on clean up... if anything is necessary at all...
[23:21] <Zeeflo> am I understanding correctly that webM +h264 is a better solution for streaming?
[23:21] <Zeeflo> better then mp4
[23:23] <ubitux> barque: afaik it only does static init
[23:24] <ubitux> barque: make a simple program calling av_register_all(), run a valgrind on it; shouldn't leak
[23:24] <ubitux> Zeeflo: mp4 is not designed at all for streaming, it's an editing format
[23:24] <ubitux> h264 in webm is not possible though
[23:25] <Zeeflo> it is
[23:25] <Zeeflo> isnt it?
[23:25] <ubitux> webm is vp8/vorbis only
[23:25] <Zeeflo> is it not possible to encode h264 with webm?
[23:25] <Zeeflo> http://mediaelementjs.com/#plugins
[23:25] <ubitux> you can put h264 in mkv, but it's not allowed in webm
[23:25] <Zeeflo> look down at the Browser And Support
[23:26] <Zeeflo> WebM + h.264
[23:26] <ubitux> it certainly refers to mp4
[23:26] <Zeeflo> what should I encode my movies in, if I want the best support for streaming..
[23:26] <ubitux> mp4/h264
[23:26] <Zeeflo> alright
[23:26] <ubitux> define "best"
[23:26] <Zeeflo> crossplatform best
[23:27] <Zeeflo> ios/android/pc/mac etc
[23:27] <ubitux> http://www.webmproject.org/docs/container/
[23:27] <Zeeflo> i have always gotten the notion that mp4 is best for streaming..
[23:27] <ubitux> mp4 is definitely designed for editing
[23:28] <Zeeflo> yes, but every html5 player out there suggest using mp4
[23:28] <ubitux> it works for streaming because of a various hack/layer
[23:28] <Zeeflo> how come?
[23:28] <Zeeflo> hmm
[23:28] <ubitux> html5 player?
[23:28] <Zeeflo> yea, like mediaelements js player etc
[23:29] <ubitux> the problem with streaming and mp4 is seeking
[23:29] <Zeeflo> all rtmp players for integration on websites say, use mp4 and ogm
[23:29] <Zeeflo> im using qtfaststart to moove the atoms
[23:29] <Zeeflo> and rtmp streaming via cloudfront
[23:29] <ubitux> you can use -movflags +fastatrt for this
[23:29] <ubitux> faststart*
[23:29] <joseph> JEEB: That URL you pasted about Ut video? It's in Japanese, dude.
[23:30] <Zeeflo> i can?
[23:30] <Zeeflo> then I dont need to qtfaststart it after encoding?
[23:30] <ubitux> yes
[23:30] <Zeeflo> that is most awesome
[23:30] <ubitux> :)
[23:30] <Zeeflo> this is my usual ff line:
[23:31] <JEEB> joseph, yes -- unfortunately the developer hasn't made a proper English site. There is an English readme as well as the download links for windows/os x should be understandable tho
[23:31] <Zeeflo> http://pastebin.ca/2295056
[23:31] <Zeeflo> with these settings, i get good quality in somewhat smaller files..
[23:31] <ubitux> if you want to stream mp4, maybe a wise choice would be to look into HLS solution and similar
[23:31] <Zeeflo> HLS solution?
[23:31] <JEEB> joseph, it does have a thread on doom9 as well a channel on freenode, and enough users from abroad
[23:32] <ubitux> Http Live Streaming
[23:32] <ubitux> it's splitting a mp4 or ts file into chunks
[23:32] <ubitux> and create a playlist
[23:32] <Zeeflo> isnt that just pseudo streaming you mean?
[23:32] <ubitux> which avoid adding hack server wise for seeking, or require a player supporting range requests
[23:32] <ubitux> yeah
[23:33] <Zeeflo> im actually quite happy with cloudfront streaming..
[23:33] <Zeeflo> it really does the job well
[23:33] <ubitux> no idea how cloudfront does it
[23:33] <burek> ubitux, i've included ffprobe too
[23:33] <burek> so far it was only ffmpeg
[23:33] <ubitux> burek: oh, i see, ok :)
[23:33] <Zeeflo> its true rtmp streaming
[23:34] <Zeeflo> so, this -movflags +faststart
[23:34] <Zeeflo> where does it go? before the -c:v ?
[23:34] <Zeeflo> or before the target?
[23:34] <ubitux> anyway, if you want the "best" solution, without splitting into chunk your files, i'd recommend to make 2 versions of your encode ; one webm/vp8+vorbis and one mp4/h264+aac
[23:34] <ubitux> -movflags +faststart is a muxer option, so as output option
[23:34] <Zeeflo> ok
[23:35] <Zeeflo> hmmm
[23:35] <Zeeflo> my mp4/h264+aac is fine
[23:35] <ubitux> ...and then select one or another depending on the browser
[23:35] <ubitux> well mp4/h264 won't work with all browsers
[23:35] <ubitux> such as firefox
[23:35] <ubitux> unless you have a flash player in front
[23:36] <Zeeflo> chrome is closing mp4 h264 as well
[23:36] <Zeeflo> theyre gonna go with webm
[23:36] <Zeeflo> so soon chrome needs flash as well if its mp4
[23:36] <JEEB> "soon"
[23:36] <JEEB> they said they will remove H.264 at some point, but that point still hasn't happened
[23:36] <JEEB> and I'd guess it'll never happen
[23:36] <ubitux> i doubt they will :)
[23:36] <Zeeflo> nevertheless, i cannot ignore all the iOS users out there..
[23:36] <JEEB> ubitux, aye
[23:36] <Zeeflo> I gotta have the mp4 format
[23:36] <ubitux> make both
[23:37] <ubitux> deal with it.
[23:37] <Zeeflo> yea
[23:37] <ubitux> pay attention to your encode settings
[23:37] <ubitux> some devices won't accept every h264 level
[23:37] <ubitux> vp8 can be crappy pretty easily depending on the settings
[23:37] <ubitux> etc
[23:37] <Zeeflo> could you create a pastebin for webm/vp8+vorbis similar to my mp4/h264?
[23:38] <ubitux> try -b:v 0 -crf 21 maybe
[23:38] <Zeeflo> im not at all familiar with webm!
[23:38] <ubitux> btw,
[23:38] <ubitux> i see you're using ass hardsubbing; is your input all the time in .ass?
[23:38] <Zeeflo> what do you mean, if my input all the time in .ass?
[23:38] <dericed> haha
[23:39] <ubitux> yes
[23:39] <Zeeflo> ahh
[23:39] <Zeeflo> yes, i always use ass
[23:39] <ubitux> ok
[23:39] <Zeeflo> ffmpeg doesnt support srt
[23:39] <ubitux> it does
[23:39] <ubitux> vf subtitles=...
[23:39] <Zeeflo> NO way!
[23:39] <ubitux> added that the other day ;)
[23:39] <Zeeflo> are you shitting me!
[23:39] <ubitux> only works for text subtitles though
[23:39] <Zeeflo> HAH
[23:39] <Zeeflo> thats fine!
[23:39] <Zeeflo> all subs i have are srt
[23:40] <ubitux> dericed: btw, i don't think i'll have time to look into your timecode issue
[23:40] <Zeeflo> actually im converting those to ass all the time to encode them in the stream haha
[23:40] <ubitux> dericed: and i don't care much about it anymore, since i left my company :p
[23:40] <ubitux> dericed: sorry
[23:40] <ubitux> Zeeflo :)
[23:40] <dericed> ubitux: :( NOOOO who else will care about timecode
[23:40] <ubitux> no one, you're doomed
[23:40] <Zeeflo> wtf is timecode and why should I care?
[23:40] <ubitux> dericed: you should change you job
[23:40] <ubitux> your*
[23:41] <ubitux> Zeeflo: you shouldn't bother about it :)
[23:41] <Zeeflo> i wont then
[23:41] <ubitux> Zeeflo: broadcasting insanity, it's another world, don't worry about it ;)
[23:41] <dericed> ubitux: I'm losing patience with timecode myself
[23:41] <Zeeflo> i gotta get coffe now.. Im totally psyched!! I can use srt and faststart in my encoding!!
[23:42] <Zeeflo> i gotta get coffe to relax!!
[23:42] <ubitux> Zeeflo: i'm happy you like my faststart mov flags too ;)
[23:42] <Zeeflo> brb
[23:42] <Zeeflo> dude, you have no idea!!
[23:45] <Zeeflo> got my coffe! got my fags!!
[23:45] <Zeeflo> im f'ing ready to play!
[23:46] <Zeeflo> ubitux: where can I get your latest build?
[23:46] Action: Zeeflo slaps ubitux around a bit with a large trout
[23:46] <Zeeflo> there comes the trout!!
[23:47] <ubitux> sounds like coffee is efficient
[23:47] <Zeeflo> its Gevalia!!
[23:48] <Zeeflo> static builds by burek or relaxed?
[23:48] <Zeeflo> which one should I get for my deb. x64 system?
[23:49] <Zeeflo> 1.0.1 "angel" ?
[23:50] <ubitux> no, use the git/master
[23:51] <ubitux> vf subtitles isn't in 1.0
[23:51] <Zeeflo> i just need the ffmpeg executable
[23:51] <ubitux> faststart should be in, but i'm not sure
[23:51] <Zeeflo> ok
[23:51] <Zeeflo> yup, thats that burek one
[23:51] <Zeeflo> whats burek anyways?
[23:52] <ubitux> he's on the channel
[23:52] <Zeeflo> oh
[23:52] <Zeeflo> heh
[23:52] <Zeeflo> fyi, the faststart and probe is in it
[23:52] <ubitux> in the static build?
[23:52] <Zeeflo> yes
[23:53] <ubitux> sure, they are built daily
[23:53] <Zeeflo> you just said, you werent sure. Just letting you know :D
[23:53] <Zeeflo> this is so aweeeeesome!!
[23:54] <Zeeflo> oh ubitux: where do I define the srt font etc ?
[23:54] <ubitux> you can't, yet
[23:54] <Zeeflo> so, it automatically sets height etc?
[23:54] <Zeeflo> use Arial?
[23:55] <Zeeflo> bold? font size?
[23:55] <ubitux> yes it uses some common defaults with subtitles
[23:55] <Zeeflo> I use Arial Bold, font size 19 and default WidthxHeight
[23:55] <Zeeflo> where would I define that in my srt?
[23:55] <Zeeflo> sorry, in the -vf
[23:56] <ubitux> 23:54:39 <@ubitux> you can't, yet
[23:56] <Zeeflo> ahh.. ok
[23:56] <Zeeflo> then, whats the output then?
[23:56] <ubitux> ?
[23:56] <ubitux> http://pastie.org/5554911 ?
[23:56] <Zeeflo> what am I looking at?
[23:57] <Zeeflo> ASS_?
[23:57] <ubitux> subtitles are internally stored as ass
[23:57] <ubitux> vf subtitles is using libass for rendering
[23:58] <Zeeflo> ok
[23:58] <ubitux> it's just like vf ass, except that's in converting to ass the subtitles automatically
[23:58] <Zeeflo> very clever! ;)
[23:59] <ubitux> we're working on improving the subtitles support
[23:59] <ubitux> but there are a lot of things to do, so it's slow
[23:59] <ubitux> and we lack manpower
[23:59] <Zeeflo> if i had the skill, i would help!
[23:59] <Zeeflo> i dont however!
[23:59] <Zeeflo> i got money if you need it though
[00:00] --- Thu Dec 20 2012


More information about the Ffmpeg-devel-irc mailing list