[Ffmpeg-devel-irc] ffmpeg.log.20150801
burek
burek021 at gmail.com
Sun Aug 2 02:05:01 CEST 2015
[00:18:05 CEST] <bencc> can I merge audio and video files with offset that changes over time?
[00:18:23 CEST] <c_14> setpts/asetpts
[00:18:26 CEST] <bencc> let's say I have a list of 'real' timestamps from both files I can use
[00:19:30 CEST] <c_14> Interpolate a function between all those points.
[00:19:45 CEST] <c_14> Timestamp on x, difference between them on y.
[00:20:15 CEST] <c_14> Then use the function in setpts/asetpts depending on which direction you want to adjust
[00:20:33 CEST] <bencc> c_14: you mean get a polynom?
[00:21:26 CEST] <c_14> linear interpolation would be f(x) = mx + b
[00:22:04 CEST] <bencc> c_14: what if the drift is not linear?
[00:22:08 CEST] <c_14> x would be the "PTS" variable
[00:22:19 CEST] <c_14> Use a quadratic/cubic etc interpolation
[00:22:41 CEST] <c_14> You can also use splines if you feel so inclined.
[00:22:45 CEST] <bencc> c_14: ok, so a polynom
[00:22:58 CEST] <c_14> A polynomial function, yes.
[00:23:20 CEST] <well0ne> good evening
[00:23:34 CEST] <c_14> You can also use noncontinous functions
[00:23:35 CEST] <bencc> c_14: can you link to the function in the docs?
[00:23:57 CEST] <c_14> https://ffmpeg.org/ffmpeg-filters.html#setpts_002c-asetpts
[00:24:53 CEST] <c_14> basically setpts=m*PTS+b <- for linear. analog for quadratic etc
[00:25:05 CEST] <bencc> c_14: does it require re-encoding?
[00:25:18 CEST] <c_14> yes. Of either the video or audio track
[00:25:18 CEST] <bencc> if I have .webm video and .opus audio files
[00:25:37 CEST] <bencc> reencoding the audio is probably better
[00:25:44 CEST] <c_14> usually, yes
[00:25:46 CEST] <bencc> I guess it will be less noticable
[00:28:09 CEST] <bencc> c_14: can you give a full example that use opus and webm as input and output to a merged webm?
[00:29:23 CEST] <c_14> What timescale should I use?
[00:29:28 CEST] <c_14> make one up?
[00:29:43 CEST] <bencc> cubic will be nice
[00:58:12 CEST] <c_14> ffmpeg -i out.webm -i whip-way.opus -af asetpts='(((0.0122908/TB)*PTS)*((0.0122908/TB)*PTS)*((0.0122908/TB)*PTS))' -c:v copy out2.webm <- something like this I guess. It was a bit hard because I had to make up a cubic function to use. You just have to make sure you divide each of the actual numbers you get during the interpolation by the Timebase (TB).
[00:58:43 CEST] <c_14> And yes, the cubic part is pretty annoying.
[01:00:00 CEST] <c_14> Eh, like this actually -af asetpts='(0.0122908/TB)*(PTS*PTS*PTS)'
[01:00:10 CEST] <c_14> Accidentally pulled that number into the cube
[01:19:29 CEST] <bencc> thanks
[10:35:36 CEST] <Guest53840> I am using a live subtitle file which is generated in real time .But ffmpeg is not able to embed it in video.
[10:36:05 CEST] <Guest53840> What is wrong with ffmpeg?Does it need complete subtitle file
[12:09:44 CEST] <well0ne> Hello
[13:09:07 CEST] <elmargol> Can I use yuvj420p x264? or do i have to use yuv420p?
[13:09:25 CEST] <elmargol> What devices are going to have problems?
[13:14:45 CEST] <JEEB> elmargol: if you mean hardware devices without your custom player that handles full range correctly - everything
[13:15:14 CEST] <elmargol> I'm just wondering what a safe color space to use is.
[13:15:29 CEST] <elmargol> It should work on chromecast, android, chrome and smarttvs
[13:15:34 CEST] <JEEB> well the difference between the J and the non-J ones is just the range
[13:15:48 CEST] <elmargol> yuv420p looks washed out here
[13:15:59 CEST] <JEEB> then you have dealt with it incorrectly
[13:16:58 CEST] <JEEB> limited range and full range YCbCr should both have the same stuff, just that limited range has less values in between (because highest and lowest values are out of range there)
[13:17:21 CEST] <JEEB> washed out sounds like you have full range YCbCr and then you are showing it as limited range :P
[13:17:33 CEST] <JEEB> (because then stuff clips)
[13:17:34 CEST] <elmargol> Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc), 1280
[13:17:35 CEST] <elmargol> x720 [SAR 1:1 DAR 16:9], 15281 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default) <- source
[13:18:06 CEST] <JEEB> someone was perverted enough to use full range coding
[13:18:23 CEST] <elmargol> Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x720 [SAR 1:1 DAR 16:9],
[13:18:23 CEST] <elmargol> 50 fps, 50 tbr, 1k tbn, 100 tbc (default) <- encoded video
[13:18:25 CEST] <JEEB> is that by chance a funimation encode reflagged correctly by HS?
[13:18:50 CEST] <elmargol> source is from a gopro 720p 50 fps
[13:18:55 CEST] <JEEB> jesus fuck
[13:18:59 CEST] <JEEB> gopro does full range?
[13:19:08 CEST] <elmargol> yes
[13:19:15 CEST] <JEEB> way to go creating files that nothing can play out of the box
[13:19:20 CEST] <elmargol> true
[13:19:27 CEST] <elmargol> thats why I',m batch converting
[13:19:37 CEST] <JEEB> I'm not even sure if the editors handle that correctly
[13:19:45 CEST] <elmargol> ffmpeg -i $file.Name -crf "18" -maxrate 8000k -c:a "copy" -pix_fmt "yuvj420p" $outfile
[13:20:13 CEST] <elmargol> thats the current line if i do yuv420p it looks washed out
[13:20:16 CEST] <JEEB> yeah, you will basically want to convert the range from full to limited (aka PC to TV)
[13:20:31 CEST] <JEEB> and seemingly for you if you set the pix_fmt correctly it doesn't do that
[13:20:34 CEST] <elmargol> maybe I should just up the contrast?
[13:20:47 CEST] <JEEB> nah, there should be a way to do that with a filter
[13:20:56 CEST] <JEEB> and it wouldn't be the contrast anyways
[13:21:13 CEST] <elmargol> so i should not use "yuvj420p"?
[13:21:26 CEST] <JEEB> nope
[13:22:09 CEST] <JEEB> also the J marked things should already die but I think swscale still needs them or so (it should just say yuv420p (pc) or yuv420p (tv))
[13:22:29 CEST] <JEEB> because the data is the same, it's just the used range
[13:22:39 CEST] <JEEB> anyways, trying to google on how to convert the range
[13:23:36 CEST] <elmargol> JEEB, gopro has a tool for windows to convert the video to a watchable format. I don't use this tool
[13:23:45 CEST] <elmargol> I use blender to edit my videos
[13:23:59 CEST] <JEEB> also... washed out... could that actually be the conversion working but the videos actually being limited range (while being signaled as full range)
[13:24:18 CEST] <elmargol> maybe the video player is just stupid
[13:24:19 CEST] <JEEB> basically, is it blacks becoming grey or so?
[13:24:45 CEST] <JEEB> a sample would be fabulous if you can create a small one quickly
[13:24:58 CEST] <JEEB> elmargol: what OS are you on?
[13:25:09 CEST] <elmargol> windows 7 and ubuntu 14.04
[13:25:13 CEST] <elmargol> currently win7
[13:25:23 CEST] <JEEB> you can check out how https://mpv.srsfckn.biz/ renders it
[13:25:35 CEST] <JEEB> if your opengl video drivers don't suck it should pretty much be the reference
[13:25:56 CEST] <JEEB> if that thing looks washed out, then gopro fucked up signaling the range
[13:26:27 CEST] <JEEB> if that thing looks fine, then most probably the signaling is correct and you just need to correctly convert the range with a video filter
[13:26:50 CEST] <JEEB> you use it by drag and dropping a file on the exe
[13:27:03 CEST] <JEEB> (which uses the file as the first command line argument)
[13:31:34 CEST] <elmargol> JEEB, https://drive.google.com/file/d/0B-tNIlJJusNxTHEwNEkzdDBhU0k/view?usp=sharing
[13:32:26 CEST] <JEEB> decoded pictures don't really help too much. also do try the mpv method I just noted
[13:34:36 CEST] <JEEB> basically if you want to provide a sample it'd rather be a short clip from the camera
[13:34:58 CEST] <elmargol> ok so it is the player making the difference
[13:35:16 CEST] <elmargol> ok so my encoding is fine
[13:35:30 CEST] <JEEB> so does mpv on the source look fine?
[13:35:44 CEST] <elmargol> on pmv both look the same
[13:36:16 CEST] <elmargol> on ffplay / vlc the contrast on the source is higher
[13:36:31 CEST] <elmargol> and the encoding looks washed out
[13:37:16 CEST] <JEEB> anyways, if you want to provide a short sample from the source with the thing evident then I can poke at things as well to double-check
[13:37:17 CEST] <elmargol> CompVideo is the player where it looks worst
[13:37:32 CEST] <elmargol> JEEB, no need for that I'm happy like it is now
[13:37:52 CEST] <elmargol> funny thing... the encoding is larger than the source...
[13:38:47 CEST] <JEEB> but yeah, if mpv is used with the opengl renderer it should be good (if your opengl drivers are at the least bit capable)
[13:39:14 CEST] <JEEB> it might be falling back on some other renderer if the opengl one can't initialize, and that might not be as good
[13:39:15 CEST] <elmargol> Do you know a decent tool to compare two videos side by side?
[13:39:51 CEST] <elmargol> Or one on top and one at the bottom or something like that
[13:39:55 CEST] <JEEB> avisynth/vapoursynth come to mind
[13:40:09 CEST] <JEEB> although I generally interleave things
[13:42:53 CEST] <JEEB> here's how I compared three clips in vapoursynth, f.ex. http://up-cat.net/p/ef944b2a
[13:42:54 CEST] <elmargol> reencoding the audio Stream #0:1(eng): Audio: aac ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, 128 kb/s (default) does not make sense does it?
[13:43:03 CEST] <JEEB> yeah
[13:43:06 CEST] <JEEB> -c:a copy that
[13:43:59 CEST] <elmargol> ok
[13:45:37 CEST] <JEEB> (and in that vapoursynth script I used L-SMASH Works for the LWLibavSource filter and fmtconv for the fmtc functionality
[13:46:06 CEST] <JEEB> but I guess if you've never scripted anything that looks really terrifying
[13:46:46 CEST] <elmargol> why are you cropping the original source?
[13:47:06 CEST] <JEEB> I did the same with the encodes
[13:47:13 CEST] <JEEB> there was a lil' bit of black
[13:47:17 CEST] <JEEB> borders
[13:47:31 CEST] <elmargol> ah ok
[13:47:44 CEST] <elmargol> doesn't look to terrifying :)
[13:48:02 CEST] <JEEB> yeah, and then you open that in something like Vapoursynth Editor
[13:48:05 CEST] <JEEB> and you can preview it
[13:48:16 CEST] <elmargol> never used Vapoursynth
[13:48:29 CEST] <JEEB> I moved my encoding tests to it a few months back
[13:48:42 CEST] <JEEB> was getting tired of having to hack around high bit depth content with avisynth
[13:48:53 CEST] <JEEB> which was another frame serving thing
[13:48:59 CEST] <elmargol> never used avisynth *g*
[13:49:36 CEST] <JEEB> basically software that lets you write scripts/filter chains and then preview them :)
[13:49:49 CEST] <JEEB> (or push them to encoders)
[13:50:00 CEST] <elmargol> yes I know what it is
[13:53:39 CEST] <JEEB> it's very powerful and can be used for fun and profit :)
[13:54:18 CEST] <JEEB> vapoursynth is multiplatform, but doesn't have an official way of handling audio. although there is a filter for that which saves audio as side data in the video frames, IIRC?
[13:54:52 CEST] <JEEB> I never handled audio in avisynth so it really wasn't a loss of capability for me :)
[13:59:00 CEST] <elmargol> Well I use blender for all my editing needs
[13:59:13 CEST] <elmargol> Works decent
[14:00:43 CEST] <elmargol> mkvtoolnix if I have to cut something out, ffmpeg to encode.
[14:00:55 CEST] <elmargol> blender for nonlinear editing
[14:10:12 CEST] <durandal_1707> elmargol: there is framepack filter in ffmpeg
[14:10:20 CEST] <ribasushi> ubitux: in case you want to add more info to https://trac.ffmpeg.org/ticket/3956
[14:10:54 CEST] <ribasushi> ubitux: final resolution is this (patch referenced within at [4]): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=794327
[14:11:50 CEST] <elmargol> durandal_1707, I was thinking about ffplay not ffmpeg
[14:12:12 CEST] <elmargol> I have 3-4 different encodings and like find the best quality/size
[14:15:12 CEST] <durandal_1707> ffplay can use same filters and you can use pipe with ffmpeg
[14:16:06 CEST] <elmargol> interesting
[14:24:37 CEST] <ubitux> ribasushi: ah, sure, thanks
[14:25:57 CEST] <ubitux> amended
[14:26:16 CEST] <ribasushi> ubitux: cheers!
[14:26:20 CEST] <ubitux> :)
[14:26:34 CEST] Action: ribasushi grumbles in the corner on the amount of time between updates :(
[14:43:08 CEST] <blue112> Hi here. I'm having bad time trying to compile libav to ffmpeg on msvc. I've installed msys and mingw, but the ./configure --toolchain=msvc is failing with "Symbol mangling check failed". What should I do next ?
[14:43:27 CEST] <JEEB> which MSVC are you using?
[14:43:46 CEST] <JEEB> also pastebin'ing config.log is useful
[14:43:49 CEST] <blue112> 2010 express
[14:43:54 CEST] <blue112> Sure, wait.
[14:44:05 CEST] <JEEB> that's too old
[14:44:16 CEST] <JEEB> you need 2013 u2 or newer for proper'ish capabilities
[14:44:27 CEST] <JEEB> I think the documentation mentions this
[14:44:32 CEST] <blue112> That's the version I need for several other projects. There's no way to compile it using 2010e ?
[14:44:42 CEST] <JEEB> no
[14:44:52 CEST] <JEEB> that shit just cannot do proper C
[14:45:25 CEST] <blue112> 2013u2 is free to use ?
[14:45:58 CEST] <JEEB> there is an express version which is free for everyone, as well as the community version which is available for private individuals as well as small businesses
[14:46:12 CEST] <JEEB> express I think should be fine for FFmpeg
[14:46:18 CEST] <blue112> I'll try that, thanks :)
[14:46:22 CEST] <JEEB> community is pretty much pro
[14:46:29 CEST] <JEEB> but with licensing limitations due to being free
[14:46:41 CEST] <JEEB> like not being able to use it in a company bigger than X etc
[14:47:05 CEST] <blue112> I think express will be plenty enough.
[14:47:11 CEST] <JEEB> most probably :)
[14:47:16 CEST] <JEEB> also 2015 is just out as well
[14:47:20 CEST] <blue112> 6.5GB omg :(
[14:48:31 CEST] <JEEB> also I see MSVC 2010 being mentioned in the docs but I'm pretty sure that is a mistake. and you are in for a world of pain if you use 2012 because you have to use a separate preprocessor to mangle the C code into stuff that 2012 can eat
[14:48:49 CEST] <JEEB> 2013 was the first one with less-than-bad C support and 2015 improves on that
[17:07:44 CEST] <JodaZ> "But even now as the last distributions are preparing to remove Libav" distros are removing libav?
[17:15:30 CEST] <Orbixx> You guys still need help with finding a new server?
[17:22:31 CEST] <BtbN> JodaZ, debian does, and so Ubuntu will follow.
[17:23:08 CEST] <JodaZ> are the reasons discussed anywhere
[17:23:54 CEST] <BtbN> there are some mails about it, and i think there also is some wiki page explaining the decision.
[18:43:22 CEST] <blue112> Installed MSCV Express 2013, and got "chmod.exe: warning: this program is not supported by Windows NT", and then a LOT a "line 416; xxxxxx command not found"
[18:43:27 CEST] <blue112> JEEB ?
[19:57:37 CEST] <frenda> Hey there
[19:58:36 CEST] <frenda> How can I find size of video? (I want to create an slideshow and then --> add it to the end of video)
[20:01:08 CEST] <c_14> ffprobe -select_streams v -show_entries stream=width,height
[20:14:44 CEST] <frenda> c_14: was excellent
[20:35:27 CEST] <Timster> Hey, guys - I am concatenating multiple files, each a couple of hours long. Unfortunately, Unfortunately, I have out-of-sync issues between audio and video. The first file is perfectly fine (it is randomizing the order, so it's not everytime the same), but from file to file it gets more async'ed. Any idea what could cause this and how I can attempt to fix it?
[20:42:22 CEST] <well0ne> how do you do this
[20:42:28 CEST] <well0ne> concatenating
[20:43:05 CEST] <well0ne> i had the same problem, until i pre-encoded everyfile with the same settings
[20:44:17 CEST] <Timster> Hm, how about using -async 1 maybe?
[20:44:44 CEST] <well0ne> that argument wasnt working for me
[20:47:31 CEST] <Timster> You#re asking how I concatenate or how it works in general?
[20:48:09 CEST] <Timster> I am trying to -async according my fps now. Hope that this might fix it. If not I guess I have to pre-encode as well
[20:48:41 CEST] <well0ne> i meant how do you do it, not in geleral
[20:49:23 CEST] <well0ne> well you gave us to few informations
[20:49:46 CEST] <well0ne> what's the input/output, are the files having the same framerate
[20:49:51 CEST] <well0ne> etc etc
[20:50:02 CEST] <well0ne> which container/video/audio codec you're using
[20:51:46 CEST] <Timster> Sorry, one second.
[20:53:02 CEST] <Timster> This should explain most of it: http://stackoverflow.com/questions/31749414/concatenating-with-ffmpeg-audio-out-of-sync-after-2-or-3-files
[20:57:46 CEST] <frenda> "+:
[20:58:11 CEST] <frenda> Is there any trick to add effect between slides: https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images ?
[20:59:10 CEST] <well0ne> Timster, i have no answer for you, i had the same problems a year ago, in the meantime i use h264+mp3 preencoded and concatenate them to a livestream, since the i have no problems
[20:59:12 CEST] <xerox> anybody compiled ffmpeg --with-ffplay on osx via brew? it did not install ffplay for me
[20:59:36 CEST] <well0ne> meanwhile*
[21:00:45 CEST] <Timster> So you're recording the audio stream seperate from video into a mp3 container?
[21:01:23 CEST] <xerox> also is it possible to compile it in such a way that -hide_banner is the default?
[21:02:37 CEST] <well0ne> nono, i just dont use aac
[21:02:50 CEST] <sfan5> xerox: changing this to 1 will probably work https://github.com/FFmpeg/FFmpeg/commit/b4c89c90ffc723c38282fbf061bf65da67e011b2#diff-eebe160b8679bca2f947765ef7dd1d30R69
[21:09:21 CEST] <xerox> sfan5: neat. thanks
[00:00:00 CEST] --- Sun Aug 2 2015
More information about the Ffmpeg-devel-irc
mailing list