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

burek burek021 at gmail.com
Sat Jun 23 02:05:01 CEST 2012


[00:03] <redeeman> hello, im looking for some help trying to encode using x264 with preset veryslow and 10bit, specifying maximum output size, but i cant seem to figure out how
[00:04] <redeeman> will simply using a libx264 built as 10bit do it?
[00:14] <JEEB> redeeman, yes -- bit depth is not a runtime configurable parameter
[00:14] <JEEB> so if you build a 10bit libx264 it will only and only output 10bit H.264
[00:15] <redeeman> so then i would do -vc libx264 -preset veryslow -br 373kb in this case, which i've calculated will give me desired video file size
[00:15] <redeeman> ?
[00:16] <JEEB> -c:v libx264 -preset veryslow -b:v 373k
[00:16] <JEEB> if 373kbps gives you the size you want
[00:17] <redeeman> and -pass 1 is still okay too?
[00:17] <redeeman> (and later pass 2)
[00:17] <redeeman> or does it need the x264 specific passlog?
[00:17] <JEEB> yes, if you are doing multipass then add -pass 1 and -pass 2
[00:17] <JEEB> the libx264's passlog should automagically be created and used
[00:17] <redeeman> okay
[00:17] <redeeman> thank you
[00:19] <starPause> i encoded a video that plays back fine in VLC, but when i play it back in safari there's glitchy artifacts. anyone have a second to take a look and see if it's a familiar issue i may be able to address in my encoding command? h264 video: http://starpause.com/job/glitches_at_19seconds_in_safari.m4v
[00:21] <starPause> also plays back fine in chrome and firefox (looks like quicktime extension)
[00:21] <llogan> starPause: use a pastebin site to show your ffmpeg command and the complete console output
[00:22] <Spider-Pork> burek: thank you, i noticed that later in a doc page (there is a build guide). I used the configure params of the package on my debian.
[00:22] <Spider-Pork> I was out, training in swimmingpool
[00:23] <Spider-Pork> next morning (6 hour) i'll try that
[00:23] <Spider-Pork> thank you, night
[00:25] <JEEB> starPause, does it have those same things on QT itself?
[00:26] <JEEB> anyways, QT/Safari can be really a pain in the arse :/
[00:27] <JEEB> depending on the version(s) at hand they can bork at weightp 2 of x264, as well as even low quants
[00:27] <starPause> llogan: http://pastebin.com/amwgpagz
[00:28] <starPause> JEEB: checking in QT now... yup, nasty glitch ~19seconds is there
[00:29] <JEEB> yeah, so it was the VLC extension playing it in firefox, and chrome uses the same decoder as VLC
[00:29] <llogan> yuv420p, so it's not that...
[00:29] <JEEB> llogan, it wouldn't even play in QT/Safari if it was !4:2:0 YCbCr
[00:29] <JEEB> afaik
[00:30] <starPause> JEEB: i see... any magic flags i can flip to appease the QT gods?
[00:30] <JEEB> let me see on the x264 mailing lists
[00:30] <llogan> there is a nasty habit of 422 depending on some sources. i don't know/care enough about QT/Safari to know its !420 playback capabilities.
[00:30] <JEEB> llogan, if it's !4:2:0 there's none as far as capabilities go with H.264
[00:31] <JEEB> the only !4:2:0 it supports are prores and raw YCbCr
[00:31] <JEEB> afaik
[00:33] <llogan> http://pastebin.com/8WRfv3Ex
[00:34] <JEEB> starPause, I see b-pyramid strict and weightp 1/0 given as things to try out with QT. 19sec seems like a spot where weighted prediction could start kicking in so add -x264opts weightp=1 first
[00:35] <starPause> JEEB: giving that a shot, thanks
[00:36] <JEEB> QT is really something that I don't like dealing with, the older versions couldn't even handle high profile H.264, and then newer ones just have random problems
[00:37] <starPause> JEEB: http://pastebin.com/YstGK1pJ didn't seem to work
[00:38] <starPause> llogan: trying to incorporate your pastebin suggestion to my original command
[00:39] <JEEB> -x264opts b-pyramid=strict:weightp=1
[00:39] <JEEB> ^ try this
[00:40] <JEEB> and then finally with weightp 0 if that doesn't work
[00:40] <llogan> starPause: follow JEEB's suggestions. my last pastebin was not a suggestion.
[00:42] <starPause> llogan: got it :) JEEB: no better :\
[00:42] <JEEB> check the libx264's output in the terminal that you have b_pyramid set to 1
[00:42] <JEEB> no better with weightp 1 or 0?
[00:43] <JEEB> if neither works and b_pyramid is set to 1, then just try x264opts qpmin=4
[00:43] <starPause> JEEB: b_pyramid=1 in the ouput, no better with 1 or 0
[00:43] <JEEB> ok
[00:44] <JEEB> then try what I just wrote
[00:44] <starPause> JEEB: in addition to b-pyramid=strict:weightp=1 or instead of?
[00:44] <JEEB> instead of at first
[00:44] <JEEB> separate QT bug for a separate QT version and since I don't know the exact minimum QPs you had there :)
[00:45] <JEEB> just that your I-frames were at average at around 7
[00:46] <starPause> x264opts qpmin=4 did the trick!
[00:46] <starPause> thanks so much :beer:
[00:46] <JEEB> ok, so it was the low qps problem
[00:46] <JEEB> certain QT versions have a bug with regards to low QPs
[00:47] <JEEB> specifically lower than 4
[00:47] <JEEB> so qpmin=4 sets the minimum QP x264 can use
[00:47] <starPause> is qpmin=4 a good long term fix? seems necessary if that's the issue i'm up against
[00:48] <JEEB> for certain versions, it's the _only_ fix (specifically OS X 10.6/5 as one example looking at http://www003.upp.so-net.ne.jp/mycometg3/ )
[00:48] <JEEB> now other versions might need weightp 1/0 or b-pyramid at strict
[00:48] <JEEB> welcome to QT
[00:49] <starPause> yay, makes me feel sick to my stomach
[00:49] <JEEB> your problem becoming "how many versions I can test this with"/"How much do I want to limit these streams because of QT's bugs"
[00:50] <JEEB> I think later for OS X they just stopped developing the SW decoder and moved to trying to make the hardware decoder be more stable
[00:51] <starPause> yeah, to be honest i think the quality etc is good enough... if i leave b-pyramid=strict:weightp=1 in will it hurt anything? might be worth limiting the stream if it prevents me having to go back and fix later
[00:52] <JEEB> it will hurt compression of course more or less, but if you're using crf it should just end up as a bigger file
[00:52] <starPause> ok, that's acceptable, it's still under 5megs which was the target
[00:53] <JEEB> I won't give you any guarantees on random QT versions of course, but that should generally work
[00:54] <JEEB> (and yes btw, people actually filed bug reports to apple about these things, but you can guess if those ever got any response and/or fix) :)
[00:54] <starPause> haha yeah it's obviously something that can't be guaranteed, but i very much appreciate the advice!
[00:55] <starPause> uhg yeah, i'm continually amazed at how bad a company pushing sleek/quality can fail at media delivery... was beta testing iTunes while match was going on and mp3 decoding was just broken, really bad warbles for a few versions
[00:58] <JEEB> at least iPhone 3GS and latter have sane hardware decoders and so forth
[00:58] <JEEB> so supporting those is much less of a pain
[00:59] <starPause> that's a relief. ok time to go batch these... thanks again for the help!
[01:00] <JEEB> np
[01:09] <teratorn> starPause: media delivery is hard :(
[01:09] <teratorn> but yes they are terrible
[01:09] <teratorn> if use ffmpeg mayb not hard, but hey
[01:09] <teratorn> ;)
[01:18] <m55> I'm trying to get an i-frame image from a movie file at around 1s into the video file.  How can I do that?
[01:18] <m55> I'm using this right now: ffmpeg  -itsoffset -1 -i test.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo test.jpg
[01:23] <llogan> m55: ffmpeg -i input.mp4 -ss 1 -vframes 1 output.jpg
[01:23] <llogan> might not get the exact frame you want
[01:24] <m55> that won't get an iframe although
[01:24] <llogan> or use the select filter to select only i-frames: "[FFmpeg-devel] Logo/Banner rules (try #1)"
[01:24] <llogan> yeah.
[01:24] <llogan> i just did that
[01:24] <llogan> select='eq(pict_type,I)'
[01:26] <m55> so how would i put that in a command?
[03:02] <Sashmo> Hey everyone, using latest git, and programid has been deprecated, anyone know what the replacement is?
[03:44] <Sashmo> does anyone know if ffmpeg or any other program can insert null packets into a ts stream or file?
[05:18] <brocatz> hey, i'm just following this so I can build ffmpeg myself http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=5&t=459
[05:18] <brocatz> in step 6 he glosses over some things
[05:19] <brocatz> basically where do i get the latest versions of "Faac, lame, x264"
[05:19] <brocatz> just dig around on google?
[05:20] <brocatz> guess so
[05:52] <Zeranoe> brocatz: FAAC: http://www.audiocoding.com/downloads.html LAME: http://sourceforge.net/projects/lame/files/lame/3.99/ x264: It should be downloaded from git, so: git clone git://git.videolan.org/x264.git
[06:00] <brocatz> yeah i got it
[06:00] <brocatz> cheers
[06:00] <brocatz> compiling ffmpeg + deps is good times
[06:00] <Zeranoe> brocatz: Lots of fun
[06:01] <Zeranoe> Did you use the build script?
[06:01] <brocatz> only drama so far is with my yasm version
[06:01] <brocatz> haven't done ffmpeg yet, just doing the deps
[06:01] <brocatz> i am using the mingw build script
[06:01] <brocatz> from your website!
[06:01] <brocatz> (just clicked)
[06:02] <Zeranoe> make sure you export the yasm prefix before the rest of your path, if your compiling it yourself
[06:04] <brocatz> yep
[06:04] <brocatz> so i found a forum post with suggested flags
[06:05] <brocatz> --disable-w32threads do i want that?
[06:07] <Zeranoe> Yes, if you used the build script it will use pthread and not w32thread
[06:08] <brocatz> ok
[06:13] <brocatz> yeah i'm going to need dshow, avisynth, x264, faac, and maybe lame
[06:13] <Zeranoe> dshow is built is as well as avisynth
[06:13] <brocatz> ok sweet
[06:14] Action: brocatz types make and hopes
[06:14] <brocatz> a lot of work to get the windows terminal patch applied
[06:34] <dan_> hey, anyone around?
[07:40] <brocatz> aww yeah
[07:40] <brocatz> windows patch applied
[07:40] <brocatz> ffmpeg built successfully
[07:40] <brocatz> victory
[07:41] <brocatz> now it plays nice on windows
[07:57] <jesk> heyho
[07:58] <jesk> suppose I want to mux re-encode audio stream to two different codecs and stream them in output container
[07:58] <jesk> how can I do that?
[08:20] <igmrlm> g'day
[08:21] <igmrlm> how do i make ffplay downmix ac3, 48000 Hz, 5.1(side), s16, 448 kb/s to stereo?
[08:22] <igmrlm> i tried "-ac 2" and "-channel_layout 3" but both return: [ac3 @ 0x7f48e0016d60] channel layout does not match number of channels
[09:22] <jesk> does anyone know how the name of the audio track in a video-container(mp4) can be set?
[09:23] <jesk> you know, in players normally under audio settings where you can choose the audio track
[09:23] <Vardis> Hello
[09:23] <jesk> is that also meta-tagging?
[09:25] <Vardis> if I have about 43min footage and want to split in 4 parts about 12min long. Do I need to reencode all footage every time? Or is possible to jump in concrete time and start encoding from thet place?
[09:46] <burek> jesk, yes it is
[09:46] <burek> Vardis, if you just want to split your video, then no need for reencoding
[09:46] <burek> look at -ss and -t
[09:47] <Vardis> burek yes that stuff i know but there is catch
[09:47] <Vardis> when splitting ffmpeg every time start counting from 0
[09:48] <burek> igmrlm, -ac 2 should do the job.. try to output to out.wav to see if it works
[09:48] <burek> Vardis, can you please use pastebin.com, to show your command line and its output?
[09:48] <igmrlm> i did -ac 2, it said [ac3 @ 0x7f48e0016d60] channel layout does not match number of channels
[09:48] <burek> igmrlm, can you please use pastebin.com, to show your command line and its output?
[09:48] <igmrlm> i think its someting with that particular video file..
[09:48] <igmrlm> uh sure, one sec
[09:49] <jesk> burek, thanks. Do you have also an idea about my first question? :-)
[09:49] <burek> brocatz, cool :))
[09:49] <brocatz> i'm sure you will get windows users in here again with the problem
[09:49] <brocatz> and i'm sure our patch will probably get forgotten about
[09:49] <igmrlm> http://pastebin.com/dsSmGbe2
[09:49] <burek> brocatz, why forgotten?
[09:50] Action: brocatz says something else melodramatic
[09:50] <burek> :))
[09:50] <brocatz> burek: i don't think windows is super important to the project
[09:50] <burek> igmrlm, ffplay is just a player.. use ffmpeg for actual conversion
[09:50] <jesk> suppose I want to re-encode an audio stream in a file to two different codecs and stream them in output container to output-file
[09:50] <jesk> how am I supposed to do that?
[09:51] <igmrlm> that was the point... i'm not converting it, i'm testing how much cpu is used with different players, e.g., totem, mplayer, vlc, ffplay
[09:51] <burek> jesk, ffmpeg -i input -acodec codec1 ... output1.wav -acodec codec2 ... output2.wav
[09:52] <igmrlm> ffplay was working the best by far with high10 video, just for some reason with that one it would not downmix the audio to stereo
[09:52] <jesk> burek, want to mux them in one file
[09:52] <jesk> one track should be aac and the other ac3
[09:53] <burek> jesk, you want one output file with 2 audio streams inside?
[09:53] <jesk> yeah!
[09:53] <jesk> mp4 video
[09:53] <jesk> can explain you why :)
[09:53] <burek> jesk, can you first type ffmpeg -i yourmp4videofile
[09:53] <burek> and use pastebin.com to show the output
[09:53] <jesk> sure!
[09:54] <burek> igmrlm, I don't know.. never player with ffplay too much, but maybe you can try using audio filters, like pan or something, to make a stereo output
[09:55] <burek> http://ffmpeg.org/ffmpeg.html#pan
[09:55] <burek> -player +played
[09:56] <burek> pan="stereo: c0=FL : c1=FR"
[09:56] <jesk> burek: http://pastebin.com/2DesHxWP
[09:57] <burek> jesk try this:
[09:58] <burek> ffmpeg -i Puncture.mkv -map 0:0 -c:v copy -map 0:1 -c:a libfaac -map 0:2 -c:a ac3 output.mkv
[09:59] <jesk> this creates that: http://pastebin.com/N5rfB6ih
[09:59] <jesk> two ac3 tracks
[09:59] <Vardis> burek: I'm explained little bit incorrect idea is that encoding is counting from start every time but starting give output file correctly
[10:00] <burek> jesk, or this: ffmpeg -i Puncture.mkv -map 0 -c:v copy -c:a:1 libfaac -c:a:2 ac3 output.mkv
[10:00] <jesk> Encoder (codec none) not found for output stream #0:3
[10:01] <burek> pastebin jesk ?
[10:01] <burek> Vardis, can you please show your cmd and the output?
[10:01] <jesk> http://pastebin.com/tdSqNw5y
[10:02] <burek> Subtitle: ssa
[10:02] <burek> that is complaining now
[10:02] <burek> the audio outputs are now ok
[10:02] <jesk> dont need Subtitles
[10:03] <jesk> why is first audio stream vorbis?
[10:03] <jesk> last time it was ac3 what it should be
[10:03] <burek> hmh wait
[10:04] <burek> that's what I'm looking also
[10:04] <burek> try moving -map 0 after all -c:a
[10:04] <burek> before output
[10:05] <jesk> same problem: http://pastebin.com/LzkcpPdd
[10:05] <burek> then the only thing I can think of are wrong stream indicies
[10:06] <burek> so try -c:a:0 and -c:a:1
[10:06] <Vardis> burek here http://pastebin.com/PLtpZ2ND
[10:06] <jesk> now it's working
[10:06] <burek> :)
[10:06] <jesk> :)
[10:07] <jesk> just need to filter the suntitels
[10:07] <jesk> subtitles
[10:07] <jesk> dont want to copy them
[10:07] <burek> -sn
[10:07] <jesk> that looks good
[10:07] <jesk> cool
[10:07] <burek> Vardis, do you need to re-encode while splitting the video apart, or you just need to split it?
[10:07] <jesk> but the syntax is *really* strange :)
[10:08] <burek> jesk, well, think of it like this "take the input, set the output codecs and then map what is what" :)
[10:08] <Vardis> burek: mostly reencode to webm or mp4
[10:08] <burek> in the output of ffmpeg you can always adjust your stream indexes
[10:08] <jesk> burek, really?
[10:09] <jesk> hm
[10:09] <burek> Vardis, well, the first problem I see in your command is that -ss is after -i
[10:09] <burek> making it seek AFTER the decoding of the input
[10:09] <burek> which will be slower than just seeking by key frames
[10:09] <burek> which you can specify putting -ss BEFORE -i
[10:10] <burek> there are pros and cons using -ss before/after -i
[10:10] <jesk> when mapping audio-stream 1 in file 1 to aac AND ac3, how does map correlate to those two? (documentation says it correlates to the fileindex:track, but both are from the same stream)
[10:10] <burek> if you use -ss before -i seeking is faster but less accurate (you might not end up at the exact position you would like to)
[10:11] <burek> if you use it after the -i then seeking is slower but is ultra precise
[10:11] <burek> and seeks to exact nanosecond :)
[10:11] <burek> jesk, I didn't understand the question
[10:11] <jesk> ok, in our example we used the same source track, right
[10:12] <jesk> we replicated it to two different codec engines, aac and ac3
[10:12] <burek> input file or audio stream?
[10:12] <burek> what is source track
[10:12] <burek> oh I see
[10:13] <jesk> oh damn!
[10:13] <burek> you want to duplicate english subs
[10:13] <jesk> we did something wrong
[10:13] <burek> not both
[10:13] <jesk> we used the english and the german audio stream
[10:13] <jesk> I just want that the german audio streams gets in two codecs in the output file
[10:14] <jesk> and forget about the english one
[10:14] <burek> then try ffmpeg -i input -map 0:0 -map 0:1 -map 0:1 -c:v copy -c:a:0 libfaac -c:a:1 ac3 output.mkv
[10:14] <burek> also add -sn
[10:14] <jesk> phew
[10:14] <jesk> perfect
[10:14] <jesk> works
[10:15] <jesk> yeah
[10:15] <burek> :)
[10:15] <jesk> and now i dont understand how map correlates to the -codecs :)
[10:15] <burek> "take the input, map input streams with -map to create a list of output streams and then set appropriate codecs"
[10:15] <burek> each -map creates one new output stream
[10:16] <jesk> so -c:a:0 doesnt correlate to the input-file with track 0, it correlates to the first output stream?
[10:17] <burek> with "-map 0:0 -map 0:1 -map 0:1" you told ffmpeg "take the input stream 0:0 and add it to output streams, then take the input stream 0:1 and add it to output, etc"
[10:17] <burek> yes
[10:17] <burek> it relates to output stream indexes
[10:17] <burek> well, after all, you are setting the codecs for output, not for input :)
[10:18] <jesk> that is gold worth!
[10:18] <burek> and using -map you dont need -sn because it wont be added anyway
[10:18] <jesk> really fine!
[10:20] <burek> :)
[10:21] Action: jesk pays for a round
[10:21] <burek> :beer: :)
[10:21] <burek> cheers :)
[10:21] <jesk> you have to know that i need that just for the purpose of beeing safe with iDevices
[10:22] <jesk> AppleTV, Playstaton, iPad, all of them just understand AAC
[10:22] <jesk> but I dont want to lose the higher quality original AC3-5.1/DTS
[10:22] <jesk> the iDevices fallback from AC3 to AAC, so I have win/win :P
[10:24] <burek> well
[10:25] <burek> if you want to keep the original, don't use -c:a ac3 but use -c:a copy instead
[10:25] <jesk> yeah true, was playing with bitstream passthrough, which is supported by Apple TV
[10:25] <jesk> not for DTS
[10:25] <jesk> which seems to be incompatible with m4
[10:25] <jesk> oh yeah
[10:26] <jesk> ffmpeg doesnt support DTS inside mp4
[10:26] <jesk> this stuff need to be studied
[10:27] <burek> :)
[10:27] <burek> at least it's never boring, isn't it :)
[10:27] <burek> is it*
[10:27] <jesk> hehe yep
[10:36] <Vardis> burek: thanks a lot it's worked like charm and what I needed :)
[10:37] <Vardis> burek: now diferent one iff I want deinterlaced video do I need put filter yadif in first pass?
[10:38] <burek> :)
[10:38] <burek> I never used 2-pass encoding
[10:39] <burek> mostly -crf did all of my work
[10:39] <Vardis> oh
[10:41] <Vardis> and also if becouse off file system limitation I need to join 2 files to make one full complete MTS 2 mp4 or webm with best quality as possible? what could be bast aproach for this?
[10:42] <burek> use a video editor? :)
[10:43] <burek> also, if you use big files > 4GB
[10:43] <burek> create a smaller partition (like 20-30 GB) and set its type to NTFS
[10:43] <burek> to avoid FAT32 4 GB limit
[10:44] <burek> and use that partition to store (temporarily) your large files
[10:49] <Vardis> well dont use editors becouse my noutebook isn't capable to show AVCHD 1920x1280 and i use linux with ext4 but camcorder is with flash
[10:49] <burek> oh I see
[10:50] <Vardis> and i tried to reencode to dv but ffmpeg didnt create biger file than 4,2 gb
[10:50] <burek> hm, I could swear that I have an usb flash stick of 8 GB.. let me check
[10:50] <burek> oh yes.. it can be 8 GB, but file size limit is 4 gb
[10:50] <Vardis> yes becouse of fat32
[10:51] <burek> but, why did you run ffmpeg on the usb?
[10:51] <Vardis> I has 16GB
[10:51] <Vardis> no not on usb
[10:51] <burek> ext4 has a 4 gb limit too?
[10:51] <Vardis> thats is the odd thing
[10:51] <Vardis> actaly no
[10:52] <burek> Max file size, 16 TiB
[10:52] <Vardis> but ffmpeg started to drop audio vido sync errors
[10:52] <burek> hm..
[10:52] <Vardis> after 4GB
[10:52] <Vardis> it vas on 10.0 ffmpeg
[10:55] <burek> maybe your input file was too big and missing some stuff at the end
[10:55] <burek> because of fat32 limit?
[11:03] <Vardis> input file was 3.9GB and about 43min but it was first part of splited file second ~3.7GB 39min long and starpoint wasnt 0 but ~2700  and 2nd part of splited footage file
[11:06] <Vardis> burek: the dv outputfile reached ~4GB ~20min of footage and started pit out error mesages of av sync and so on
[11:06] <Vardis> now I didnt try this thing
[11:15] <burek> Vardis, did you record it with your camcorder up until it complained there is no more disk space or something
[11:15] <burek> or you stopped it before it reached the max file size
[11:21] <Vardis> burek: nope I had enough space and recording was without stoping ~86min becouse of file size limit camcorder splited this record into 2 parts and thats way ffmpeg shows 2part startpoint more than ~2000 and first files startpoint watz 1.000000
[11:22] <burek> hm, I'm not sure how did your camcorder split that file
[11:23] <burek> maybe you should just concat 2 files first
[11:23] <burek> like, raw concat
[11:23] <burek> and then try ffmpeg on that?
[11:26] <Spider-Pork> burek: thank you for the last tip, now the latest build from git works. After few seconds go in segmentation fault but now i can send a bug report
[11:26] <burek> great :)
[11:26] <burek> thanks for the report :)
[11:26] <burek> I know it was a hassle, but there is no other way we can figure out what's wrong on your machine to cause it..
[11:26] <Spider-Pork> first i read better the ffmpeg command line manual, just to be sure that i'm using it in the right manner
[11:27] <Spider-Pork> burek: i know and i appreciate your help
[11:27] <Spider-Pork> without bug report is impossible to know what's wrong
[11:27] <Spider-Pork> noone here is a wizard :)
[11:29] <Mmike> Hola, lads (and ladies!). When I use 2pass encoding with ffmpeg, where is log file created? In the current directory (i.e., the dir from ffmpeg is run)? If so, can I have it place the log file to /tmp or /var/tmp or somewhere?
[11:29] <burek> Spider-Pork, :beer: :)
[11:30] <Spider-Pork> burek: i suggest you a pizza (I'm italian and my wife is better than a chef)
[11:30] <burek> Mmike, http://ffmpeg.org/ffmpeg.html#Video-Options
[11:30] <burek> scroll down to -pass and -passlogfile
[11:30] <Mmike> so I can use -passlogfile '/tmp/mytmplogfile' ?
[11:31] <Mmike> thnx
[11:31] <burek> Spider-Pork, both can do :D
[11:31] <burek> I mean, pizza and the beer :)))
[11:31] <Spider-Pork> ahahaha
[11:32] <Spider-Pork> is the best choice
[11:32] <Mmike> One day I will meet a bad-ass coder that loves great wine, smokes cigars and eats only food that is named only in french :)
[11:32] <juanmabc> i like baguettes
[11:33] <juanmabc> (the other, checked)
[11:33] <juanmabc> :P
[11:35] <burek> :)
[11:39] <Mmike> :) heh :)
[11:40] <Mmike> burek, mind if I ask where are you from? (re: your nickname, ofc)
[11:46] <burek> Mmike, Serbia :)
[11:47] <Mmike> burek, neat! :) I
[11:47] <Mmike> burek is the most common name for a temp variables or stupid shell scripts or functions or whatever, here, in Croatia :)
[11:48] <burek> :)
[11:48] <burek> well I used it because I like burek
[11:48] <Mavrik> omnomnom burek.
[11:48] <burek> :)
[11:48] <shroomM> mmm, burek
[11:48] <shroomM> :)
[11:48] <shroomM> haven't eaten that in a while :)
[11:49] <burek> it's especially tasty if you eat it when you are drunk :)))
[11:49] <shroomM> that's when I normally eat it
[11:50] <shroomM> that or kebap :P
[11:50] <burek> oh, that one is good too :)
[11:50] <burek> and giros :)
[11:50] <burek> now, I'm hungry :(
[11:50] <shroomM> haha
[11:50] <shroomM> sorry abt that :P
[11:51] <shroomM> hehe
[11:51] <burek> :)
[11:52] <Mmike> burek,  :) :) :)
[11:52] <Mmike> oh, kebap. We don't have decent kebap here!
[11:53] <shroomM> Mmike where you at in croatia ?
[11:53] <Mmike> The best one I had is from some turkish lad, when I used to work in Graz, Austria.
[11:53] <Mmike> shroomM, Zagreb.
[11:53] <shroomM> ah
[11:53] <shroomM> and no decent kebap? weird
[11:53] <shroomM> we have plenty in ljubljana, slo :)
[11:53] <shroomM> too many even :S
[11:53] <Mmike> Realy? Are they good?
[11:53] <shroomM> yeah
[11:53] <Mmike> Because the ones we have here are called 'kebap' but that's not kebab. :/
[11:54] <shroomM> oh
[11:54] <Mmike> I loved Horseburger near Tivoli in Ljubljana :)
[11:54] <shroomM> mm
[11:54] <shroomM> yeah
[11:54] <shroomM> that is in a class of its own :)
[11:55] <shroomM> don't know about kebap/kebab, what's the difference?
[11:55] <Mmike> I will need to go to Belgrade (i hope!), and I can't wait to endorse myself in all the neat BBQ those lads have there.
[11:55] <shroomM> oh yeah
[11:55] <shroomM> supposedly the best
[11:55] <shroomM> cevapi :P
[11:57] <Vardis> burek: here is these files http://pastebin.com/rkPen9jN Sou how can I conect them to make wole?
[11:59] <burek> mmh cevapi.. man I need to go to have a lunch now.. :)))
[12:00] <burek> Vardis, try: cat file1.txt file2.txt > file3.txt
[12:00] <burek> not txt, mts
[12:01] <Mmike> Vardis, those are from Sony camcorder?
[12:01] <burek> cat 00018.MTS 00019.MTS > complete.MTS
[12:13] <Vardis> Mmike: No JVC but yes MTS format. burek: realy its work like that?
[12:13] <Vardis> Il try
[12:14] <Mmike> I tried puting that mts to divx/mpeg4, but it's alway jittery or I see interlaced lines
[12:14] <Mmike> only when I play it directly from camera (or I use sony windows software that came with the cam) the video is crisp and neat
[12:15] <Mmike> it's my sisters camera so I haven't played much with it, but...
[12:33] <vanson2012> hello everyone, I am new from FFmpeg, I just built a RTSP streaming player on iPhone with FFMPEG
[12:34] <vanson2012> it costs me 2 hours to make video & audio sync together
[12:34] <vanson2012> 2 days actually
[12:34] <vanson2012> but I know how to convert pts into seconds though
[12:34] <vanson2012> it is very important
[13:13] <Vardis> Mmike: yeah this same situation well when I'm transcoding i put filter yadif but sumtimes any way litle bit its seems
[13:23] <Mmike> Vardis, I'll try to play with this later today - we got two kittens and my wife is so 'omgomgomgomg' and she taped them, so I need to convert those to something useful.
[13:23] <Mmike> So, if you have any pointers, shoot them out :)
[13:34] <Sashmo> Hey everyone, using latest git, and programid has been deprecated, anyone know what the replacement is?
[13:36] <Sashmo> does anyone know if ffmpeg or any other program can insert null packets into a ts stream or file?
[14:36] <Vardan> hi all
[14:36] <Vardan> people I have wrote application which decode video frames from mp4 file, but each frame decoding take about 150 miliseconds
[14:37] <Vardan> which is not good, be cause I can't show video normaly
[15:19] <Spider-Pork> burek: done https://ffmpeg.org/trac/ffmpeg/ticket/1476
[15:19] <Spider-Pork> I hope is write clear and without formal errors
[15:50] <burek> Spider-Pork, great, thanks!
[15:51] <burek> I just added the content from pastebin there to the ticket
[15:51] <Spider-Pork> np, i hope will help
[15:51] <burek> so that pastebin doesn't expire or something
[15:51] <Spider-Pork> ah thank you
[15:51] <Spider-Pork> I'm new to that kind of stuff
[15:51] <Spider-Pork> on pastebin i've selected no expire option
[15:51] <burek> it's ok :) it wasn't a big deal :)
[15:53] <gavlig> hello everybody! I have an issue with copying frames from one stream to another. Somehow the video i get after copying all the frames i need is flipped upside down, but i'm sure i didn't do anything to get this result. The input video has BGR24 pix_fmt and "BottomUp" line in the AVFormatContext->extradata. Any help or ideas would be much appreciated :)
[15:56] <gavlig> here how the code looks like http://www.pasteall.org/33143/cpp
[15:57] <burek> gavlig, you'll resolve your issue more quickly if you take a look at ffmpeg's source code and compare it to yours
[15:59] <gavlig> burek: it's easier to resolve my issue when i know what i'm looking for. but now i don't even know what causes this trouble
[16:00] <burek> Sashmo, what is a program id?
[16:01] <burek> well, find in ffmpeg's source code how it does -c:v copy
[16:01] <burek> and compare it to yours
[16:02] <gavlig> what -c:v does?
[16:02] <burek> "gavlig> hello everybody! I have an issue with copying frames from one stream to another"
[16:14] <spaam> gavlig: -c[odec]:v[ideo] ...
[16:18] <Vardan> I have AVFrame which contains YUV data. as I understood AVFrame->data[0] is actual pixels data pointer. How can I get the size of the pixels data?
[16:18] <Vardan> sizeof(AVFrame->data[0]) return 4 be cause it's a pointer
[16:29] <Vardan> what is maximum size of AVFrame data?
[16:55] <iive> Vardan: it depends on the pixel format.
[16:55] <Vardan> YUV
[16:55] <iive> and width and height of course, and alignment.
[16:56] <Vardan> 1280x720 YUV
[16:56] <Vardan> what is alignment?
[16:56] <Vardan> from where I can get that?
[16:58] <iive> check av_image_alloc() in libavutil/imgutils.c
[16:58] <iive> it does all you need.
[17:00] <Vardan> no, I need to get pixels byte array
[17:00] <iive> now, if by yuv you mean yuv420/yv12, then most likely you have 1 byte for luma sample (gray) and 1 byte for 4 pixels in both other chroma planes.
[17:01] <iive> there are 9/10bit formats, and they use 2 bytes.
[17:01] <iive> in theory 16bit is also present in the standard for h264.
[17:02] <iive> afaik.
[17:02] <Vardan> so, pFrame->data[0]+0*pFrame->linesize[0] is my first byte ?
[17:03] <iive> data[0] is pointer to the first plane
[17:03] <iive> yuv420 is planar format, so it actually have 3 separate buffers for samples.
[17:04] <iive> so you need *(data[0]+x+y*linesize[0])
[17:05] <iive> and that is for 8 bit formats. I think data[] is already pointer to byte.
[17:05] <Vardan> that will be the pixel data for x,y point?
[17:05] <iive> yes.
[17:06] <Vardan> that will be byte[][] not byte[]
[17:06] <Vardan> so, I'll have byte[width][height]
[17:06] <iive> huh?
[17:07] <Vardan> I need that to send to Java (via JNI) and in Java I'm using YuvImage class with constructor get yup image raw data as byte[]
[17:07] <iive> have in mind, data[0]/linesize[0] would give you only one of the components, that is the gray level, luminancy.
[17:09] <Vardan> Here is YuvImage description: The YUV data should be provided as a single byte array irrespective of the number of image planes in it.
[17:10] <iive> does it distinguish between width and linesize/stride ?
[17:10] <Vardan> don't know :(
[17:11] <Vardan> data[0] size = width. is that true?
[17:11] <iive> Vardan: more like size=abs(linesize[0])
[17:12] <zap0> i have no idea where you are upto in the converstaion, but:  YUV will give you a w * h * 12bits-per-pixel  array.. so   char yuv[ (w*h*12)/8 ]
[17:13] <iive> zap0: yeh, the problem is wounding :)
[17:13] <iive> rounding :)
[17:14] <Vardan> ok, let's do other thing, how can I join AVFrame->data[] into one array?
[17:14] <zap0> memcpy
[17:15] <Vardan> I mean have one array like this: data[0],data[1],data[2],data[3]
[17:15] <Vardan> but for that I need to know data[0], data[1], data[2] and data[4] arrays sizes right?
[17:16] <iive> Vardan: well, usually they are already one buffer, it is just that data[1] and data[2] point somewhere in it.
[17:16] <Vardan> iive: how to now that buffer size?
[17:17] <Vardan> or max size?
[17:17] <Vardan> as I understand it's alloc that buffer with max size
[17:17] <Vardan> then put there data
[17:26] <iive> in our previous conversation Daemon404 pointed that avpicture_get_size() could be used to get the size of the buffer where you can store given image.
[17:29] <iive> but be warned, width and linesize may be different. ffmpeg/libav* pad the images with pixels and the class you are using may not like it.
[18:54] <TooMuchCaffeine> Hello. i'm using this command http://pastebin.com/prwx6my3 to convert video, scale it and overlay a watermark. pretty standard scenario. problem occurs if original has no audio channel (ERROR: Stream map 'a:0' matches no streams) which aborts operation. how do i handle this?
[18:57] <TooMuchCaffeine> is there a way to convert and map all channels if number of audio channels is unknown and could be 0-n?
[19:05] <jesk> anyone knowing tool to download ffmpeg compatible metadata from sites like imdb?
[19:10] <zap0> what if ffmpeg compatible metadata?
[19:10] <zap0> is/
[19:17] <burek> TooMuchCaffeine, did you create that command line or you just copied it from the internet
[19:20] <jesk> zap0: doesnt have ffmpeg the possibility to read metadata from file?
[19:21] <burek> jesk, it has an option to set all metadata from cmd line
[19:21] <burek> check the manual
[19:22] <burek> http://ffmpeg.org/ffmpeg.html#Main-options
[19:22] <burek> scroll down to -metadata
[19:22] <jesk> ok, i read that it can write metadata to file, i thought it could also do it vice versa
[19:22] <burek> it can
[19:22] <burek> just read that
[19:22] <TooMuchCaffeine> burek, i did. works like a charm. although i moved parameters around before pastebin. noticed $3 it's a bash script agr (out put file) used to be in the end
[19:23] <jesk> burek: my question was if there is tool which can download metadata from sites like imdb and write in those ffmpeg compatible metadata files
[19:23] <jesk> i want to automate that
[19:23] <burek> jesk, ctrl+F 'ffmetadata'
[19:23] <jesk> oooh
[19:24] <TooMuchCaffeine> burek, if i remove -map a:0 it works on vids w/o audio channel, however drops all audio from the rest
[19:25] <burek> TooMuchCaffeine, well create two different command lines when you have different inputs (w/o audio)
[19:25] <burek> if you were just copying the audio to the output that could maybe be arranged like this
[19:25] <burek> ffmpeg -i input -c copy -c:v libx264 ... output
[19:26] <burek> that way you would, in theory, first set copy operation for all the streams and then override the operation for video stream to encode as libx264
[19:26] <burek> (I didn't test this)
[19:26] <jesk> burek, ok files are ffmetadata called, you know tool which is compatible to that?
[19:26] <burek> jesk, nope
[19:27] <TooMuchCaffeine> burek, -map negates auto stream selection, doesn't it? and i need to use map for filtering
[19:28] <TooMuchCaffeine> burek, so i need to run ffprobe 1st, process output and then build new command based on types and number of channels in original? or is there another way?
[19:28] <burek> TooMuchCaffeine, the correct way would be to have separate scripts for input files that have and don't have audio
[19:28] <burek> since command lines are different
[19:28] <burek> or create a bash script and selectively turn on/off audio part of the command.. i.e. generate ffmpeg command line in the script
[19:29] <aquarat> does ffmpeg support MVC (H264 3D) ?
[19:29] <burek> well, I'm not sure, try looking for -halt_on_erros.. something like that
[19:29] <burek> maybe you can tell ffmpeg to just go on
[19:29] <burek> no matter that it complaints about missing audio
[19:30] <TooMuchCaffeine> burek, interesting. but i'd rather do it right. never know what kind of error could popup.
[19:30] <burek> aquarat, type ffmpeg -codecs
[19:31] <aquarat> it doesn't return "MVC"
[19:31] <aquarat> but it does support libx264
[19:31] <burek> then it doesn't :)
[19:31] <TooMuchCaffeine> burek, thank you for your time
[19:31] <burek> TooMuchCaffeine, :beer: :)
[19:31] <aquarat> are you absolutely sure ?
[19:31] <burek> if you don't see it in -codecs then it doesn't for sure
[19:32] <aquarat> maybe I have the wrong name for it?
[19:32] <aquarat> or maybe it's referred to as something else
[19:32] <aquarat> maybe it's an option I need to enable when configuring
[19:33] <aquarat> it's just weird that it's not supported
[19:33] <burek> well, if you don't know exactly what you need, then how can I know? :)
[19:33] <aquarat> it's an H.264 file
[19:33] <burek> try asking x264 developers does it support 3d
[19:33] <aquarat> and it contains multiple streams
[19:33] <aquarat> one audio
[19:33] <aquarat> one timecode
[19:33] <aquarat> one video
[19:33] <TooMuchCaffeine> is there a resource to download short test videos with different parameters? codecs, number of channels etc
[19:33] <aquarat> and one a delta
[19:33] <aquarat> okay
[19:34] <aquarat> :)
[19:34] <burek> TooMuchCaffeine, I think yes, fate test samples
[19:34] <burek> http://ffmpeg.org/fate.html
[19:35] <burek> aquarat, #videolan
[19:36] <TooMuchCaffeine> burek, nice. thx again
[19:37] Action: aquarat joins #videolan
[19:37] <aquarat> thanks burek
[19:39] <burek> :beer: :)
[19:39] <aquarat> lol
[20:46] <intracube> hi
[20:46] <intracube> I'm having problems recording my desktop with x11grab
[20:47] <intracube> a set of parameters which used to work no longer does:
[20:47] <intracube> ffmpeg -f x11grab -s 320x240 -r 25 -i :0.0 -vcodec mpeg4 -b:v 200k test.mp4
[20:48] <intracube> error from x11grab: Could not open X display. :0.0: Input/output error
[20:50] <intracube> ffmpeg version - 0.11.1
[20:54] <intracube> just figured it out. Display is :1.0 not :0.0.
[20:54] <intracube> dunno when/why that changed...
[20:57] <llogan> intracube: i'd recommend "-qscale:v 2" instead of "-b:v 200k" if you want a better (probably) quality output
[20:57] <intracube> llogan: thanks, I'll give that a try
[23:02] <dariop> EV    libxvid         libxvidcore MPEG-4 part 2  <-- what's the decoder?
[23:03] <sacarasc> mpeg4.
[23:03] <dariop> anything wrong with using mpeg4 for both encoding and decoding?
[23:03] <dariop> any advantage to using libxvid for encoding?
[23:08] <dariop> i.e. given the choice of using libxvid for encoding, and mpeg4 for encoding, is there any advantage to choosing libxvid?
[23:10] <intracube> is it possible to encode to ffvhuff with no chroma downsampling?
[23:10] <Sashmo> is it possible to add null packets into mpegts out?
[23:14] <intracube> -pix_fmt yuv444p doesn't have any effect with ffvhuff
[23:16] <dariop> does divx exist in ffmpeg?
[23:19] <iive> it is mpeg4 asp  or also known as iso14496-2
[23:19] <intracube> dariop: have you read the faq? http://ffmpeg.org/faq.html#How-do-I-encode-Xvid-or-DivX-video-with-ffmpeg_003f
[23:20] <iive> dariop: you may get better results with ffmpeg mpeg4 encoder if you are eager to tweak the option. If you want something done quickly with acceptable quality get xvid.
[23:21] <intracube> hmm, ffv1 can encode to yuv444p, but it's very slow :(
[23:22] <iive> some of the xvid features are ported from ffmpeg. xvid however have some features that are not supported by ffmpeg4 for example gmc encoding.
[23:22] <iive> but most hardware players can't do gmc decoding so...
[23:25] <jesk> how can I set metadata to specific output stream
[23:25] <jesk> want to name the individual audio tracks in movie
[23:27] <dariop> i see it says how to do specify the mpeg4 codec as xvid (-vtag xvid) but I don't see in the FAQ how to specify the mpeg4 codec as divx. how would one do it?
[23:30] <intracube> dariop: I'm not sure, but reading this: http://www.fourcc.org/codecs.php you could try -vtag divx
[23:30] <intracube> dariop: or maybe -vtag dm4v
[23:33] <dariop> Is every codec within libavcodec  a library in itself? for example,  libavcodec  has libxvid.. but are other codecs there too also libraries in themselves?
[23:35] <maujhsn> This is a perfect command for streaming live audio via mic input! ffmpeg -f oss -i /dev/dsp -acodec libmp3lame -ab 128k -ac 2 -ar 44100 -re -f rtp rtp://234.5.5.5:1234 can anybody give me a modified version of this command to record only my desktop? Thanks!
[23:40] <intracube> maujhsn: can't you mute the microphone with the sound mixer?
[23:46] <maujhsn> intracube I have an alsamixer, & I have pavucontrol along with the pulseaudio!
[23:47] <maujhsn> intracube I just need to know how to modify the command!
[23:48] <maujhsn> Does anybody have expertise in this area!
[23:48] <intracube> I don't know a way to do it with an ffmpeg command :/
[23:48] <dariop> What if I don't want to use Mpeg-4 Part 2 (the mpeg4 codec) e.g. I don't want to use Mpeg-4 SP or Mpeg-4 ASP.  I want to use  the divx codec for the H.264(Mpeg-4 Part 10) format. How would I do that?
[23:59] <maujhsn> This is a perfect command for streaming live audio via mic input! ffmpeg -f oss -i /dev/dsp -acodec libmp3lame -ab 128k -ac 2 -ar 44100 -re -f rtp rtp://234.5.5.5:1234 can anybody give me a modified version of this command to record only my desktop? Thanks!
[00:00] --- Sat Jun 23 2012


More information about the Ffmpeg-devel-irc mailing list