burek021 at gmail.com
Fri May 23 02:05:01 CEST 2014
[00:45] <sgfdsf> Is it possible to use a differet codec for each GOP?
[00:47] <sgfdsf> sometimes x264 gives better compression and sometimes utvideo gives better compression so I was wondering if there was some sort of smart algorithm that tried encoding segments in each codec and selected the smaller pieces
[00:48] <voip_> hello guys, i need to convert avi to mp4
[00:49] <c_14> sgfdsf: pretty sure you can't do that
[00:49] <llogan> voip_: mp4 is just a container that can contain various formats of various types
[00:49] <Plorkyeran_> matroska segment linking could theoretically support it
[00:49] <Plorkyeran_> but nothing does
[00:50] <blippyp> voip_: short answer, try this: ffmpeg -i video.avi -c copy video.mp4
[00:50] <voip_> llogan, i uloaded avi file to wowza and cant play
[00:50] <Plorkyeran_> comedy option would be to generate an avisynth script that stitches together each individual segment
[00:51] <voip_> blippyp, tryed no success
[00:51] <blippyp> then you probably need to re-encode using a different codec
[00:52] <blippyp> something like: ffmpeg -i video.avi -c:v libx264 -crf 17 -c:a ac3 video.mp4
[00:53] <voip_> blippyp, whats mean -crf 17 ?
[00:53] <llogan> read this https://trac.ffmpeg.org/wiki/x264EncodingGuide
[00:54] <blippyp> refer to llogan's link... ;)
[00:54] <voip_> :)
[00:56] <voip_> blippyp, thanks
[00:56] <blippyp> np
[01:04] <voip_> [NULL @ 0x26c9a00] Unable to find a suitable output format for 'libx264'
[01:04] <voip_> version 2.2.1 static buil
[01:08] <voip_> ok found
[02:45] <vklimkov_> using ffmpeg on android to play mp4. i works but plays video corruped like this: http://picpaste.com/exeample-7z5JC5hS.png. What might be the reason??
[02:45] <vklimkov_> it*
[02:49] <klaxa> wild guess is you selected the wrong resolution for playback? it seems like the lines are offset by a few pixels every row
[02:49] <klaxa> but i don't know how you could set it up that way even
[02:49] <klaxa> maybe android is doing something weird
[02:51] <vklimkov_> klaxa: i'm using tutorial without modifications: http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/. So it looks like implementation staff, not compilation issue?
[02:52] <klaxa> no idea
[02:53] <klaxa> most likely your android application messing up
[02:53] <klaxa> not ffmpeg itself
[02:57] <vklimkov_> well. i was able to start one of the videos properly. no idea what i've done though. thanks anyway.
[06:04] <sgfdsf> so I'm encoding a 1080p video file in lossless x264 4:2:0 with -preset placebo. It is encoding at less than 1 FPS. Is there any way to make it faster while still using the same settings? I'm using 64-bit ffmpeg BTW.
[06:10] <JEEB> lol, 1) make sure your x264 has asm opts enabled (you should have a line of SIMD [SSE2 etc] enabled in libx264's log that it outputs to terminal) 2) get a faster computer
[06:10] <JEEB> preset placebo is slow
[06:10] <JEEB> I mean, very very slow
[06:10] <JEEB> should only be used when doing quality benchmarks where you aim for maximum quality on both/all encoders
[06:10] <JEEB> unless you of course get a fast enough speed from it :P
[06:11] <JEEB> (for example I get ~4fps with 720p24 and that's kind of OK)
[06:11] <JEEB> but by choosing a faster preset like even veryslow will only lose you some compression, while giving a nice boost to speed
[06:12] <JEEB> if you need to go faster, then just pick a faster preset :) (or get a faster machine, but that's a whole separate area of discussion)
[06:12] <sgfdsf> ok so a couple questions
[06:13] <sgfdsf> do the speed presets work with all video codecs?
[06:13] <JEEB> no
[06:13] <sgfdsf> utvideo?
[06:13] <JEEB> no
[06:13] <sgfdsf> ok
[06:13] <sgfdsf> and regarding the ASM thing
[06:13] <JEEB> ut video just has the prediction mode, although I recommend just keeping it in the median mode
[06:14] <sgfdsf> why do you recommend that?
[06:14] <sgfdsf> I did not know it had multiple encoding modes
[06:14] <JEEB> not encoding modes
[06:14] <JEEB> it's just a manually hand-written SIMD code path
[06:14] <JEEB> which, surprise surprise, is faster than what a compiler can produce :P
[06:14] <sgfdsf> I mean the utvideo thing, sorry
[06:15] <JEEB> yes, ut video has two (actually three) encoding modes
[06:15] <JEEB> left and median
[06:15] <sgfdsf> and right?
[06:15] <JEEB> left is pretty much not worth it
[06:15] <JEEB> no
[06:15] <JEEB> the third is "none"
[06:15] <JEEB> which means there is no prediction
[06:15] <sgfdsf> so just RLE or something?
[06:16] <JEEB> well Ut Video is just RLE in the end :D it's just what gets done to the picture before that
[06:16] <sgfdsf> so none is no inter-frame encoding?
[06:16] <JEEB> there's no inter-frame prediction in Ut Video
[06:16] <JEEB> it's all intra
[06:16] <sgfdsf> fuck
[06:16] <sgfdsf> no
[06:17] <sgfdsf> a PNG sequence is way huger
[06:17] <sgfdsf> how can that be?
[06:17] <JEEB> the fuck I know :P There's plenty to PNG encoders, among other things
[06:17] <sgfdsf> so it's basically a still image encoder then
[06:17] <JEEB> yes
[06:18] <sgfdsf> awesome
[06:18] <JEEB> and if you have multiple slices it encodes multiple pictures
[06:18] <sgfdsf> slices?
[06:18] <JEEB> basically parts of the picture encoded separately
[06:18] <JEEB> that's how the official Ut Video decoder and encoder multithread
[06:18] <sgfdsf> but it's all intra
[06:18] <JEEB> and I've lately enabled slices by default in the lavc encoder
[06:18] <JEEB> yes, it's all intra
[06:19] <JEEB> basically you cut the picture after X height :P
[06:19] <sgfdsf> interesting
[06:19] <JEEB> and encode X pictures separately
[06:19] <JEEB> that's what slices are
[06:19] <sgfdsf> to use multiple cores
[06:20] <sgfdsf> it's a speed boost I presume
[06:20] <sgfdsf> so anyhow I assume lossless x264 is inter-frame then
[06:20] <sgfdsf> since lossy is
[06:20] <sgfdsf> and there's "correction frames" unless I'm mistaken
[06:21] <sgfdsf> but sometimes the inter-frame makes bigger files than the intra-frame
[06:22] <sgfdsf> so basically utvideo's image encoder uses fairy magic
[06:22] <sgfdsf> I bet it would make a great new lossless still image file format
[06:22] <JEEB> no, it most definitely does not use any kind of fairy magic :P
[06:22] <JEEB> you can check libavcodec/utvideoenc.c
[06:23] <JEEB> and H.264 can be all-intra or intra+inter
[06:23] <JEEB> depends on your setting
[06:23] <sgfdsf> oh boy
[06:23] <JEEB> default is a long'ish GOP so inter is used (since it is quite useful)
[06:23] <sgfdsf> yes indeed
[06:23] <sgfdsf> it looks weird at medium-bitrate lossy though
[06:24] <sgfdsf> like let's say it's at 20 mbps with a GOP size of 80
[06:24] <sgfdsf> and a moving camera
[06:24] <sgfdsf> there's image shifting all over
[06:24] <sgfdsf> I prefer just having more blur per frame
[06:25] <sgfdsf> but regarding lossless mode
[06:25] <sgfdsf> I assume the GOP size defaults to something pretty big
[06:25] <sgfdsf> the max was 100 according to somebody, don't know why though
[06:26] <sgfdsf> I would think automatic keyframe detection would be a bit better for detecting cuts and flashes and such
[06:26] <sgfdsf> then again I'm no expert
[06:38] <sgfdsf> sorry if I'm beng adummy
[06:38] <sgfdsf> how do I check if libx264 is compiled to use ASM?
[06:38] <sgfdsf> or am I misunderstanding
[06:42] <sgfdsf> ok I see now
[06:42] <sgfdsf> yes, my ffmpeg has "SSE2Fast"
[06:43] <sgfdsf> MMX2 and other SSE stuff
[06:43] <Plorkyeran_> pretty sure placebo 1080p would be way slower than 1fps without asm
[06:43] <sgfdsf> oh yeah?
[06:43] <sgfdsf> I hate to imagine "way slower"
[06:44] <Plorkyeran_> the non-asm stuff isn't particularly optimized
[06:44] <Plorkyeran_> while the asm is excessively optimized
[06:44] <sgfdsf> it's hard to optimize
[06:44] <sgfdsf> I used to make computer games
[06:44] <sgfdsf> the redering time was a killer
[06:45] <sgfdsf> I can save a PNG pretty fast
[08:08] <bencc2> can I place mp4 video ontop of other mp4 video without loosing quality?
[08:09] <relaxok> hello.. does cutting clips with ffmpeg -ss and -t seek to/cut to timecode if there's a timecode track or is it only from a 00:00:00 start?
[08:09] <relaxok> and if its from 0 is there a way to cut on timecode points?
[08:10] <relaxok> or is there a way to output the timecode start time?
[08:10] <relaxok> (i want to script cutting up a video on a set of timecode points, without human interaction)
[08:10] <relaxok> if i can parse some text output like the timecode start and then subtract it from the timecode cut times, i could cut with -ss -t starting at 0
[10:01] <brainopia> hi, I'm encoding a big mp4 file for http streaming, I'm using faststart, but moov atom is pretty big around 1mb, so there is a very noticeable delay at the beginning, how to circumvent it?
[10:06] <Paranoialmaniac> brainopia: movie fragment with empty initial movie.
[10:09] <brainopia> Paranoialmaniac: sorry, I'm quite a noob in this matter, I would be grateful for any additional hint or a link to work through to understand your advice
[10:13] <Paranoialmaniac> the feature movie fragment is splitting media and index into pairs of media and index. empty initial movide is has no media data and no index of media data, and has only the initialization of decoder. thus you can start playback with minimal delay.
[10:15] <Paranoialmaniac> a weakpoint of fragmentation is random access. you shall create own index and cache or get the index somewhere if present.
[11:03] <b_jonas> strange. I'm processing multiple videos with basically the same command line, only the filenames replaced, but for one of them, I get a strange error message. the video could be corrupt, but the message doesn't seem to indicate that.
[11:04] <b_jonas> [buffer @ 0000000003599560] Unable to parse option value "-1" as pixel format
[11:04] <b_jonas> [buffer @ 0000000003599560] Error setting option pix_fmt to value -1.
[11:04] <b_jonas> [graph 0 input from stream 0:0 @ 00000000002c9f00] Error applying options to the filter.
[11:04] <b_jonas> Error opening filters!
[11:04] <b_jonas> my command line is: ffmpeg -i "rawinput\2014-05-17-ceghetvege\208-3.mp4" -vf crop=w=160:h=16:x=0:y=0,fps=1/60 -pix_fmt gray "tmp\idok\cegh-ido-208-3-%05d.png"
[11:07] <b_jonas> I wonder what that means
[11:07] <blippyp> I don't think it's liking your pixel format - try using gray16le instead
[11:19] <b_jonas> fflogger: I will, yes, I'll just wait till all my commands run on the last video too
[11:19] <b_jonas> um
[11:19] <b_jonas> ubitux: I will paste the complete output, with -v 99
[11:25] <b_jonas> here's the full log: http://dpaste.com/2CSDTMF/
[11:27] <b_jonas> argh, it complains about that even if I don't give the -pix_fmt option
[11:28] <sacarasc> It the input where it's having the problem.
[11:29] <OrbWeaver> I have a Blu Ray with an AC-3 audio stream that does not play correctly with mplayer or ffplay. Where is the correct place to report this?
[11:31] <OrbWeaver> ok
[11:36] <OrbWeaver> Pasted here: http://pastebin.com/y24PTdFD
[11:36] <b_jonas> I don't understand. no matter how I try to convert this particular video with ffmpeg, I get the same error. I can still play it with ffplay.
[11:37] <sacarasc> OrbWeaver: Did you get the latest git to try with this file?
[11:37] <sacarasc> If so, then it's just an unsupported feature of AC3.
[11:37] <OrbWeaver> Yes, mplayer automatically pulls in the latest ffmpeg git, I will check the commit
[11:38] <OrbWeaver> commit f932e5f7169282daaa06b08500d2c632cf70e14e
[11:41] <ubitux> b_jonas: maybe you can open a bug report?
[11:42] <b_jonas> ubitux: I might, but I want to investigate a bit more first. it's likely that the video really is corrupt,
[11:42] <b_jonas> and it's just the particular error message that's wrong
[11:42] <b_jonas> but it's strange that I can play this with ffplay.
[11:42] <ubitux> b_jonas: well, if ffplay plays it, there is a bug in ffmpeg
[11:42] <ubitux> ffmpeg -i bla.mp4 -frames:v 1 test.png works?
[11:43] <b_jonas> also, the error won't be easy to reproduce, because it occurs on only this video, and I can't give this particular video to you
[11:43] <b_jonas> a moment, I've tried something like that, let me try that exact statement
[11:44] <b_jonas> ubitux: no, that still gives the same error
[11:44] <OrbWeaver> sacarasc: so am I out of luck with this disk? Would it help to upload the sample file, or is this an well understood unimplemented feature?
[11:45] <b_jonas> I can try upgrading to a latest ffmpeg (not release) first, though this one is not too old
[11:45] <ubitux> b_jonas: wait, you have 2 streams
[11:45] <sacarasc> OrbWeaver: Ask ubitux, I am, just a common user, he is a dev. :D
[11:45] <b_jonas> oh damn... you're right
[11:45] <b_jonas> I didn't even notice that
[11:45] <b_jonas> why does this have two video streams?
[11:45] <ubitux> 2 *videos* streams
[11:45] <ubitux> i don't know
[11:45] <b_jonas> yeah, that's the problem
[11:45] <ubitux> try to play both
[11:45] <b_jonas> right
[11:45] <ubitux> it MIGHT be a cover or something
[11:46] <b_jonas> let me look up the options, it's been a while since I handled multiple streams, and it was complicated back then too
[11:46] <b_jonas> (two video streams, argh. I wouldn't be surprised if it was just one video and one audio.)
[11:50] <b_jonas> I presume the png writer wouldn't accept two streams
[11:50] <ubitux> well
[11:51] <ubitux> does both -map v:0 and -map v:1 works individually?
[11:51] <b_jonas> and, wait for it, ffprobe says stream 0 has unknown pixel format
[11:51] <ubitux> OrbWeaver: check http://trac.ffmpeg.org/query?status=new&status=open&status=reopened&keywords=~ac3&col=id&col=summary&col=status&col=owner&col=type&col=priority&col=component&order=priority
[11:52] <ubitux> if you see an issue similar to yours, comment & upload your sample, otherwise, just open a new one
[11:52] <ubitux> b_jonas: one of the stream is probably badly probed, that's the reason it fails
[11:53] <OrbWeaver> ubitux: ok, thanks
[11:53] <ubitux> b_jonas: try ffplay -vst 0 and ffplay -vst 1
[11:54] <b_jonas> -map v:1 works, can extract image that way
[11:54] <b_jonas> will try original command with -map v:1 then
[11:54] <b_jonas> let me try ffplay -vst 0
[11:54] <OrbWeaver> ubitux: is it possible that the Blu Ray has failed to decrypt correctly and this is manifesting as codec errors? Or would that result in a more obvious error? The video seems OK, as does the first few seconds of the audio.
[11:55] <b_jonas> indeed, ffplay -vst 0 doesn't work (no wonder, unknown pixel format), -vst 1 works
[11:55] <b_jonas> that explains a lot:
[11:55] <b_jonas> ffplay could play the video because it chose video stream #1 automatically,
[11:56] <b_jonas> whereas ffmpeg doesn't have this freedom, it chose video stream #0 and couldn't decode it
[11:56] <ubitux> OrbWeaver: well the file might have multiple audio streams, and you can only read one, i guess
[11:56] <b_jonas> ubitux: thank you for the pointer
[11:56] <OrbWeaver> ubitux: all of the other audio streams seem to work fine. Unfortunately they are all foreign language or commentary tracks.
[11:57] <ubitux> b_jonas: please make sure you report it
[11:57] <b_jonas> I might still try to file a bug report, because the error message is unclear, though like I said it will be hard to reproduce
[11:57] <ubitux> OrbWeaver: i don't know :)
[11:57] <ubitux> b_jonas: hard to reproduce? why?
[11:58] <ubitux> b_jonas: can you generate a sample with the same issue with ffmpeg -i bla.mp4 -map 0 -c copy -t 10 sample.mp4?
[11:58] <b_jonas> ubitux: hard to reproduce because I can't give you the video file, but indeed, stream copying the first stream is a good idea, I'll try that
[11:59] <b_jonas> if that fails, I'll try to truncate the video file bytewise, hoping I can reproduce the message that way
[11:59] <ubitux> if the header is not at the beginning it won't work
[11:59] <ubitux> and you'll need to run a qt-faststart pass or something
[12:00] <ubitux> remuxing should be fine though
[12:00] <b_jonas> yes, and this is a crazy mov container :(
[12:12] <b_jonas> hmm... ffmpeg wouldn't even stream copy that video stream #0 for me
[12:25] <Keestu> why ffmpeg programming does not have detailed documentation ?
[12:27] <blippyp> actually, it has quite good documentation: http://www.ffmpeg.org/documentation.html
[12:29] <Keestu> blippyp, do u think the information provided in the link you provided is suffice to develop with out the help of community folks ?
[12:30] <blippyp> yes, look at the doxygen link near the bottom
[12:30] <blippyp> under api documentation
[12:30] <ItsMeLenny> when converting a list of images to a video, is there a way to have it start at 30, or rather, my images themselves start at 30, but of course it's looking for the file named 0001
[12:31] <blippyp> ItsMeLenny, yes, let me find the option unless someone else beats me to it...
[12:32] <blippyp> This might take me a minute though, not sure what script I did that in
[12:32] <ItsMeLenny> i'm usinig %04d.png at the moment
[12:32] <ItsMeLenny> oh ok
[12:32] <sacarasc> ItsMeLenny: https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images See the glob images section.
[12:33] <ItsMeLenny> ah
[12:33] <ItsMeLenny> -start_number
[12:33] <ItsMeLenny> oh, or using glob
[12:34] <blippyp> that might of been it - there's a couple of different options for it
[12:34] <ItsMeLenny> i'll give them all a go :P
[12:34] <ItsMeLenny> tahnks very much
[12:34] <brainopia> segmented mp4 can't be played by chrome until it's fully downloaded, is there a way around?
[12:36] <Mavrik> use HLS?
[12:36] <Mavrik> hmm, that doesn't work on desktop tho
[12:38] <brainopia> Mavrik: is there a cross-platform solution?
[12:38] <Mavrik> well
[12:38] <Mavrik> using non-segmented MP4s with MOOV at the start usually works everywhere
[12:38] <Mavrik> MP4s with segments are an iffy tech when it comes to wide support anyway
[12:40] <brainopia> yeah, but how to prevent a big moov atom? if it's bigger than 1mb then the startup time will be noticeible
[12:41] <brainopia> does ffmpeg allow to control chunk size to use in metadata index?
[12:43] <Mavrik> 1MB of moov atom? just how big is your file?
[12:44] <minodudd> I have a compilation issue. I'm on a CentOS 6.5 box and I'm following this guide: http://trac.ffmpeg.org/wiki/CompilationGuide/Centos
[12:44] <brainopia> Mavrik: ~ 300MB
[12:44] <minodudd> I've installed amrnb-devel with yum, but i keep getting this: http://pastebin.com/Gw0vbFa0
[12:45] <sacarasc> minodudd: What does config.log say?
[12:47] <Keestu> do we have any API to get details explanation of the error ? like perror() ?
[12:49] <minodudd> cnofig.log: http://pastebin.com/eaG0mrF9
[12:50] <minodudd> should I post the entire file?
[12:50] <sacarasc> Does /usr/include/opencore-amrnb/interf_dec.h exist?
[12:51] <blippyp> Keestu - looks like there's error information in the header files
[12:51] <minodudd> yes and no, it's in a very similar location: http://pastebin.com/DpfWbxjp
[12:52] <Keestu> for example , avcodec_decode_video2 retValue of avcodec_decode_video2 -1094995529
[12:55] <blippyp> Keestu - I think the libav library deals with that - you might have to look into their documentation for more details on their errors? (I've never tried playing with the libraries myself) but there's a lot more to ffmpeg than just ffmpeg - You will likely have to go to different sources depending on your situation....
[13:00] <minodudd> sacarasc: I noticed there's some more info around those lines in config.log (last 20 lines or so), here's the full log: http://pastebin.com/fCSY406X
[13:01] <sacarasc> Maybe it's because you're not using opencore amr? :\
[13:01] <minodudd> huh, very possibly, just blindly installed the first thing that came up in yum search.
[13:02] <minodudd> I'll follow that lead. Thanks a bunch!
[13:02] <blippyp> Keestu: http://www.ffmpeg.org/doxygen/trunk/libavcodec_2utils_8c_source.html look at line 2225
[13:08] <ItsMeLenny> blippyp, worked nicely for me https://www.youtube.com/watch?v=DmZmesbJekI
[13:08] <Keestu> blippyp, thanks for the link. but i m unable to map the error no. :)
[13:08] <Keestu> :(
[13:12] <blippyp> ItsMeLenny: nice :)
[13:13] <blippyp> Keestu:how about http://www.ffmpeg.org/doxygen/trunk/group__lavu__error.html
[14:04] <b_jonas> great, I think I might be able to reduce the bug to a broken video I can give you
[14:17] <b_jonas> ok, I reduced the file. now I'll review the bug report instructions and file a bug report.
[14:38] <b_jonas> there, report filed
[17:25] <Logicgate> I need the highest quality iphone preset for converting
[17:25] <Logicgate> anybody?
[18:08] <esperegu> [ffplay_abuffer @ 0x7f9eb400f780] Setting 'sample_rate' to value '16000'
[18:08] <esperegu> [ffplay_abuffer @ 0x7f9eb400f780] Setting 'sample_fmt' to value '(null)'
[18:08] <esperegu> [abuffer @ 0x7f9eb400f8a0] Unable to parse option value "(null)" as sample format
[18:08] <esperegu> anybody an idea why ffmpeg suddenly does this? it played it before without issues.
[18:17] <b_jonas> esperegu: that sounds somewhat similar to what I just bug reported
[18:18] <esperegu> b_jonas: the strange thing is that it worked before
[18:18] <b_jonas> esperegu: can you ffprobe -show_streams the video and see if the values look right?
[18:18] <b_jonas> esperegu: in particular, "options" in that probably does _not_ refer to your command-line options
[18:18] <esperegu> b_jonas: I tried without any options.
[18:18] <b_jonas> esperegu: exactly, the error is not in your options
[18:19] <b_jonas> here, this is the bug ticket for what I just met: https://trac.ffmpeg.org/ticket/3662
[18:20] <esperegu> b_jonas: thx.
[18:22] <esperegu> b_jonas: I just try to play it with ffplay. without any options. and I was able to play it before but now not anymore
[18:22] <esperegu> b_jonas: plays fine with mplayer
[18:23] <esperegu> the fact that it played before drives me insane :-)
[18:24] <b_jonas> esperegu: so does ffplay play it right now?
[18:24] <esperegu> b_jonas: no
[18:24] <l0rd_hex> hi friends, I'm trying to convert some security camera footage for the trial of the CENTURY!! - the footage is not great quality (looks a little fuzzy) and the frame rate is low (robot walking) - right now it's recorded at 4600kb/s (video), yuv444p, 640x480 I'd like to make it a bit smaller in a lossless way (as to not affect the quality but reduce the size). Is there a decent set of guidelines I should be
[18:24] <l0rd_hex> looking at or is this best left up to trial (ha!) and error
[18:26] <Logicgate> trial of the century?
[18:26] <Logicgate> which one may that be
[18:27] <l0rd_hex> the year 1900 is suing the year 2000
[18:28] <Logicgate> lol
[18:28] <relaxed> l0rd_hex: https://trac.ffmpeg.org/wiki/x264EncodingGuide
[18:29] <l0rd_hex> relaxed: thanks, I've been using that as far
[18:29] <relaxed> l0rd_hex: use "fmpeg -i input -t 20 ..." to create some 20 second samples
[18:29] <relaxed> +f
[18:30] <relaxed> l0rd_hex: then what's the problem?
[18:31] <l0rd_hex> relaxed: I've been working through it slowly, but I'm impatient :)
[18:31] <l0rd_hex> thanks for the -t 20 tip
[18:33] <relaxed> try, ffmpeg -i input -t 20 -c:v libx264 -tune grain -preset veryslow -crf 16 -movflags +faststart output.mp4
[18:34] <l0rd_hex> ahh nice, it's noticing duplicate frames
[18:35] <relaxed> is it interlaced?
[18:35] <l0rd_hex> I don't think so
[18:36] <l0rd_hex> wow that looks great
[18:36] <l0rd_hex> but holy crap it's slow :)
[18:38] <relaxed> that's the cost for great compression
[18:38] <l0rd_hex> and great justice
[18:38] <l0rd_hex> thank you relaxed :)
[18:39] <relaxed> you're welcome
[19:10] <debianuser> Hello, I have a 3D player and two mp4 video samples 1280x720 ~30MB each, they both are side-by-side 3D, but first file [https://sendspace.com/file/pdkfr0] is shown as a 3D video, while second one [https://sendspace.com/file/059123] is not.
[19:10] <debianuser> How can I find the difference between them and convert second file to be 3D too?
[19:11] <Mavrik> debianuser, it's probably missing SBS 3d flag
[19:11] <Mavrik> use stereo3d filer to inject it
[19:49] <debianuser> Mavrik: Tried `ffmpeg -i smaug.mp4 -vcodec libx264 -acodec copy -crf 20 -vf stereo3d=sbs2l:sbs2l smaug3d.mp4` - file is 18% larger, but is still shown as 2D video, not 3D. Have I used wrong command?
[19:57] <jimmy2015> hi there
[19:58] <jimmy2015> I've got a little quenstion, anyone who might be able to help me?
[19:58] <c_14> just ask and if someone can help, they will
[19:59] <jimmy2015> I'm sending out a stream with rtmp://ip:port/file , which i was able to view with red5
[19:59] <jimmy2015> thing is, i would like to read that stream and write it into a directory + streaming it
[19:59] <jimmy2015> i thought ffserver 'd be good for that
[20:00] <jimmy2015> but i don't get it working
[20:01] <jimmy2015> thx, gonna do that
[20:02] <jimmy2015> have been on that the whole day, trying to get everything together again .... .
[20:13] <jimmy2015> Ok, here we go:
[20:14] <jimmy2015> First of all, I'm not directly using ffmpeg, but JavaCV , https://github.com/bytedeco/javacv to get ffmpeg funtionality within an android phone.
[20:14] <jimmy2015> which 'sort-of' uses ffmpeg with the very same syntax
[20:14] <jimmy2015> The stream gets generated within the java files,
[20:14] <jimmy2015> format is set to: flv
[20:14] <jimmy2015> the 'so-called' ffmpeg_link is: rtmp://192.168.1.53:1935/streamTest
[20:14] <jimmy2015> Using red5 as a media server, i can view the stream wihout a problem
[20:14] <jimmy2015> (audio and video).
[20:14] <jimmy2015> ATM i can't tell u more about the very special settings here, caus i don't know them .... .
[20:14] <jimmy2015> But i hope these information are enough for you to help me :)
[20:15] <jimmy2015> This is my ffserver.conf
[20:15] <jimmy2015> http://pastie.org/9199842
[20:16] <jimmy2015> Beacsue of not beeing able to change the java stuff right away, I thought someone might have a clue of what to do :)
[20:16] <c_14> So the phone is streaming media to ffserver which is $somewhere and then you're accessing the stream from ffserver using red5?
[20:18] <c_14> Can you give me a basic rundown of who is generating the media content, and where it's going jump by jump?
[20:18] <c_14> And then what isn't working/what you want to work differently.
[20:18] <jimmy2015> Nope, sry for that. I'm not using red5 anymore, made some other problems. that's what i wanted to use ffserver for. Receiving the rtmp:// stream, write it into a temp file: File /home/jimmy/ffserver_streaming_test/streamTest1
[20:18] <jimmy2015> so I'd be able to set a max size for that file + streaming it via cam1.asf
[20:19] <jimmy2015> to any other player
[20:19] <jimmy2015> like vlc
[20:20] <jimmy2015> The media content is from my phone's camera, so this is a live stream from my phone
[20:21] <c_14> You'll have to tell your phone to stream the content to http://$ffserverip:$port/streamTest
[20:22] <jimmy2015> yeha, i thought something like that + tried it, didn't work (the way i did it .... :P )
[20:22] <c_14> or you can have your phone rtmp stream $somewhere and have an ffmpeg process there capture the rtmp stream and send it to http://[..]
[20:22] <jimmy2015> so there's no way for ffserver to use that rtmp stream?
[20:22] <c_14> since you probably don't want your phone handling the encoding
[20:23] <c_14> ffserver only accepts input via http (afaik), but you can run an ffmpeg process on the same device where ffserver is on and just capture the rtmp stream there and send it to ffserver
[20:24] <c_14> ffmpeg -i rtmp://[..] http://127.0.0.1:$port/feed
[20:25] <jimmy2015> ok, that'd be possible, thanks for the idea :)
[20:26] <jimmy2015> what about RTSP?
[20:26] <jimmy2015> i'm not realy sure how this is realy diffrent from RTMP, but ffserver can (?) handle this, right?
[20:26] <c_14> ye
[20:27] <c_14> well, ffmpeg can anyway.
[20:28] <jimmy2015> yeha, but i'd like not do encoding again
[20:28] <jimmy2015> should not use too much ressources
[20:29] <c_14> according to the manual page, ffserver can output to rtsp
[20:30] <jimmy2015> output, ok, what about input :P
[20:30] <jimmy2015> ?
[20:31] <jimmy2015> if there was a generated live video stream via RTMP, which i delivered to the server via rtmp://IP:PORT/FILE what whould happen to that stream, if i change from rtmp:// to rtsp:// ?
[20:31] <l0rd_hex> I wish ffmpeg had "enhance" voice recongnition
[20:31] <l0rd_hex> http://www.youtube.com/watch?v=Vxq9yj2pVWk
[20:31] <c_14> if rtmp works, rtsp should work as well
[20:32] <jimmy2015> yeha, rtmp did definitly work with red5
[20:33] <jimmy2015> what about the ffserver.conf http://pastie.org/9199842 shouldn't it work when giving a RTSPPORT 1935 ?
[20:34] <jimmy2015> + changing the ffmpeg_link within my java files to rtsp:// .....
[20:40] <jimmy2015> so setting RTSPPORT within fsserver.conf should make ffserver beeing able to accept RTSP streams, just like http?
[20:41] <ac_slater> hey all. Sorting throught th ffmpeg code, I don't see that ffmpeg has an H.264 RTP payloader. Am I missing it?
[20:45] <c_14> jimmy2015: I just tested, and I think ffserver only accepts http post as input.
[20:49] <jimmy2015> @c_14 mh, if so, why is there the possibility to set RTSPPORT ?
[20:49] <c_14> ffserver can output to rtsp
[20:49] <c_14> ie, it can act as an rtsp server, but not as an rtsp sink
[20:50] <jimmy2015> well then, ok :)
[20:51] <jimmy2015> what a pitty, i thought this could wokr :)
[20:51] <jimmy2015> do you know a small, easy to handle rtmp server, which can act like i thought ffserver could?
[20:52] <c_14> you want to accept an rtmp stream and then do what with it again?
[20:52] <c_14> restream it?
[20:56] <azk> Maybe https://github.com/arut/nginx-rtmp-module ?
[20:56] <ldiamond> Anyone knows if FFMPEG is able to rewrite the header of a corrupted .mp4 file?
[20:56] <ldiamond> or recover the file or part of the file somehow
[20:58] <c_14> Try ffmpeg -i file.mp4 -codec copy out.mp4
[20:59] <ldiamond> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x241b9c0] moov atom not found
[20:59] <pzich> do you know if it's corrupted beyond the header?
[21:00] <ldiamond> It's a video that was recording and the phone crashed
[21:00] <ldiamond> the data is correct, the format isn't
[21:07] <ldiamond> using untrunc https://github.com/ponchio/untrunc I managed to get the audio
[21:07] <ldiamond> the video is unfortunately all gray now
[21:17] <benlieb> First time in the channel. Hope people are here to help...
[21:17] <benlieb> I'm trying to use the drawtext filter but I'm not succeeding.
[21:17] <benlieb> https://gist.github.com/pixelterra/3b8abe995a2ab5f5be7a
[21:18] <benlieb> I keep getting "No such filter: 'drawtext'" even after I uninstalled and recompiled with --enable-libfreetype
[21:18] <benlieb> please take a look at the gist to see what I'm doing wrong....
[21:19] <llogan> benlieb: but your ffmpeg configure line lacks --enable-libfreetype
[21:19] <benlieb> llogan: it's brew install ffmpeg --with-theora --with-libogg --with-libvorbis --enable-libfreetype
[21:19] <benlieb> the line that shows up in brew lacks it....
[21:20] <pzich> the "==> ./configure..."
[21:20] <benlieb> right
[21:20] <benlieb> but that is coming from brew, even though I passed the options on the command line.
[21:21] <benlieb> should I do a manual install apart from brew?
[21:21] <pzich> maybe you need to pass them differently? manual install would work better, possibly
[21:21] <llogan> if you're lazy just use a build http://www.evermeet.cx/ffmpeg/snapshots/
[21:22] <benlieb> this is my first project with ffmpeg. This is now the 4th time that something I want to use isn't available and ffmpeg has to be recompiled. Is there just a way to install it once with everything available?
[21:24] <benlieb> llogan: wouldn't I still have to supply the options to build that?
[21:24] <benlieb> or no, those are binaries with everything working?
[21:24] <llogan> that link provides a binary
[21:25] <llogan> but i'm not sure why brew isn't doing what you want. i've never used it and dont have a OSX machine.
[21:26] <llogan> why are you using "--enable-hardcoded-tables"?
[21:26] <pzich> it looks like brew is adding that for him
[21:26] <benlieb> llogan: that's not an option I supplied
[21:28] <llogan> i wonder what "brew info ffmpeg" shows
[21:29] <jimmy2015> @c_14 still there? sry, was trying diffrent things.
[21:29] <c_14> ye
[21:29] <jimmy2015> @c_14 i managed to get the stream via http to the point i can see it a the status.html file
[21:29] <benlieb> llogan: https://gist.github.com/pixelterra/bc4b115e310ec484e0c5
[21:30] <jimmy2015> now i get this within my cmdl where i started ffserver
[21:30] <jimmy2015> " Codec for stream 1 does not use global headers but container format requires global headers"
[21:30] <jimmy2015> i guess (not sure about all that new stuff ) that *.flv is the container?
[21:30] <jimmy2015> that's what i set as 'format'
[21:30] <llogan> benlieb: i guess you have to give brew "--with-freetype" instead of "--enable-libfreetype"
[21:31] <c_14> jimmy2015: didn't you have asf earlier?
[21:31] <c_14> anyway, try adding this: AVOptionVideo flags +global_header
[21:31] <benlieb> llogan: will try...
[21:31] <llogan> hopefully brew will install the required dependency, otherwise you may have to do "brew install freetype" first.
[21:31] <c_14> and possibly: AVOptionAudio flags +global_header
[21:32] <llogan> benlieb: and fdk-aac is better than faac
[21:33] <jimmy2015> |c_14 ope, using the Java ffmpeg stuff, i was able to switch format from my phhones stream, flv, avi, 3gp, mp4 . my ffserver.conf hast has: >stream cam2.asf> in it
[21:33] <jimmy2015> where to?
[21:33] <jimmy2015> within the stream section of ffserver.conf?
[21:33] <c_14> those lines should go into the stream section of your ffserver conf
[21:33] <c_14> ye
[21:34] <llogan> benlieb: then you'll probably have to change the fontfile path in your drawtext example. the one you're using is from an Arch linux machine
[21:36] <bencc2> does it matter what video height I use as long as I use the same aspect ration?
[21:36] <bencc2> will height = 720 give me better quality than height = 750?
[21:36] <jimmy2015> still the same error
[21:36] <jimmy2015> an nothing happens
[21:37] <llogan> bencc2: are you downscaling?
[21:38] <bencc2> llogan: I'm using the createVideo feature of powerpoint and than transcoding with ffmpeg
[21:38] <c_14> jimmy2015: Can you save a short section of what you're recording to file on a pc with ffmpeg installed and then ffmpeg -i file http://ffserver:port/feed ?
[21:39] <bencc2> I'm trying to improve the quality before transcoding and wonder if it matters what size I use
[21:39] <c_14> Just to make sure it isn't the java thingy.
[21:39] <llogan> or at least "ffmpeg -i inputfrompp"
[21:40] <bencc2> llogan: my question is more basic. are there preferable sizes?
[21:40] <jimmy2015> @c_14 best way to do so?
[21:40] <llogan> bencc2: it depends on your input, the encoder, the encoder options, and how you're intending on using the output
[21:40] <bencc2> is there a difference between 960X720 and 1000X750?
[21:41] <c_14> jimmy2015: I'd just use the phone's built in recorder, then copy the file to a computer somehow. usb cable or something
[21:41] <llogan> bencc2: other than the obvious, one may requre upscaling which is usually not recommended or desired
[21:41] <bencc2> llogan: even before that. is there a fondumental difference? like multiple or 4 or something similar?
[21:41] <bencc2> powerpoint is vector so I guess it doesn't need to downscale or upscale
[21:42] <jimmy2015> @c_14 :D
[21:42] <jimmy2015> c_14 ok, that'd be an easy way
[21:43] <llogan> bencc2: width and height must be divisible by 2 if using libx264 to encode (assuming YUV 4:2:0 planar)
[21:44] <jimmy2015> c_14 was able to get ridd of those errors
[21:44] <c_14> jimmy2015: what'd you do?
[21:44] <jimmy2015> c_14 removed the no audio part
[21:44] <jimmy2015> c_14 so i had to state the flags for audio too ...
[21:45] <jimmy2015> c_14, any way, there's no error, but screen remains black ....
[21:45] <c_14> No process is reporting any errors?
[21:45] <jimmy2015> right
[21:45] <llogan> bencc2: also you must consider and limitations or restricitons for devices you will be using for playback
[21:46] <jimmy2015> this is from my commandline:http://pastie.org/9200168
[21:46] <llogan> jimmy2015: you're using a fork
[21:47] <llogan> counterfeits, forks, and other third-party tools are offtopic here
[21:47] <llogan> you'll have to use the real thing or get help from the fork
[21:51] <bencc2> llogan: thanks
[21:52] <benlieb> thank for the help earlier folks
[21:52] <benlieb> Here's another question
[21:52] <benlieb> The following works to create an empty mpg file. How Would I create an empty mp4 file?
[21:52] <benlieb> ffmpeg -t 3 -s 640x480 -f rawvideo -pix_fmt rgb24 -r 25 -i /dev/zero empty.mpg
[21:53] <llogan> ffmpeg -f lavfi -i color=c=black:s=640x480 -t 10 output.mp4
[21:58] <llogan> "ffmpeg -f lavfi -i color=c=black:s=640x480 -f lavfi -i aevalsrc=0:0 -t 10 output.mp4" if you want silent stereo audio too
[22:03] <benlieb> llogan: tnx!
[22:04] <benlieb> I love ffmpeg, but I don't really know how to go about learning it well. It's like magic and smoke and mirrors
[22:04] <benlieb> What should I do to learn it well? Just read the entire manual?
[22:05] <benlieb> I'm not opposed to that. Or is there a book?
[22:10] <c_14> benlieb: start encoding lots of stuff
[22:11] <c_14> listening to the problems people who come here have helps a lot as well
[22:11] <benlieb> c_14: I'll start with the manual.
[22:11] <benlieb> :)
[22:15] <thebombzen> benlieb: I learned by toying with it, just transcoding various things and using google when things didn't work. If you need help on some filter then the filtering guide on the wiki is very helpful
[22:32] <debianuser> Does anybody knows how to detect container options from existing file?
[22:33] <debianuser> I have a 3D player and two ~30MB 1280x720 avc1 mp4 side-by-side 3d video samples. But first file [https://sendspace.com/file/pdkfr0] is detected as a 3D video, while second one [https://sendspace.com/file/059123] is not. How to change second file so that it was also detected as a 3D video?
[22:33] <debianuser> I guess there's something magical in that .mp4 container, but what?
[22:48] <llogan> benlieb: the wiki is good place to look too https://trac.ffmpeg.org/wiki#CommunityContributedDocumentation
[23:19] <benlieb> google isn't helping much on this one. how do I apply a filter that fade to black for the last 1 second?
[23:20] <c_14> benlieb: tried the fade filter?
[23:21] <benlieb> c_14: looking that up now...
[23:21] <c_14> man ffmpeg-filters
[23:22] <c_14> search for fade
[23:22] <benlieb> c_14: what if I want the last 1 second to fade to black, but I have many videos of different lengths?
[23:25] <c_14> You could try giving a negative start_time, but I don't know what that does. just guessing
[23:26] <c_14> nvmd, found a bugreport: open, enhancement
[23:27] <c_14> Only way would be to get the framecount/total time programatically and use that.
[23:30] <c_14> that I know of anyway
[23:34] <benlieb> my fade filter is turning the whole thing black. Tried everything I can think to.
[23:34] <benlieb> https://gist.github.com/pixelterra/b7418b99af96900665d5
[23:35] <benlieb> can anyone take a look?
[23:35] <c_14> You can't have multiple -vf lines
[23:35] <benlieb> c_14: oh
[23:35] <c_14> The last one overrides all the previous ones.
[23:35] <c_14> separete them with commas
[23:35] <c_14> -vf filter1,filter2
[23:35] <benlieb> ah
[23:36] <c_14> *separate
[23:36] <benlieb> with no spaces?
[23:36] <temhawk> how can I use an image sequence if the numbering starts at like 300?
[23:37] <llogan> benlieb: you can use spaces if you like if you place the filtergraph in quotes: -vf "filter, filter"
[23:37] <temhawk> i tried -pattern_type glob but that gets it messed up because the zero-padding isn't consistent
[23:38] <llogan> temhawk: can you show some examples of your input file names?
[23:38] <c_14> temhawk: you can probably use -start_number 300
[23:38] <benlieb> llogan: what if one of the filters is using double quotes already?
[23:38] <c_14> benlieb: escaping is fun
[23:39] <c_14> try putting \ before them
[23:39] <benlieb> c_14: the whole point of spaces would be to make it more readable :)
[23:39] <c_14> The more quotes you have, the more you get to escape.
[23:40] <c_14> Like I said, escaping is fun :)
[23:40] <benlieb> can I quote you on that?
[23:40] <c_14> sure?
[23:40] <benlieb> I wonder if there is a ruby library that makes a pretty OO api wrapper for ffmpeg
[23:40] <benlieb> \c_14
[23:40] <c_14> This is going to come back and bite me, I'm sure of it.
[23:41] <temhawk> c_14: thanks, that did it! llogan: e.g. clip-300.png, clip-301.png, etc, then clip-1000.png, clip-1001.png, etc
[23:41] <temhawk> llogan: no zero-padding at all, actually
[23:42] <llogan> i would expect glob to be fine with that. -pattern_type glob -i '*.png'
[23:43] <temhawk> llogan: nah, it's not. it added all the frames 300-999 at the end of the output video
[23:44] <llogan> then i'll be damned. again.
[23:48] <benlieb> is there a way to "wrap" text with draw text? If not how do you handle text that may not fit...
[23:50] <llogan> easiest way is with textfile option
[23:50] <benlieb> llogan: how would that solve the issue exactly?
[23:51] <llogan> line breaks
[23:52] <benlieb> llogan: I can add that in my script I guess I just have to eyeball it.
[23:52] <benlieb> basically I want a biggish title, and underneath, the author's name smaller
[23:53] <llogan> you can use two drawtext instances
[23:53] <benlieb> If I have multiple lines, how would I know where to put the small line of author's name?
[23:55] <benlieb> llogan: by instances you mean comma-separated filters?
[23:55] <llogan> yes. you can take into account the fontsize of the first drawtext + some padding to get your placement
[23:56] <llogan> or something like that
[00:00] --- Fri May 23 2014
More information about the Ffmpeg-devel-irc