[Ffmpeg-devel-irc] ffmpeg.log.20120524
burek
burek021 at gmail.com
Fri May 25 02:05:02 CEST 2012
[00:59] <floater_afb60> how do you display a "livestream" from a video file, (or image files) currently being recorded
[01:02] <floater_afb60> can i stack a difference video stream in an mkv video?
[01:02] <floater_afb60> or IR/ normal video in parallel?
[02:00] <burek> floater_afb60, yes you can
[02:01] <burek> ffmpeg -i input -vcodec ... output1 -vcodec ... output2 ...
[02:01] <burek> and you can use this output for streaming: -f mpegts udp://remoteip:port
[02:38] <illuminata> the real john ford? what was it like to work with the duke?
[02:44] <Steve> Hi, I'm new to ffmpeg. Really basic question, but where can I find more ffpreset files? The Windows build only contains about 6, but I see many others referenced in how-to documents.
[02:45] <relaxed> Steve: ffmpeg now uses libx264's internal presets.
[02:46] <Steve> Ah, thanks very much! I'll see what I can find that way.
[02:46] <relaxed> look at `x264 --fullhelp | less`
[02:46] <Steve> Awesome, thanks relaxed.
[02:47] <relaxed> you're welcome.
[03:22] Action: mishehu bahs.
[03:23] <mishehu> does somebody have a smallish video file with a subtitle stream that I can get so I can do a little testing? I've been having difficulty even detecting the subtitle stream in a dvd vob file.
[03:31] <zap0> mishehu, you can not see it via ffmpeg -i inputfile.vob
[03:50] <mishehu> zap0: no, that's the weird part
[03:51] <mishehu> it doesn't list it, but when I play the file with xine with its built-in libavcodec, I can select subtitle stream 1 and see it
[03:52] <zap0> does ffmpeg -i inputfile.vob indicate any type of header corruption?
[03:56] <mishehu> all it shows besides it's own compilation info, version, and stream data is this:
[03:56] <mishehu> [mpeg @ 0x1d40c60] max_analyze_duration 5000000 reached at 5005000
[04:01] <mishehu> zap0: http://pastebin.ca/2153156
[04:06] <zap0> mishehu, is your version of ffmpeg about to detect any subs? tried another file with subs?
[04:07] <mishehu> zap0: other dvdrips aren't showing subs either. I don't think I really have other files that have subs
[04:07] <mishehu> was hoping somebody here had something small that i could grab and test
[04:08] <mishehu> oh wait a moment
[04:08] <mishehu> this is weird
[04:08] <mishehu> my alice in wonderland rip does show subs
[04:08] <mishehu> both rips were made directly from the original media. my ex-wife has 3seaons, but I have alice.
[04:09] <mishehu> both rips were produced with dvdbackup 0.4.1
[04:09] <mishehu> Stream #0:5[0x20]: Subtitle: dvd_subtitle <-- from alice_in_wonderland.vob
[04:10] <mishehu> is there some other non-standard way of encoding subtitles into a dvd?
[04:15] <mishehu> oh hell
[04:15] <mishehu> I re-concatenated the vob file from the dvd rip, and now I see the subtitle stream
[04:16] <mishehu> I probably missed the first VTS file it seems
[04:17] <mishehu> wait, I take that back. there hsould be 3 subtitle streams
[04:17] <mishehu> only one is showing, and the very first VTS is the dvd menu
[04:17] Action: mishehu grumbles
[06:53] <dr_phresh79> sup
[06:57] <illuminata> so, y'all got dnxhd, y'all got prores, what's next on the pro front?
[08:31] <CoJaBo> Is there any tool that can "un-skew" a video?
[13:20] <Cervajz> Hello guys :)
[13:20] <Cervajz> What is the proper PID for the private streams in MPEG-TS please?
[13:21] <Cervajz> I need to recognize what stream in the file are private
[13:21] <Cervajz> And set request_probe = 0
[14:37] <Inkane> Hi there, I have problems compiling (linking) ffmpeg 0.10.3 on Chakra Linux with gcc 4.7.0 with opencv support
[14:37] <Inkane> config log is here http://paste.chakra-project.org/1689/
[14:38] <Inkane> any help would be appreciated, feel free to ask quesitions
[14:44] <superlinux> how can I pass the details of a file to a pipe in bash?
[14:44] <superlinux> i just want to cut the duration value only
[14:59] <darkshine> have the following errors when converting AVI file to MKV: http://pastebin.com/nWb6BcYc. Any ideas?
[15:50] <superlinux-hp> how can I pass the details of a file to a pipe in bash?
[15:50] <superlinux-hp> i just want to cut the duration value only
[15:51] <superlinux-hp> i meant a media file of course
[16:24] <zimbatm> superlinux: http://ffmpeg.org/ffmpeg.html#pipe
[16:25] <superlinux> ok
[16:25] <zimbatm> the doc is pretty awesome :)
[16:26] <superlinux> zimbatm, i just want to use the file details ONLY, i don't want to pass some video contents to another video using pipe. got me?
[16:27] <zimbatm> not sure i understand
[16:27] <superlinux> when you use: ffmpeg -i input.mp3 , it gives you the details of the file
[16:27] <zimbatm> in that case, use ffprobe
[16:27] <superlinux> ok
[16:27] <zimbatm> it should come with ffmpeg
[16:29] <superlinux> zimbatm, i still cannot pass the output to stdout!!
[16:30] <superlinux> i want to do ffprobe input.mp3 | grep Duration
[16:30] <superlinux> got me?
[16:30] <zimbatm> are you going to parse that thing ?
[16:30] <superlinux> yes!
[16:30] <zimbatm> cause ffprobe has json output
[16:31] <superlinux> i am doing it in bash!
[16:31] <superlinux> in pure unix shel
[16:32] <zimbatm> the things you see are on stderr, not stdout
[16:32] <zimbatm> so if you want to use them with a pipe, you first have to redirect them on stdout
[16:33] <zimbatm> but i recommend to use -show_format or other -show_* options because they're intended to be parsed
[16:33] <zimbatm> whereas the output you see here is made for human consumption
[16:33] <zimbatm> so try
[16:33] <zimbatm> ffprobe -show_format path/to/file.mp4
[16:34] <zimbatm> worst case scenario: ffprobe path/to/file.mp4 2>&1 | ...
[16:35] <superlinux> zimbatm, ok thanks
[19:13] <Bombo> anyone knows a commandline muxing tool (for avi) that can mux audio streams with a delay?
[19:23] <eok> hey guys, i have a little project going on at work
[19:25] <eok> here's what i want to accomplish: 1: capture the desktop 2:capture sound 3: put the webcam as an overlay in the bottom right corner 4: send sout to vlc for streaming
[19:25] <eok> the only issue i have is number 3
[19:26] <eok> i was thinking about using avfilter to overlay the cam
[19:27] <eok> i haven't tested this yet, but would this work?
[19:27] <eok> ffmpeg -f x11grab -s 1680x1050 -r 30 -i :0.0+0,0 -vf "movie=v4l2 [webcam]; [in][webcam] overlay=10:main_w-overlay_w-10:main_h-overlay_h-10 [out]"
[19:37] <eok> well to answer myself, nope
[19:37] <eok> Failed to avformat_open_input 'v4l2'
[20:06] <eok> if anyone with a webcam could test this i would be very grateful
[20:06] <eok> ffmpeg -f x11grab -s 1680x1016 -r 30 -i :0.0+0,0 -vf "movie=v4l2 [webcam]; [in][webcam] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" -f alsa -ac 2 -i pulse -vcodec libx264 -preset ultrafast -s 1280x768 -acodec libfaac -threads 0 -f mpegts - | vlc -I dummy - --sout '#std{access=http,mux=ts,dst=:3030}'
[20:44] <madwill> Ok i'm going crazy, i keep having around 45ish second delay in every screen grab i do using pulse and x11grab on the latest ffmpeg from github never had that before, anyone know what changed since ? how are you supposed to record now ?
[20:45] <madwill> the Audio is from the start... just 45 sec late, thats an incredible delay....
[20:46] <madwill> Anybody has a recent post on how to get a lossless grab to be reencoded later to a x264 mp4 ?
[21:04] <eok> madwill: i dont have any problems with it
[21:04] <madwill> what the command you use
[21:04] <eok> ffmpeg -f x11grab -s 1680x1050 -r 30 -i :0.0+0,0 -f alsa -ac 2 -i pulse -vcodec libx264 -preset ultrafast -s 1280x768 -acodec libfaac -threads 0 test.mkv
[21:05] <eok> you need to change the size to fit your system off course
[21:05] <madwill> of course :)
[21:05] <madwill> you don't have -crf 0 maybe thats whats screwing up my day
[21:06] <eok> maybe
[21:06] <eok> do you by any chanse have a webcam?
[21:06] <madwill> i've just watched a video of a dude saying -samq was making huge delays in audio and samq and "-crf 0" from x11grab's pretty much the same thing
[21:07] <madwill> No i dont
[21:07] <eok> i'm itching to test something, but i dont have a webcam to test with
[21:07] <eok> darn :)
[21:07] <madwill> I've got one in my laptop at home but i'm at work surrounded by desktop and servres
[21:08] <madwill> servers*
[21:08] <eok> i want to test this:
[21:08] <eok> ffmpeg -f x11grab -s 1680x1050 -r 30 -i :0.0+0,0 -vf "movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [movie]; [in] setpts=PTS-STARTPTS, [movie]
[21:08] <eok> overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" -f alsa -ac 2 -i pulse -vcodec libx264 -preset ultrafast -s 1280x768 -acodec libfaac -threads 0 -f mpegts - | vlc -I
[21:08] <eok> dummy - --sout '#std{access=http,mux=ts,dst=:3030}'
[21:09] <eok> using avfilter to grab the webcam and put it as an overlay on x11grab
[21:09] <eok> i've been googling that the whole day, and i can't find anyone who has done it before..
[21:10] <madwill> its a quite enthousiastic plan for someone without a webcam :P
[21:10] <eok> i would've thought it was a common thing to do in these streaming days
[21:10] <eok> yes, it's for my work, and the webcam is there
[21:11] <madwill> btw you don't use -isync as well
[21:11] <madwill> i remember simply manually overlaying the webcam with a webcam reader on the top of the screen
[21:11] <eok> i'm quite a newbie at this, so i try to keep it kiss
[21:11] <madwill> so the capture would not car
[21:12] <eok> madwill, problem with that is that i plan on streaming presentations at work. and it would seem stupid when the webcam shows on the projector
[21:13] <madwill> oh right
[21:13] <eok> also, the webcam dissapears when evince goes in fullscreen
[21:14] <eok> the cleanest way would be having ffmpeg do all the work, and make an executable on the laptop that the presenter could open before he starts
[21:14] <madwill> maybe not some live overlay but seperated process recording both and merging afterwards
[21:15] <eok> i tested the above command with just an image, and it works very good.. only issue i had was figuring out how to grab v4l2 instead of an image
[21:15] <eok> then i found this: http://ffmpeg.org/libavfilter.html#movie
[21:16] <eok> i haven't tested it, but i'm quite optimistic
[21:17] <eok> another advantage i think is that it would reduce out of sync issues you could get when using something else to grab the webcam
[21:18] <madwill> yep quite possibly a painfull out of sync depending on ressource allocations
[21:20] <eok> did you fix the lag?
[21:20] <madwill> currently sending an update to the recording server
[21:20] <eok> k
[21:21] <madwill> i have high hope for the lack of -crf 0
[21:21] <eok> let me know :)
[21:45] <madwill> well turns out you can't use libfaac in audio capture when using pulse input
[21:45] <madwill> or at least i can't
[21:53] <eok> really?
[21:54] <eok> it worked perfectly earlier today
[21:54] <eok> maybe use libmp3lame?
[22:01] <madwill> damn its crap... the delay's not 45 seconds but still lots of seconds
[22:02] <madwill> around 5-6 on this one : http://zendev.learnquebec.ca/sources/Enjeux3PHP/upload/Recordings/til_november_2012___Thu_May_24_2012_03_56_51_PM.mp4
[22:02] <madwill> i need a break i'm sweaty and frustrated
[22:07] <eok> what command are you using now?
[22:08] <eok> i havn't tried grabbing the output sound before, only the mic
[22:22] <eok> just tried here, and it was no delay.. it's on a crappy virtualbox so the quality isn't that good
[22:22] <eok> but no delays in audio
[22:22] <eok> also i use libfaac
[22:24] <eok> http://dl.dropbox.com/u/4247877/test.mkv
[22:26] <madwill> interresting
[22:26] <madwill> wonder how much of a role the container actually plays... mkv vs mp4
[22:26] <madwill> could it actually be a problem with the container metadata screwing things up ?
[22:27] <madwill> so confused right now
[22:28] <eok> i could try mp4
[22:29] <madwill> you are right it works if the parameters are in your order
[22:29] <madwill> i'll try this
[22:29] <madwill> and mkv
[22:31] <eok> mp4 makes no differense here
[22:35] <JEEB> <madwill> wonder how much of a role the container actually plays... mkv vs mp4 <- the biggest difference with these two are the facts that mp4 is a much more limited specification -- it can fit many less types of stream, and the fact that if you happen to abruptly end an encoding, you will end up with a dud -- a file you won't be able to do anything with
[22:35] <JEEB> also, some players have bugged splitters for the mp4 format
[22:36] <JEEB> (and/or splitters only support certain features in relation to even timestamps etc.)
[22:36] <madwill> it ends up on the web :( wish mkv was more widely adopted
[22:37] <madwill> thanks for the infos
[22:37] <JEEB> uhhh
[22:38] <JEEB> you are live capturing something, right?
[22:38] <JEEB> and as you are using mp4 you are not live streaming
[22:38] <JEEB> because unless you are using the fragments feature (not supported by all splitters either), you can't do it
[22:38] <madwill> yep then reconverting it to mp4 in order to have on some website for pseudo streaming later
[22:38] <JEEB> then why does the original capture format matter?
[22:38] <madwill> it does not
[22:38] <JEEB> yup
[22:39] <madwill> going for mkv but still looks like its not going to solve any audio delay problems
[22:39] <JEEB> ok
[22:39] <JEEB> I'm not good with screen capture of any sorts, but are you sure you are going fast enough on both audio and video encoding?
[22:40] <madwill> everything seems fine, in fact the audio is pretty clear and ok beside the fact that it starts quite a bit too late
[22:40] <JEEB> what are you checking the file with btw?
[22:41] <madwill> currently chrome going directly to this address : http://zendev.learnquebec.ca/sources/Enjeux3PHP/upload/Recordings/til_november_2012___Thu_May_24_2012_03_56_51_PM.mp4
[22:42] <JEEB> how quick is the HDD side of things, or are you already using some lossless video codec?
[22:42] <JEEB> you could test making an mkv file, with say ffvhuff video and raw pcm audio as a test, and then try that with mplayer(2) or something
[22:43] <madwill> the hdd is raid 10
[22:43] <madwill> they are completly new and i'm unaware of the brand
[22:44] <madwill> i used to do raw pcm audio now i'm trying libfaac
[22:44] <JEEB> hm? I think mp4 didn't let you do that :D
[22:44] <JEEB> it's not in the spec AFAIK
[22:44] <JEEB> anyways, raw pcm and ffvhuff as an example
[22:44] <madwill> it worked before .. in our previous version of FFMPEG, good ol VPRE
[22:45] <JEEB> eh
[22:45] <JEEB> I'm pretty sure it's not because of the switch to internal libx264 presets
[22:45] <JEEB> also eok telling that he isn't getting any a/v desynch is relatively telling as well
[22:45] <madwill> yeah
[22:46] <JEEB> in any case ffvhuff or preset ultrafast libx264 should be fast
[22:46] <JEEB> raw pcm audio and into matroska
[22:46] <JEEB> then transfer the result to yourself if you're non-local or something
[22:46] <JEEB> and check the a/v desynch
[22:46] <madwill> if the libfaac test does not work i'm going to know the door of our hardware holder and gently points to his ability to create raid 10
[22:46] <madwill> knock*
[22:47] <JEEB> do the raw pcm/very fast video encoder test first :P
[22:47] <madwill> that was poor english! sorry but i'll do the raw test right afterwards
[22:47] <madwill> then maybe harddrive benchmark who knows
[22:47] <JEEB> I'm not sure it's the hard drive, I just pushed that idea out in the sky as well
[22:48] <madwill> its ok i'm pulling idea from the sky at the moment
[22:48] <JEEB> in any case, test ffvhuff or libx264|preset ultrafast (ffvhuff doesn't need a bit rate or crf rate control number because it's always lossless) with raw pcm into mkv
[22:49] <madwill> current one uploading is libx264 -preset ultrafast libfaac to mkv
[22:50] <JEEB> anyways, I've mostly been doing live streaming and not capture of screen/mic on linux
[22:51] <JEEB> so the only things I know of are that you should minimize the possibility of bad implementations on the decoding side, and the fact that you can push out output fast enough. I guess the latter might already be done on your side.
[22:54] <eok> JEEB: i tried using raw pcm into mpegts that i sent to vlc, any reason why that shouldn't work?
[22:54] <JEEB> I really don't know
[22:54] <JEEB> I've only used AAC in streaming methinks
[22:54] <eok> changed to libfaac and it worked out
[22:55] <eok> ok
[22:58] <JEEB> could either the muxer or the parser on the player's side
[22:58] <JEEB> no idea :)
[22:58] <JEEB> *could either be
[23:00] <eok> this is strange..
[23:00] <eok> im testing overlay
[23:01] <eok> and it works fine when i dont grab fra alsa
[23:01] <eok> but with sound its not there
[23:02] <madwill> damn x264 libfaac -> 25 sec delays
[23:03] <madwill> what i think i need is to capture audio separatly and then merge
[23:04] <madwill> the cpu are around 25-30% during capture
[23:07] <madwill> whats fun is the delays are constant....
[23:07] <madwill> but changing when changing parameters,
[23:08] <madwill> then stay constant again....
[23:10] <eok> hmm this is without sound: http://dl.dropbox.com/u/4247877/test.mkv
[23:11] <eok> and with sound: http://dl.dropbox.com/u/4247877/test2.mkv
[23:11] <eok> wtf is going on there..
[23:12] <madwill> so jealous :)
[23:12] <madwill> sounds started Right up !
[23:12] <eok> and its on a virtualbox..
[23:15] <eok> and what's up with the invalid dropping st:0
[23:20] <eok> hah! changing the order fixed the issue! http://dl.dropbox.com/u/4247877/likeaboss.mkv
[23:22] <eok> grabbed alsa first, then x11grab
[23:23] <madwill> ?
[23:24] <eok> if you look at test2.mkv it doesnt display the overlay in the bottom right
[23:25] <eok> it does in test.mkv, but in that i dont grab audio
[23:25] <eok> the like a boss, i change the order so that i grab audio before anything else, and the overlay is there
[23:25] <madwill> humm
[23:25] <eok> in likeaboss.mkv
[23:26] <madwill> i see
[23:28] <eok> madwill: have you tried using -i hw:0,0 instead of -i pulse?
[23:28] <eok> not sure if that would work
[23:29] <madwill> at this point.. whatever i'll try it :p
[23:29] <eok> hehe
[23:30] <eok> i couldn't get it to work for some reason, but i've seen it a lot of places
[23:49] <Meekoh> I'm transcoding a stack of jpegs to h.264 with libx264. The resulting movie looks okay, but I can't seek to the first frame. Any ideas?
[23:50] <burek> is your first frame a key frame?
[23:51] <Meekoh> burek: How can I check?
[23:51] <JEEB> it's pretty hard for the first frame not to be a key frame :D
[23:51] <JEEB> probably just depends on what you're testing with
[23:51] <burek> you can open the video in a video editor?
[23:52] <burek> which command did you use to create a video
[23:52] <burek> also, look at -force_key_frames -> http://ffmpeg.org/ffmpeg.html#Video-Options
[23:52] <JEEB> Meekoh, test with something that uses ffmpegsource f.ex. for frame-accurate access
[23:52] <Meekoh> ffmpeg -r 30 -i %03d.jpg -vcodec libx264 -g 1 -r 30 -b:v 100.0M -pix_fmt yuv420p framebits.mp4
[23:52] <JEEB> aegisub or so
[23:52] <JEEB> or the avisynth plugin
[23:53] <burek> Meekoh, why -g 1
[23:53] <JEEB> also don't pay attention to the -force_key_frames burek mentions :P
[23:53] <Meekoh> burek: I was thinking that might force them all to be keyframes?
[23:53] <burek> Meekoh, why do you want them all to be keyframes?
[23:53] <Meekoh> burek: Basically I want to make sure I can recover the original jpgs from the mp4
[23:54] <burek> why :)
[23:54] <JEEB> Meekoh, also make sure you are not converting a frame rate instead of setting one
[23:54] <JEEB> with that -r
[23:54] <Meekoh> burek: I'm using the mp4 as a way of compressing a bunch of similar data-files
[23:54] <burek> I mean, why don't you use a video encoder that can compress video only (lossless)
[23:55] <JEEB> because usually -r is used for AssumeFPS() by setting it before -i
[23:55] <Meekoh> JEEB: It seems like I need to set it both before and after, since the jpgs don't have a "framerate" right?
[23:55] <JEEB> only before
[23:55] <JEEB> it should use that one
[23:55] <Meekoh> burek: Know of one supported by IE HTML5 video? ;)
[23:55] <JEEB> anyways, my guesses: 1) the -r might be removing frames? 2) whatever you're testing with fails at seeking :)
[23:55] <burek> HTML5 with -g 1? :)
[23:56] <burek> man..
[23:56] <Meekoh> JEEB: Then what will the output framerate be?
[23:56] <burek> something is really wrong here :)
[23:56] <JEEB> Meekoh, same as input
[23:56] <Meekoh> I should point out this works perfectly with webm, only h264 seems to have trouble
[23:56] <JEEB> or well, "input timestamps" that you have set to 30fps
[23:56] <Meekoh> JEEB: Gotcha
[23:56] <burek> well, you can try with -crf 0
[23:56] <JEEB> anyways, I'm still having thoughts that whatever you're testing with is failing
[23:56] <JEEB> man, burek is as "useful" as always
[23:56] <burek> ffmpeg -r 30 -i %03d.jpg -vcodec libx264 -g 1 -r 30 -b:v 100.0M -pix_fmt yuv420p -crf 0 framebits.mp4
[23:57] <JEEB> I wish if he stopped ignoring me
[23:57] <Meekoh> JEEB: lol
[23:57] <JEEB> I was somewhat non-nice to him once
[23:57] <JEEB> by telling him to shut up when he wasn't useful
[23:58] <JEEB> anyways, make sure you're not going any frame rate conversion and only the equivalent of AssumeFPS() in Avisynth (will make sure that you're encoding EVERY frame), and use something like a new enough ffmpegsource in aegisub or avisynth to check the exact frames
[23:58] <Meekoh> burek: Same problem
[23:59] <JEEB> also lol at -b:v and -crf in the same command line
[23:59] <JEEB> (bitrate and rate factor, you can't use both at the same time)
[23:59] <JEEB> -crf 0 is lossless encoding with 8bit H.264 libx264 (which you will have in >90% of cases)
[23:59] <JEEB> (which will also break non-libavcodec decoders)
[00:00] --- Fri May 25 2012
More information about the Ffmpeg-devel-irc
mailing list