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

burek burek021 at gmail.com
Wed Sep 19 02:05:01 CEST 2012


[11:23] <FirstSnow> Multiple MPEG TS File (one program) to one MPEG TS File (multiple programs) muxing options can you tell?
[11:27] <burek> try ffmpeg -i 1.ts -i 2.ts -i 3.ts ... -map 0 -map 1 -map 2 ... -c copy output.ts
[11:31] <sparkst> hey all - I got some great help here earlier with prores->h264 encoding but i am still having a small snag
[11:32] <sparkst> I was creating h264 mp4s from prores movs that wouldn't play in QT due to my failure to specify the pix_fmt (10bit prores to 8bit h264 conversion)
[11:33] <sparkst> but the vids I'm creating still seem a little iffy, though they now play fine in QT.  they play audio-only in JW player and when I uploaded one of them to YouTube just for kicks it failed to process
[11:33] <sparkst> ffmpeg commandline is this: ffmpeg -i 'input.mov' -pix_fmt yuv420p -filter:v scale=960:-1 -c:v libx264 -crf 18 -c:a libfaac -b:a 96k -ac 1 output.mp4
[11:35] <burek> for jw player, are you streaming that or playing as local file
[11:37] <sparkst> streaming
[11:37] <sparkst> from s3 to cloudfront
[11:37] <sparkst> and out
[11:37] <sparkst> is that an issue?
[11:39] <burek> well mp4 is not quite streamable
[11:39] <burek> you might need to take a look at qt-faststart
[11:40] <burek> or some similar utility
[11:40] <sparkst> ah got it.  if I encoded to flv would I be in better shape?
[11:40] <burek> yes
[11:40] <burek> not encode, mux
[11:40] <burek> just -f flv
[11:41] <sparkst> ok wait I am going to reveal my ignorance here
[11:42] <sparkst> so i ditch all the other stuff in the command line?
[11:42] <burek> instead of output.mp4, type -f flv output.flv
[11:42] <burek> and try that
[11:42] <sparkst> ah
[11:42] <sparkst> why -f?
[11:42] <sparkst> i know it's force
[11:42] <burek> to specify output format
[11:43] <sparkst> otherwise it wouldn't figure it out?
[11:43] <burek> it would but it's safer to always specify directly what you want
[11:43] <sparkst> got it
[11:43] <sparkst> good to know
[11:43] <sparkst> slowly, slowly learning the ways of ffmpeg
[11:43] <sparkst> (:
[11:43] <sparkst> lemme give that a shot and see if it works
[11:43] <cbsrobot-> hi sparkst
[11:44] <cbsrobot-> I fell asleep yesterday while watching a boring presentation
[11:44] <sparkst> hey again cbsrobot
[11:44] <cbsrobot-> happens all the time
[11:44] <sparkst> haha
[11:45] <cbsrobot-> for audio try to use libfdk_aac
[11:46] <cbsrobot-> or libaacplus
[11:46] <sparkst> ok will try
[11:46] <cbsrobot-> libaacplus lets you only encode up to 64k
[11:46] <cbsrobot-> and for libfdk_aac you'll need to specify the profile aswell
[11:46] <burek> why encode more than 64k if at 48k the audio is so perfect :)
[11:46] <cbsrobot-> true that
[11:47] <sparkst> the audio does sound great as is but i will switch to libaacplus
[11:47] <cbsrobot-> and qt has problems with aac hev2, so simply choose aac he
[11:49] <sparkst> hm looks like i don'thave libaacplus
[11:49] <zap0> burek,  why do 11MP cameras exist, when no one has 11MP screens?
[11:49] <sparkst> sometimes you want to crop (:
[11:49] <cbsrobot-> zap0: pixel qunatity sells !
[11:49] <sparkst> that too
[11:50] <sparkst> but the cropping thing is real also
[11:50] <sparkst> or if you want to print at a large size
[11:50] <FirstSnow> Good answer for my question.
[11:50] <FirstSnow>   burek to Thank you very much.
[11:50] <b_jonas> hello. I'm trying to blow up a video to jpeg images such that each frame is written to a jpeg, but I think I'm losing frames
[11:50] <cbsrobot-> burek btw
[11:51] <b_jonas> I'm using this command:
[11:51] <b_jonas> E:\ambrus\f\legbetuk\recognize>mkdir helga_2-rgb && \ambrus\local\ffmpeg-2012042
[11:51] <b_jonas> 4-git-3bbf3f7-win64-shared\bin\ffmpeg.exe -i E:\ambrus\f\DolSLR\trunk\Testing\Fu
[11:51] <b_jonas> ttatas\InputOutput\KinectSdk-Helga_Test_Abc_Video_5_1\Video\kinectRgb.mkv -b:v 1
[11:51] <cbsrobot-> for your concat script, you could also add the possibility to concat yuv422p10 formats
[11:51] <b_jonas> wait
[11:51] <b_jonas> E:\ambrus\f\legbetuk\recognize>mkdir helga_2-rgb && \ambrus\local\ffmpeg-20120424-git-3bbf3f7-win64-shared\bin\ffmpeg.exe -i E:\ambrus\f\DolSLR\trunk\Testing\Futtatas\InputOutput\KinectSdk-Helga_Test_Abc_Video_5_1\Video\kinectRgb.mkv -b:v 16000000 helga_2-rgb\rgb-%05d.jpg
[11:51] <burek> FirstSnow :beer: :)
[11:51] <b_jonas> ^ that statement
[11:51] <cbsrobot-> you'll have to enable them with strict -1
[11:52] <b_jonas> cbsrobot-: strict -1? let me look that up
[11:52] <cbsrobot-> b_jonas: I'm talking to burek
[11:52] <cbsrobot-> sorry
[11:52] <burek> zap0, true, but my point is that aac+ is meant for streaming
[11:52] <burek> not for audio storage like flac or similar
[11:53] <burek> so, if you follow it's use case, then you really don't need more than 48k
[11:53] <zap0> so many things are synthesized or plain voice, even 48k is overkill
[11:54] <JEEB> I'd rather put the limit around 64kbps for HE-AAC(v2)
[11:54] <burek> most of online radio stations (at least at winamp's/shoutcast website listing) are using aac+ at 32k or 48k
[11:54] <JEEB> also if he's going to be uploading that to youtube
[11:54] <burek> a few of them use 64k, but they are perfectionists I guess
[11:54] <sparkst> burek: the flv container seems to be producing a happy result
[11:54] <sparkst> thank you very much
[11:54] <burek> sparkst :beer: :)
[11:55] <sparkst> :beer:?
[11:55] <burek> cbsrobot-, I would if I knew how :)
[11:55] <sparkst> sorry not familiar with that
[11:55] <burek> sparkst, it's like saying "cheers" :)
[11:55] <sparkst> i mean
[11:55] <sparkst> ahh
[11:55] <sparkst> ok
[11:56] <cbsrobot-> cheers or beer
[11:56] <cbsrobot-> in some countrys its the same
[11:56] <sparkst> interesting
[11:56] <sparkst> did not know
[11:56] <cbsrobot-> like in belgium and in southern europe :-D
[11:56] <sparkst> well :beer: in that case
[11:56] <sparkst> (:
[11:56] <burek> :)
[11:57] <cbsrobot-> burek: when concatenating 8 bit formats you have to specify -pix_fmt yuv420p , or yuv422p or even yuv444p
[11:57] <cbsrobot-> if you want to concatenate 10 bit formats
[11:58] <cbsrobot-> you can specify f.ex: -pix_fmt yuv422p10
[11:58] <cbsrobot-> but you'll need to add this too: -strict -1
[11:58] <cbsrobot-> because it's not a official format supported by yuv4mpeg
[11:59] <burek> so, if I understand correctly, rawvideo will not auto-convert it to 10 bit format prior to outputting to a pipe?
[12:00] <cbsrobot-> no I don't think so
[12:00] Action: cbsrobot- is not sure
[12:00] <burek> I was hoping some kind of "auto inserting filter <bla>" would happen :D
[12:02] <burek> btw, it seems that someone is actually reading the bug report about the debian's misleading message in their ffmpeg package https://bugs.launchpad.net/ubuntu/+source/libav/+bug/1005536
[12:02] <burek> it took a few months to get noticed
[12:04] <sparkst> this may be an unanswerable question, but: is a 60fps encoding process on this prores->h264 flv process about what you'd expect?  I have a westmere mac pro quad-core 2.8ghz
[12:04] <sparkst> and the prores is 720p
[12:05] <sparkst> don't really have a sense of what is fast vs not fast
[12:06] <cbsrobot-> burek: I guess siretart (the maintainer of ffmpeg / libav) on ubuntu will not change what so ever
[12:06] <cbsrobot-> :-D
[12:07] <sparkst> haha ok hang on
[12:10] <sparkst> http://pastebin.com/JdUdSiy5
[12:10] <sparkst> not really a deeply important question, was just curious if those encoding speeds were normal or not
[12:25] <cbsrobot-> sparkst: so it's 2 x real time
[12:26] <cbsrobot-> you could tune the h264 parameters to get faster encoding
[12:26] <cbsrobot-> but you may loose quality
[12:30] <sparkst> got it
[12:30] <sparkst> is there a guide to those parameters somewhere out there?
[12:36] <Stefff> What is "better" for mpeg2 encoding, a "-qmin 1 -qmax 4" Setting or specifying a bitrate with "- minrate, -maxrate. etc."?
[12:37] <JEEB> latter in most cases afaik
[12:38] <JEEB> or in reality
[12:38] <JEEB> you should be setting just maxrate and bufsize
[12:38] <JEEB> and the bitrate
[12:38] <JEEB> (or constant quant + maxrate/bufsize)
[12:39] <ideea> Hiii mates :D
[12:39] <ideea> Can anyone help me with ffmpeg
[12:39] <ideea> is there any way to find out, that source file (input) is damaged?
[12:39] <ideea> my source(input) file is damaged, so converter converts half of movie
[12:40] <Stefff> I want to digitize some VHS tapes, right now I'm using the -qmin params, I try that out with the bitrate. thx JEEB
[12:41] <JEEB> ideea, ffmpeg -i input.derp -c:v rawvideo -c:a pcm_s16le -f mkv /dev/null on linux or NUL on windows
[12:41] <JEEB> it'll go through decoding the input file
[12:42] <ideea> and what answer will be?
[12:42] <JEEB> it will either tell you that there are problems or not
[12:42] <ideea> is it _slow_ procedure? my programming code calles ffmpeg, to convert one file to 10 different, so, if source is damaged -  dont need to convert
[12:42] <ideea> ok, ill try, thank you
[12:42] <ideea> :)
[12:43] <JEEB> slowness depends on a lot of stuff :P
[12:43] <JEEB> it decodes the whole file
[12:43] <JEEB> and to be honest, not all messages mean that the file is corrupt
[12:43] <Stefff> I'm searching for days but still not found "a good" vhs2mpeg2 Howto, so my progress is not the fastest
[12:43] <ideea> so, there is no way to find out 100%, that file is damaged?
[12:43] <JEEB> yes, you can just get hints by certain errors from ffmpeg
[12:44] <ideea> my scripts processes ~1k movies per day..
[12:44] <ideea> so i need to be sure
[12:44] <ideea> ok, ill exam errors
[12:45] <Stefff> How do I calculate the bufsize JEEB? Is it like 20% of maxrate or what is a good guess?
[13:35] <tr33fall> hi again
[13:36] <tr33fall> im building an example in C with ffmpeg and it gives me an error when open_codec2
[13:36] <tr33fall> http://pastebin.com/wvFnAz30
[13:36] <tr33fall> there are all the details on that pastebin i think
[13:42] <Stefff> I'm trying as you mentions JEEB with bitrate, maxrate and bufsize, but I get after a few seconds a lots of "rc buffer underflow" cli + log -> http://pastebin.com/mRe3GQ5e  On the input side, the first 11 seconds black and the sound starts after the 11 seconds, if this is important.
[13:43] <Stefff> What I'm doing wrong?
[13:45] <JEEB> I guess the sudden change overflows the buffer
[13:45] <JEEB> you're currently having less than a second of buffer in which the maxrate is secured
[13:45] <JEEB> basically bufsize is either given to you by the media/standard you're trying to do, or you have a bandwidth limit to which you are trying to constrain yourself
[13:46] <JEEB> in that case, bufsize is maxrate * seconds of initial buffering
[13:46] <JEEB> also, any specific reason you're hitting on MPEG-2?
[13:50] <Stefff> My Idea is:   VHS -> mpeg2 (to store the recording), then  mpeg -> DVD  or maybe mpeg -> mp4 for mobile devices.  Until now I think that mpeg2 at a bitrate about 10k is a good format for further processing.
[13:58] <Stefff> So I can change later the colors and do deinterlace only when I want reencode it to mp4 or something like that.
[14:05] <Stefff> But obviously do I not know whether it is a good idea or not.
[14:12] <JEEB> not really
[14:13] <JEEB> also.... wait
[14:13] <JEEB> yeah, you meant 10m
[14:13] <JEEB> not 10k
[14:14] <JEEB> anyways, mpeg-2 is lossy and even if you have 10mbps of it with SD content, it'll still be crappy
[14:14] <JEEB> I recommend something like huffyuv, ffvhuff or ut video for it
[14:14] <JEEB> will take a whole lot more space, but a good lossless intermediate
[14:49] <Stefff> Ok, ~700MB/Min is definitely "a whole lot more space".
[15:07] <vileda> hi, is it possible to split a 360 degree fisheye video in upper and lower half and then rotate the lower half by 180 degrees with ffmpeg?
[15:08] <microchip_> i don't think so
[15:08] <vileda> great ;)
[15:10] <vileda> the camera records a round table
[15:10] <vileda> from the above
[15:11] <vileda> would it be possible to "distort" the stream in a way that it looks like a long table, like a panorama?
[15:14] <zonemiderN00B> hii all
[15:15] <zonemiderN00B> how i can record from a buffer?
[15:15] <cbsrobot-> vileda: you could use crop, transpose and movie filters
[15:15] <cbsrobot-> maybe you'll have to do it in a 2 step process
[15:16] <vileda> cbsrobot-: ok, i will try that
[15:16] <vileda> thanks
[15:16] <cbsrobot-> np
[15:18] <zonemiderN00B> there i an option in ffmpeg to record 1 sec and get 11 sec video file?
[15:19] <zonemiderN00B> the first 10 sec will be come from a buffer
[15:19] <zonemiderN00B> cbsrobot-, ?
[15:20] <cbsrobot-> wut ?
[15:20] <cbsrobot-> zonemiderN00B hilighting some random stranger ?
[15:21] <zonemiderN00B> you know about an option to record video from a buffer?
[15:25] <tr33fall> im building an example in C with ffmpeg and it gives me an error when open_codec2 -22
[15:26] <tr33fall> http://pastebin.com/wvFnAz30 -> code used as well as log from console
[15:27] <cbsrobot-> tr33fall: check doc/examples
[15:27] <cbsrobot-> maybe there's a hint
[15:51] <zonemiderN00B> someone here?
[15:52] <tr33fall> cbsrobot: cannot find any reference to error -22
[15:55] <zonemiderN00B> with this code i can record video with no problem - ffmpeg -f video4linux2 -r 25 -s 640x480 -i /dev/video0 filename.avi -t 60
[15:56] <zonemiderN00B> but i cant record video from before the "starting time"
[15:59] <cbsrobot-> tr33fall: maybe there is a hint in the code
[15:59] <cbsrobot-> not the error -22 explained
[16:01] <cbsrobot-> zonemiderN00B: for what I know, ther is no ringbuffer available atm
[16:01] <cbsrobot-> but patch is welcome !
[16:04] <zonemiderN00B> cbsrobot-, what patch?
[16:05] <cbsrobot-> your patch is welcome
[16:05] <zonemiderN00B> my patch...
[16:05] <cbsrobot-> sure
[16:06] <cbsrobot-> just git clone the source poke a bit around and send the diff to the ffmpeg-devel mailinglist
[16:06] <zonemiderN00B> he he..  i'm not programmer...
[16:06] <zonemiderN00B> i know simple thing in linux..
[16:27] <burek> zonemiderN00B what exactly do you need
[16:27] <burek> what buffer?
[16:29] <zonemiderN00B> i have a RF sensor that connect to the computer -  this sensor feel the strike of the lightning and send a trigger to the computer to record a video..
[16:29] <burek> ok
[16:30] <zonemiderN00B> now my problem is lightning is something fast, so i need to start the recording few seconds before the trigger
[16:32] <zonemiderN00B> or make a buffer for few seconds, and when it get triggered it will take the video from the buffer
[16:32] <zonemiderN00B> burek, ^
[16:32] <burek> oh I see
[16:35] <zonemiderN00B> burek, i think i need  something like FIFO buffer or ring buffer or circular buffer
[16:36] <burek> something like this: http://ffmpeg.org/ffmpeg.html#fifo ?
[16:37] <relaxed> zonemiderN00B: how many channels are you in asking this question?
[16:37] <zonemiderN00B> relaxed, now 2
[16:38] <relaxed> Are you continuously recording video?
[16:39] <zonemiderN00B> burek, it is seams to be that but i cant understand how to use it.
[16:39] <zonemiderN00B> relaxed, the camera open 24/7
[16:39] <relaxed> What is a fifo going to do for you?
[16:41] <burek> zonemiderN00B, you could record in chunks for about 15 minutes, creating separate files for each chunk, deleting them daily, when they are not needed.. and using RF trigger just to write down the time point when something interesting happened
[16:41] <burek> but if you need to automate all that, well..
[16:41] <burek> buffer would be the ideal solution I guess
[16:42] <zonemiderN00B> i think to do it like you say but i prefer elegant solution...
[16:42] <Stefff> What about using motion for that. maybe it could help http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
[16:43] <relaxed> Write a script that records video for 10 seconds to the same file and have it check to see if the triggers has been set, if not overwrite the capture with 10 more seconds
[16:44] <relaxed> If so, timestamp the video and move it out of the way.
[16:44] <tr33fall> if i want to stream a file i need to --enable-network on configure option?
[16:48] <relaxed> tr33fall: --enable-network is the default
[16:49] <tr33fall> ah is default
[16:49] <tr33fall> because i can connect to a server and did not use the --enable-network option
[16:49] <tr33fall> ok
[16:49] <zonemiderN00B> relaxed, i try that -  but i loss frames.
[16:49] <relaxed> tr33fall: $(./configure --help) should tell you what is and isn't on by default.
[16:50] <relaxed> zonemiderN00B: What do you mean? In between encoding or while encoding?
[16:51] <zonemiderN00B> between the encode
[16:52] <zonemiderN00B> start one... stop loss frames start second ...stop.......
[16:53] <zonemiderN00B> relaxed, start one... stop loss frames start second ...stop.......
[16:55] <relaxed> zonemiderN00B: It's either that or capture continuously and edit them out later. Those are your only option unless you write some custom software.
[16:57] <zonemiderN00B> relaxed, there is an option to take one  source and record it twice but with shift of 30 sec between them?
[16:59] <zonemiderN00B> relaxed, or use http://ffmpeg.org/ffserver.html?
[17:01] <relaxed> you can have multiple outputs with ffmpeg
[17:03] <burek> zonemiderN00B, how would you like it to work, in ideal situation?
[17:05] <zonemiderN00B> burek, with buffer
[17:05] <burek> no, just describe to me whole process
[17:05] <burek> how does it look like in your eyes, in ideal situation
[17:05] <zonemiderN00B> ok
[17:07] <relaxed> stop saying buffer
[17:07] <relaxed> You only have two options which I already gave you.
[17:08] <zonemiderN00B> fifo buffer of 10 sec get fresh data 24/7 from the camera, when the sensor detect a lightning all the data from the buffer saved plus 10 sec after the trigger from the sensor.
[17:08] <burek> zonemiderN00B, you can do that using ffserver and ffmpeg
[17:09] <burek> run ffmpeg and record from camera and send the stream to ffserver
[17:09] <zonemiderN00B> at the bottom line i get 20 sec of video
[17:09] <burek> in ffserver.conf set the initial start delay to 10 seconds
[17:09] <burek> which will effectively buffer your input
[17:09] <burek> and when the RF triggers, start another instance of ffmpeg, connect to ffserver and get the stream and save it for the next 20 seconds
[17:09] <burek> that should give you what you want
[17:10] <zonemiderN00B> yes yes yes!
[17:10] <burek> http://ffmpeg.org/ffserver.html#Tips
[17:10] <zonemiderN00B> how i connect the ffmpeg to ffserver?
[17:10] <burek> "You can also add a ’Preroll 15’ statement into the ffserver.conf that will add the 15 second prebuffering on all requests that do not otherwise specify a time."
[17:11] <burek> read the docs
[17:12] <burek> actually you need ?buffer=10
[17:12] <burek> not preroll (previous paragraph of the same tips section
[17:13] <zonemiderN00B> ffserver is part from ffmpeg or i need to install it?
[17:13] <burek> part of ffmpeg
[17:13] <burek> i need to go now, good luck with that
[17:15] <zonemiderN00B> burek, thank you a-lot!
[18:12] <Stefff> When I use  -target pal-dvd, how many Minutes do a DVD have without setting a bitrate in ffmpeg?
[18:27] <Fieldy> i'm using 0.10.4 (it's the latest available in my distro, which itself is the latest version). I'm trying to capture a flight sim full screen. i get some minor frame drops which appear in the capture however not while using the flight sim. is there some way i can capture a hint faster without the framedrops, and convert to my end format later? here's my current command:
[18:27] <Fieldy> ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 25 -s 1920x986 -i :0.0+0,20 -acodec pcm_s16le -vcodec libx264 -threads auto -preset ultrafast /tmp/video.mkv
[18:37] <relaxed> Fieldy: try, -fastfirstpass -preset ultrafast -profile baseline -qp 20 -sc_threshold -1
[18:38] <Fieldy> relaxed: so would that become: ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 25 -s 1920x986 -i :0.0+0,20 -acodec pcm_s16le -vcodec libx264 -threads auto  -fastfirstpass -preset ultrafast -profile baseline -qp 20 -sc_threshold -1 /tmp/video.mkv ?
[18:38] <relaxed> yes
[18:39] <Fieldy> thanks, i'll give that a try :) there are so many options, it's dizzying at times
[18:41] <relaxed> you may need to change -profile to -profile:v
[18:42] <Fieldy> Unable to find a suitable output format for 'ultrafast' ultrafast: Invalid argument         am i gonna be okay without -preset ultrafast ?
[18:42] <relaxed> try -preset:v ultrafast
[18:43] <Fieldy> ok
[18:43] <Fieldy> getting the same message with:   ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 25 -s 1920x986 -i :0.0+0,20 -acodec pcm_s16le -vcodec libx264 -threads auto -fastfirstpass -preset:v ultrafast -profile:v baseline -qp 20 -sc_threshold -1 /tmp/video.mkv
[18:44] <Fieldy> ok
[18:45] <relaxed> 0.11.1 is the latest, fyi
[18:46] <Fieldy> i know, it's not in my distro though (fedora 17) even though this is the latest version of my distro
[18:48] <Fieldy> sorry it's taking so long, my primary choices of pastebins (including pastie) are acting up
[18:49] <Stefff> Do I need to crop first and then deinterlace (yadif), or first deinterlace and then crop with interlaced source?
[18:49] <Fieldy> relaxed: http://pastebin.ca/2205217
[18:53] <relaxed> Fieldy: does it happen if you remove -fastfirstpass?
[18:53] <relaxed> Stefff: deinterlace and then crop
[18:54] <Stefff> k, thx. I tried it the other way around and get a green border at the bottom of the video.
[18:55] <Fieldy> relaxed: it runs as expected without -fastfirstpass
[18:55] <relaxed> good, I think that's the default now anyway.
[18:56] <Fieldy> okay, i'll go ahead and try this
[18:58] <relaxed> Lowering the value of -qp will yield better quality. Must of the time you want to use -crf instead.
[18:58] <relaxed> Most*
[18:59] <Fieldy> i once used -crf 0 (saw it in an example but couldn't find info on what it did), what's it do?
[18:59] <JEEB> lossless
[19:00] <Fieldy> though it resulted in a much larger file, which is fine for the first pass, but it was large enough that the disk was having trouble keeping up, which resulted in more frame loss ;) trying to find a balance here
[19:00] <JEEB> (with 8bit libx264, 9 or 10bit libx264 the scale is different so it's elsewhere)
[19:00] <JEEB> yeah, lossless usually takes quite more space :)
[19:03] <Fieldy> with the following, i'm getting slightly more frame drop and they seem clumped together which ends up being much more noticable: ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 25 -s 1920x986 -i :0.0+0,20 -acodec pcm_s16le -vcodec libx264 -threads auto -preset:v ultrafast -profile:v baseline -qp 20 -sc_threshold -1 /tmp/video.mkv
[19:06] <relaxed> That was recommended by a x264 developer a while ago. I'm not sure how it could be slower than what you were using.
[19:08] <JEEB> qp is faster than crf, yes -- because it's a dumber mode. with a 8bit libx264 qp 0 and crf 0 are exactly the same tho
[19:08] <JEEB> (both set lossless encoding mode
[19:08] <JEEB> with 9,10bit libx264 you can only use qp 0 for lossless
[19:09] <relaxed> Right but lossless is not his goal.
[19:09] <JEEB> yup
[19:10] <relaxed> Fieldy: Are you running gnome3 or something?
[19:11] <Fieldy> relaxed: kde
[19:11] <Fieldy> i made the ffmpeg process a slightly higher priority (lower nice number) than anything else on the system, that helped a lot
[19:12] <relaxed> Bloated DE's aren't going to help you with your goal. Write a script that launches the game using xinit and backgrounds ffmpeg capturing.
[19:12] <Fieldy> it's not touching cpu, only ram, and this system has 16GB
[19:12] <relaxed> (from the console, not within X)
[19:13] <Fieldy> i understand what you mean
[19:13] <relaxed> Is this an opengl game?
[19:14] <relaxed> Because, yes, KDE will affect its fps.
[19:15] <Fieldy> i will keep experimenting, thank you for the help :)
[19:29] <zonemiderN00B> hii
[19:29] <zonemiderN00B> relaxed, what this is mean?
[19:29] <zonemiderN00B> " run ffmpeg and record from camera and send the stream to ffserver"
[19:30] <zonemiderN00B> it is mean to convert the camera output to http stream?
[19:56] <int> hello guys
[19:58] <int> I want recompile mkv video with h264 to mpeg4 without of lost quality, my current command is:
[19:59] <int> ffmpeg -i input.mkv -acodec copy -vcodec mpeg4 -s 1280x720 out.mp4
[19:59] <int> but the quality is not good
[20:00] <int> what do I missed
[20:00] <relaxed> int: add -q:v 3
[20:01] <int> relaxed: I cannot find -q flag into ffmpeg man
[20:01] <int> what does it do?
[20:01] <relaxed> -qscale 3
[20:02] <int> undrestood, thanks
[20:03] <int> and -q:v means quality of video. Am I right?
[20:17] <int> one more question: if input video contains subtitiles ( Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle (default) ), are subtitles copied when I convert video file by this method: ffmpeg -i input.mkv -acodec copy -vcodec mpeg4 -s 1280x720 out.mp4 ?
[20:17] <relaxed> int: http://en.wikipedia.org/wiki/Quantization_(image_processing)
[20:18] <relaxed> int: you need -scodec copy
[20:20] <int>   Stream #0:3 -> #0:2 (copy)
[20:20] <int> Could not write header for output file #0 (incorrect codec parameters ?)
[20:20] <int> hm
[20:21] <int> ok, execuse me
[20:21] <llogan> your output container (mp4) probably doesn't support your subtitle format
[20:23] <int> http://paste2.org/p/2239226
[20:23] <int> well, how can I enable it?
[20:23] <relaxed> int: do you need .mp4?
[20:23] <int> unfortunately yes
[20:23] <int> I know it is not good
[20:24] <int> but my videoplayer is too old and only reads mpeg4 codec :-(
[20:24] <relaxed> it probably doesn't support subtitles
[20:24] <int> it supports
[20:26] <relaxed> mpeg4 codec, not the .mp4 container.
[20:26] <relaxed> Right?
[20:27] <llogan> you can try to see if "-scodec dvdsub" works for you.
[20:27] <int> I think you're right
[20:27] <relaxed> Does the player have divx/xvid on the front?
[20:27] Action: llogan has very little subtitle experience
[20:27] <int> llogan: thank you, I will try
[20:28] <int> hm
[20:28] <int> converting
[20:29] <int> Subtitle encoding failed0 size=   19586kB time=00:00:43.00 bitrate=3731.4kbits/s
[20:29] <int> fail :-(
[20:29] <int> ok guys
[20:29] <int> thank you very much
[20:29] <int> I will try to find out solution in google
[20:30] <int> relaxed: Yes, it has
[20:31] <int> relaxed: I can take a photo of front panel if you wish
[20:31] <relaxed> I think you want mpeg4/mp3/srt in the avi container.
[20:32] <int> relaxed: may be
[20:32] <relaxed> ffmpeg -i input -c:v mpeg4 -vtag xvid -c:a libmp3lame -ac 2 -ab 160k -c:s srt output.avi
[20:33] <relaxed> Encoding the subs from whatever they were might not work though.
[20:35] <int> I don't see sream #3 (subtitles) in the ffmpeg log
[20:35] <int> is it ok?
[20:35] <relaxed> I doubt it.
[20:37] <int> may I increase the quality of output file?
[20:37] <int> because I see squares in the video
[20:37] <relaxed> I forgot to add -q:v 3
[20:37] <cbsrobot-> int you want to transcode subs ?
[20:38] <cbsrobot-> I think you need to map them
[20:38] <cbsrobot-> per default ffmpeg only takes 1 video and 1 audio stream
[20:38] <int> cbsrobot-: yes, I know already
[20:38] <relaxed> and one sub stream I though
[20:38] <relaxed> thought*
[20:39] <cbsrobot-> let me check your patie
[20:39] <cbsrobot-> *pastie
[20:39] <int> cbsrobot-: I just want convert h264 to mpeg4 with everything: sound and subtitles
[20:39] <int> cbsrobot-: I can paste ffmpeg -i if you want
[20:39] <cbsrobot-> hmm paste everything please
[20:40] <int> ok
[20:41] <cbsrobot-> ah wait
[20:41] <int> http://paste2.org/p/2239263
[20:41] <cbsrobot-> pgs subs - that is bitmap based
[20:42] <int> what does it mean?
[20:42] <cbsrobot-> its an image - not utf-8 text
[20:43] <int> hm, is it convertable?
[20:45] <Stefff> I get a warning with swscaler and  lanczos an "data is not aligned", cli + log -> http://pastebin.com/dci7YLBW .What does that mean?
[20:45] <cbsrobot-> int: maybe with http://forum.doom9.org/showthread.php?t=145277
[20:45] <cbsrobot-> not sure
[20:46] <int> oh no, it based on java
[20:46] <int> anyway thank you
[20:47] <int> may be it is time to change my videoplayer :)
[20:47] <cbsrobot-> ocr support in ffmpeg kinda sucks
[20:47] <JEEB> what ocr support?
[20:47] <JEEB> Stefff, that the buffer you give the picture in isn't aligned by probably 32bit? (maybe even by 64bit or more boundaries)
[20:48] <relaxed> int: Usually you can find .srt subs online. downloaded them and then run ffmpeg -i movie.mkv -i subs.srt -map 0:v -map 0:a -map 1:s -c:v mpeg4 -vtag xvid -q:v 3 -c:a libmp3lame -ac 2 -ab 160k -c:s copy output.avi
[20:48] <int> relaxed: ok, I will try
[20:50] <Stefff> ok, and what does your Answer mean JEEB? ;) I'm not really a pro. I do not see any point in this cli where I give the picture a buffer.
[20:52] <relaxed> It's just a warning.
[20:53] <Stefff> so nothing I had to be worried about?
[20:54] <relaxed> Check the exit status. If it's 0 you're fine.
[20:55] <Stefff> ok.
[20:56] <int> relaxed: http://paste2.org/p/2239287
[20:56] <int> relaxed: I've downloaded srt file
[20:56] <t4nk650> hello when i run git ffmpeg it returns source.ffmpeg.org[1: 2a01:e0d:1:3:58bf:fa76:0:1]: errno=Network is unreachable
[20:57] <relaxed> int: change '-c:s srt' to '-c:s xsub'
[20:57] <t4nk650> any help
[20:57] <relaxed> Are you behind a firewall?
[20:58] <relaxed> t4nk650: git pull works here.
[20:59] <t4nk650> it may be my server i used another rep and it worked
[20:59] <int> relaxed: http://paste2.org/p/2239292
[21:00] <relaxed> Stop omitting your command.
[21:01] <int> oh, my
[21:01] <int> my fault
[21:02] <relaxed> and half of the output
[21:04] <llogan> t4nk650: what do you mean by "another rep"? there is only one official FFmpeg Git repository (and a github mirror)
[21:05] <t4nk650> http://ffmpeg.org/download.html
[21:05] <t4nk650> i used  git://github.com/FFmpeg/FFmpeg.git
[21:07] <relaxed> Why wouldn't you use the first git repo on http://ffmpeg.org/download.html ?
[21:07] <relaxed> Please tell me.
[21:07] <t4nk650> didnt work gave me the same timeout error
[21:07] <relaxed> It's your network.
[21:08] <t4nk650> yup so that rep i used wasnt up todate?
[21:13] <llogan> t4nk650: it should be fine.
[21:13] <llogan> i just wanted to make sure you weren't using some third party thing or even the old SVN repo
[21:14] <Stefff> One last question :). In my cli above, I have two inputs, video and audio, and they have different "Duration: N/A, start" timings. Could I / How could I slide the audio track e.g. in my cli at about 00:00:00.410541 ?
[21:16] <t4nk650> oh alright thanks alot man :)
[21:16] <int> relaxed: please look http://paste2.org/p/2239315
[21:17] <t4nk650> does programs like anyvideoconverter use ffmpeg? how do they convert videos
[21:18] <int> relaxed: I don't see any record about subtitles
[21:20] <cbsrobot-> int what container formats your player supports ?
[21:20] <cbsrobot-> avi, mkv, mov, mp4 ?
[21:21] <int> cbsrobot-: avi and mp4
[21:21] <cbsrobot-> try
[21:22] <cbsrobot-> ffmpeg -i Jiro.Dreams.Of.Sushi.2011.720p.BluRay.x264.DTS-HDChina.mkv -i jiro-dreams-of-sushi-en.srt -map 0:0 -map 0:1 -map 1:0 -c:v mpeg4 -vtag xvid -q:v 1 -c:a libmp3lame -ac 2 -ab 160k -c:s xsub jiro.avi
[21:22] <int> http://www.dv-rec.de/test/player2006/silvercrest/6511/6511.html this model
[21:23] <int> cbsrobot-: [xsub @ 0x22764d0] No subtitle bitmap available
[21:23] <cbsrobot-> so
[21:24] <cbsrobot-> ffmpeg -i Jiro.Dreams.Of.Sushi.2011.720p.BluRay.x264.DTS-HDChina.mkv -i jiro-dreams-of-sushi-en.srt -map 0:0 -map 0:1 -map 1:0 -c:v mpeg4 -vtag xvid -q:v 1 -c:a libmp3lame -ac 2 -ab 160k jiro.mp4
[21:26] <t4nk650> can anyone help me i get the error error while loading shared libraries: libfaac.so.0: cannot open shared object file: No such file or directory
[21:26] <t4nk650> when i type ffmpeg
[21:26] <t4nk650> but i type ldconfig i get no error
[21:27] <t4nk650> i know libfacc is old but i need it for this script im using
[21:28] <int>  cbsrobot- Encoder (codec none) not found for output stream #0:2
[21:28] <int> Stream #1:0 -> #0:2 (srt -> ?)
[21:29] <cbsrobot-> ah
[21:29] <cbsrobot-> so use -c:s copy
[21:29] <cbsrobot-> ffmpeg -i Jiro.Dreams.Of.Sushi.2011.720p.BluRay.x264.DTS-HDChina.mkv -i jiro-dreams-of-sushi-en.srt -map 0:0 -map 0:1 -map 1:0 -c:v mpeg4 -vtag xvid -q:v 1 -c:a libmp3lame -ac 2 -ab 160k -c:s copy jiro.mp4
[21:30] <t4nk650> i made sure i installed libfacc
[21:31] <t4nk650> maybe i got to reinstall it
[21:31] <int> cbsrobot-: http://paste2.org/p/2239333
[21:31] <cbsrobot-> hehe
[21:32] <cbsrobot-> try
[21:32] <cbsrobot-> ffmpeg -i Jiro.Dreams.Of.Sushi.2011.720p.BluRay.x264.DTS-HDChina.mkv -i jiro-dreams-of-sushi-en.srt -map 0:0 -map 0:1 -map 1:0 -c:v mpeg4 -vtag xvid -q:v 1 -c:a libfaac -ac 2 -ab 160k -c:s copy jiro.mp4
[21:32] <cbsrobot-> not sure it works
[21:33] <cbsrobot-> i rarely use xvid
[21:33] <int> Unknown encoder 'libfaac'
[21:34] <t4nk650> yes thats the error
[21:35] <cbsrobot-> I think mp4 does not support mp3 files
[21:36] <int> http://paste2.org/p/2239336
[21:36] <int> ah, it is avi
[21:36] <int> ok
[21:36] <cbsrobot-> try
[21:36] <cbsrobot-> ffmpeg -i Jiro.Dreams.Of.Sushi.2011.720p.BluRay.x264.DTS-HDChina.mkv -i jiro-dreams-of-sushi-en.srt -map 0:0 -map 0:1 -map 1:0 -c:v mpeg4 -vtag xvid -q:v 1 -c:a libmp3lame -ac 2 -ab 160k -c:s copy jiro.avi
[21:37] Action: cbsrobot- never uses avi files
[21:38] <cbsrobot-> else you could burn the subs in the video
[21:38] <int>  [avi @ 0x27256a0] Subtitle streams other than DivX XSUB are not supported by the AVI muxer.
[21:38] <int> else you could burn the subs in the video | it will be really nice
[21:39] <llogan> t4nk650: what's your distro?
[21:39] <t4nk650> centos
[21:39] <t4nk650> 5
[21:40] <llogan> https://ffmpeg.org/trac/ffmpeg/wiki/CentosCompilationGuide
[21:40] <llogan> why are you using shared?
[21:40] <t4nk650> libfacc not on there
[21:41] <t4nk650> thats the guide i followed
[21:41] <cbsrobot-> int: ffmpeg -i jiro-dreams-of-sushi-en.srt jiro-dreams-of-sushi-en.ass; ffmpeg -i Jiro.Dreams.Of.Sushi.2011.720p.BluRay.x264.DTS-HDChina.mkv -vf ass=jiro-dreams-of-sushi-en.ass -map 0:0 -map 0:1 -c:v mpeg4 -vtag xvid -q:v 1 -c:a libmp3lame -ac 2 -ab 160k  jiro.avi
[21:42] <llogan> t4nk650: find the faac source, extract, then: ./bootstrap && ./configure && make
[21:42] <int> cbsrobot-: No such filter: 'ass'
[21:42] <cbsrobot-> damn
[21:42] <t4nk650> im doing that now hope it works
[21:43] <t4nk650> wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz
[21:43] <t4nk650> ./configure --disable-mp4v2 is that needed?
[21:44] <llogan> i doubt it
[21:44] <llogan> i've never compiled faac
[21:44] <t4nk650> its done and im still getting that error -__- i might recompile ffmpeg without it
[21:44] <t4nk650>  error while loading shared libraries: libfaac.so.0: cannot open shared object file: No such file or directory
[21:45] <int> cbsrobot-: I will compile it with faac
[21:45] <t4nk650> it installed smooth before
[21:45] <cbsrobot-> yeah
[21:45] <cbsrobot-> what os ?
[21:45] <int> cbsrobot-: gentoo
[21:45] <cbsrobot-> ok
[21:45] <int> cbsrobot-: but I have aac flag into ffmpeg
[21:45] <int> strange
[21:46] <llogan> t4nk650: add --disable-shared to faac and remove --enable-shared from ffmpeg
[21:46] <llogan> t4nk650: why do you need faac anyway? fdk-aac is probably a better alternative.
[21:47] <t4nk650> because this script im using needs it it wont use any alternative
[21:47] <t4nk650> its a video script
[21:47] <llogan> change the script
[21:47] <t4nk650> it uses libfacc to convert to mobile
[21:51] <Perdignus> Hello - Any Gentoo users here who might be able to assist me with a failed emerge of ffmpeg please?
[21:53] <llogan> 7 minutes ago int claimed gentoo usage. or you could just show any errors if it is ffmpeg specific
[21:54] <Perdignus> Here's the paste of the end/failure of the emerge http://bpaste.net/show/46278
[21:54] <Perdignus> I think it comes down to "libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_118'  "
[21:54] <llogan> you probably have two installations of x264
[21:55] <int> cbsrobot-: recompiled ffmpeg with faac
[21:55] <int> cbsrobot-: [mp4 @ 0x26376a0] Tag xvid/0x64697678 incompatible with output codec id '13'
[21:55] <cbsrobot-> hmm sucks
[21:55] <Perdignus> llogan: thanks, I'll investigate that
[21:57] <cbsrobot-> int seems you can put the video and the subs as two files on that machine
[21:58] <llogan> Perdignus: sprcifically you probably have and old x264.h somewhere
[21:58] <cbsrobot-> and then select the sub while playing the file
[21:58] <int> cbsrobot-: do you mean convert it to mp4 and place output file and subtitles on the media?
[21:58] <cbsrobot-> yes
[21:59] Action: llogan learns how to type
[21:59] <int> ok, will try
[21:59] <int> thank you for you help
[21:59] <t4nk650> perdignus run locate x264
[22:00] <t4nk650> i had 2 installed had to remove everything that has to do with x264 just to get it to act right
[22:01] <Perdignus> llogan:  and t4nk650 I think you guys were spot on, I found a 2nd/bad x264.h, trying to re-emerge now, thanks
[22:03] <Perdignus> Thanks again guys, that worked.  I've only wrestling with that for weeks, what a relief!
[22:05] <t4nk650> lol glad to help if only i can get my problem fixed
[22:05] <t4nk650> smh
[22:07] <t4nk650> im recompiling without libfacc forget it
[22:09] <llogan> t4nk650: lets see that script then so it can be changed to a different encoder
[22:11] <llogan> such as fdk-aac or the native ffmpeg aac encoder.
[22:50] <rachelfish> Are there any tools for recovering truncated mp4 files?
[22:53] <JEEB> rachelfish, unless you have the index you have almost zero chance of getting it done
[22:53] <JEEB> without the index it's just bytes of data that isn't really anything
[22:56] <llogan> JEEB: i recall something about "fragments" for streaming. would that be of use?
[22:56] <JEEB> yes, but only if the file had fragments
[22:57] <JEEB> most of the files don't, it's a generally rarely used function
[22:57] <JEEB> and this was a case of "recovering" a truncated file
[22:57] <JEEB> so I will guess there are no fragments
[23:11] <rachelfish> JEEB: I uploaded a sample video to some online service which claimed to repair mp4 videos
[23:12] <rachelfish> It did manage to extract screenshots sucessfully
[23:12] <rachelfish> then said I'd need to pay $40 for the repaired file
[23:13] <D4rkSilver> lol
[23:14] <burek> we'll fix it for 20 :)
[23:14] <burek> beers :)
[23:14] <rachelfish> maybe if one of you has a botnet I could ddos them until they gave me the software they're using
[23:14] <rachelfish> :)
[23:17] <JEEBsv> heh, I guess some patterns could be looked for... but no-one I know has automatized anything like that yet :s
[23:18] <JEEBsv> also you'd need to have previous samples on which the heuristics would be based on
[23:18] <rachelfish> That's fine, I have lots of previous samples
[23:18] <rachelfish> The mp4 files are corrupt because I accidentally unplugged my webcam while recording
[23:20] <JEEBsv> then I guess it could be doable, but would require some effort to look for specifics of that device's output
[23:20] <JEEBsv> and to create an application of that :s
[23:20] <rachelfish> Hmm
[23:20] <rachelfish> For future reference, what format isn't dumb like this?
[23:21] <JEEBsv> flv,mkv,mpeg-ts
[23:21] <JEEBsv> to name a ew
[23:21] <JEEBsv> *few
[23:21] <rachelfish> Hmm
[23:21] <JEEBsv> mkv can have an index, but it isn't required f.ex.
[23:23] <JEEBsv> I really wish more things supported fragments in mp4
[23:50] <rachelfish> Well, I managed to find this which runs fine in wine
[23:50] <rachelfish> http://grauonline.de/cmsimple2_6/en/?Solutions:HD_Video_Repair_Utility
[23:51] <rachelfish> But the demo only repairs the first half of the file
[23:51] <rachelfish> and I don't think it repairs audio at all
[23:51] <rachelfish> but that's not a big deal
[23:52] <rachelfish> baahahahahahahahah
[23:53] <rachelfish> it only repairs half the file, so I cat video.mp4 >> lol.mp4 twice
[23:53] <rachelfish> and it works
[23:54] <burek> you are smart
[23:54] <burek> you could professionaly fix people's files now :D
[23:54] <burek> for 40$ :)
[00:00] --- Wed Sep 19 2012


More information about the Ffmpeg-devel-irc mailing list