[Ffmpeg-devel-irc] ffmpeg.log.20141022
burek
burek021 at gmail.com
Thu Oct 23 02:05:01 CEST 2014
[00:00] <Cin_> depends on how many years old the devices you're supporting are tbh
[00:01] <Cin_> to my knowledge, you should only really need baseline for devices over 4 or 5 years old
[00:01] <Cin_> which is pretty ancient at the rate the mobile market moves
[00:02] <bencc> Cin_: I'm currently interested in desktop
[00:02] <bencc> but users might have very old XP machines
[00:02] <bencc> can it play main profile?
[00:03] <brontosaurusrex> my 12 year old nix box can play any profile with the slightly newer gpu, so ..., software decoding will work
[00:03] <brontosaurusrex> but it may not work in "realtime"
[00:04] <Cin_> profile compatibility is a bigger concern for mobile than it is for desktop is my understanding
[00:04] <Cin_> because fewer system resources are available for mobile
[00:04] <bencc> ok
[00:04] <brontosaurusrex> Cin_: absosmurfly
[00:05] <Cin_> also, XP is end of life, so you should really direct your users away from it if possible
[00:05] <Cin_> and I say that as a web developer myself
[00:05] <Cin_> where I work we don't support below IE8 unless by request for an extra fee, and we don't support below IE7 at all
[00:06] <brontosaurusrex> "we" dont support ie at all here (ok, iam not web developer ...)
[00:06] <Cin_> :P
[00:12] <brontosaurusrex> looking at my old script, "htc wildfire s" did prefer baseline as it seems
[00:17] <Cin_> well early 2011 was indeed a while ago
[00:18] <brontosaurusrex> well, it was nonsense to even watch anything on that screen anyway (can't remember why I even bothered)
[00:22] <jarainf> Cin_, no IE6 support? I am disappoint
[00:23] <Cin_> What can I say? There's only so much sadomasochistic a guy can take
[00:23] <jarainf> http://www.w3schools.com/browsers/browsers_explorer.asp
[00:26] <jarainf> Honestly, atleast from what I've read IE11 doesn't seem that bad a choice anymore
[00:27] <Cin_> IE6 is still common in China due to ActiveX if I recall
[00:27] <jarainf> I don't know
[00:27] <jarainf> Actually
[00:27] <jarainf> I don't want to know
[00:27] <jarainf> Chinese software is the worst
[00:28] <jarainf> And I'm not even going by quality of code or whatever, just by what it actually does.
[00:28] <Cin_> and IE in general isn't terrible, the problem is bundling it with the OS and tying it to the the OS version, so you can only run 1 version of IE on an OS, and so that the OS determines what version of IE is capable of running on it. This one act singlehandedly held back the web by like a decade in my opinion.
[00:29] <jarainf> funfact: All browsers are terrible
[00:31] <Cin_> eh, they're getting there
[00:31] <Cin_> also, in all seriousness, I don't suppose anyone actually knows whether MP4s support stream metadata titles do they? lol
[00:32] <jarainf> no clue
[00:32] <Cin_> damn :/
[00:36] <llogan> Cin_: ask the mailing list or read the specs
[02:29] <midgaze> Hi, if I wanted to give somebody a url that they can point a modern browser at and jump into a live stream of a terminal session with audio, what codecs/encoders should I be looking at?
[02:30] <midgaze> I'm pretty close, I can record a session (with noise reduced audio), to a .mp4 file that the browser can display with this:
[02:30] <midgaze> ffmpeg -f oss -i /dev/dsp1.0 -filter_complex "highpass=f=300,lowpass=f=1800" -f x11grab -r 30 -s 656x490 -i :0.0+0,0 -acodec mp2 -vcodec libx264 derp.mp4
[02:30] <sacarasc> midgaze: Try an AAC encoder for the audio...
[02:31] <midgaze> ah ok, it said it was experimental so I switched to mp2
[02:32] <sacarasc> There are a few different AAC encoders.
[02:32] <sacarasc> https://trac.ffmpeg.org/wiki/Encode/AAC
[02:32] <midgaze> ok, -acodec aac -strict -2 works, and the browser can still "just play it"
[02:34] <midgaze> the part I'm missing is the "go to this url and start playing live" bit, is there a known approach for that?
[02:34] <kevmitch> https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats
[02:34] <midgaze> I'm not a noob, I can configure whatever software or write a network service for it
[02:35] <sacarasc> midgaze: You might be able to do it with ffserver, but that's the part I can't do. :D
[02:48] <midgaze> ffserver looks like just the ticket, thanks
[03:01] <seasc> Hello, is it normal that i cannot encode (copy-protected) dvd's using ffmpeg (having libdvdcss installed, linux)?
[03:02] <sacarasc> ffmpeg doesn't have a dvd-reader part, AFAIK.
[03:07] <seasc> http://ffmpeg.org/ffmpeg.html#Video-and-Audio-file-format-conversion
[03:09] <shevy> can ffmpeg be used to filter out noise from a .mp3? it is a lecture recording, and there is some weird constant background noise that is very annoying
[03:11] <sacarasc> seasc: I see nothing about DVDs there. A .vob could exist on your HD already, and ffmpeg would read it just as a file on your file system if you mount the disc and use it like that.
[03:26] <llogan> shevy: there are low/high pass filters. not sure if that is sufficient
[03:31] <Soltis> Is it possible to stabilize the color on a video where, say, the camera's color correction was going haywire?
[03:35] <kevmitch> shevy: if you can cut out siltent spot with only the noise, you can use sox to generate a profile (noiseprof) and then noise reduce the whole file (noisered)
[04:04] <shevy> ok thanks
[04:20] <PovAddict> how do I make mpeg2 encoding faster? I don't care about quality atm
[04:33] <seasc> sacarasc, true yes.. thank you
[04:40] <PovAddict> ugh, DVD subs have such low resolution :(
[04:40] Action: PovAddict considers hardsubbing
[04:40] <PovAddict> so I get antialiasing
[04:42] <sacarasc> 1024x576 isn't that bad, but PAL only.
[04:45] <PovAddict> there seems to be a bug in dvdauthor's spumux where setting a shadow color messes with the outline and fill colors too
[04:45] <PovAddict> >:(
[04:46] <kevmitch> PovAddict: some players let you blur the subtitles so they look less blocky
[04:46] <PovAddict> my player's settings are pretty damn sparse
[04:47] <PovAddict> I couldn't even find an option to make it letterbox 16:9 content into 4:3, so I'm hard-letterboxing via -vf pad
[04:58] <Cin_> oh goddamnit!
[04:59] <Cin_> llogan: the issue I was having was due to a bug in FFMPEG. I updated the version I had installed (mine was from a few months ago) and now it works fine @_@
[07:21] <evilwombat> Hello. ffmpeg / libavformat seem to completely *choke* when playing video shot by gopro hero4.
[07:22] <evilwombat> Although the video appears valid, libavformat spews warnings about non-increasing DTS in one of the metadata streams, for about ten minutes on a reasonably-sized video, before it starts playing.
[07:22] <evilwombat> Has anyone else encountered this?
[07:24] <relaxed> evilwombat: which version of ffmpeg?
[07:26] <evilwombat> relaxed, trying to figure this out. I don't actually have an 'ffmpeg' binary on my system - I have libavformat and 'avconv', though it is my understanding that these things are part of the same project. Am I incorrect here?
[07:27] <relaxed> avconv is from libav, a fork of ffmpeg. Try this http://johnvansickle.com/ffmpeg/
[07:28] <evilwombat> Ah, thanks! My distribution ships avconv, and 'libavformat' in a separate package. So let me try with the static version real fast
[07:32] <evilwombat> relaxed, static version does not show the problem. I'll try to get my distro to pull in a fix to libavformat, or try building it myself. Thanks!
[07:33] <relaxed> evilwombat: https://trac.ffmpeg.org/wiki/CompilationGuide
[07:35] <evilwombat> Ah, that'll be handy. Thanks. It will be interesting, since I have to dump the .so file into /usr/lib without angering the package manager. But I'll see what I can do
[08:33] <termos> how can I specify the decoding buffer using the C ffmpeg API?
[10:26] <ruby_on_tails> i recorded a screencast on a mac 2880*1800 resolution and it looks fine, but when i run it on my desktop 1360*768 it looks a bit distorted
[10:27] <ruby_on_tails> similar distortion happens when i play a 1360*768 resolution screencast on a 1600*900 monitor
[10:27] <ruby_on_tails> why is this happening?
[10:29] <kevmitch> ruby_on_tails: do you mean the aspect ratio is distorted?
[10:30] <ruby_on_tails> kevmitch: yes
[10:30] <ruby_on_tails> kevmitch: http://pasteboard.co/16vuPRkS.png this is what happens in the second case i mentioned
[10:31] <ruby_on_tails> shouldnt a video resize automatically to preserve proportons ?
[10:38] <Mavrik> ruby_on_tails, not if you tell it not to
[10:38] <ruby_on_tails> Mavrik: i havent told it anything
[10:38] <Mavrik> if you force a 2880x1800 16:10 resolution to encode into a 1360x768 16:9 resolution you'll of course have distorted view
[10:38] <Mavrik> ruby_on_tails, if you haven't told it, then you'd get a 2880x1800 video out
[10:38] <Mavrik> so you HAD to set output resolution
[10:38] <ruby_on_tails> no no
[10:39] <ruby_on_tails> i recorded a screencast in 2880*1800
[10:39] <ruby_on_tails> i have the video in hand
[10:39] <ruby_on_tails> i play it on another computer 1360*768
[10:39] <ruby_on_tails> and its a bit distorted
[10:39] <Mavrik> hmm
[10:39] <ruby_on_tails> text isnt clean
[10:39] <Mavrik> can you do a ffprobe on the video for starter and pastebin the output :)
[10:39] <ruby_on_tails> same thing happens when i record in 1360*768 and play on 1600*900
[10:40] <ruby_on_tails> Mavrik: doing
[10:42] <ruby_on_tails> Mavrik: http://pastebin.com/CEMbxqEG
[10:42] <Mavrik> hmmm
[10:43] <Mavrik> you're probably seeing compression artifacts because of high compression - 2800bit/s it a really low bitrate for video at 2880x1800
[10:43] <Mavrik> (remember, 1920x1080 video is usually encoded to 8-12Mbit)
[10:43] <ruby_on_tails> Mavrik: what should i chose then?
[10:43] <ruby_on_tails> WHAT :O
[10:44] <ruby_on_tails> will that not shoot up my file size to huge?
[10:44] <Mavrik> yep.
[10:44] <Mavrik> but your resolution is huge :)
[10:44] <ruby_on_tails> what does bitrate actually mean?
[10:44] <Mavrik> "use 2800 bits for each second of video"
[10:44] <Mavrik> e.g. 2800/8 -- use 350KB for each second of video
[10:45] <Mavrik> so if you set it too low, it'll start showing those blurry artifacts because you're not letting the encoder enough bits to store full image :)
[10:45] <Mavrik> ruby_on_tails, I suggest you grab a screen recording to 15 or 20Mbit
[10:45] <Mavrik> and then reencode/rescale it to something like 1600x900 at 2Mbit or so
[10:48] <ruby_on_tails> i am fine with the quality i see on 2880*1800
[10:48] <ruby_on_tails> it looks perfect
[10:48] <Mavrik> hmm, even with that video?
[10:48] <ruby_on_tails> yes
[10:48] <ruby_on_tails> its a mac book pro retina
[10:48] <ruby_on_tails> quality is good enough
[10:48] <Mavrik> yeah, figured :P
[10:48] <Mavrik> then the bitrate isn't the issue
[10:49] <Mavrik> I guess the players on other computers just suck at rescaling the video :(
[10:49] <ruby_on_tails> when i run it on my desktop 1360*768 it distorts a bit
[10:49] <ruby_on_tails> let me show you screenshots
[11:00] <ruby_on_tails> Mavrik: this is 1360*768 http://i.imgur.com/zroVPXe.png and this is 2880*1800 http://puu.sh/clRvq/221f3c2caf.png
[11:00] <hungnv> #j #ffmpeg-devel
[11:01] <spaam> :D
[11:01] <spaam> #part #ffmpeg
[11:04] <Mavrik> ruby_on_tails, honestly that looks just like expected :)
[11:04] <ruby_on_tails> Mavrik: http://pasteboard.co/17RPuBVN.png look at this, this is when i export the video from my mac at 75% scale
[11:04] <Mavrik> you can probably improve that by manually downscaling video and using a high quality resample algorithm (e.g. lanczos or similar)
[11:04] <ruby_on_tails> it looks better, why/
[11:05] <ruby_on_tails> ?
[11:05] <ruby_on_tails> the text looks smoother
[11:05] <Mavrik> ruby_on_tails, because as I said, the transcoder probably has a better resizing algorithm than the players
[11:05] <Mavrik> if you're using ffmpeg
[11:05] <Mavrik> try doing "-vf scale=-2:768:flags=4"
[11:05] <Mavrik> and see how that ends up
[11:05] <ruby_on_tails> what does this mean?
[11:05] <Mavrik> "rescale video to 768 height using lanczos algorithm"
[11:06] <Mavrik> "and keep width as multiple of 2"
[11:06] <Mavrik> if that ends up ok, then we have your culprit
[11:09] <ruby_on_tails> k let me try
[11:10] <ruby_on_tails> Mavrik: i did this ffmpeg -i in.mp4 -vf scale=-2:768:flags=4 out.mp4
[11:10] <ruby_on_tails> it says [scale @ 0x1f027a0] Size values less than -1 are not acceptable.
[11:10] <ruby_on_tails> Error opening filters!
[11:11] <Mavrik> *grumbl*
[11:11] <Mavrik> you have old ffmpeg
[11:11] <Mavrik> use -1 then
[11:11] <ruby_on_tails> its encoding now, very very slowly
[11:12] <ruby_on_tails> Mavrik: what is the best output resolution to go for?
[11:12] <ruby_on_tails> any specific ratio i should use?
[11:12] <Mavrik> well you can encode just a few minutes
[11:12] <Mavrik> anyway, I guess doing 720p or 1080p is reasonable for screencasts
[11:12] <ruby_on_tails> it is just a 1:25 mins small test video
[11:13] <ruby_on_tails> what does 720p mean?
[11:13] <Mavrik> 1280x800 or 1920x1200
[11:13] <ruby_on_tails> hmm
[11:13] <Mavrik> 1280x800 at about 1.5Mbit/s or 1920x1200 at about 3-5 Mbit/s
[11:13] <Mavrik> depends on who your target audience is
[11:13] <Mavrik> if everyone has retina macs, using 1920x1200 can be reasonable
[11:13] <ruby_on_tails> why is 1280*800 called 720p?
[11:14] <ruby_on_tails> like why not 1280p ?
[11:17] <Mavrik> uh
[11:17] <Mavrik> 720p is actually 1280x720
[11:18] <Mavrik> (video people use heights as markings)
[11:18] <Mavrik> but 1280x720 is 16:9 and you have 16:10 video
[11:18] <Mavrik> and 16:10 displays of those size are all 1280x800
[11:18] <ruby_on_tails> k got it
[11:18] <ruby_on_tails> so its the height basically
[11:19] <ruby_on_tails> Mavrik: the encoding is done, it looks much more worse now
[11:19] <ruby_on_tails> horribly worse
[11:25] <Mavrik> hmm
[11:25] <Mavrik> did you actually tell ffmpeg the quality you want? :)
[11:25] <Mavrik> -crf, bitrate or anything?
[11:36] <ruby_on_tails> Mavrik: nope
[11:36] <ruby_on_tails> "ffmpeg -i in.mp4 -vf scale=-1:768:flags=4 out.mp4" this is what i did
[11:38] <ruby_on_tails> Mavrik: added -vcodec copy, still doesnt look very good
[11:38] <ruby_on_tails> same as the input
[11:41] <ruby_on_tails> Mavrik: if i want to keep the file size low without compromizing quality should i screencast on a smaller resolution rather than retina?
[11:42] <ruby_on_tails> i thought larger resolution would mean smoother text in screencasts
[11:47] <ruby_on_tails> Mavrik: another thing i noticed is when exporting the screencast at 50% dimensions from the mac it didnt affect the filesize much, a reduction of just 5-7% why is that? shouldnt it become atleast half?
[11:53] <termos> I keep getting these errors: "100 buffers queued in out, something may be wrong." where "out" is the name of my buffer_sink of the filter graph. The video starts lagging when I get these messages, what could be the problem?
[12:00] <Mavrik> ruby_on_tails, you're always getting the same filesize because you're always encoding the same bitrate
[12:00] <Mavrik> that's why your quality varies so uch
[12:00] <Mavrik> you're cramming different resolutions into same filesize so encoder has to make sacrifices :)
[12:01] <Mavrik> add -crf 20 or something to the parameters :)
[12:01] <ruby_on_tails> what does -crf 20 mean?
[12:01] <Mavrik> "constant rate factor"
[12:01] <Mavrik> it's one of the quality parameters (higher number - worse quality but smaller file)
[12:01] <Mavrik> 20 is a decent default
[12:06] <ruby_on_tails> Mavrik: why is it an issue if i have a high bitrate which means more pixel info per second but smaller resolution?
[12:07] <ruby_on_tails> isnt it like resizing an iamge? more the pixel info, better the smaller version of the resized image?
[12:09] <Mavrik> yes
[12:51] <termos> does ffmpeg have an input buffer that it fills up before it starts decoding the AVPackets?
[12:59] <Mavrik> yes
[13:00] <termos> is it possible to set the size of this buffer?
[13:01] <termos> I just can't figure it out, the analyzeduration buffer seems to be used only for detecting stream information. I'm tempted to create my own buffer and start decoding once the buffer reaches a certain maxsize
[13:01] <Mavrik> probesize, max_probisize and analyzeduration
[13:01] <termos> The problem is I'm trying to transcode a somewhat laggy stream and I need a bigger buffer to take care of the lag spikes
[13:01] <Mavrik> are parameters that do that
[13:02] <Mavrik> then you also can have buffers on the input protocol itself (e.g. UDP)
[13:02] <termos> hm okey, I'll look into those. Sounds promising
[13:02] <Mavrik> but yeah, the buffer that detects stream niformation is given to you right after probing is done
[13:02] <Mavrik> if you need an actual input buffer, check your input protocol if it allows you to set one
[13:04] <termos> I am using rtmp stream as input, I found something called rtmp_buffer which in the source code is called client_buffer_time but it doesn't seem to do much with the input. It seems to affect muxing to rtmp instead
[18:39] <bijan> hi guys. Quick question. I'm trying to strip out rotation metadata on a video file using this command: "fmpeg -i testVideo.mp4 -metadata:s:v:0 rotate=0 -codec copy output.mp4". It's removing the rotation metadata on video, but I notice it's also changing the audio bit rate mode from Variable to Constant. Any ideas why and how to make it leave the a
[18:39] <bijan> udio alone?
[18:40] <PovAddict> I don't know what -codec does by itself
[18:40] <PovAddict> I use -codec:v copy -codec:a copy
[18:41] <bijan> I think it's the same. I'll give that a shot
[18:41] <bijan> yeah - same result
[18:41] <bijan> even I run the command without altering metadata - just copying - it's changing the audio bit rate mode
[18:44] <relaxed> bijan: are you sure?
[18:46] <bijan> mediainfo testVideo.mp4:
[18:46] <bijan> Audio
[18:46] <bijan> ID : 2
[18:46] <bijan> Format : AAC
[18:46] <bijan> Format/Info : Advanced Audio Codec
[18:48] <bijan-sorry> shouldn't have pasted all that in here. here's a small gist of what the output is: http://textuploader.com/olj9
[18:48] <bijan-sorry> it shows the mediainfo of the original and then the mediainfo of the output
[18:49] <bijan-sorry> so yes, I'm sure
[18:55] <relaxed> output both audio streams to pcm and run a checksum
[18:56] <relaxed> because I doubt mediainfo more than ffmpeg secretly re-encoding a stream behind your back
[18:59] <relaxed> or you could look at ffmpeg's output. You should see "Stream #0:0 -> #0:1 (copy)" at the bottom.
[19:00] <relaxed> (something similar for both streams)
[19:00] <bijan-sorry> k that will be easier since I know how to do that
[19:00] <bijan-sorry> Stream mapping:
[19:00] <bijan-sorry> Stream #0:0 -> #0:0 (copy)
[19:00] <bijan-sorry> Stream #0:1 -> #0:1 (copy)
[19:00] <bijan-sorry> Press [q] to stop, [?] for help
[19:00] <bijan-sorry> frame= 1620 fps=0.0 q=-1.0 Lsize= 2987kB time=00:00:54.12 bitrate= 452.2kbits/s
[19:00] <bijan-sorry> video:2621kB audio:310kB subtitle:0 global headers:0kB muxing overhead 1.923473%
[19:00] <relaxed> I win
[19:00] <bijan-sorry> cool. just going to test the audio out on some videos and it should be good.
[19:01] <bijan-sorry> I appreciate your help relaxed, and everyone else
[19:01] <relaxed> you're welcome
[19:08] <bofh> Hi all! the adelay filter - does it really add some silence at the beginning of track?
[19:09] <bofh> it seems that it simply replaces a part of the track with silence
[19:28] <t4nk114> hi
[19:28] <t4nk114> I use force keyframes like this -force_key_frames 'eq(n,0)'
[19:29] <t4nk114> and I get Invalid duration specification for force_key_frames: eq(n
[19:36] <t4nk114> can you help?
[19:50] <bencc> I'm using -ss and -t to cut a video
[19:50] <bencc> can I cut the video in several places?
[19:51] <bencc> start at 00:03:00 end at 00:10:00, start at 00:15:00 end at 00:20:00 ...
[19:51] <c_14> In one command with a filter_complex some trim filters and a concat filter
[19:52] <c_14> If you want codec copy, use -ss and -t as output options, specify one output for each part you want and use another command to concat
[19:53] <bencc> c_14: filters can only be used when re-encoding?
[19:54] <c_14> yep
[19:55] <bencc> thanks
[20:16] <DHE> Hello. I'm trying to convert telecine media (mpeg2) into telecine media (h264) but am having a hard time finding any information that doesn't involve using the video filters (which I don't want to do). "-flags ildct" doesn't seem to be enough
[22:30] <Mavrik> uh
[22:32] <PovAddict> uh?
[22:34] <ChocolateArmpits> hmm
[22:34] <PovAddict> I got my dvd working :)
[22:35] <PovAddict> the menu can't be used with the mouse in VLC, but otherwise it works
[22:47] <ChocolateArmpits> PovAddict: Try arrow keys on the keyboard
[22:47] <PovAddict> yes that works
[22:47] <PovAddict> but when I was using autoinfer-buttons-from-image mode in dvdauthor, mouse worked too
[00:00] --- Thu Oct 23 2014
More information about the Ffmpeg-devel-irc
mailing list