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

burek burek021 at gmail.com
Sun Feb 28 02:05:01 CET 2016


[00:02:53 CET] <derekprestegard> looks like my split and stitch issue was due to the fact that Im dealing with 23.98fps content
[00:03:16 CET] <kepstin> you mean 24000/1001 ?
[00:03:21 CET] <derekprestegard> yes
[00:03:28 CET] <kepstin> don't use the rounded fractional number if you can avoid it :)
[00:03:33 CET] <derekprestegard> ;)
[00:03:47 CET] <derekprestegard> I think our dev used 60.06, not sure -waiting on confirmation
[00:03:56 CET] <derekprestegard> but the frame count matches exactly so Im good
[00:04:22 CET] <derekprestegard> why is this necessary though? shouldnt ffmpeg be smart enough to figure all this out since Im specifying times in seconds??
[00:07:58 CET] <kepstin> derekprestegard: hard to say. It might be that when you're doing the final mux, maybe you could use one of the -vsync settings to force ffmpeg to recalculate all the frame timestamps based on constant framerate?
[00:08:59 CET] <derekprestegard> well when it wasnt working we were seeing 40 additional frames
[00:09:08 CET] <derekprestegard> confirmed were using 60.06006
[00:09:41 CET] <derekprestegard> so I think when we were using 60.0 sometimes it was picking up an extra frame
[00:10:06 CET] <kepstin> you can use fractions as input to all the ffmpeg rate options, to get exact values...
[00:10:21 CET] <kepstin> (modulo whatever the container supports, of course)
[00:10:36 CET] <derekprestegard> these parameters are for -to and -ss
[00:10:51 CET] <kepstin> oh, huh...
[00:12:34 CET] <kepstin> if you used exactly '60' it should be always be giving you either 1339 or 1338 frames for a 24000/1001 fps stream, i think (it'll probably alternate a bit)
[00:12:47 CET] <derekprestegard> yeah that makes total sense
[00:13:41 CET] <kepstin> which shouldn't be a problem, as long as the duration of the last frame of the previous file is accounted for correctly when appending the next file
[00:13:53 CET] <derekprestegard> which it wasnt
[00:13:56 CET] <derekprestegard> we did like
[00:14:04 CET] <derekprestegard> -ss 0 -i foo.mp4 -to 60
[00:14:10 CET] <derekprestegard> -ss 60 -i foo.mp4 -to 60
[00:14:14 CET] <derekprestegard> -ss 120 -i foo.mp4 -to 60
[00:14:32 CET] <derekprestegard> so we were picking up extra frames every now and then
[00:14:42 CET] <derekprestegard> a little bit less than half the time
[00:14:56 CET] <derekprestegard> (40 extra frames accumulated in 90 segments)
[00:16:13 CET] <kepstin> 40 in extra frames in 5400 seconds of video? that's a rather close number to the expected number of drop frames :/
[00:16:17 CET] <derekprestegard> kepstin: assuming you meant 1438 / 1439 above, right?
[00:16:29 CET] <kepstin> my calculations were not guaranteed to be exact :)
[00:16:32 CET] <derekprestegard> rof
[00:16:36 CET] <derekprestegard> rofl
[00:16:43 CET] <derekprestegard> so is our solution reasonable? it definitely works
[00:16:51 CET] <derekprestegard> or is there a better way to solve this issue?
[00:17:28 CET] <kepstin> no idea. I'd probably do it by putting all the segments into mpegts containers, then concatenate them and write the final mp4 with ffmpeg with options to cause it to rewrite the timestamps with constant-fps
[00:18:11 CET] <derekprestegard> would that result in ffmpeg dropping the erroneous frames?
[00:18:32 CET] <derekprestegard> also, where does constant fps come into the equation?
[00:18:39 CET] <kepstin> I'm not sure where your extra frames are coming from, tbh
[00:19:54 CET] <kepstin> for segment cutting like that, you want to get any frame that hits the start time exactly, and not include frame that hits the end time exactly
[00:20:10 CET] <kepstin> have you tried using -t instead of -to?
[00:21:34 CET] <kepstin> I can never remember the exact edge-case behaviour of the two
[00:25:55 CET] <derekprestegard> kepstin: exactly what we want
[00:26:00 CET] <derekprestegard> Ill try -t instead :)
[00:29:52 CET] <derekprestegard> another question - when comparing ssim scores using the output from x264
[00:30:05 CET] <derekprestegard> if one encode has 14.855 dB SSIM
[00:30:14 CET] <derekprestegard> and another has 14.702, the difference is .153 dB
[00:30:22 CET] <derekprestegard> how do I think about that in terms of percentage?
[00:32:03 CET] <derekprestegard> kepstin: -t produces the same result
[00:55:40 CET] <eternalamnesia> Hello I am having difficulties with VOB files, they were recorded with a realtime VHS to DVD burner and every time the DVD burner was paused it would reset the timestamp, so I have corrupted VOB files .. when I try to concat them the resulting file is also corrupted.. Any suggestions on a efficient method of converting the individual VTS_01_1.VOB,
[00:55:40 CET] <eternalamnesia> VTS_01_2.VOB etc files beforehand and then concat them ??
[00:56:07 CET] <eternalamnesia> btw ffmpeg is a godsend
[00:58:33 CET] <derekprestegard> try remuxing?
[00:58:53 CET] <derekprestegard> ffmpeg -i foo.vob -c:a copy -c:v copy foo.ts maybe
[00:59:33 CET] <eternalamnesia> awesome i will try it, thanks derek
[01:02:05 CET] <yongyung> Is there a difference between using -s x:y and using -vf scale=x:y?
[01:02:31 CET] <derekprestegard> eternalamnesia: np - you can also try another tool like mp4box or mkvmerge perhaps - they might work better
[01:03:01 CET] <derekprestegard> also look at the -vsync option in ffmpeg possibly
[01:08:54 CET] <llogan> yongyung: if i recall correctly, -s uses just scale filter. using scale instead is better because of additional options, such as allowing ffmpeg to preserve aspect ratio: -vf scale=1280:-1
[01:09:13 CET] <yongyung> llogan: Thanks
[01:09:38 CET] <derekprestegard> yongyung: you can also specify the scaling algorithm, which some people like me care about :D
[01:10:00 CET] <llogan> yongyung: also, if you use other filters you can more easily control when the scaling occurs
[01:10:22 CET] <llogan> -vf filter0,filter1,scale,filter2,filter3
[01:10:56 CET] <llogan> i personally haven't used -s in a long time
[01:11:10 CET] <yongyung> derekprestegard: What are the different scaling algorithms and why would you use one over another?
[01:11:21 CET] <derekprestegard> things like lanczos, spline etc
[01:11:28 CET] <derekprestegard> some are sharper than others
[01:11:35 CET] <derekprestegard> the default is bicubic which is pretty well balanced
[01:11:38 CET] <furq> yongyung: use -vf zscale if you have it
[01:11:46 CET] <derekprestegard> ^
[01:11:49 CET] <derekprestegard> its SLOW though omg
[01:11:56 CET] <derekprestegard> at least for me it was
[01:12:05 CET] <furq> it's not noticeably slower for me
[01:12:24 CET] <derekprestegard> well, the colorspace conversion and dithering was horrendously slow for me
[01:12:30 CET] <derekprestegard> havent tried benchmarking basic scaling
[01:12:41 CET] <llogan> yongyung: here are the scale options: http://ffmpeg.org/ffmpeg-scaler.html#scaler_005foptions
[01:13:04 CET] <llogan> scale=640:-2:flags=lanczos for example
[01:14:05 CET] <llogan> I meant "scaler options"
[01:14:12 CET] <furq> derekprestegard: yeah i'm not doing any colourspace conversion
[01:14:38 CET] <furq> i would definitely want to use zscale for that anyway since i hear swscale does a terrible job of it
[01:15:18 CET] <yongyung> llogan: Does it matter what filter I should use depending on if I'm up or downscaling?
[01:15:55 CET] <furq> yongyung: try with a few different ones and see which looks best for your source
[01:16:29 CET] <llogan> it depends on your content and the desired look of the output, but as furq suggests you'll just have to experiment to see what you prefer
[01:16:45 CET] <furq> lanczos and spline are sharp, bicubic is softer
[01:17:12 CET] <yongyung> If I specify scaling on a video file that already has the correct resolution it's just ignored and has no negative effect, right?
[01:17:22 CET] <furq> i should have thought so
[01:17:41 CET] <furq> it might waste some cycles but it won't actually resample the image
[01:19:02 CET] <furq> if you're upscaling a high-quality source then spline is probably a good choice
[01:19:22 CET] <furq> or spline16 if you're using zscale
[01:21:39 CET] <eternalamnesia> does anyone else love ffmpeg as much as i do
[01:23:19 CET] <furq> do you have an ffmpeg hug pillow
[01:24:02 CET] <eternalamnesia> lol no.. where do i get one
[01:24:27 CET] <yongyung> I have a different kind of ffmpeg pillow
[01:24:38 CET] <yongyung> ( a° \– a°)
[01:24:53 CET] <yongyung> Man lenny just looks like a happy fat man with this font
[01:25:38 CET] <llogan> eternalamnesia: ffmpeg -i pillow -i fflogo -filter_complex "overlay=(W-w)/2:(H-h)/2" ffpillow
[01:25:54 CET] <TD-Linux> the closest I have is a traffic cone t-shirt
[01:26:01 CET] <yongyung> furq: The hell is zscale again?^^
[01:26:54 CET] <llogan> that reminds me. i still have a brick of ffmpeg stickers. for today only if you email me your address at "lou at lrcd dot com" i'll mail some
[01:28:36 CET] <llogan> they look like this: https://twitter.com/FFmpeg/status/476066145758236673/photo/1
[01:29:07 CET] <eternalamnesia> really?
[01:29:25 CET] <eternalamnesia> i would love stickers
[01:29:25 CET] <llogan> yes
[01:30:15 CET] <FireFly> :o
[01:30:34 CET] <yongyung> Hmm, somehow -to doesn't seem to work for me. "ffmpeg -ss 12:08 -i test.mp4 -to 12:50 -c copy clip.mp4", he takes the start time correctly but he just keeps everything after it. -t works fine
[01:31:10 CET] <eternalamnesia> *sends email
[01:31:19 CET] <derekprestegard> yongyung: when you use -ss before -i the timestamps are reset to 0
[01:31:33 CET] <derekprestegard> so do you want from 12:08 to 12:50 or 12m50s starting at 12:08?
[01:31:53 CET] <yongyung> derekprestegard: Yeah that's what I want, makes sense I guess, kinda annoying though
[01:31:58 CET] <derekprestegard> :)
[01:32:03 CET] <llogan> you could try adding the -copyts input option
[01:32:03 CET] <derekprestegard> you can try adding -copyts
[01:32:04 CET] <eternalamnesia> derek .. that worked !!
[01:32:05 CET] <yongyung> Since afair using -ss after -i is super slow
[01:32:21 CET] <eternalamnesia> that will help me tremendously .. thank you
[01:32:25 CET] <derekprestegard> yeah you def dont want -ss after -i
[01:32:32 CET] <derekprestegard> eternalamnesia: awesome :)
[01:32:47 CET] <yongyung> derekprestegard: Especially considering my input file is a 100GB lossless .mp4 ;)
[01:32:57 CET] <furq> yongyung: https://ffmpeg.org/ffmpeg-filters.html#zscale
[01:33:11 CET] <furq> look for --enable-zimg in your configure line
[01:33:19 CET] <llogan> eternalamnesia: may not get mailed until Monday
[01:34:23 CET] <furq> it should be higher quality than zscale but probably not to a noticeable extent
[01:34:29 CET] <furq> s/zscale/swscale/
[01:34:44 CET] <eternalamnesia> thank you llogan
[01:36:28 CET] <eternalamnesia> if anyone is interested to hear how someone uses ffmpeg, here is my story .. i have a basement recording studio set up with video security cameras and i stream live music performances to twitch.tv, then i use ffmpeg to chop the video for youtube ..  the process is so much faster with ffmpeg
[01:36:48 CET] <derekprestegard> eternalamnesia: awesome :)
[01:37:19 CET] <derekprestegard> heres a question - if I have an MP4 file and want to stream it with seekability
[01:37:20 CET] <eternalamnesia> i used to record the video with a dvd burner and im going through the old dvd files as well
[01:37:22 CET] <derekprestegard> like with RTMP
[01:37:31 CET] <derekprestegard> BUT I also want to burn in some text
[01:37:33 CET] <derekprestegard> is that possible?
[01:37:49 CET] <eternalamnesia> does it have to be mp4?  why not flv?
[01:37:56 CET] <derekprestegard> could be anything really
[01:38:10 CET] <TD-Linux> derekprestegard, yes, just with HTTP, but only if you can transcode the entire file before you start streaming.
[01:38:22 CET] <derekprestegard> yeah see thats the tricky bit
[01:38:26 CET] <derekprestegard> its on-demand
[01:38:38 CET] <derekprestegard> I need to burn in an email address or something similar on-demand
[01:38:46 CET] <furq> if you stream it with rtmp then you'll be using flv
[01:38:46 CET] <TD-Linux> in that case you need to use a streamable container, like indexless webm or fMP4
[01:38:53 CET] <furq> which will work fine
[01:39:22 CET] <derekprestegard> TD-Linux: so if I start an encode using webm or fMP4
[01:39:23 CET] <TD-Linux> generating fMP4 and then pushing it into the browser via MSE is the new popular way
[01:39:43 CET] <derekprestegard> so the player will be able to open the video before the encode is finished, right?
[01:39:47 CET] <TD-Linux> derekprestegard, yes
[01:39:51 CET] <derekprestegard> and also seek??
[01:39:57 CET] <TD-Linux> yes
[01:40:02 CET] <derekprestegard> 0_0 cool!
[01:40:12 CET] <derekprestegard> do you have an example of something like that you could point me towards?
[01:40:36 CET] <derekprestegard> Im sitting here trying to get this crazy split and stitch workflow up and running (which it does BTW - 90 minute movie in under 1 minute from start to streamable)
[01:40:40 CET] <derekprestegard> but this sounds way more interesting
[01:41:05 CET] <TD-Linux> derekprestegard, so unfortunately there are a lot of methods and I don't know of any that will "just work" without JS, at least with seeking
[01:41:18 CET] <derekprestegard> I see
[01:41:24 CET] <derekprestegard> when you say fMP4 do you mean DASH et al?
[01:41:34 CET] <TD-Linux> you can use DASH, though it's optional
[01:41:54 CET] <llogan> eternalamnesia: look into the zmq filter with drawtext
[01:42:11 CET] <derekprestegard> what would be the alternative to DASH?
[01:42:16 CET] <TD-Linux> basically you have a list of segments and a widget to seek, and when you seek you grab the correct new segment and push it in via JS
[01:42:23 CET] <TD-Linux> derekprestegard, anything, it's implemented in JS
[01:42:32 CET] <TD-Linux> DASH is just a way to descrdibe the list of segments
[01:42:37 CET] <derekprestegard> sure
[01:42:58 CET] <derekprestegard> so the list is constnatly replaced as new segments come out of the encoder, right
[01:42:59 CET] <derekprestegard> ?
[01:43:07 CET] <TD-Linux> note that the segments can actually be segments of a single file
[01:43:11 CET] <derekprestegard> right
[01:43:19 CET] <TD-Linux> (or multiple files it doesn't matter) yes
[01:43:32 CET] <derekprestegard> its kind of like a live streaming manifest except old segments arent removed
[01:43:42 CET] <TD-Linux> yup.
[01:44:02 CET] <derekprestegard> so the real trick is in keeping track of where you are and grabbing the appropriate chunk and then seeking inside that chunk
[01:45:47 CET] <TD-Linux> yes. the browser will seek inside the chunk for you
[01:53:17 CET] <llogan> eternalamnesia: i put the envelope in the printer wrong way. oh well.
[01:57:27 CET] <eternalamnesia> lol
[01:57:46 CET] <eternalamnesia> is it still sendable?
[02:00:03 CET] <llogan> yeah. i always second guess myself with that printer and then always put it in the wrong orientation
[02:12:03 CET] <yongyung> Does ffmpeg have a function to analyze the frame rate of video files? I have a 60 FPS file but it feels like there are some duplicated/dropped frames
[02:19:56 CET] <eternalamnesia> i know ffmpeg -r 60 -i input   .. will ignore the timecode and pretend like it is 60fps, which might help you see whats going on
[02:40:14 CET] <iive> yongyung: maybe ffprobe have a mode that would output the frame timestamps.
[03:58:09 CET] <yongyung> I guess that'd have to be an actual pixel based analysis, since the time stamps are all absolutely perfect, which makes me think they're not really measured and just generated by the recording software
[05:10:44 CET] <licson> Hello. I'm currently using FFMpeg to record a HLS live stream and the live feed at the backend initiated a reconnect.
[05:10:59 CET] <licson> I then get some errors like Application provided duration: 4080282478 / timestamp: 4564566641 is out of range for mov/mp4 format
[05:11:16 CET] <licson> FFMpeg does not stop
[05:11:46 CET] <licson> I wonder what that means and what will happen on the file recorded video?
[05:12:01 CET] <licson> *recorded video file
[09:02:05 CET] <eternalamnesia> im having difficulties with a very simple thing .. i have a video file with right channel audio only and want the right channel to be copied to left .. help pls
[09:06:18 CET] <c_14> ffmpeg -i audio -map_channel 0.0.1 -map_channel 0.0.1 out
[09:06:21 CET] <c_14> I think that should work
[09:07:14 CET] <eternalamnesia> awesome thank you
[09:08:17 CET] <eternalamnesia> i have to do the audio and video seperately right?
[09:09:14 CET] <c_14> If you don't want to do anything to the video just add -c:v copy
[09:11:26 CET] <eternalamnesia> there is an error message it says mapchan: stream #0.0 is not an audio stream
[09:11:54 CET] <c_14> the second 0 might have to be a 1
[09:12:04 CET] <c_14> It's file_id.stream_spec.channel_id
[09:14:29 CET] <eternalamnesia> awesome it worked thanks
[09:33:36 CET] <licson> Hello. I'm currently using FFMpeg to record a HLS live stream and the live feed at the backend initiated a reconnect.
[09:33:43 CET] <licson> I then get some errors like Application provided duration: 4080282478 / timestamp: 4564566641 is out of range for mov/mp4 format
[09:33:50 CET] <licson> FFMpeg does not stop
[09:34:02 CET] <licson> I wonder what that means and what will happen on the recorded video?
[09:56:25 CET] <eternalamnesia> does anyone know what "invalid dropping " means?
[10:08:09 CET] <bradfordli123> I am new to ffmpeg and I am trying to extract 15 second audio from a video in okay/low quality audio. so far I have "ffmpeg -i {video/audio} -vn" not sure what else to add for do this
[10:32:47 CET] <sfan5> bradfordli123: add "-t 15" to only get 15 seconds and an output file obviously
[10:33:31 CET] <sfan5> if the extract is not at the beginning you need at add -ss <seconds> to seek forward to the desired place
[10:34:00 CET] <bradfordli123> awesome
[10:34:03 CET] <bradfordli123> thank you so much!
[12:59:31 CET] <yann|work> jkqxz: in fact there seems to be at least another example of hwaccel use, and for on-screen rendering (using va-api), in https://github.com/gbeauchesne/hwdecode-demos - only problem is that it works with ffmpeg 0.8, and a simple upgrade of the now-missing APIs is apparently not enough
[13:00:37 CET] <yann|work> and I just realized that vaapi (aside from that I'm mostly interested in vdpau) is apparently *the* one not supported by ffmpeg.c :)
[13:21:34 CET] <jkqxz> yann|work:  You can also look at the uses vlc or mpv.
[13:39:31 CET] <jkqxz> yann|work:  Also, for VAAPI only, these two patches might provide some inspiration, though they have been superseded by an hwcontext-based set: <https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2016-February/188909.html>, <https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2016-February/188910.html>.
[15:07:48 CET] <Spotlight1> hello,can little help with this things: LINUX: how can i do 3x3 screenshot from .m2ts: 1x1 is easy ffmpeg -ss 00:05:00 -i 111.m2ts -vframes 1 -y -f image2 222.png  but for 3x3 screenshot is what command? on WEB i didnt find any .... thanks for help and response.....
[15:09:28 CET] <DHE> sounds like something imagemagick might help with after you take a full size screenshot
[15:13:27 CET] <J_Darnley> That sounds incredibly inefficient to do with ffmpeg without a dedicated filter for it.
[15:14:37 CET] <furq> https://ffmpeg.org/ffmpeg-filters.html#tile
[15:16:02 CET] <J_Darnley> "Tile several successive frames together"  I think my point still stands although it has been reduced from a horrible filter chain to 2-passes
[15:17:00 CET] <J_Darnley> although maybe you can stick some frameratefilter before it.
[15:34:52 CET] <Spotlight1> btw:got it!!!
[17:08:35 CET] <yann||work> jkqxz: thx for the hints - for now I've even settled with libmpv itself, i'll dig further afterwards
[18:20:17 CET] <antiPoP> hi, I'm trying to convert around 3000 videos with  "find . -name video.mp4 -execdir ffmpeg -y -i {} -vf scale=240:-1  video240p.mp4 \;"
[18:20:58 CET] <antiPoP> however after 1000 it crashed with the error  "Too many open files". How can a fix that?
[18:21:09 CET] <antiPoP> *can I
[18:32:39 CET] <ChocolateArmpits> antiPoP: That's probably not ffmpeg's fault
[18:33:01 CET] <antiPoP> ChocolateArmpits,  yes, I was guessing that...
[18:33:16 CET] <ChocolateArmpits> Does it execute parallely ?
[18:34:16 CET] <ChocolateArmpits> you could get a list of files and only execute in batches of 50 files let's say
[18:35:14 CET] <Hot_Rod_> hello, i have an issue, http://pastebin.com/EaD07yTh  im using shareX which use's ffmpeg, i upgraded to win10 3 days ago, now i get a error from ffmpeg but only for screen captures above a certain screen size, if i capture small areas it works fine, i was told be sharX developers this was a ffmpeg error and has be fixed, but i still have the error ??
[18:36:04 CET] <Hot_Rod_> by shareX*
[18:36:44 CET] <Hot_Rod_> also i installed the latest ffmpeg yesturday..
[18:36:53 CET] <c_14> Hot_Rod_: your version of ffmpeg is 2 years old
[18:37:34 CET] <Hot_Rod_> is there a link to the newest, i got that version from your site
[18:38:42 CET] <Hot_Rod_> if there is a link to the latest, a installer version would be prefered
[18:38:43 CET] <c_14> Where did you get the build from?
[18:38:56 CET] <Jaex> Hot_Rod_: i told you to download new version and you downloaded 2 years old version?!
[18:39:14 CET] <Hot_Rod_> the ffmpeg site ffmpeg.com or something
[18:39:14 CET] <Jaex> not to mention i told ShareX can download latest version automatically, why you downloading manually
[18:39:38 CET] <Hot_Rod_> i had it installed before the upgrade
[18:40:14 CET] <Hot_Rod_> should i uninstall / reinstall ( i didnt try that)
[18:41:11 CET] <Jaex> no just press ffmpeg download button it will redownload latest version
[18:42:06 CET] <Hot_Rod_> ok off i go to try somemore.. TY again, sorry to be a pain in the butt
[19:13:42 CET] <BtbN> ffmpeg does not have an installer, so if you "installed" ffmpeg, you downloaded something fishy.
[23:10:25 CET] <Nanashi> Is it possible for a simple -i input output%d.png to be color inaccurate, or can I assume "some other guy" screencapped it totally wrong? (well, slightly darker)
[23:11:29 CET] <JEEB> Nanashi: everything is possible with swscale!
[23:11:46 CET] <Nanashi> e-everrrything
[23:11:55 CET] <JEEB> I recommend you go verbose (-v debug) and look at how the chain gets done
[23:12:05 CET] <JEEB> and then try doing something similar with zscale (based on zimg)
[00:00:00 CET] --- Sun Feb 28 2016


More information about the Ffmpeg-devel-irc mailing list