Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
November 2016
- 1 participants
- 60 discussions
[00:45:12 CET] <cone-011> ffmpeg 03Michael Niedermayer 07master:11f24e71ff2b: ffmpeg: Fix bsf corrupting merged side data
[01:04:28 CET] <DHE> not sure if it's because it was at the end of the month, I had a patch on the ML for a -filter_complex_threads parameter that has gone unreplied to beyond some quick reviews
[01:07:22 CET] <DHE> is there a procedure for poking it, or is that considered rude?
[01:07:49 CET] <nevcairiel> just ping it once
[01:23:51 CET] <atomnuker> has anyone had had any luck getting the gold linker to work?
[01:24:10 CET] <atomnuker> --ld=gold has always just segfaulted for me (when looking at config.log)
[01:28:00 CET] <DHE> going for -flto support?
[01:28:45 CET] <atomnuker> no, I just want more speed
[02:46:18 CET] <cone-011> ffmpeg 03Derek Buitenhuis 07master:8a8902f2213b: libx265: Add option to force IDR frames
[03:54:27 CET] <cone-011> ffmpeg 03Muhammad Faiz 07master:b4e9252ae3d1: avfilter/af_firequalizer: add fft2 option
[04:53:25 CET] <jamrial_> michaelni: ping
[11:42:32 CET] <cone-004> ffmpeg 03Carl Eugen Hoyos 07master:5a4935c012fd: ffmpeg: Warn if thousands of frames are duplicated.
[12:24:26 CET] <cone-004> ffmpeg 03Carl Eugen Hoyos 07master:db23fde7849a: lavf/mux: Add missing CR/LF to error messages.
[12:33:45 CET] <atana> michaelni: p->data[p->index] = (double)samples->data[0][i]; This reads the double values as 8bit integers, you have to cast to .. I didn't understand this one.
[12:36:49 CET] <atana> did you mean doing p->data[p->index] = (double)((double *)samples->data[0][i]);
[12:37:37 CET] <thardin> surely you mean *(double*)samples->data[0][i]
[12:38:19 CET] <atana> correction p->data[p->index] = *((double *)samples->data[0][i]);
[12:40:00 CET] <michaelni> atana, samples->data[0][i] is a uint8, to get a double you need ((double*)(samples->data[0]))[i]
[12:40:49 CET] <michaelni> that is first cast the pointer to a double pointer than dereference it. if you dereference it as a uint8 you get a value 0..255
[12:41:00 CET] <michaelni> casting a 0..255 to a double is still a 0..255
[12:41:35 CET] <atana> I see.
[12:59:37 CET] <Guest5177> hi
[13:00:23 CET] <Guest5177> i have s trange bug now, ubuntu 16.10 ffmpeg git or 3.2 stable when i just do any ffmpeg -i "a http link" somefile.something i have a core dumped Oo
[13:00:35 CET] <Guest5177> same command works fine with avconv
[13:00:53 CET] <Guest5177> no problems with a local file
[14:12:43 CET] <michaelni> jamrial, pong
[20:01:35 CET] <cone-653> ffmpeg 03Anton Khirnov 07master:fb240a6276fa: qsvenc: do not re-execute encoding on all positive status codes
[20:23:07 CET] <cone-653> ffmpeg 03Tom Butterworth 07master:92280f86b406: avcodec/hap: consistent name for codec
[20:38:08 CET] <cone-653> ffmpeg 03Andreas Cadhalpun 07master:8a4ea9644833: diracdec: use correct buffer for slice_params_buf realloc
[20:38:09 CET] <cone-653> ffmpeg 03Andreas Cadhalpun 07master:24d20496d2e6: diracdec: clear slice_params_num_buf on allocation failure
[20:38:10 CET] <cone-653> ffmpeg 03Andreas Cadhalpun 07master:db79dedb1ae5: diracdec: check return code of get_buffer_with_edge
[21:25:21 CET] <cone-653> ffmpeg 03James Almer 07master:fba2a8a25499: avformat/mux: split side data earlier in av_write_frame and av_interleaved_write_frame
[22:43:03 CET] <cone-653> ffmpeg 03Thomas Garnier 07master:c06d92341016: doc/examples: add fuzz target for individual ffmpeg APIs for in-process fuzzing with libFuzzer, AFL, and similar fuzzing engines.
[00:00:00 CET] --- Sat Nov 5 2016
1
0
[00:00:12 CET] <misterhat> and it does say it's recording at 25 FPS, but it also spams [mp4 @ 0x55c1400c25a0] Non-monotonous DTS in output stream 0:0; previous: 1237, current: 0; changing to 1238. This may result in incorrect timestamps in the output file.
[00:01:45 CET] <jkqxz> Paste the output now somewhere?
[00:02:25 CET] <misterhat> besides that message, the only other one was: [libx264 @ 0x55c1400c3c20] non-strictly-monotonic PTS
[00:02:54 CET] <misterhat> jkqxz: https://paste.debian.net/892190/
[00:05:46 CET] <jkqxz> Odd. I have no idea why the timestamps are so broken there.
[00:07:14 CET] <jkqxz> You could try adding "-r 25" as well as "-framerate 25"?
[00:10:53 CET] <misterhat> yeah jkqxz that worked lol
[00:10:55 CET] <misterhat> what a pain though
[00:11:02 CET] <misterhat> i never needed all those extra flags in the past
[00:11:04 CET] <misterhat> thanks
[00:11:13 CET] <misterhat> here is what ended up working
[00:11:15 CET] <misterhat> ffmpeg -f x11grab -framerate 25 -r 25 -i :0 -s 1920x1080 -vsync 0 test.mp4
[00:11:46 CET] <misterhat> well the -s should be moved in front of the -f
[00:11:49 CET] <misterhat> but then it works fine
[00:11:49 CET] <llogan> that will upscale 640x480 to 1920x1080
[00:11:53 CET] <misterhat> yeah lol
[00:11:55 CET] <misterhat> sorry
[00:12:03 CET] <llogan> use -video_size as input option
[00:14:03 CET] <jkqxz> You might be able to remove the -vsync now you have -r.
[00:14:44 CET] <jkqxz> Still, something weird is going on to break the timestamps. (-r is totally overriding them, you shouldn't need to do that.)
[00:16:10 CET] <llogan> misterhat: try a build from from git master branch
[00:17:06 CET] <llogan> (there was even an xcb related commit today)
[00:26:06 CET] <misterhat> kk llogan i will shortly
[02:28:57 CET] <calexil> hello
[02:29:08 CET] <calexil> I need halp
[02:29:10 CET] <calexil> anyone here
[02:34:00 CET] <SchrodingersScat> hello
[02:34:08 CET] <SchrodingersScat> it's doubtful I can help, but don't ask to ask, just ask
[02:35:11 CET] Action: klaxa is not here
[02:35:57 CET] <calexil> hmm
[02:36:05 CET] <calexil> well I sped up a video by changing the pts
[02:36:12 CET] <calexil> by about 20x
[02:36:24 CET] <calexil> and it's metadata still thinks its 5.5 hours long
[02:36:30 CET] <calexil> when its really like 6 minutes
[02:36:40 CET] <calexil> how do I fix it
[02:37:08 CET] <klaxa> are there other streams beside video in the file?
[02:37:23 CET] <calexil> there was audio
[02:37:29 CET] <calexil> but the speed up killed it
[02:37:31 CET] <calexil> I think
[02:37:35 CET] <calexil> its silent now
[02:38:12 CET] <calexil> im converting it to mkv to see if that fixes it
[02:38:18 CET] <calexil> its currently mp4
[03:10:35 CET] <Sashmo> does anyone know why I get a start time added to my transcodes? Duration: 23:17:30.63, start: 11677.213522
[03:52:39 CET] <fling> Is 'best' the default compression level for flac?
[05:11:11 CET] <fling> Why is avi bigger than mov and mkv bigger than avi?
[05:12:01 CET] <fling> Why is creation_time converted to Zulu time? >:[
[05:16:50 CET] <fling> Do I need external tools for rotating mjpeg for real?
[08:25:05 CET] <fling> What does language mean for video streams?
[08:35:31 CET] <kerio> fling: sometimes the language of the text in the video?
[08:36:27 CET] <fling> ahh! right, thanks.
[08:43:08 CET] <kerio> which containers can contain raw gray16 video?
[08:46:32 CET] <kerio> apparently avi is not one of them :\
[08:51:03 CET] <fling> How do I have offset/timezone in creation_time ?
[08:51:19 CET] <fling> I don't like my timestamps getting converted to Zulu time!
[12:11:37 CET] <bwe> thebombzen: I've solved my problem: https://vimeo.com/forums/topic:115188 says under point 4 that QuickTime adds multiple edit list entries. That happened in the course of glueing together a couple of videos. So, I've thought, let ffmpeg do the job to no avail! The output was unusable. So, I uploaded the video parts to YouTube and concatenated them in the VideoEditor together. That worked. A/V-sync is in
[12:11:43 CET] <bwe> place.
[12:30:36 CET] <matteo> hi all
[12:30:45 CET] <matteo> I'. streaming a live video to facebook
[12:30:53 CET] <matteo> I'm streaming since half an hour
[12:31:08 CET] <matteo> my PC is encoding at 70-100 FPS
[12:31:29 CET] <matteo> but the video is played at 30 fps, how can I limit it?
[12:32:51 CET] <matteo> maybe -re?
[12:35:56 CET] <kerio> if you're streaming from a source that doesn't rate limit, you should use -re yes
[12:41:05 CET] <matteo> but it won't work with -stream_loop -1
[12:41:36 CET] <fling> Audio: flac, 8000 Hz, mono, s16 (default)
[12:41:40 CET] <fling> What does s16 mean? ^
[12:41:58 CET] <matteo> signed
[12:42:10 CET] <fling> what about 16?
[12:42:14 CET] <matteo> 16 bit
[12:42:26 CET] <fling> ok, thanks.
[12:44:40 CET] <fling> I have a damaged videofile which is out of sync from some point. This was caused because of too high bitrate while recording.
[12:44:58 CET] <fling> Is it possible to fis/sync it somehow?
[12:45:03 CET] <matteo> dunno
[12:45:17 CET] <matteo> kerio: can I use -re with -stream_loop -1?
[12:45:31 CET] <kerio> idk
[12:45:48 CET] <fling> For example by saving all the frames as images with timestamps/framenumbers, then putting dummy images where are missing frames and them muxing everything back?
[12:46:09 CET] <fling> The problem is idk how to convert to images _without_ skipping
[12:51:31 CET] <fling> I mean the numbers of skipped frames should be skipped too somehow
[12:53:16 CET] <kerio> how do you know which frames have been skipped?
[12:54:04 CET] <fling> kerio: this is an avi container, there might be markers in the streams
[14:48:59 CET] <fling> Which file format to use for pcm files?
[14:50:21 CET] <furq> wav
[14:53:23 CET] <ikevin> is it possible to generate an infinite video from a jpg file, and get the jpg file read at every loop?
[14:57:39 CET] <fling> ikevin: infinite? loop?
[14:57:44 CET] <fling> furq: thanks
[14:58:36 CET] <fling> Which codec to use for lossless?
[15:00:41 CET] <furq> lossless audio?
[15:00:42 CET] <furq> flac
[15:04:21 CET] <fling> furq: no, for lossless video. ffv1?
[15:05:15 CET] <fling> I have a broken video with huffyuv and pcm in an avi container. The video got broken by too high bitrate while encoding.
[15:05:51 CET] <furq> what does broken by too high bitrate mean
[15:06:12 CET] <fling> I saved audio as a wav file and I also saved each frame as a png image and surprisingly all the corrupted frames got saved as dupes and not dropped! (probably)
[15:06:39 CET] <fling> Atleast the first minute of the video I got from muxing images with sound back to a container is perfectly in sync now!
[15:07:30 CET] <fling> furq: not sure, they say the computer was to slow to record 50Mbps video but they tried anyway :P
[15:07:48 CET] <furq> unless it was from a live source then that shouldn't matter
[15:07:58 CET] <furq> but yeah ffv1 is good
[15:08:18 CET] <furq> depending on what you need to decode it with
[15:08:45 CET] <furq> i don't think there's a vfw or quicktime ffv1 so if you need to use it with a commercial nle then that's probably not going to work
[15:08:52 CET] <fling> shouldn't matter? It looks like it is from x11grab or something
[15:09:02 CET] <fling> The video will be used with mpv
[15:09:08 CET] <furq> use ffv1 then
[15:09:19 CET] <furq> if it's from a live source then it'll drop frames if the disk can't keep up
[15:09:24 CET] <furq> otherwise the encoding will just slow down
[15:09:41 CET] <fling> omg ffmpeg is smart!
[15:10:00 CET] <fling> does x11grab count as a live source?
[15:10:17 CET] <furq> yes
[15:10:30 CET] <fling> I always thought things will just go wrong. Was this smart behavior always the case?
[15:11:08 CET] <furq> if you mean for live sources then i doubt it will do anything reliably
[15:12:55 CET] <fling> will not dupes take a lot of bitrate when encoding with ffv1? For example in comparison of 30fps video to 60fps video with every second frame being a dupe?
[15:13:06 CET] <kepstin> the reason ffmpeg's x11grab slows down when it can't keep up is because ffmpeg is single-threaded, not because it's doing anything smart.
[15:13:22 CET] <fling> smart
[15:13:42 CET] <furq> fling: test it and find out
[15:13:46 CET] <furq> ffv1 is pretty fast
[15:13:53 CET] <fling> Then I don't get how they managed to capture this out of sync video
[15:14:26 CET] <fling> furq: I'm now in the middle of encoding a low quality h264 for confirming everything is in sync.
[15:15:12 CET] <furq> like i said, if you run out of buffer with a live source then things will go wrong
[15:15:18 CET] <ikevin> fling, yes, looping a jpg and pipe it to make a stream
[15:15:19 CET] <fling> [image2 @ 0x56019c039650] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[15:15:20 CET] <furq> i imagine all bets are off at that point
[15:15:26 CET] <fling> Will this speedup things? ^
[15:15:41 CET] <furq> if your cpu isn't being fully utilised then yes
[15:15:53 CET] <fling> ikevin: you can create a single-frame video.
[15:15:58 CET] <furq> you can often ignore that message though
[15:16:14 CET] <ikevin> fling, i can do that with vlc, so vlc problem is jpg is not refresh
[15:16:20 CET] <furq> ikevin: if you want to change the jpg in the middle of encoding then there's no way of doing that without ugly hacks
[15:16:35 CET] <ikevin> i need jpg file to be re-read at every fram
[15:16:41 CET] <fling> ikevin: you need to put something in the middle of your jpeg and ffmpeg
[15:16:56 CET] <furq> 02:03:38 ( klaxa) does something like this work? (while true; cat image.gif; done) | ffmpeg -f image2pipe -i - <stuff> ?
[15:17:22 CET] <ikevin> i cam make a program who generate mjpem streal
[15:17:26 CET] <ikevin> stream*
[15:17:30 CET] <ikevin> can*
[15:17:59 CET] <ikevin> mjpeg*
[15:18:45 CET] <fling> which*, I*, &
[15:19:50 CET] <ikevin> lol, sorry, i've a bad english :x
[15:20:47 CET] <ElAngelo> i have a video that ffmpeg doesn't seem to be able to render
[15:20:51 CET] <ElAngelo> Stream #0:0(eng): Video: rawvideo (AV1x / 0x78315641), uyvy422(pc), 720x486, 212630 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 29970 tbc (default)
[15:20:58 CET] <ElAngelo> encoder : Avid MXF1:1
[15:21:01 CET] <ElAngelo> it's a mov
[15:21:13 CET] <ElAngelo> is that possible?
[15:22:01 CET] <ElAngelo> encoder : Avid MXF1:1
[15:22:04 CET] <ElAngelo> sorry
[15:23:37 CET] <ElAngelo> http://pastebin.com/9W28kM2H
[15:23:40 CET] <ElAngelo> this is the full info
[15:24:15 CET] <kepstin> ElAngelo: so, what's the problem?
[15:24:51 CET] <ElAngelo> if i play it with ffplay i only get a black screen
[15:24:52 CET] <ikevin> fling, does ffmpeg can be used to create de mjpeg stream from 1 jpg file (who is updated)
[15:25:01 CET] <ElAngelo> can't take stills from it
[15:25:05 CET] <ElAngelo> can't re encode it
[15:25:24 CET] <kepstin> ElAngelo: ok, so what is the COMPLETE output of ffplay or ffmpeg when trying to do that?
[15:26:08 CET] <ikevin> fling, like ffmpeg --loop -1 <jpg file> ...
[15:27:54 CET] <kepstin> ElAngelo: from that ffprobe output, it looks like ffmpeg has detected the audio and video codecs correctly - so if something's not working, the ffmpeg re-encode command should be printing some messages that say why.
[15:29:00 CET] <fling> ikevin: do what klaxa said ^
[15:29:30 CET] <ElAngelo> http://pastebin.com/ixFJrztH
[15:29:46 CET] <ElAngelo> kepstin: ^^ output of ffmpeg reencoding to mp4
[15:29:47 CET] <fling> furq: no the video starts to go slower after some time. ~30 seconds shift to the end of the video.
[15:29:48 CET] <ikevin> klaxa?
[15:29:50 CET] <ElAngelo> i get an output movie
[15:30:01 CET] <ElAngelo> the sound comes through ok
[15:30:04 CET] <fling> furq: there are multiple freezes here an there, not sure how to fix
[15:30:10 CET] <ElAngelo> the image is just black
[15:30:38 CET] <kepstin> ElAngelo: I believe the problem is that your input video is black...
[15:30:45 CET] <furq> i take it you can play it in another player
[15:30:46 CET] <kepstin> ElAngelo: does it show anything in a different player?
[15:30:51 CET] <ElAngelo> it plays in quicktime
[15:31:02 CET] <ElAngelo> but it tells me it needs to download something extra
[15:31:08 CET] <ElAngelo> which it does
[15:31:44 CET] <ElAngelo> haven't found any other movieplayer that seems to be able to play it
[15:32:11 CET] <kepstin> huh. so maybe this isn't actually a video file, but rather a sort of playlist that plays the media from a remote server? :/
[15:32:17 CET] <furq> can you remux it into another container
[15:32:30 CET] <ElAngelo> with ffmpeg?
[15:32:34 CET] <kepstin> ElAngelo: how big is the file? (MB?)
[15:32:34 CET] <furq> -i foo.mov -c copy -map 0:0 -map 0:1 out.nut
[15:32:45 CET] <ElAngelo> the file is 1.8 GB
[15:32:55 CET] <furq> that should probably be more than a minute long then
[15:33:08 CET] <ElAngelo> yeah that's what i don't understand about it too
[15:33:21 CET] <kepstin> that file size is consistent with the raw video codec ffprobe says it has
[15:34:02 CET] <ElAngelo> remuxing it does give me something
[15:34:11 CET] <ElAngelo> but it's completely bogus
[15:34:30 CET] <ElAngelo> but it's no longer black
[15:34:45 CET] <ElAngelo> it's brownish with some multi colored stripes through it
[15:35:04 CET] <ElAngelo> that change every now and then
[15:35:20 CET] <furq> do you remember what you had to download to get quicktime to play it
[15:35:24 CET] <furq> maybe it's some kind of drm or something
[15:35:30 CET] <ElAngelo> it did it by itself
[15:35:35 CET] <ElAngelo> i'm thinking drm too
[15:35:50 CET] <ElAngelo> is there any way to figure this out?
[15:35:56 CET] <furq> if it is drm then you're out of luck with ffmpeg
[15:36:00 CET] <kepstin> ElAngelo: other than double-checking that you're running with a recent ffmpeg, you might need to open a bug (preferably providing a sample) to see if someone there can figure it out :/
[15:36:10 CET] <furq> it's 3.2, so that shouldn't be a problem
[15:36:28 CET] <ElAngelo> yeah i'm running whatever archlinux has in stable right now... should be fairly new
[15:36:43 CET] <ElAngelo> tried it on windows with a zeranoe build of yesterday too
[15:37:04 CET] <ElAngelo> obviously i can't provide the sample movie, it's from a customer
[15:40:45 CET] <maziar> hello all , i'm using ffmpeg to convert RTMP to M3U8, when my network gets packet lost ffmpeg will discontinued the converting, how can i set timeout for this issue, to let the network back ?
[17:00:08 CET] <pyBlob> Using current ffmpeg 3.2 on arch. When playing any file (s3m, mod, mp3, mp4, ...) using ffmpeg, it always cuts off the last seconds of the audio, even for video files. Is there a way, so that this audio gets played? I have this issue for quite some time now and it gets annoying ^^
[17:00:31 CET] <pyBlob> *using ffplay
[17:33:25 CET] <kepstin> pyBlob: you probably want to use a more complete video player, 'mpv' is probably a good choice.
[17:54:37 CET] <pyBlob> kepstin: this is one option, however do you have any idea, how to solve that issue with ffplay?
[17:56:25 CET] <cluelessperson> Can someone help me determine a pipeline to simply record the entire desktop at a low framerate, overlay a clock, and save to a video file?
[17:56:32 CET] <cluelessperson> encoded
[17:56:43 CET] <cluelessperson> I've no success and i'm very frustrated
[18:01:34 CET] <klaxa> cluelessperson: have a look at the drawtext filter
[18:01:48 CET] <klaxa> https://ffmpeg.org/ffmpeg-filters.html#drawtext-1
[18:01:48 CET] <cluelessperson> klaxa, the drawtext hasn't been the difficult part
[18:01:52 CET] <klaxa> oh
[18:01:58 CET] <cluelessperson> klaxa, but thank you. :)
[18:02:35 CET] <klaxa> well to me that appears the hardest part, the rest is just: ffmpeg -f x11grab -framerate 5 -s 1920x1080 -i :0.0 <overlay stuff> output.mp4
[18:03:25 CET] <cluelessperson> "https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keyw…"
[18:03:28 CET] <cluelessperson> wrong
[18:03:31 CET] <cluelessperson> "
[18:03:31 CET] <cluelessperson> 52
[18:03:31 CET] <cluelessperson> down vote
[18:03:31 CET] <cluelessperson> Debian Jessie and later no longer include the ffmpeg"
[18:03:43 CET] <cluelessperson> I'll stop. -_-;
[18:04:10 CET] <klaxa> afaik ffmpeg is back in debian 8
[18:04:13 CET] <klaxa> aka jessie
[18:04:34 CET] <klaxa> oh, it's in backports
[18:07:22 CET] <cluelessperson> klaxa, well I can install from backports
[18:07:27 CET] <cluelessperson> just package management is a bitch
[18:08:12 CET] <dl2s4> it is in the new debian, and i thought it was mentioned in this topic here
[18:10:15 CET] <klaxa> i thought so too, my source for it being in backports is: https://wiki.debian.org/ffmpeg
[18:10:30 CET] <dl2s4> but if you want a great ffmpeg you should compile it by yourself anyway
[18:11:38 CET] <cluelessperson> klaxa, when I run your pipeline I see drop counter is increasing
[18:11:49 CET] <cluelessperson> klaxa, the output.mp4 is empty
[18:11:55 CET] <klaxa> huh
[18:12:58 CET] <cluelessperson> http://paste.debian.net/892405/
[18:13:19 CET] <jkqxz> Add "-r 5" to go with "-framerate 5".
[18:13:46 CET] <klaxa> that doesn't include the output
[18:14:16 CET] <cluelessperson> huh, the original pipeline works on my ubuntu machine
[18:14:17 CET] <klaxa> also -r and -framerate do different things, i'm not sure what, but -framerate is generally preferred over -r
[18:14:33 CET] <klaxa> in most cases, and also in this one
[18:14:38 CET] <klaxa> i have been told numerous times
[18:14:40 CET] <jkqxz> Yes, but the timestamps are somehow broken if it's dropping all the frames. That's why I say add "-r" as well.
[18:14:55 CET] <klaxa> well i would like to see some console output first
[18:15:18 CET] <klaxa> usually when x11grab drops frames it's because the frames are not delivered fast enough
[18:15:25 CET] <jkqxz> (Somebody asked pretty much exactly this question yesterday; I'm still wondering why the timestamps coming out of x11grab are broken.)
[18:15:35 CET] <klaxa> oh? interesting
[18:16:49 CET] <cluelessperson> klaxa, sorry, it's difficult to retrieve from the desktop. paste.debian.net/892406
[18:17:13 CET] <cluelessperson> jkqxz, testing with -r
[18:17:19 CET] <cluelessperson> next
[18:18:42 CET] <cluelessperson> jkqxz, klaxa NICE, it works with -r
[18:19:16 CET] <klaxa> wtf
[18:19:40 CET] <klaxa> i'm gonna go read some code...
[18:20:37 CET] <cluelessperson> how can I make a timelimit on the length of the recording?
[18:20:53 CET] <klaxa> -t <seconds>
[18:21:10 CET] <klaxa> or -t HH:MM:SS.xxx
[18:21:37 CET] <cluelessperson> klaxa, thanks! :)
[18:21:47 CET] <cluelessperson> how about a file segment for every hour? ;)
[18:22:02 CET] <klaxa> there's an option for that
[18:22:07 CET] <klaxa> but i have never used it
[18:23:01 CET] <klaxa> https://www.ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_…
[18:26:49 CET] <klaxa> what kind of spying system are you setting up? :^)
[18:27:21 CET] <dl2s4> lol
[18:31:55 CET] <levo_> i tried to convert an aa file to mp3, it does finish and it converts the file to mp3 but gives this error: Error while decoding stream #0:0: Invalid data found when processing input, the problem i have is with the duration that the player shows like the player (audacious) shows x minutes but after x minutes the file continues playing
[18:33:05 CET] <klaxa> you can remux the mp3 and see if that fixes it: ffmpeg -i input.mp3 -c copy output.mp3
[18:33:19 CET] <klaxa> this will not influence the audio quality
[18:44:27 CET] <oxguy3> Hey, I was wondering if someone could help me. I have a bunch of video where the audio track language is 'undefined' and I want to set it. I tried `ffmpeg -i "$f" -metadata:s:a:0 language=jpn -codec copy "out/$f"` to add the language tag, and it worked, but it also seems to have removed the subtitles that were present in the file. Any ideas what I'm doing wrong?
[18:45:31 CET] <klaxa> add: -map 0
[18:45:57 CET] <klaxa> that should copy all streams (including attachments, such as fonts)
[18:46:26 CET] <oxguy3> oh awesome thanks, trying that now...
[18:49:30 CET] <blue_misfit> hey guys, any thoughts on IMF support?
[18:49:35 CET] <oxguy3> yay, that fixed it! thanks klaxa! :)
[18:49:50 CET] <blue_misfit> looks like FFMPEG can read the J2K video MXF just fine, but the audio MXFs for some reason don't work
[18:50:12 CET] <blue_misfit> mxf @ 0000000000d369a0] OPAtom misinterpreted as OP1a? KLV for edit unit 0 extending into next edit unit is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[18:50:12 CET] <blue_misfit> [mxf @ 0000000000d369a0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel(a)ffmpeg.org)
[18:50:12 CET] <blue_misfit> Guessed Channel Layout for Input Stream #0.0 : stereo
[18:50:18 CET] <blue_misfit> oops, sorry for the spam there lol
[19:09:52 CET] <SouLShocK> hm is max_muxing_queue_size not supported in 3.1.4? http://pastebin.com/8N9Mghtd is what I get when I try to use it
[19:18:27 CET] <SouLShocK> I'm trying to get ffmpeg to queue up a large enough byte size (500kb) before writing anything to output
[19:18:27 CET] <SouLShocK> right now it's writing in 500 byte segments
[21:01:58 CET] <teratorn> does anyone know, off hand, if it's possible to re-mux from an RTSP stream to HLS without transcoding?
[21:02:36 CET] <teratorn> I get an interesting crash when I try it, http://hastebin.com/ejiwuhunif.txt
[21:02:51 CET] <teratorn> but if you remove "-c:v copy" from the command line it transcodes just fine
[21:14:52 CET] <kerio> teratorn: well, nginx-rtmp does remux rtmp into hls without transcoding
[00:00:00 CET] --- Sat Nov 5 2016
1
0
[01:27:01 CET] <cone-170> ffmpeg 03Andreas Cadhalpun 07master:3932ccc472ad: ppc: pixblockdsp: do unaligned block accesses correctly again
[14:54:51 CET] <cone-011> ffmpeg 03Anton Khirnov 07master:722ec3eb35bc: avconv: decouple configuring filtergraphs and setting input parameters
[14:54:51 CET] <cone-011> ffmpeg 03Hendrik Leppkes 07master:b6422902d84e: Merge commit '722ec3eb35bc152ce91d0a4502eca0df1c0086d0'
[15:40:21 CET] <michaelni> Error configuring complex filters.
[15:50:23 CET] <michaelni> nevcairiel, ./ffmpeg -i ~/tickets/153/bbc_small.ts -filter_complex '[0:v][0:s]overlay' -qscale 2 -t 3 out.avi
[15:54:24 CET] <michaelni> https://trac.ffmpeg.org/attachment/ticket/153/bbc_small.ts
[16:15:06 CET] <apfelnymous> Hello, Id like to contribute code to the project, what would be a good/ easy task to get into the project ?
[16:21:58 CET] <cone-011> ffmpeg 03Hendrik Leppkes 07master:31d657130b02: ffmpeg: fix width/height overrides for sub2video processing
[16:22:00 CET] <nevcairiel> michaelni: should be fixed
[16:27:10 CET] <nevcairiel> ubitux: can sub2video hackery go away with your work?
[16:27:55 CET] <ubitux> yes
[16:28:07 CET] <nevcairiel> nice
[16:28:09 CET] <BBB> apfelnymous: depends on what youre interested in
[16:28:10 CET] <ubitux> i'll probably need to write or update a filter though
[16:28:13 CET] <ubitux> but that's the plan
[16:30:47 CET] <jamrial> ubitux: if you were looking for a dvb sample for a test, the one michaelni posted above may work
[16:34:10 CET] <nevcairiel> the next merge will break qsv/cuvid direct transcoding, I do wonder though how many patches are needed to make it work again, maybe i should merge the entire set in a branch before
[16:34:33 CET] <nevcairiel> ubitux: did you have some fancy script to rebase merges?
[16:36:18 CET] <ubitux> nevcairiel: mmh i had this horror: http://b.pkh.me/rebase-merge.txt (can't really be "scripted")
[16:37:08 CET] <ubitux> i don't remember if there is an issue with deletes
[16:37:12 CET] <nevcairiel> i really wonder why git doesnt allow this, i dont see the fundamental problem in just moving the merge a few commits up
[16:39:37 CET] <BtbN> nevcairiel, if you can set up a branch for it somewhere, I can look into fixing cuvid there, so it's never broken in master
[16:41:12 CET] <nevcairiel> basically cuvid_transcode_init needs to go away and be consolidated into cuvid_init
[16:41:25 CET] <nevcairiel> you already made it use hwcontext, so nothing to do there
[16:41:38 CET] <michaelni> nevcairiel, confirmed, bbc_small works
[16:43:07 CET] <DHE> why not try 'git rebase' on master instead rather than merging?
[16:46:27 CET] <BtbN> nevcairiel, but that's called at an entirely diffrent time, and probably won't work there, hm
[16:46:38 CET] <nevcairiel> still has to go away =p
[16:47:03 CET] <BtbN> the second init function is just manually called in a second location
[16:47:14 CET] <nevcairiel> yeah and that manual hackery is going away
[16:47:23 CET] <nevcairiel> because the time its called is also changing
[16:47:38 CET] <BtbN> Hopefully it's early enough then
[16:47:51 CET] <apfelnymous> BBB: There was in fact no interest in a particular feature, Im just looking for an interesting way to improve myself on C
[16:48:11 CET] <nevcairiel> you can check the updated qsv stuff how its done there https://git.libav.org/?p=libav.git;a=commitdiff;h=02c2761973dfc886e94a60a9c…
[16:48:15 CET] <nevcairiel> will probably look quite the same
[16:48:47 CET] <BBB> apfelnymous: its hard to suggest anything specific if we dont know what you want to learn; people typically gravitate (or show affinity for) stuff they like, and get bored with stuff they don't
[16:50:21 CET] <jamrial> apfelnymous: you could take a look at https://trac.ffmpeg.org/report/1 for tickets about either bug fixes or feature requests
[16:50:36 CET] <jamrial> see if one seems interesting to you, or is easy to do
[16:54:25 CET] <apfelnymous> jamrial: thx, Im going to look into it
[19:08:21 CET] <cone-011> ffmpeg 03Vittorio Giovara 07master:067910ed1344: hevc: Move hevc_decode_extradata before frame decoding
[19:08:21 CET] <cone-011> ffmpeg 03Sasi Inguva 07master:4abe1ff08f1f: lavf/mov.c: Use the first sidx for tracks without sidx.
[21:28:11 CET] <cone-011> ffmpeg 03Nicolas George 07master:0bd1be65e88d: lavd/xcbgrab: do not try to create refcounted packets.
[22:06:35 CET] <cone-011> ffmpeg 03Michael Niedermayer 07master:cee1f4c06986: avcodec/ac3dec: Check expacc
[23:35:33 CET] <RiCON> jkqxz: same error with the patch
[23:36:03 CET] <RiCON> i.e. still needs "-look_ahead 0"
[23:36:39 CET] <jkqxz> I don't think that's actually the problem the reporter is actually talking about. The examples they give work without that.
[23:37:39 CET] <RiCON> oh, the cur_dts stuff?
[23:37:51 CET] <jkqxz> Or at least, I was able to reproduce the failure in comment 4 and the patch fixes that.
[23:38:54 CET] <jkqxz> The cur_dts stuff is just a warning. The problem is that the encoder gets stuck and doesn't manage to output any frames.
[23:40:50 CET] <jkqxz> They have a Haswell; I'm not sure whether it will be reproducable at all on something earlier.
[00:00:00 CET] --- Fri Nov 4 2016
1
0
[00:06:04 CET] <c_14> Can you put ffv1 in anything besides matroska or nut?
[00:08:50 CET] <kerio> wikipedia claims Contained by AVI, MKV, MOV, NUT, etc.
[00:10:35 CET] <kerio> hm what are the advantages of mkv over nut?
[00:12:40 CET] <c_14> Supported by not-ffmpeg
[00:13:11 CET] <kerio> lmao
[00:13:37 CET] <c_14> As in, if you want your video to be read in by players/whatever not based on libav* go with matroska over nut
[00:17:53 CET] <kerio> huh, can i drop the "encoder" metadata from the ffmpeg command line?
[00:19:24 CET] <c_14> -fflags +bitexact afair
[00:26:33 CET] <kerio> ty
[00:37:15 CET] <tobiasBora> Hello,
[00:38:38 CET] <tobiasBora> I don't know why, but when I start ffmpeg, during a few seconds the speed of conversion is correct (around 0.4x the real time), but after a few seconds, it drops until 0.08x : the video is reallyyyy slow to convert !
[00:39:23 CET] <DHE> most codecs buffer frames in memory for rate estimation, b-frames, etc. a quick burst of input at the start is common
[01:00:49 CET] <tobiasBora> Ok. And a ratio of 20x the time of the video to convert is common ? It's pretty long to wait for 20mn to translate 1mn of video...
[01:05:04 CET] <DHE> depends on the CPU mainly. and whether multithreading is enabled. I can do 1080p in real-time if I throw my whole core i7 at it (all 4 threads with hyperthreading)
[01:12:52 CET] <iive> tobiasBora: are you encoding hvec?
[01:13:15 CET] <tobiasBora> hvec .
[01:13:25 CET] <tobiasBora> iive: *hvec ?
[01:13:27 CET] <iive> hevc?
[01:13:48 CET] <iive> h265
[01:14:08 CET] <tobiasBora> no, I'm encoding webm using libvpx
[01:15:16 CET] <iive> oh, that one is also insanely slow.
[01:16:13 CET] <tobiasBora> Do you know a not too slow codec which is "open source" (no fees...)
[01:16:28 CET] <tobiasBora> and if possible usable in a webm container
[01:17:11 CET] <iive> h264
[01:22:24 CET] <tobiasBora> h264 is supposed to be "free" only for non commercial support I think no ?
[01:22:49 CET] <DHE> it's more complicated than that. but for any small scale distribution (under 1/4 million users iirc?) it's free
[01:22:58 CET] <DHE> been a while since I read the terms
[01:23:08 CET] <TD-Linux> read the terms to be sure
[01:23:27 CET] <TD-Linux> tobiasBora, you can try a faster speed setting for libvpx, with -speed.
[01:23:36 CET] <TD-Linux> 0 is slowest 8 is fastest
[01:23:46 CET] <tobiasBora> TD-Linux: Does it change the quality ?
[01:23:55 CET] <DHE> yes
[01:24:01 CET] <TD-Linux> yes, faster will be lower quality per bit
[01:24:20 CET] <DHE> if you specify a constant quality mode, the quality will be about the same but a bigger file
[01:25:59 CET] <iive> afair h264 is free for internet distribution. they kept the terms. the user thing is for devices.
[01:26:30 CET] <DHE> ah, okay.
[01:26:45 CET] <TD-Linux> you also have to pay for encoder/decoder implementations
[01:27:20 CET] <TD-Linux> also vp9 still beats x264 at most speed levels (dependent on settings of course)
[01:27:38 CET] <DHE> encoding speed?
[01:27:38 CET] <TD-Linux> *libvpx vp9
[01:27:48 CET] <TD-Linux> yes
[01:28:51 CET] <tobiasBora> TD-Linux: you mean ? If I use -speed 8 I would have a similar result to the one I would get using x264 ?
[01:29:24 CET] <DHE> "-speed 8" is likely similar to x264's "-preset superfast"
[01:29:30 CET] <DHE> at least conceptually
[01:29:42 CET] <TD-Linux> tobiasBora, with x264 at a setting that encodes at a similar speed. though it does vary based on bitrate and the like
[01:30:31 CET] <TD-Linux> you can do a test encode to compare yourself
[01:31:03 CET] <TD-Linux> libvpx does best at low bitrates where x264 falls off a cliff. at high bitrates it can be reversed
[02:05:39 CET] <Zeranoe> Why cant x264's bit depth be selected on the fly and needs to be compiled in?
[02:40:12 CET] <fa0> Hello all
[02:44:58 CET] <fa0> There are many dependencies that ffmpeg can be compiled against at build time, without the need for them installed, but I noticed when you do this, when looking at ffmpeg output for the compile options you'll still see the /path that is used for where all the dependencies had been compile against, added into the output; http://pastebin.ca/3735717
[02:46:15 CET] <c_14> So?
[02:46:28 CET] <c_14> The configuration line is just useful information for people trying to help you with issues.
[02:46:32 CET] <fa0> These are the --extra-cflags= & --extra-ldflags whcih in my pastebin show this /tmp path, I'm assuming isn't going to cause harm, but it seems odd to keep something like this, when it was only a build time /path and it no longer exists
[02:46:51 CET] <c_14> The path is set at configure time and never changes
[02:46:58 CET] <c_14> Well, the whole line
[02:47:04 CET] <c_14> It's also never used except to print that line
[02:47:35 CET] <fa0> I just found it interesting, wasn't sure if in the future a way to have this change to the temp building path can be removed
[02:47:55 CET] <fa0> to/so the temp...
[02:50:36 CET] <fa0> I guess some people for whatever reason(s) might keep their /tmp build path, but it would look better in the output, cleaner, if somehow the code has the ability to remove these tmp build paths, maybe something for the future
[02:51:14 CET] <klaxa> i don't build in /tmp
[02:52:02 CET] <fa0> The path isn't the importance, it's just the fact the ouput is displaying something leftover from build time
[02:52:43 CET] <c_14> The configure line isn't parsed for "useful" and "not useful" information
[02:52:54 CET] <klaxa> the information may or may not be relevant for pastes, just removing it because it seems "out of place" seems quite harsh
[02:53:00 CET] <c_14> It'd be too much effort for too little benefit with too much risk of hiding valuable information.
[02:57:14 CET] <dsc_> Was just wondering, if you took a random 2mb part of a h264/x264 (dont know difference) movie, would ffmpeg be able to generate a thumbnail/screenshot (from found keyframes I guess)
[02:57:31 CET] <dsc_> if so - how do I determine how large my range (2mb?) needs to be - does it depend on the bitrate or the amount of keyframes
[02:57:41 CET] <fa0> ok, no worries, just wanted to ask and find out... thx
[02:57:43 CET] <dsc_> would I first read the file header (and codec information) and determine my 'range' on taht
[02:57:47 CET] <c_14> You need at least one keyframe
[02:58:19 CET] <dsc_> c_14: how many bytes would I need to download to have a keyframe?
[02:58:22 CET] <dsc_> what determines that?
[02:58:48 CET] <dsc_> is there some thing (file header?) I can look at to make it less heuristic
[02:59:24 CET] <dsc_> also, does ffmpeg not break when I let it generate thumbnails from non-complete movie files
[02:59:45 CET] <dsc_> would I need to write something custom using ffmpeg libraries?
[02:59:58 CET] <dsc_> questions ;)
[03:00:11 CET] <c_14> For the last one you can use -frames:v 1 as an output option
[03:00:17 CET] <c_14> It'll abort as soon as it produces a frame
[03:00:33 CET] <dsc_> c_14: so ffmpeg does not need a complete mp4 file?
[03:00:41 CET] <dsc_> you can just have a random 2mb stream
[03:00:44 CET] <c_14> yes and no
[03:00:46 CET] <dsc_> (stream of bytes)
[03:01:25 CET] <c_14> If the input format is mp4 you'll need the moov atom which is usually either at the end (or beginning) of the file
[03:01:57 CET] <dsc_> cool, now im getting somewhere :)
[03:02:10 CET] <dsc_> lets say the input is indeed .mp4
[03:02:49 CET] <dsc_> I'd grab this moov atom
[03:02:54 CET] <dsc_> now what?
[03:03:21 CET] <dsc_> use that as a parameter for ffmpeg cli?
[03:03:58 CET] <c_14> If you just want a random thumbnail, the best thing is to just point the ffmpeg cli at the file and tell it to spit out 1 frame (potentially using the thumbnail filter or something)
[03:05:00 CET] <dsc_> the file would not be locally stored - i'tll be either ftp/webdav/scp/cifs/
[03:05:17 CET] <dsc_> protocols that support fetching parts of files at an offset
[03:06:03 CET] <kuroro> hello. im using the following command to merge three short clips (1 sec each) in ffmpeg using this command - http://pastebin.com/raw/mgN84fVR, but it takes a long time to complete in android (4-5 seconds)
[03:06:33 CET] <kuroro> any suggestions on how I can speed up the concat filter?
[03:06:41 CET] <kuroro> or see where the bottleneck is?
[03:07:03 CET] <c_14> ffmpeg supports at least 2 of those natively; the problem with pointing ffmpeg at a bite offset in a file is that it might not be able to find the headers that tell it how to decode the file
[03:07:36 CET] <c_14> kuroro: probably either the scale filters or io bottleneck
[03:09:30 CET] <kuroro> hmm. if its the scale filters, i can probably pre-scale clips so that doing the merge itself would be faster
[03:09:42 CET] <kuroro> for io, what do you mean by it exactly
[03:09:51 CET] <c_14> disk
[03:09:52 CET] <kuroro> like how would i improve that?
[03:10:15 CET] <c_14> write into a ramdisk (tmpfs or something) or raid-0 or ssd
[03:10:27 CET] <dsc_> c_14: with file headers you meant the moov atom, I take it. where the moov atom contains information about the video
[03:10:39 CET] <dsc_> so first job is finding that metadata
[03:11:02 CET] <dsc_> you know
[03:11:07 CET] <dsc_> im just gonna go through ffmpeg source code
[03:11:09 CET] <kuroro> c_14: interesting, i'll try to look into whether android supports ramdisk
[03:11:23 CET] <kuroro> but i'll test removing the scale filters first
[04:06:36 CET] <babadoc> hey gus
[04:06:37 CET] <babadoc> guys
[04:06:50 CET] <babadoc> does ffmpeg have any options to scan through vide for a specific frame
[04:06:55 CET] <babadoc> video*
[04:07:30 CET] <babadoc> anyone know how i could scan through video for a frame?
[04:13:38 CET] <SchrodingersScat> yes
[04:55:27 CET] <k_sze[work]> When I run ffprobe -show_frames on a video file, is there any guarantee that the lines inside each [FRAME][/FRAME] is always in the same order?
[04:55:51 CET] <k_sze[work]> And that every [FRAME][/FRAME] for the same stream has the same lines?
[05:23:43 CET] <Nanashi> I have a short clip with a variable framerate. How can I find out how long each frame lasts?
[06:50:04 CET] <Alex> *wave* - anyone able to register on trac? Creating a new account just hangs on the POST..
[06:50:42 CET] <Alex> Oh, it worked. Just took 55s. Nm :)
[07:28:36 CET] <thebombzen> hmmm. I'm having trouble looping an input video
[07:29:14 CET] <thebombzen> I tried using ffmpeg -stream_loop -1 -i input.mkv -c:v ffv1 -c:a flac -t 10 out.mkv
[07:29:24 CET] <thebombzen> for some reason the timestamps in the new file are corrupted.
[07:48:45 CET] <fling> How do I align videos together to a single multi-angle video?
[08:13:25 CET] <kerio> how do i "benchmark" the reading speed of a video?
[08:13:31 CET] <kerio> output as rawvideo to /dev/null ?
[08:16:12 CET] <thebombzen> fling: try using the overlay filter
[08:16:45 CET] <thebombzen> kerio: the -f null format discards output. I'd use -c copy -f null
[08:17:00 CET] <kerio> thebombzen: ty
[08:17:20 CET] <kerio> right now i'm using rawvideo to stdout piped to md5 so i can also check for integrity
[08:17:33 CET] <kerio> but -f null seems way better than outputting to /dev/null
[08:17:48 CET] <thebombzen> yea you skip the device driver. the discarding is done one step sooner.
[08:18:16 CET] <kerio> aite mjpeg2000 is WAAAAAAAY slower
[08:18:19 CET] <kerio> than ffv1
[08:19:25 CET] <kerio> and ffv1 is even slightly smaller
[08:22:28 CET] <furq> -c copy won't decode the streams
[08:22:36 CET] <furq> you probably want -c:v rawvideo -f null
[08:22:37 CET] <kerio> holy crap it's like a 6x slowdown
[08:22:53 CET] <kerio> 1778,11s user 10,33s system vs 319,82s user 5,88s system
[08:23:33 CET] <kerio> hmm can't ffv1 decode with more threads than 2?
[08:25:16 CET] <furq> it uses more than that here
[08:25:25 CET] <kerio> ffmpeg is stuck at 200% cpu :(
[08:26:08 CET] <kerio> thebombzen: apparently the default output codec for "null" is wrapped_avframe
[08:26:10 CET] <kerio> which does decode
[08:27:03 CET] <furq> oh that's helpful
[08:27:17 CET] <kerio> i have NO idea of what -threads is about
[08:27:20 CET] <kerio> 8 is actually 2
[08:27:29 CET] <kerio> i requested 32 and i got told that anything greater than 16 is not recommended
[08:27:40 CET] <kerio> and i'm only using 4
[08:28:09 CET] <furq> what resolution is the input
[08:28:13 CET] <kerio> 640x480
[08:28:16 CET] <kerio> gray16
[08:28:21 CET] <furq> i guess it depends on the input
[08:28:29 CET] <furq> i get two threads used for 480p but six for 1080p50
[08:28:36 CET] <kerio> fair enough
[08:31:19 CET] <fling> thebombzen: sounds complex!
[08:31:57 CET] <fling> Another question is how to wipe few seconds of sounds here and there in a video?
[08:32:51 CET] <kerio> ...am i using an old ffmpeg
[08:33:07 CET] <kerio> istr there was some special casing done so you could setsar even when using vcodec copy
[08:33:20 CET] <fling> kerio: ffmpeg -version
[08:33:28 CET] <kerio> 3.2
[08:33:40 CET] <kerio> ok it's -aspect apparently
[08:34:08 CET] <bencoh> and it's a DAR not a SAR
[08:34:33 CET] <furq> yeah you can't change the sar without reencoding
[08:34:37 CET] <furq> at least not with ffmpeg
[08:34:46 CET] <kerio> but it's the same thing :<
[08:34:59 CET] <fling> Do I need an external editor for manipulating sound? Do I also need an external editor for aligning multiple videos?
[08:35:29 CET] <bencoh> kerio: no! :)
[08:35:29 CET] <furq> you can usually set the dar at container level
[08:35:47 CET] <furq> -aspect just sets a tag in the output container
[08:36:20 CET] <fling> Is there also another aspect somewhere in videostream itself?
[08:36:59 CET] <furq> the sar is part of the bitstream in h264 at least
[08:37:14 CET] <kerio> well this is either mj2 or ffv1
[08:37:30 CET] <fling> and it gets ignored when dar is set on the container level right?
[08:37:35 CET] <kerio> fling: "maybe"
[08:37:42 CET] <kerio> media players be crazy
[08:37:47 CET] <fling> depends on the player ok
[08:38:10 CET] <fling> There could be also container level crop which gets ignored by mplayer
[08:38:23 CET] <fling> Have not tried one from mkv with mpv
[08:39:36 CET] <kerio> what does it mean when sar and dar are displayed between []?
[08:45:40 CET] <kerio> ok this is ridiculous how do i drop the "encoder" metadata
[08:45:41 CET] <kerio> i did it before
[09:10:32 CET] <kerio> is there a way to only keep specific metadata from an input stream?
[09:34:12 CET] <kerio> ok i got it
[09:34:33 CET] <kerio> apparently fflags +bitexact will add "Lavf" instead of "Lavf57.56.100" or whatever the version
[09:34:52 CET] <kerio> however, with vcodec copy, +bitexact will actually strip the encoder ;o
[09:42:59 CET] <bencoh> how is that bitexact then?
[09:43:13 CET] <kerio> i guess "bitexact copy" has no encoder field
[09:43:26 CET] <kerio> whereas "bitexact encoding" will have a version-agnostic encoder field
[09:43:36 CET] <kerio> i dunno, you tell me
[09:46:41 CET] <DHE> well, a copy is either an exact copy or it isn't. usually it is, to the point that sometimes you'll be instructed to add a bitstream filter manually if the copy can't take place properly
[10:17:26 CET] <noggor> Hello, Im tring to transmux rtmp live stream to mpeg-ts over http with ffmpeg. I tried to find something in forums and google, but no luck. Could someone please help me to get on track
[11:49:48 CET] <bwe> Hi, I converted a .mov to .mkv via `ffmpeg -i in.mov -c:v libx264 -preset slow -crf 18 -c:a copy -pix_fmt yuv420p out.mkv`. The audio precedes the video about a couple of seconds in the mkv. How can I prevent that?
[11:57:50 CET] <thebombzen> bwe: try using a setpts filter. i.e. -vf 'setpts=PTS-STARTPTS'
[12:02:49 CET] <thebombzen> fling: try the volume filter. you can reduce the volume of a segment to zero with it.
[12:03:07 CET] <thebombzen> and fling no you don't need an external editor for aligning multiple videos. I already answered that question... use the overlay filter.
[12:28:18 CET] <bwe> thebombzen: Okay. I've tried `ffmpeg -i in.mov -c:v libx264 -vf 'setpts=PTS-STARTPTS' -preset slow -crf 18 -c:a copy -pix_fmt yuv420p out.mkv`. The result seems slightly better. But still, audio is not in sync with video. What can I try?
[12:38:39 CET] <bwe> Hold on, I've mixed filenames up! Let me check&
[12:55:43 CET] <bwe> thebombzen: No, I can't get audio and video in sync with the above command.
[13:47:18 CET] <bwe> I've deleted the .mkv file and then re-executed the above command. Yet the audio is not in sync with video.
[13:47:36 CET] <bwe> in in.mov (the input file) it is in sync.
[14:15:21 CET] <fling> thebombzen: how will overlay filter help me?
[14:34:34 CET] <Nils__> anybody here who can help me with a little problem ?
[14:40:24 CET] <pomaranc> hello, if in h.264 there is a frame coded as two fields (non-interlaced), at what point in ffmpeg are those fields joined up? only at progressive encoding, or sooner?
[15:08:56 CET] <Nils__> can sb tell me why the ffplayer isn't showing up when I type 'brew optioins ffmpeg' in my terminal ?
[15:09:15 CET] <iive> ffplay?
[15:09:29 CET] <pomaranc> options?
[15:09:42 CET] <Mavrik> Nils__, --with-sdl2"
[15:10:31 CET] <Nils__> i'm not too certain if I installed sdl2 correctly
[15:11:08 CET] <Mavrik> huh
[15:11:14 CET] <Mavrik> brew will pull it itself anyway.
[15:11:27 CET] <Nils__> ah okay thanks
[15:12:07 CET] <Nils__> brew options ffmpeg --with-sdl2 is not showing it either tho
[15:16:56 CET] <Nils__> would be awesome if you could help me out
[15:25:30 CET] <Nils__> i have a problem using the ffplay tool. using homebrew its not showing up if i type in 'brew options ffmpeg' can sb help me out ? that would be awesome
[15:27:10 CET] <kerio> mpv
[15:27:31 CET] <kerio> :D
[15:29:30 CET] <Nils__> I need it to stream from my gopro wireless
[15:31:05 CET] <bencoh> to stream or to play?
[15:31:13 CET] <Nils__> stream
[15:31:22 CET] <bencoh> then why ffplay?
[15:31:44 CET] <Nils__> I have no idea how to do it otherwise
[15:32:04 CET] <bencoh> if you just need to stream without displaying it to screen you can use ffmpeg
[15:32:19 CET] <Nils__> i do want to display it
[15:32:43 CET] <Nils__> live stream from the gopro wireless to the display
[15:33:06 CET] <Nils__> found this instruction which says ffplay udp://:8554 would work if i connect myself to the gopro wifi network
[15:33:49 CET] <bencoh> then you want to play it (maybe from a stream, but meh) :)
[15:34:39 CET] <Nils__> sorry about the wrong explanation than
[15:35:59 CET] <Nils__> still I can't find the ffplay tool at all -.-
[15:37:55 CET] <bencoh> Nils__: I suspect it'd work with mpv and/or vlc (maybe with a different uri) as well
[15:38:44 CET] <kerio> mpv should Almost" be a drop-in replacement for ffplay
[15:39:27 CET] <Nils__> i gonna try it out with mpv thanks for the help so far
[15:48:35 CET] <pgorley> hi all, does the patcheck tool take as argument only the .patch file?
[15:49:44 CET] <BtbN> it doesn't gake any arguments iirc
[15:49:46 CET] <BtbN> *take
[15:50:00 CET] <BtbN> it takes the patch on stdin, and generates the report on stdout
[15:52:07 CET] <pgorley> thanks
[15:58:45 CET] <waltercruz> Hi all
[15:59:19 CET] <waltercruz> I'm trying to do something like that: http://stackoverflow.com/questions/5015771/merge-video-and-audio-with-ffmpe…
[15:59:27 CET] <waltercruz> join a video and a audio
[15:59:38 CET] <waltercruz> the video is shorter, so I want to loop it until audio ends
[15:59:51 CET] <waltercruz> and I always get: dev/fd/63: No such file or directory
[16:00:44 CET] <waltercruz> I'm using the script pointed in the link
[16:00:45 CET] <waltercruz> https://gist.github.com/waltercruz/8f66c6169cc361159f503f2313f5f498
[16:01:34 CET] <waltercruz> any ideas?
[16:15:38 CET] <dl2s4> waltercruz, i would just do it in several steps. also if you would paste your command and output there would be a higher chance anybody could help
[16:15:58 CET] <ikevin> hi
[16:16:20 CET] <waltercruz> ok dl2s4
[16:16:29 CET] <waltercruz> I'm using this script: https://gist.github.com/LeonB/0a9c7f944d0e1bf2c8e6fd2de0bbecea
[16:17:04 CET] <ikevin> i'm trying to make an infinite video of 1 jpg file, so the jpg file is updated by another programm, can i use ffmpeg to do that?
[16:17:44 CET] <waltercruz> the commands and the results: https://gist.github.com/waltercruz/88f010e6146bcfc6949ee737e683f7bd
[16:18:01 CET] <waltercruz> the problem seems to be in this part: <(for i in $(seq 1 ${n_loops}); do printf "file '%s'\n" ${video}; done)
[16:46:22 CET] <bwe> I've tried `ffmpeg -i in.mov -c:v libx264 -vf 'setpts=PTS-STARTPTS' -preset slow -crf 18 -c:a copy -pix_fmt yuv420p out.mkv` to get audio and video in sync. However the audio is not in sync with the video.
[16:46:30 CET] <bwe> What can I do?
[17:06:34 CET] <kerio> ...why's metal gear solid twin snakes a format
[17:07:20 CET] <furq> the same reason wing commander 3 movie is a format
[17:08:15 CET] <bencoh> :))
[17:10:51 CET] <SchrodingersScat> is it really?
[17:12:13 CET] <zeryx> if I want to extract the first audio stream, and then re-attach it later (after doing something to the video) generically, what would my command look like?
[17:12:13 CET] <zeryx> right now it's failing
[17:12:57 CET] <Threads> do you mean mux back into a file ?
[17:13:09 CET] <zeryx> my extraction command is: ffmpeg -vn -acodec copy audiofile.aac videofile.mp4 -y
[17:13:45 CET] <zeryx> my attachment command is: ffmpeg -i editedVideoFile.mp4 -i audiofile.aac -codec copy -shortest complete_video.mp4 -y
[17:14:02 CET] <zeryx> not sure what the different between mux and attach/detatch is
[17:14:04 CET] <thebombzen> fling: read the documentation.
[17:14:08 CET] <zeryx> but if they're the same, then yeah
[17:14:30 CET] <zeryx> that command I just wrote doesn't always work, depends on the input & output file formats and the audio formats
[17:14:32 CET] <zeryx> I want to generalize it
[17:15:27 CET] <thebombzen> fling: see https://ffmpeg.org/ffmpeg-filters.html#overlay-1
[17:15:37 CET] <thebombzen> one of the examples specifically puts two videos sidebyside
[17:16:54 CET] <zeryx> any ideas Threads?
[17:17:02 CET] <thebombzen> zeryx: if you want to be super general, you can use the "nut" container, which is an ffmpeg creation. afaik it can hold any stream that ffmpeg is capable of producing.
[17:17:45 CET] <zeryx> can I specify the output container in the command without putting it in the output file extension?
[17:18:08 CET] <thebombzen> yes. that's the "-f" option. i.e. "-f nut" or "-f matroska" or "-f mp4" etc. etc.
[17:18:11 CET] <zeryx> I'd like to have an extensionless temporary audio file while I do work on the individual frames of the video, then reencode them back together
[17:18:14 CET] <zeryx> oh neat kk
[17:18:28 CET] <thebombzen> You also don't have to extract it.
[17:18:30 CET] <zeryx> so ffmpeg -vn acodec copy -f nut audiofile videofile.mp4 -y
[17:18:34 CET] <thebombzen> You can do something like this:
[17:18:54 CET] <thebombzen> ffmpeg -i editedVideoFile.mp4 -i originalVideoFile.mp4 -map 0:v -map 1:a -c copy output_file.mp4
[17:18:56 CET] <zeryx> oh I could copy the streams from the old video file into the new one
[17:19:01 CET] <zeryx> nice
[17:19:01 CET] <thebombzen> yes.
[17:19:03 CET] <zeryx> yeah that's a good idea
[17:19:05 CET] <zeryx> I like that
[17:19:14 CET] <zeryx> however, the output file might have a different FPS
[17:19:20 CET] <zeryx> that should still line up though right?
[17:19:27 CET] <zeryx> (assuming I handle fps correctly)
[17:19:36 CET] <thebombzen> the "-map" option tells ffmpeg which streams to select. 0:v means "the video stream from input 0" and "1:a" means "the audio stream from input 1"
[17:19:45 CET] <thebombzen> those will line up as long as you did the video editing correctly.
[17:19:52 CET] <zeryx> kk
[17:20:02 CET] <zeryx> why would I map the 0:v stream?
[17:20:13 CET] <thebombzen> well do you want video? :)
[17:20:21 CET] <zeryx> oh I see what you mean
[17:20:23 CET] <thebombzen> if you specify -map, it'll select only streams you map.
[17:20:32 CET] <zeryx> I have a pre-processed video and a post-processed video
[17:20:41 CET] <zeryx> and then a post-processed with audio
[17:21:01 CET] <zeryx> but I guess I could add the audio channel inside of the image2 reencoder command yeah?
[17:21:16 CET] <zeryx> (not that it's really any time savings, remuxing the audio stream back in is almost instant)
[17:21:18 CET] <thebombzen> no. image2 is a container format that literally means "sequence of images"
[17:21:57 CET] <bwe> thebombzen: May I ask you kindly on my issue of audio-video sync whether the problem is me by applying the -vf 'setpts=PTS-STARTPTS' correctly or whether the problem comes from something different, please?
[17:22:15 CET] <zeryx> so ffmpeg -framerate 25 -i /tmp/files-%05d.png -i originalVideoFile.mp4 -map 1:a -c copy output_file.mp4 won't work?
[17:22:30 CET] <thebombzen> bwe: first of all, what player are you using to check if the video/audio are in-sync?
[17:22:40 CET] <thebombzen> zeryx: no that'll work
[17:22:42 CET] <zeryx> (also I'm totally fine with maping all other channels besides the video channel from the original into the edited video)
[17:23:28 CET] <zeryx> I might split up the operations just to keep things clean
[17:23:28 CET] <thebombzen> although
[17:23:28 CET] <zeryx> but thats good to know
[17:23:28 CET] <thebombzen> it'll work but it won't map any video
[17:23:28 CET] <thebombzen> you still need to -map 0:v. if you specify any "-map" switches, it'll disable auto-selection and you have to select all the streams you want manually.
[17:23:29 CET] <zeryx> yeah that's fine, the `-i /tmp/files-%05d.png` should create that video stuff I want
[17:23:34 CET] <zeryx> oh
[17:23:37 CET] <zeryx> interesting
[17:23:47 CET] <zeryx> so in that case -map 0:v would map to itself?
[17:24:00 CET] <zeryx> because I don't want to copy the video from the original file over
[17:24:02 CET] <zeryx> I just want to copy the other streams
[17:24:44 CET] <bencoh> '0:v means "the video stream from input 0"'
[17:24:44 CET] <thebombzen> the -map option selects the stream you pass to it. so -map 0:v selects the stream "0:v" which means "the video stream from input 0"
[17:24:50 CET] <zeryx> oh ok
[17:24:57 CET] <thebombzen> I did say that above...
[17:25:13 CET] <zeryx> I thought 0:v meant copy the 0th video stream from the first pervious input
[17:25:33 CET] <thebombzen> [12:18:57] <thebombzen> the "-map" option tells ffmpeg which streams to select. 0:v means "the video stream from input 0" and "1:a" means "the audio stream from input 1"
[17:25:46 CET] <zeryx> so in ffmpeg -i video_file.mp4 -map 0:v -c copy -i other_file.mp4 complete_file.mp4 I thought it would copy the first video stream from the first input into the second?
[17:26:53 CET] <bwe> thebombzen: vlc.
[17:26:59 CET] <bwe> thebombzen: I observed the original problem (before trying that -vf 'setpts=PTS-STARTPTS' switch) in my youtube video after uploading the mkv. I can confirm the same with vlc on the same file.
[17:27:08 CET] <thebombzen> you should specify all of the -map options after the -i options.
[17:27:09 CET] <zeryx> ah
[17:27:09 CET] <thebombzen> as well as -c copy. In general you should try to put all of your input optiosn first
[17:27:09 CET] <thebombzen> and then all the output options. some options don't care about location but most do.
[17:27:09 CET] <thebombzen> In particular, putting -c before -i overrides ffmpeg's autodetection of the input file's codec.
[17:27:09 CET] <thebombzen> bwe: try with ffplay. vlc sucks.
[17:28:12 CET] <thebombzen> also what is the output of "ffprobe in.mov" and "ffprobe out.mkv"
[17:29:46 CET] <zeryx> thebombzen: how can I copy all streams that aren't the video stream?
[17:29:46 CET] <thebombzen> zeryx: the "-vn" option says "do not select video streams"
[17:29:46 CET] <thebombzen> so if you use "-map 0 -vn" that should do it.
[17:29:46 CET] <zeryx> could I do -map 0:v -map 1 -vn ?
[17:30:00 CET] <zeryx> not sure how clean the options DSL is for stuff like this
[17:30:03 CET] <thebombzen> zeryx: doing -map 0:v -vn is silly because -map 0:v selects only the video stream from 0, and -vn doesn't select it.
[17:30:19 CET] <zeryx> but would -map 0:v -map 1 conflict?
[17:30:24 CET] <thebombzen> no?
[17:30:28 CET] <thebombzen> why would they?
[17:30:29 CET] <bwe> thebombzen: ffprobe: .mov => https://bpaste.net/show/2660eadf73b3 .mkv => https://bpaste.net/show/0106779a2e1a
[17:30:33 CET] <zeryx> because I'm selecting a video stream twice
[17:30:54 CET] <thebombzen> bwe: [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ff013800000] multiple edit list entries, a/v desync might occur, patch welcome
[17:31:09 CET] <thebombzen> try demuxing it without libavformat. looks like a bug.
[17:31:20 CET] <thebombzen> i.e. try using MP4Box to repack it or something.
[17:32:40 CET] <bwe> demuxing means getting audio and video separately?
[17:32:58 CET] <thebombzen> zeryx: there's no rule that says you can't have two video streams in one file.
[17:32:58 CET] <thebombzen> It's generally confusing to media players but totally allowed.
[17:32:58 CET] <zeryx> yeah, I figured there wasn't
[17:32:58 CET] <zeryx> I only want one video stream
[17:32:58 CET] <zeryx> but I want every other stream from the other video that isn't a video stream
[17:33:20 CET] <thebombzen> so you want all the streams from input 0 that aren't video, and you want the video from input 1?
[17:33:22 CET] <zeryx> (I'm editing each frame of the video generically and I don't want things to break because of a weird video structure)
[17:33:30 CET] <zeryx> yea
[17:33:38 CET] <zeryx> well, all the streams that won't break stuff
[17:33:43 CET] <thebombzen> well how many streams are in input 0?
[17:33:44 CET] <zeryx> (that might be a tall order to add)
[17:34:02 CET] <zeryx> between 1-n I assume? I'd prefer to only take audio tracks
[17:34:06 CET] <zeryx> but I'm not sure if you can do that
[17:34:14 CET] <zeryx> actually you know what, hmm
[17:34:23 CET] <zeryx> this is tough because subtitles are considered video streams right?
[17:34:31 CET] <c_14> -map 0:v:0 -map 0:a -map 0:s
[17:35:00 CET] <thebombzen> you can also use -map 0 -map 1 -map -0:v
[17:35:16 CET] <zeryx> the -map 0:v supercedes the others?
[17:35:17 CET] <thebombzen> sorry I mean -map 0 -map -0:v -map 1:v
[17:35:26 CET] <zeryx> interesting
[17:35:29 CET] <thebombzen> note the negative sign before a stream specifier. it means "not this."
[17:35:31 CET] <zeryx> what would that do as a structure?
[17:35:37 CET] <zeryx> oooh
[17:35:40 CET] <zeryx> ahhh
[17:35:42 CET] <zeryx> I get it :D
[17:35:52 CET] <zeryx> didn't see that initially
[17:36:01 CET] <bencoh> isn't -map 0:a enough to get all audio streams from 0, like c_14 suggested?
[17:36:10 CET] <zeryx> yeah but I'm thinking about subtitle streams as well
[17:36:16 CET] <thebombzen> -map 0 says "everything in input 0" "-map -0:v" says "except for the video" and then "-map 1:v" says "but do use the video from input 1"
[17:36:17 CET] <c_14> 0:s maps subtitle streams
[17:36:24 CET] <c_14> But thebombzen's is better
[17:36:32 CET] <thebombzen> c_14 there's often data streams like attached fonts to go with ASS subs.
[17:36:33 CET] <zeryx> :+1:
[17:36:42 CET] <c_14> thebombzen: which is why yours is better
[17:36:47 CET] <thebombzen> :D
[17:36:47 CET] <bencoh> :)
[17:36:49 CET] <zeryx> nice guys, thanks
[17:36:49 CET] <c_14> Though you could also map 0:d
[17:37:01 CET] <thebombzen> sounds like it's getting cluttered already :)
[17:37:03 CET] <zeryx> would i need to copy the codecs still?
[17:37:06 CET] <zeryx> I'm not encoding or reencoding
[17:37:08 CET] <zeryx> so I figure no?
[17:37:13 CET] <c_14> -c copy
[17:37:14 CET] <thebombzen> yea you coudl specify -c copy
[17:37:18 CET] <zeryx> kk
[17:37:36 CET] <zeryx> I thought codec copying was only useful when reencoding or changing encoding?
[17:37:51 CET] <zeryx> (actually I might be re-encoding if the user specifies a different output container from the input)
[17:38:07 CET] <bwe> thebombzen: https://bpaste.net/show/ef98beb7f91a Is it right to assume that I feed ffmpeg the audio file _track1.mov separately instead of using -c:a copy?
[17:38:09 CET] <thebombzen> no. codec copying literally means "don't reencode. pass the encoded stuff from input to output"
[17:39:01 CET] <thebombzen> bwe: this is getting past my knowledge. sorry.
[17:39:14 CET] <thebombzen> I'm not very good at working around bugs in libavformat.
[17:39:34 CET] <zeryx> is there a ffprobe compare option?
[17:39:43 CET] <zeryx> so I can compare the differences between two files?
[17:40:00 CET] <zeryx> (I could probably make a tmux session and put them side by side, but I figure there's an easier way)
[17:40:59 CET] <bwe> thebombzen: No problem. I would need to do it only without libavformat? I have now separated audio from video with mp4box: https://bpaste.net/show/873be604f213
[17:41:04 CET] <furq> if you want to check whether two files contain identical streams then use the hash muxer
[17:50:40 CET] <pgorley> is there a way to disable vaapi-x11 without disabling xlib and enabling vaapi-drm? i've fiddled around with configure options but haven't found anything yet
[17:54:34 CET] <jkqxz> pgorley: Can you clarify what combination you want? No vaapi at all is just --disable-vaapi. Having vaapi enabled but neither vaapi_x11 nor vaapi_drm would mean it's built in but only usable from libraries.
[17:55:45 CET] <zeryx> thebombzen: I have another question for you, do you know how to set the jpeg compression ratio with the image2 muxer?
[17:55:54 CET] <furq> -q:v
[17:55:57 CET] <furq> 2 is best, 31 is worst
[17:56:13 CET] <zeryx> I'm right now saving as png files and files blow up pretty badly when I don't compress
[18:00:07 CET] <zeryx> why does it go up to 2 instead of 0 or 1? Also is that a real jpeg compression ratio or an internal parameter defined by ffmpeg?
[18:03:53 CET] <pgorley> jkqxz: i want vaapi-drm, but not vaapi-x11
[18:04:02 CET] <pgorley> so vaapi enabled
[18:06:13 CET] <fling> thebombzen: will I use the sidebyside video for calculating the offsets and fps multiplier?
[18:06:36 CET] <fling> Another question is don't I need mp4 and avi and other containers? Should I just use mkv everywhere?
[18:06:57 CET] <bencoh> zeryx: why are you saving as png? do you need to do editing on a frame basis/on picture files?
[18:06:57 CET] <zeryx> yeah, I'm editing each frame bencoh, then stitching the images back together
[18:06:57 CET] <zeryx> using an image processing algorithm (which is generic)
[18:07:05 CET] <zeryx> bencoh can you think of a better approach then using the image2 demuxer for it?
[18:07:33 CET] <zeryx> (also yeah it's kind of painful beacuse it essentially decompressed the video file, which can get pretty darn enormous, but it works pretty well)
[18:07:34 CET] <jkqxz> pgorley: But xlib has to be enabled? You can't get that combination without minor hackery. You could rm /usr/include/va/va_x11.h (or wherever it is), or you could comment out lines 6004-6006 of configure.
[18:07:41 CET] <bencoh> I suppose you could somehow process frames at the same time, but....
[18:07:45 CET] <zeryx> yeah
[18:07:48 CET] <zeryx> I'm processing frames in parallel
[18:07:57 CET] <bencoh> no I mean, while decoding/encoding
[18:08:00 CET] <zeryx> around 50 parallel threads on 5 different machines on average
[18:08:07 CET] <zeryx> oh yeah, I did that intiailly but data bandwidth was the limiter
[18:08:09 CET] <pgorley> jkqxz: ideally xlib would be enabled, yes
[18:08:10 CET] <jkqxz> pgorley: Or if you built libva yourself you can build it without x11 support.
[18:08:18 CET] <zeryx> aws is pretty fast, but not fast enough
[18:08:35 CET] <pgorley> alright, thanks for the tips jkqxz!
[18:08:42 CET] <bencoh> I wouldn't exactly call it "fast" but .... ;)
[18:08:46 CET] <zeryx> it's unfortunately more efficient to decode/renecode on a single machine, although multi-threading might be viable
[18:08:58 CET] <bencoh> (certainly not when talking about video)
[18:09:01 CET] <zeryx> yea
[18:09:08 CET] <zeryx> well, the video is pretty quick to download and upload
[18:09:20 CET] <zeryx> it's the images & image files that totally annhiliate our bandwidth :P
[18:14:10 CET] <zeryx> I try to reduce the number of data transfer round trips as possible
[18:14:10 CET] <zeryx> and keep as much work on one machine as I can
[18:14:10 CET] <zeryx> (pretty analogous to memory management in the gpu world tbh)
[18:14:11 CET] <zeryx> so that means right now I'm decoding a video into frames with the image2 demuxer, doing a par_iter map where I upload & process batches of frames on other servers, and wait for all the threads to finish with a .join(), then concatenate them back into a video again
[18:14:11 CET] <bencoh> it still doesn't explain why you cant locally process frames as you decode/encode, but ...
[18:14:12 CET] <zeryx> servers are different, but if I interacted with libffmpeg directly I might be able to..
[18:14:12 CET] <zeryx> actually that's a good idea beacuse C++ FFI is incredibly easy with rust
[18:14:12 CET] <bencoh> dunno about rust+libavfilter though :D
[18:14:12 CET] <zeryx> (which this app is made with)
[18:14:12 CET] <bencoh> no idea how well that would map
[18:14:12 CET] <zeryx> there are a few wrappers but I'd want it to return me a rayon par_iter map of concurrent threads each contaiing a frame
[18:14:12 CET] <zeryx> which may or may not be impossible LP
[18:14:12 CET] <bencoh> but I'd personally probably go for a pipeline approach, yeah
[18:14:12 CET] <zeryx> containing a future frame* which I then realize by collapsing it with a .wait()
[18:14:12 CET] <zeryx> yeah
[18:14:12 CET] <zeryx> cool
[18:14:12 CET] <zeryx> I already build the basic version but the data transit time over aws was a total killer
[18:14:12 CET] <bencoh> (well, not exactly surprising considering the kind of projects I've been working on ^^)
[18:14:12 CET] <zeryx> https://algorithmia.com/algorithms/media/VideoAlgorithms
[18:14:12 CET] <zeryx> rebuilding that so it's less shit and unweidly
[18:47:13 CET] <bwe> thebombzen: I've fed ffmpeg with video and audio separately. However the result is the same: audio precedes video by a couple of seconds.
[18:47:19 CET] <bwe> thebombzen: Which alternatives to ffmpeg could I use to try to transform mov into mkv (with audio and video in sync)?
[18:48:12 CET] <furq> mkvmerge
[18:49:31 CET] <kerio> is there a way to use a program as a video filter?
[18:50:40 CET] <bwe> furq: and how could I recode that >300 MiB file into some ~30 MiB file via x264 or similar (like ffmpeg does but without a/v-sync)?
[18:51:24 CET] <bwe> furq: source .mov file would be https://bpaste.net/show/2660eadf73b3
[19:04:52 CET] <ChocolateArmpits> kerio: What do you mean ?
[19:05:34 CET] <kerio> meh i guess it's way too complicated
[19:06:07 CET] <kerio> because of possibly variable framerates and all that
[19:06:47 CET] <kerio> ChocolateArmpits: execute a program, pass frames to its stdin, read frames from its stdout
[19:06:58 CET] <kerio> possibly in different formats
[19:10:18 CET] <ChocolateArmpits> kerio: Yeah absolutely.
[19:10:35 CET] <ChocolateArmpits> You just have to be able to read the supplied format and write the requested format
[19:10:55 CET] <kerio> ChocolateArmpits: yea but without running ffmpeg twice
[19:11:05 CET] <kerio> and outputting/inputting from a pipe
[19:11:16 CET] <ChocolateArmpits> Maybe via named pipes ?
[19:11:31 CET] <kerio> ...that's not really the point :\
[19:11:32 CET] <ChocolateArmpits> certainly not via traditional cli pipe
[19:11:48 CET] <ChocolateArmpits> I know however if you're on Windows that won't be doable
[19:11:48 CET] <kerio> that's why i wanted something as a video filter oslt
[19:12:35 CET] <ChocolateArmpits> Anyways I would run two instances, it's not like you're fighting for memory, it'll be simpler in the end
[19:13:29 CET] <ChocolateArmpits> Is the data being read from a file ?
[19:14:14 CET] <kerio> yeah
[19:14:35 CET] <kerio> running two ffmpegs is a pain tho
[19:14:40 CET] <kerio> you have to remember to silence one
[19:14:44 CET] <kerio> or the output on stderr is a mess
[19:16:30 CET] <ChocolateArmpits> What's it worth to run -loglevel error ?
[19:16:35 CET] <ChocolateArmpits> or -loglevel quiet
[19:17:21 CET] <kerio> i wonder if it's worth it to put everything in a single ffmpeg invocation regardless
[19:19:04 CET] <ChocolateArmpits> In the end your filter application will have to work in pretty much the same way
[19:19:06 CET] <ChocolateArmpits> So focus on that
[19:20:28 CET] <kerio> my filter application is already done
[19:21:00 CET] <ChocolateArmpits> oh ok then
[19:23:56 CET] <kerio> aww, ffmpeg gets stuck waiting for my filter's output before starting with the filter's input
[19:24:08 CET] <kerio> i wonder if there's a way to make it not wait
[19:24:52 CET] <ChocolateArmpits> -analyzeduration or -probesize maybe ?
[19:25:27 CET] <kerio> oh wait i should tell ffmpeg that these are fifos maybe
[19:27:23 CET] <BtbN> ffmpeg.c is single threaded. It processes all filters, decoders, encoders sequentually
[20:07:05 CET] <kepstin> and i've run into issues with the fact that raw video frames are sometimes bigger than the OS pipe buffers, which forces stuff to run in lockstep. If you're doing a separate filtering app, make sure you're using threaded/async io if possible :)
[20:08:26 CET] <kerio> kepstin: that is... a good point i guess?
[20:08:36 CET] <kerio> nothing seems to bottleneck tho
[20:09:53 CET] <kerio> honestly, why isn't there a "matplotlib imshow" video filter in ffmpeg?
[20:10:06 CET] <kerio> hm maybe i can find something like that in the opencv filter
[20:26:49 CET] <kerio> is rgb24 to yuv420p "lossless"?
[20:27:08 CET] <kerio> or should i figure out what the colors are supposed to be in yuv in the first place?
[20:27:26 CET] <klaxa> no
[20:29:44 CET] <klaxa> yuv420p has 8 bytes for a 2x2 macropixel with 4Y 2U and 2V values, averaging 2 bytes per pixel, whereas rgb24 has 3 bytes per pixel
[20:29:44 CET] <klaxa> so by design it cannot be lossless
[20:30:14 CET] <kerio> i meant more from a color theory perspective
[20:30:39 CET] <klaxa> still no?
[20:30:59 CET] <klaxa> YUV color space is smaller than rgb, and not all rgb -> yuv conversions will yield the same yuv -> rgb result
[20:31:08 CET] <kerio> smaller is fine
[20:31:17 CET] <kerio> the end result will have to be yuv420 anyway
[20:31:18 CET] <kerio> because of quicktime
[20:31:20 CET] <klaxa> you can do some "mapping" if you want
[20:31:37 CET] <kerio> ok actually let's go from the beginning
[20:31:43 CET] <kerio> i have some gray16 lossless video
[20:32:14 CET] <kerio> that doesn't actually contain brightness values
[20:32:26 CET] <klaxa> ok
[20:32:39 CET] <klaxa> from my understanding grayscale is nothing BUT brightness?
[20:32:47 CET] <kerio> so what i want to do is take each frame, map the lowest intensity to 0, the highest to 1, and then pass it through a colormap
[20:33:00 CET] <kerio> (with everything in between being scaled linearly)
[20:33:31 CET] <kerio> klaxa: nominally, yes
[20:33:51 CET] <kerio> in my particular case, each pixel's value is an absolute temperature in units of hundredths of a K
[20:36:01 CET] <kerio> anyway
[20:36:09 CET] <kerio> right now i'm outputting my colormapped values as rgb24
[20:36:39 CET] <kerio> i could try to figure out a functional representation of my colormap in YUV space
[20:36:46 CET] <kerio> but is it worth it?
[20:37:33 CET] <klaxa> ah i see
[20:37:33 CET] <klaxa> your usecase seems to overlap with some of my work, i basically did that
[20:37:34 CET] <klaxa> just in my case i read data from a netcdf file instead of using a video as the source
[20:37:34 CET] <klaxa> is this supposed to be just visualization?
[20:37:34 CET] <klaxa> or do you plan to keep the data and work with it?
[20:37:34 CET] <Sashmo> can anyone help me understand why ffmpeg is adding a delay to my transcodes? http://pastebin.com/uQNWLq1L 706ms added to my encodes
[20:37:45 CET] <klaxa> kerio: is the rgb24 mapped data supposed to be read back and used as the original data?
[20:37:50 CET] <kerio> oh god of course not
[20:38:07 CET] <Sashmo> its actually worse.... that was in the menu section, if I look at the audio portion, its double that.... http://pastebin.com/QF3mvnB9
[20:38:15 CET] <klaxa> if it is just for visualization rgb -> yuv conversion shouldn't make it super bad
[20:38:25 CET] <kerio> especially because i'm also encoding as h264
[20:38:30 CET] <klaxa> subtle changes in hues
[20:38:40 CET] <klaxa> well h264 supports rgb24 :^)
[20:38:44 CET] <kerio> :^)
[20:38:48 CET] <kerio> the thing is
[20:39:00 CET] <kerio> i'd need a way to put the dynamic range back to what it was initially
[20:39:16 CET] <kerio> even if i wanted some hybrid monstruosity of a data file that's also a visible colormapped video
[20:39:39 CET] <kerio> klaxa: does netcdf support ffv1? :^)
[20:40:01 CET] <kerio> because honestly, i'm getting about a 300% compression
[20:40:06 CET] <kerio> that's pretty good
[20:40:25 CET] <klaxa> use a metadata file or add it as metadata to your file?
[20:40:25 CET] <klaxa> hmmm...
[20:40:25 CET] <klaxa> what
[20:40:29 CET] <klaxa> netcdf is for scientific data, not videos
[20:40:50 CET] <kerio> this is scientific data, fam
[20:40:57 CET] <klaxa> yes, but in a video file
[20:41:04 CET] <kerio> because it is a video
[20:41:09 CET] <kerio> ...kinda
[20:41:17 CET] <klaxa> doesn't make netcdf a container format :P
[20:41:24 CET] <klaxa> anyway, gotta go~
[20:41:49 CET] <kerio> raw data for this particular video is 11gb, ffv1 yields 3.6
[20:56:57 CET] <Sashmo> can anyone help me understand why ffmpeg is adding a delay to my transcodes? http://pastebin.com/uQNWLq1L 706ms added to my encodes
[21:22:27 CET] <cluelessperson> hey guys, how can I record the screen to a timestamp file, but rotate the file I'm saving to in segments of one hour?
[21:24:42 CET] <cluelessperson> I'm on debian
[21:37:03 CET] <Sashmo> does anyone know why I get a start time added to my transcodes? Duration: 23:17:30.63, start: 11677.213522, bitrate: 1 kb/s
[21:37:03 CET] <Sashmo> it should be start 0
[21:42:11 CET] <furq> cluelessperson: https://www.ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_…
[21:51:41 CET] <cluelessperson> furq, Thank you
[21:51:52 CET] <cluelessperson> furq, I'm having difficulty finding how to overlay a timestamp, any ideas?
[21:55:51 CET] <ChocolateArmpits> Sashmo: Maybe they already have those timestamps ?
[21:59:27 CET] <furq> cluelessperson: https://ffmpeg.org/ffmpeg-filters.html#drawtext-1
[21:59:27 CET] <furq> one of the examples does that
[22:05:43 CET] <ChocolateArmpits> When compiling with Decklink should it appear next to "Enabled indevs" ?
[22:18:01 CET] <cluelessperson> furq, doesn't work
[22:21:11 CET] <cluelessperson> Now ffmpeg is stuck and only records the FIRST frame at the start of the recording
[22:21:22 CET] <cluelessperson> minus all the extras too, no added options
[22:21:31 CET] <cluelessperson> like the buffer is stuck
[22:24:14 CET] <geri> hi, i convert a serie of images to a video. how does ffmpeg find the fps?
[22:24:50 CET] <furq> it doesn't
[22:24:51 CET] <furq> you either tell it or it defaults to 25
[22:24:53 CET] <furq> cluelessperson: pastebin the command line and output
[22:25:25 CET] <geri> i can set it with -framerate 30 to 30fps?
[22:25:32 CET] <furq> yes
[22:25:57 CET] <geri> but when i see the convertion ffmpeg shows fps=81 during the conversion...why is that?
[22:26:11 CET] <furq> that's the encoding speed
[22:26:15 CET] <geri> oh
[22:27:12 CET] <geri> i have 1800 images with 30fps... whouldnt the resulting video be 60 sec?
[22:27:34 CET] <furq> yes
[22:28:18 CET] <cluelessperson> furq, ffmpeg -video_size 1920x1080 -framerate 2 -f x11grab -i :0.0 output.mp4
[22:28:24 CET] <cluelessperson> stops at frame when this shows up
[22:28:26 CET] <cluelessperson> [x11grab @ 0x14ec360] Stream #0: not enough frames to estimate rate; consider increasing probesize
[22:40:11 CET] <cluelessperson> Still no success
[22:40:12 CET] <cluelessperson> :/
[22:42:27 CET] <cluelessperson> 1. Record entire desktop, not working because stops after 1 frame.
[22:42:37 CET] <cluelessperson> 2. overlay timestamp, not working
[22:42:43 CET] <cluelessperson> 3. segment, not working
[22:43:26 CET] <Sashmo> ChocolateArmpits: nah I checked....
[22:46:16 CET] <Sashmo> but why the "start" time being added when I add them together, thats baffling me
[23:52:32 CET] <misterhat> i can't get x11grab to work w/ ffmpeg on either of my debian machines. it works fine using ffplay, but trying to output it into any sort of format hangs 2 or 5 frames in
[23:52:34 CET] <misterhat> ffmpeg version 3.2-2 Copyright (c) 2000-2016 the FFmpeg developers
[23:52:36 CET] <misterhat> built with gcc 6.2.0 (Debian 6.2.0-10) 20161027
[23:52:49 CET] <misterhat> $ ffmpeg -f x11grab -i :0 -s 800x600 test.webm
[23:53:23 CET] <misterhat> frame= 5 fps=0.5 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=293 speed= 0x
[23:53:28 CET] <misterhat> drop= raises indefinitely
[23:53:38 CET] <c_14> tried without the scale?
[23:53:44 CET] <misterhat> yeah
[23:53:53 CET] <c_14> tried with a different format?
[23:54:06 CET] <misterhat> yeah, flv, mp4, avi
[23:54:10 CET] <misterhat> but ffplay works fine
[23:54:38 CET] <c_14> can you upload the output of `ffmpeg -v debup -f x11grab -i :0 -f null /dev/null' to a pastebin service?
[23:54:45 CET] <jkqxz> "-vsync 0"?
[23:54:46 CET] <c_14> *debug
[23:55:08 CET] <misterhat> where would that go jkqxz
[23:56:33 CET] <misterhat> c_14: https://paste.debian.net/892189/
[23:56:38 CET] <misterhat> those bottom 3 are repeated indefinitely
[23:56:51 CET] <jkqxz> Anywhere, it's a global option.
[23:57:02 CET] <misterhat> this one seems to be working though c_14
[23:57:12 CET] <misterhat> like it's not hanging
[23:57:19 CET] <misterhat> frame= 51 fps= 33 q=-0.0 Lsize=N/A time=00:00:00.16 bitrate=N/A speed=0.109x
[23:57:53 CET] <misterhat> hmm jkqxz yeah it works with webm i think
[23:58:14 CET] <misterhat> let me try it with what i need it for
[23:58:41 CET] <misterhat> ah nevermind it doesn't produce a valid video file with -vsync 0 jkqxz, but it doesn't hang
[23:58:56 CET] <jkqxz> That should stop it dropping, but you might still get the timestamp warnings and funny playback. You probably want to set -framerate for the input.
[23:59:15 CET] <misterhat> ok
[23:59:54 CET] <misterhat> nah jkqxz it won't play
[23:59:57 CET] <misterhat> i used -framerate 25
[00:00:00 CET] --- Fri Nov 4 2016
1
0
[01:59:12 CET] <cone-353> ffmpeg 03Carl Eugen Hoyos 07master:5a51ca2da7b7: lavc/hapenc: Use the correct printf length modifier for size_t arguments.
[04:53:02 CET] <MAN> hello guys
[04:53:47 CET] <Guest98985> have you ever tried to build ffmpeg with opus in android via cygwin??
[04:54:21 CET] <Guest98985> I encountered ERROR: opus not found using pkg-config message
[04:54:59 CET] <Guest98985> do you have any ideas?? I searched google but all solutions were failed
[08:25:50 CET] <cone-170> ffmpeg 03Rodger Combs 07master:8e6478b723af: lavf/segment: fix autobsf
[08:25:51 CET] <cone-170> ffmpeg 03Rodger Combs 07master:be28ce210d56: lavf/matroskaenc: fix uninitialized read
[08:25:52 CET] <cone-170> ffmpeg 03Rodger Combs 07master:1a958f4eb098: lavf/matroskaenc: don't try to modify the header when live-streaming
[08:25:53 CET] <cone-170> ffmpeg 03Rodger Combs 07master:d401c37ef503: tests/fate/avformat: add segment.c tests
[12:07:07 CET] <cone-170> ffmpeg 03Michael Niedermayer 07master:37138338ff60: avcodec/sunrast: Fix input buffer pointer check
[12:39:15 CET] <cone-170> ffmpeg 03Vittorio Giovara 07master:271afd632f4d: lavc: Add hevc main10 profile to ffmpeg cli
[16:34:36 CET] <cone-170> ffmpeg 03Michael Niedermayer 07master:a566c952f905: avformat/mpegtsenc: Add option to mark stream begin as discontinuous
[19:35:46 CET] <ubitux> so, we can go back to merges?
[19:41:00 CET] <jamrial> yeah. qsv is solved. only thing that remains is applying the filter that was noop'd
[19:41:06 CET] <nevcairiel> yeah, i was planning to work on things soon, unless someone beats me to it
[19:50:02 CET] <RiCON> jkqxz: i remember i told you about this error with enconding with default settings(?)
[19:50:04 CET] <jkqxz> RiCON: (Oops, collision, sorry.) I thought that -look_ahead 0 was always required on older CPUs? It certainly wasn't my intention to change the CLI behaviour.
[19:51:14 CET] <RiCON> i didn't use qsv before, the "-look_ahead 0" was from zeranoe, iirc
[19:55:36 CET] <RiCON> looks like even from more than a year ago "-look_ahead 0" has been needed if using a pre-haswell cpu
[19:55:55 CET] <RiCON> so it's not a regression from the libav merge, i'd say
[19:56:58 CET] <jkqxz> Yeah, from the code I'm pretty sure that behaviour hasn't changed (look_ahead is set by default, that becomes want_la in select_rc_mode() and it chooses VBR with lookahead).
[19:57:44 CET] <RiCON> https://trac.ffmpeg.org/ticket/4831
[20:03:59 CET] <jkqxz> It did change QSV_VERSION_MINOR passed to MFXInit() down to 1, because we are really supporting the build-time feature set.
[20:05:08 CET] <jkqxz> That shouldn't change anything, though, unless they actually built against a different version of the headers.
[20:06:47 CET] <nevcairiel> someone that cares about qsv should really build runtime f eature detection instead of the hardcoded things
[20:09:30 CET] <jkqxz> Someone that cares about distributing qsv binaries?
[20:11:02 CET] <nevcairiel> i guess?
[20:11:13 CET] <nevcairiel> if i build with a new sdk that still doesnt say anything about my cpu features
[20:13:08 CET] <jkqxz> Hmm. Not on Linux where they dump support immediately. (Only have a Haswell? Nope, buy a new CPU or use the old version.)
[20:13:30 CET] <nevcairiel> dont think it works like that on windows
[20:14:48 CET] <jkqxz> Yeah. They even deign to let you run it properly on a Braswell, despite lack of AVX support.
[21:24:20 CET] <cone-170> ffmpeg 03James Almer 07master:bab6b606752e: avformat/matroskaenc: support writing Chroma Location elements
[21:24:21 CET] <cone-170> ffmpeg 03James Almer 07master:5cb57131d3bb: avformat/matroskaenc: use display aspect ratio for DisplayWidth and DisplayHeight when possible
[21:50:45 CET] <cone-170> ffmpeg 03Philip Langdale 07master:234d3cbf469e: crystalhd: Fix up the missing first sample
[21:50:46 CET] <cone-170> ffmpeg 03Philip Langdale 07master:b5d714f49394: crystalhd: Switch to new decode API and remove the insanity
[21:50:47 CET] <cone-170> ffmpeg 03Philip Langdale 07master:6cc390dd5a53: crystalhd: Revert back to letting hardware handle packed b-frames
[21:50:48 CET] <cone-170> ffmpeg 03Philip Langdale 07master:badce88fdf84: crystalhd: Remove trust_interlaced heuristic
[21:50:49 CET] <cone-170> ffmpeg 03Philip Langdale 07master:89ba55dc0dfa: crystalhd: We don't need the track the last picture number anymore
[21:50:50 CET] <cone-170> ffmpeg 03Philip Langdale 07master:13dbf77b8192: crystalhd: Remove h.264 parser
[21:50:51 CET] <cone-170> ffmpeg 03Philip Langdale 07master:0eb836942f5d: crystalhd: Keep NOPTS_VALUE so we know it's not there.
[21:50:52 CET] <cone-170> ffmpeg 03Philip Langdale 07master:3019b4f6480a: crystalhd: Loop for a frame internally where possible.
[21:50:53 CET] <cone-170> ffmpeg 03Philip Langdale 07master:a07c07e7aa62: crystalhd: Simplify output frame handling
[21:50:54 CET] <cone-170> ffmpeg 03Philip Langdale 07master:d0a9af851ee8: crystalhd: Update high level description
[22:07:29 CET] Action: ubitux is lost in the ffmpeg.c time base nightmare
[22:08:56 CET] <RiCON> jkqxz: obs-studio just enables RCs selectively by checking the cpu generation
[22:10:43 CET] <jkqxz> From cpuid?
[22:10:48 CET] <RiCON> yeah
[22:12:14 CET] <jkqxz> Hmm, I guess that works quite nicely.
[22:12:24 CET] <RiCON> basically checks if it's >= haswell, then adds from https://github.com/jp9000/obs-studio/blob/master/plugins/obs-qsv11/QSV_Enco…
[22:12:31 CET] <RiCON> (bsd/gpl code)
[22:12:52 CET] <jkqxz> Have to maintain the table, though.
[22:14:24 CET] <kwizart> anyone still using crystalhd ? is there a known repo for the driver now that it has been kicked out of the staging area ?
[22:15:00 CET] <RiCON> https://github.com/jp9000/obs-studio/blob/master/plugins/obs-qsv11/QSV_Enco… (also bsd/gpl
[22:15:29 CET] <RiCON> yeah, just checks for haswell or older
[22:16:03 CET] <kwizart> philipl, ^ do you know anyone who maintain the crystalhd kernel driver still ? (it's not in staging anymore)
[22:29:36 CET] <cone-170> ffmpeg 03Andreas Cadhalpun 07master:f84ae3f04aa0: avformat: close parser if codec changed
[22:32:13 CET] <ubitux> so what's up with frame->pts
[22:32:29 CET] <ubitux> it's not the packet pts, it's rescaled?
[22:33:01 CET] <ubitux> (it definitely looks rescaled to me)
[22:34:55 CET] <ubitux> an encode function is only supposed to copy the frame pts to pkt pts; same for frame pkt_duration to pkt duration?
[22:39:19 CET] <ubitux> mmh seems i only have 2 tests failing remaining
[22:43:29 CET] <nevcairiel> ubitux: the question is "when", because frame pts behaves different depending on when its used
[22:43:40 CET] <nevcairiel> decoding it should be the pkt pts, encoding it should be in avctx timebase
[22:44:02 CET] <ubitux> apparently ffmpeg.c is doing some frame pts rescaling post filtering
[22:44:18 CET] <ubitux> but it wasn't doing it for the duration
[22:44:29 CET] <ubitux> and i needed that for subtitles apparently
[22:45:30 CET] <ubitux> now i have to deal with the cc/subcc stuff, and find a way to transcode dvb subs to fix it as well
[22:45:40 CET] <ubitux> (no fate test for this... shame)
[22:46:21 CET] <ubitux> otherwise, i'm mostly done, hopefully
[22:47:24 CET] <ubitux> i'm breaking lot of stuff apparently too :3
[23:20:18 CET] <nevcairiel> I better start merging all the things and break all your stuff again, then!
[23:25:20 CET] <ubitux> i'm very happy to rebase my work on top of a thousands of merge commit :)
[23:25:26 CET] <ubitux> (honestly)
[23:27:48 CET] <jamrial> speaking of thousands of merges, who was the one we had to poke about gitweb showing every single unrelated merge on every file's history?
[23:28:46 CET] <ubitux> you mean the videolan admin? thresh?
[23:29:10 CET] <jamrial> yeah, him
[23:40:02 CET] <philipl> kwizart: Nope. There's this: https://github.com/yeradis/crystalhd
[23:40:16 CET] <philipl> I use that but I'm carrying kernel patches for recent kernels. Probably should send a PR...
[23:43:33 CET] <kwizart> philipl, seems old, I've attempted to build it recently and it was broken, also I wonder if there is a need for a rebase from what was available in staging at that time
[23:44:41 CET] <kwizart> philipl, staging support was only about BCM70012 IIRC, I have 70015
[23:45:07 CET] <kwizart> there is already an unmerged pull request
[23:46:02 CET] <philipl> kwizart: Yeah. It doesn't work out-of-the-box anymore. I've got enough patches to work with a 4.8 kernel today.
[23:46:07 CET] <philipl> Let me publish my tree.
[23:48:33 CET] <philipl> ACtually: this guy is keeping a patched one going. Use his: https://github.com/dbason/crystalhd
[23:57:10 CET] <philipl> https://github.com/philipl/crystalhd
[23:57:23 CET] <philipl> I had to add another fix on top of the dbason tree.
[23:57:25 CET] <philipl> Fun times.
[00:00:00 CET] --- Thu Nov 3 2016
1
0
[01:21:40 CET] <tab1293> is it possible to seek with ffmpeg as transcoding is taking place rather then starting a whole new process with the appropriate seek flags?
[01:33:02 CET] <c_14> You're running an encoding and at some point want to discard input until you reach a specific timestamp?
[01:34:20 CET] <tab1293> c_14: yes
[01:34:47 CET] <c_14> might be possible with the trim/select filters and the sendcmd feature, but not really no
[02:06:28 CET] <DHE> don't think you can do it live. you can preplan with said filters
[03:29:12 CET] <tab1293> anyone know how to determine how long a mkv header block is?
[03:29:23 CET] <tab1293> is it something ffprobe can do?
[03:41:40 CET] <qmr> hexedit
[03:50:04 CET] <tab1293> I guess I just have more questions about the mkv format in general
[03:50:39 CET] <tab1293> it seems like seeking info is stored in both the metaseek header and cueing header
[03:51:35 CET] <tab1293> but the docs say seeking during playback usually uses the cueing header
[03:51:59 CET] <tab1293> wondering what the purpose of the metaseek header is then
[04:34:25 CET] <teratorn> anyone have an opinion on hardware h264 encoders? obviously they all suck, but if you really do want to do a lot of encoding per Watt or per hardware $$ are there any good ones?
[04:36:13 CET] <bibble> no it seems
[04:40:40 CET] <qmr> there are a lot with great reviews
[04:41:56 CET] <teratorn> hmm! http://www.mainconcept.com/eu/products/sdks/gpu-acceleration-sdk/cuda-h264a…
[04:57:15 CET] <teratorn> qmr: hmm, like which ones?
[07:50:23 CET] <mad_ady> hello ffmpeg community!
[07:50:39 CET] <mad_ady> Can anyone help with the following problem?
[07:51:09 CET] <mad_ady> I have a webcam that produces corrupt frames and I can't get a steady 25 fps mjpg stream from it
[07:51:34 CET] <mad_ady> ffmpeg ignores them but reduces the output framerate and this causes sound to glitch out
[07:51:56 CET] <mad_ady> how can I have ffmpeg duplicate the last valid frame and output a constant fps out?
[07:52:12 CET] <mad_ady> I tried with -vf fps=fps=25, but it didn't do it
[07:52:56 CET] <mad_ady> here's a sample output from my webcam: http://pastebin.com/3yqq4ZAV
[07:53:12 CET] <mad_ady> the actual fps the cam can do is about 10fps - which I don't mind
[07:53:34 CET] <mad_ady> but I'd like to output a 25fps stream with stuffed frames where they are missing to keep audio working
[08:41:59 CET] <teratorn> mad_ady: -vf fps=25 should do it, but uh, maybe it's seeing the corrupt frames and passing them on, thinking fps is OK ? then they get ignored later, *maybe* ?
[08:42:29 CET] <mad_ady> I'll try again
[08:42:36 CET] <mad_ady> and report back shortly
[08:43:15 CET] <teratorn> mad_ady: try also encoding the video first to a temp file, then transcoding it while applying the fps fitler, to see if that makes any difference
[08:43:37 CET] <mad_ady> the problem is the input stream is from a webcam (mjpg)
[08:43:48 CET] <mad_ady> and I'm doing this on a low power board (Odroid-C2)
[08:44:15 CET] <mad_ady> and I'm using ffmpeg to read the stream, overlay the current time and pass it to a hardware h264 encoder for the board
[08:44:40 CET] <mad_ady> the problem is the encoder expects constant framerate and ffmpeg doesn't deliver it because of the bad input...
[09:07:12 CET] <teratorn> mad_ady: ah, so that is why audio is getting janked up.. typically I would not expect that, since audio and video packets have independent PTSs
[09:07:45 CET] <mad_ady> my experience is that as soon as the framerate drops below what is expected, audio drops as well
[09:07:52 CET] <mad_ady> let me show you my pipeline
[09:08:31 CET] <teratorn> mad_ady: you could do this fairly easily in custom code... well, a custom filter is all you need I guess, but then, the fps filter should do this...
[09:08:37 CET] <mad_ady> I read from mjpg_streamer which multiplexes access to my camera:
[09:08:40 CET] <mad_ady> /usr/bin/ffmpeg -r 25 -f mjpeg -i 'http://odroid:odroidpass@127.0.0.1:8090/?action=stream' -c:v rawvideo -r 25 -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: text='Webcam feed %{localtime\\:%F %T}': fontcolor=white(a)0.8: x=7: y=5" -pix_fmt nv21 -f rawvideo - >in1
[09:08:45 CET] <mad_ady> and write to a named pipe
[09:08:52 CET] <mad_ady> cat in1 | c2enc -w 1280 -h 720 -f 25 -b 2000000 | ffmpeg -r 25 -thread_queue_size 256 -f h264 -i - -thread_queue_size 64 -f alsa -i plughw:CARD=Camera,DEV=0 -acodec libmp3lame -async 1 -c:v copy -override_ffserver http://localhost:8099/mjpg-streamer.ffm
[09:09:30 CET] <mad_ady> In a different thread I read from that pipe, send it to the encoder and the encoder outputs h264 which gets muxed with the audio from the camera and gets sent to ffserver which serves it over rtsp
[09:09:47 CET] <mad_ady> it works beautifully as long as the output fps matches 25
[09:09:59 CET] <mad_ady> let me retry with just fps=25
[09:12:09 CET] <teratorn> mad_ady: yeah, I get it. nice.
[09:12:51 CET] <teratorn> it's too bad you have some crap thing for the hwencoder instead of a nice ffmpeg encoder for the same...
[09:13:30 CET] <teratorn> have you checked to see if your hardware is supported by current ffmpeg, by chance?
[09:14:05 CET] <mad_ady> it's not.
[09:14:12 CET] <teratorn> k
[09:14:46 CET] <mad_ady> The device has a SOC from Amlogic which have an encoder for android which was reverse-engineered and made to work on linux as well
[09:15:06 CET] <teratorn> brilliant
[09:15:14 CET] <mad_ady> A broader discussion here: http://forum.odroid.com/viewtopic.php?f=136&t=24293&p=165992#p165208
[09:15:22 CET] <teratorn> ok so one issue is that your camera source has no actual fucking timestamps
[09:15:50 CET] <teratorn> a real framebuffer card applies timestamps before handing the frames off to the driver, or the driver does it, whatever.
[09:16:17 CET] <teratorn> but you get a solid timeline to begin with, instead of relying on gettimeofday() whenever the next raw frame happens to come back from the webcam
[09:16:38 CET] <teratorn> but that might not be directly related to your problem, just saying.
[09:16:51 CET] <mad_ady> I understand the issue, yeah
[09:16:58 CET] <mad_ady> Well, it was cheap :)
[09:17:52 CET] <teratorn> mad_ady: where is the fps filter in your command line?
[09:18:10 CET] <teratorn> also, why force -r everywhere?
[09:19:45 CET] <mad_ady> sorry I pasted an older command
[09:20:18 CET] <mad_ady> fps is set when reading from the camera
[09:20:35 CET] <mad_ady> /usr/bin/ffmpeg -r 25 -f mjpeg -i 'http://odroid:odroidpass@127.0.0.1:8090/?action=stream' -c:v rawvideo -r 25 -vf "fps=25" -pix_fmt nv21 -f rawvideo - >in1
[09:21:36 CET] <mad_ady> I get even "huffman table decode error" errors from the decoder :)
[09:22:34 CET] <teratorn> maybe you need to apply a setpts filter actually based on gettimeofday()
[09:23:00 CET] <teratorn> i could not say for sure if the raw video feed will get timestamps applied or not based on localtime implicitly? maybe not
[09:23:09 CET] <mad_ady> The thing is - I actually managed to get it working by using a different encoder which works with webcams specifically: http://forum.odroid.com/viewtopic.php?f=136&t=23680&p=165295#p165151
[09:23:14 CET] <teratorn> so the fps filter won't have good pts values to look at in order to do its job?
[09:23:38 CET] <mad_ady> I see. Ok, I'll try that
[09:24:41 CET] <teratorn> hmm.
[09:24:46 CET] <mad_ady> so, long story short - if I use an encoder which reads from a webcam I can inject my mjpg into a fake v4l2loopback webcam which does frame duplication on corrupted frames and I can read it fine
[09:25:14 CET] <mad_ady> but the process is a bit convoluted, so I wanted to simplify it and have ffmpeg duplicate corrupt frames instead
[09:29:20 CET] <teratorn> does the fps filter work in transcoding from a previously saved "bad" input?
[09:33:13 CET] <mad_ady> -vf "setpts=PTS-STARTPTS, fps=25" doesn't work
[09:33:23 CET] <mad_ady> I will try to save a stream and read directly from it
[09:33:39 CET] <teratorn> yeah that isn't what you want that just rebases existing valid timestamp stream to 0
[09:34:00 CET] <teratorn> setpts=(RTCTIME - RTCSTART) / (TB * 1000000)
[09:34:11 CET] <mad_ady> setpts=N/(25*TB), fps=25 I also tried this
[09:34:18 CET] <teratorn> that *might* be the right math to assign brand new timestamps based on wallclock time
[09:34:30 CET] <teratorn> well, N will be broke if you drop frames
[09:34:41 CET] <teratorn> since it won't match 25 fps anymore
[09:36:22 CET] <teratorn> also, you could modify the source of the fps filter, or copy it to your own version, and add instrumentation so you see what frames it is handling, and the timestamps it is seeing
[09:37:04 CET] <mad_ady> sounds too complicated for a regular noob like myself
[09:37:07 CET] <mad_ady> :)
[09:38:29 CET] <teratorn> mad_ady: did that setpts using the RT clock help?
[09:39:01 CET] <mad_ady> almost - framerate was higher, but I couldn't get video output because it crashed after a little while
[09:39:04 CET] <mad_ady> let me try again
[09:41:39 CET] <mad_ady> [output stream 0:0 @ 0x48b680] 100 buffers queued in output stream 0:0, something may be wrong.
[09:41:39 CET] <mad_ady> need to fix this first, hold on
[09:47:30 CET] <mad_ady> @teratorn: I no longer understand what's going on. With your filter I get that output stream warning and ffmpeg crashes soon after (most likely running out of memory or something?)
[09:48:10 CET] <teratorn> 0:0 is the video stream right?
[09:49:10 CET] <mad_ady> yes
[09:49:41 CET] <teratorn> uhm, oh
[09:49:54 CET] <mad_ady> currently I'm not using named pipes anymore (I was considering them for performance reasons to split processing on multiple cores)
[09:50:53 CET] <teratorn> mad_ady: hmm, well I'm not sure why
[09:51:52 CET] <mad_ady> /usr/bin/ffmpeg -r 25 -f mjpeg -i 'http://odroid:odroidpass@127.0.0.1:8090/?action=stream' -c:v rawvideo -r 25 -vf "setpts=(RTCTIME - RTCSTART) / (TB * 1000000), fps=25" -pix_fmt nv21 -f rawvideo - | c2enc -w 1280 -h 720 -f 25 -b 2000000 | ffmpeg -r 25 -thread_queue_size 256 -f h264 -i - -thread_queue_size 32 -f alsa -i plughw:CARD=Camera,DEV=0 -acodec libmp3lame -async 1 -c:v copy -override_ffserver http://localhost:8099/mjpg-streamer.ffm
[09:51:58 CET] <mad_ady> this is my current command
[09:52:03 CET] <mad_ady> oh, well
[09:52:15 CET] <mad_ady> thank you for your time - I was hoping I was missing something trivial
[09:52:29 CET] <mad_ady> but if I need to dig in further it may not be worth it.
[09:52:57 CET] <mad_ady> I'll go the v4l2loopback route, which at least duplicates corrupted frames and saves me the effort
[10:00:15 CET] <teratorn> mad_ady: sure
[10:01:37 CET] <teratorn> mad_ady: so you said your camera sometimes drops below 25 fps? why?
[10:03:02 CET] <teratorn> mad_ady: if the host CPU is being overloaded due to your encoding and whatnot... ? that could easily introduce audio glitching irrelated to audio sync
[10:03:12 CET] <teratorn> you may be dropping audio packets, too, in other words
[10:03:17 CET] <mad_ady> there's a problem either with the USB bus or with the camera that causes incomplete frames to be sent
[10:03:24 CET] <teratorn> oh actually btw
[10:03:45 CET] <teratorn> fucking usb webcams are NOTORIOUS for being shitty and bad, and also janking with audio capture
[10:03:49 CET] <mad_ady> yes, but if I were dropping audio it shouldn't drop the framerate as well, should it?
[10:04:28 CET] <teratorn> you're dropping audio because you're maxing out system resources, due to maxing out system resources with video encoding
[10:04:46 CET] <teratorn> which is also doing the best it can, but dropping video frames too, necessarily
[10:04:55 CET] <teratorn> at least in this theory :)
[10:04:59 CET] <mad_ady> here are some sample images when I get corruption: http://imgur.com/a/rTPmy#p041MIb
[10:05:12 CET] <mad_ady> It's a rather nice effect
[10:05:13 CET] <mad_ady> :)
[10:05:21 CET] <teratorn> 1) you need to see if you are dropping audio or not
[10:05:37 CET] <mad_ady> I did this analysis -
[10:05:38 CET] <teratorn> if not, then you have some messed up synchronization issue
[10:06:32 CET] <mad_ady> when having a thread with ffmpeg reading from the camera and writing to a named pipe and a different thread which reads from the named pipe and outputs to a ffmpeg which adds audio, then the ffmpeg which reads audio uses less than 10% CPU
[10:06:45 CET] <mad_ady> and is run on a different core than the one that reads video from the webcam
[10:07:03 CET] <mad_ady> so - unless the problem is on the USB bus and I don't see it - it shouldn't be dropping audio
[10:07:04 CET] <teratorn> two words
[10:07:08 CET] <teratorn> USB
[10:07:11 CET] <teratorn> is shit
[10:07:35 CET] <mad_ady> also, when using v4l2loopback with the same hardware, I am able to get a good feed with audio
[10:07:42 CET] <teratorn> webcams are shit, and webcams via v4l are double shit and do cause audio capture problems ESPECIALLY from on-board shitty audio sources
[10:07:46 CET] <mad_ady> and v4l2loopback duplicates missing frames
[10:08:00 CET] <teratorn> yeah, so
[10:08:19 CET] <mad_ady> well, I've never worked with anything else, so I'd be surprised to see anything "just work" out of the box :)
[10:09:55 CET] <mad_ady> anyway, thank you for your patience
[10:09:56 CET] <teratorn> so why are you trying to capture 25 fps if your hardware can't do it
[10:10:05 CET] <teratorn> if it can do it, why can't it do it all the time?
[10:10:25 CET] <mad_ady> well, the output stream is not 25fps - visually
[10:10:31 CET] <mad_ady> it's more close to 10fps
[10:10:45 CET] <mad_ady> but the video data is/should be 25 fps
[10:11:08 CET] <mad_ady> the idea is that I'm documenting this and I'd like for the commadns to work with most/all webcams
[10:11:20 CET] <mad_ady> some of which will not have this issue, while others might be worse
[10:11:28 CET] <mad_ady> so I was looking for a catch-all solution
[10:11:58 CET] <mad_ady> here's the howto by the way. I still have to add the hardware encoding bits: http://forum.odroid.com/viewtopic.php?f=52&t=23503
[10:12:37 CET] <mad_ady> note the complicated processing workflow I'm doing :) http://imgur.com/7MGKbqp.png
[10:13:31 CET] <bencoh> ffserver? :/
[10:13:37 CET] <furq> you probably don't want to write something that uses ffserver
[10:13:43 CET] <furq> it's going to be dropped in the next minor release
[10:14:08 CET] <mad_ady> @furq: I'm open to suggestions. What is its replacement?
[10:14:17 CET] <furq> there isn't really a straight replacement
[10:14:25 CET] <furq> what protocol are you using it for
[10:14:28 CET] <mad_ady> rtsp
[10:14:42 CET] <furq> i've never really touched rtsp
[10:14:52 CET] <furq> i can recommend a good free rtmp server
[10:15:08 CET] <mad_ady> please do
[10:15:20 CET] <furq> https://github.com/arut/nginx-rtmp-module
[10:15:20 CET] <mad_ady> if you know any which can receive inputs from ffmpeg
[10:15:37 CET] <furq> ffmpeg should be able to send to any rtmp server
[10:15:44 CET] <furq> it definitely works with that one
[10:15:58 CET] <mad_ady> I'll take it into consideration
[10:16:05 CET] <mad_ady> one question though -
[10:16:28 CET] <furq> if you're already transcoding to h264 then rtmp should work fine
[10:16:36 CET] <mad_ady> is there any mechanism to signal to a ffmpeg instance to start transcoding when the first client connects to the rtsp stream?
[10:16:52 CET] <furq> you can do that with nginx-rtmp if you're running the server on the same host
[10:16:56 CET] <mad_ady> I don't want to transcode 24/7 if I only watch my webcam 5 minutes/day
[10:17:04 CET] <mad_ady> nice
[10:17:05 CET] <furq> i guess you might be able to do that over ssh as well, i've never tried
[10:17:23 CET] <furq> https://github.com/arut/nginx-rtmp-module/wiki/Directives#exec_pull
[10:18:01 CET] <mad_ady> nice, this is what I did with my ffserver-trigger script
[10:18:04 CET] <mad_ady> :)
[10:18:25 CET] <mad_ady> I'm guessing it can also turn off ffmpeg when the last user disconnects?
[10:18:49 CET] <furq> there's an exec_play_done event
[10:19:33 CET] <mad_ady> ok, some extra logic might need to be added to keep track of how many users are connected to a stream, but sounds doable, thanks
[10:20:26 CET] <mad_ady> and I don't need to send a -override_ffserver or something from my stream, right?
[10:20:32 CET] <furq> no
[10:21:15 CET] <mad_ady> thank you all for your tips/input
[10:21:47 CET] <furq> that server also supports hls output so you can in theory view the stream in a web browser
[10:21:56 CET] <furq> but it's hls which means there'll be massive delay
[11:21:50 CET] <teratorn> furq: why's ffserver being dropped? :(
[11:22:32 CET] <mad_ady> @teratorn: probably too difficult to maintain
[11:31:12 CET] <furq> it's been unmaintained for years and nobody wants to maintain it
[11:31:23 CET] <furq> which is fine by me because it doesn't work very well and nobody knows how to use it
[11:32:19 CET] <furq> i believe some deprecated apis which it depends on are being dropped in 3.2, so it's being cut loose
[12:13:45 CET] <teratorn> furq: dang, well. I'm using it to produce test streams in some integration tests :(
[12:14:04 CET] <teratorn> I guess there is some other tool that can do that from static files, though.
[14:10:12 CET] <xrg> hi
[14:12:30 CET] <xrg> do any of you know how to delay audio from a video with command line ffmpeg? i tried "ffmpeg -i vid.mp4 -itsoffset 3 -i vid.mp4 -vcodec copy -acodec copy -map 0:0 -map 1:1 vid2.mp4" but somehow it doesnt work, maybe the internet example have another ffmpeg version and syntax changed, im using 0.10.3
[14:13:09 CET] <furq> 0.10 is nearly four years old
[14:13:13 CET] <furq> you should probably upgrade
[14:13:29 CET] <furq> s/four/five/
[14:13:51 CET] <xrg> oh.
[14:14:27 CET] <furq> https://www.johnvansickle.com/ffmpeg/
[16:17:47 CET] <k_sze> What exactly is best_effort_timestamp?
[16:18:36 CET] <DHE> the best guess of what a frame's timestamp should be
[16:18:54 CET] <DHE> barring anything going wrong, it's usually accurate
[16:20:58 CET] <k_sze> How is that different from pts?
[18:41:46 CET] <kerio> hm, why does the wiki say that for archival, ffv1 should have a gop of 1?
[18:43:58 CET] <klaxa> good question, wasn't P-Frame support added not too long ago? maybe it's specifically because P-Frame is so new, that the spec may still change and old archives become invalid
[18:47:03 CET] <c_14> p-frame support was deemed incompatible with the spec
[18:48:04 CET] <TD-Linux> the spec is not yet complete, but currently doesn't specify p-frames at all
[18:55:39 CET] <DHE> but keyframe-only would be more reliable, right?
[18:56:34 CET] <TD-Linux> yes but that isn't as much of an issue (with a smaller size you can use more FEC)
[19:02:19 CET] <DHE> well that too. but if the spec is in flux, would keyframe-only be more reliable with a future version of ffmpeg?
[19:02:35 CET] <TD-Linux> yes
[19:02:41 CET] <TD-Linux> that's why
[19:04:34 CET] <kerio> it's ok, i'm saving like 100MB for a 3.7GB file if i use ffv1 versus mjpeg2000
[19:04:40 CET] <kerio> not worth the effort of reencoding i think
[19:05:44 CET] <kerio> increasing the gop size didn't help the bitrate
[19:06:35 CET] <kerio> just to be thorough
[19:06:57 CET] <kerio> what's the best way of shoving my 16bit grayscale video into one or more lossless h264 streams?
[19:08:05 CET] <furq> ffv1 supports gray16
[19:08:44 CET] <kerio> it does
[19:08:48 CET] <kerio> but i want to try h264
[19:08:53 CET] <kerio> because it's supposedly magic
[19:08:54 CET] <kerio> or something
[19:09:01 CET] <furq> x264 doesn't support it
[19:09:11 CET] <kerio> which is why i said one or more
[19:09:20 CET] <kerio> i'm willing to abuse my bits
[19:09:27 CET] <furq> that doesn't seem very magic
[19:09:55 CET] <kerio> i could just leave this uncompressed tbh
[19:10:11 CET] <DHE> the H264 spec only goes up to 10bit colour
[19:10:16 CET] <kerio> however mj2 achieves almost a 3x compression
[19:10:17 CET] <furq> i imagine that would destroy any compression and time gains you'd get from switching
[19:10:32 CET] <furq> that being splitting it into multiple streams somehow
[19:12:22 CET] <furq> isn't ffv1 much faster than jp2k
[19:12:31 CET] <furq> i don't have libopenjpeg in my build or i'd test
[19:13:49 CET] <kerio> sadly, matlab doesn't do ffv1
[19:13:58 CET] <furq> oh fun
[19:14:22 CET] <kerio> and the mj2s it creates have a DAR of 1:1 for some reason
[19:14:48 CET] <kerio> (not that it makes much sense to watch the output as a normal video without filters inbetween, but)
[19:15:12 CET] <kerio> btw
[19:15:19 CET] <kerio> is there a "normalize" filter for video?
[19:15:29 CET] <kerio> to set the darkest pixel to 0 and the brightest to 1 or 255 or whatever
[19:15:56 CET] <kerio> for each frame
[19:41:18 CET] <kerio> pp=al doesn't seem to do what i want :(
[19:42:39 CET] <shincodex> so uh
[19:43:08 CET] <shincodex> how hard would it be to add ffmpeg to a visual studio building and hoping it just works maybe add a define or 2
[19:43:25 CET] <shincodex> you know and just building it
[19:43:33 CET] <shincodex> and pop goes the mpeg!
[19:44:16 CET] <shincodex> it feels like --toolchain=msvc is doing a release only version no matter what
[19:46:27 CET] <shincodex> makefile 3433
[19:49:41 CET] <shincodex> says 02 or 01
[19:49:54 CET] <shincodex> there is no /Od anywhere
[19:58:40 CET] <BtbN> ffmpeg cannot be built without at least some optimization.
[20:26:26 CET] <IchGucksLive> hi im trying now for days to convert a vid to a tiny projector from Aiptec V10
[20:27:04 CET] <IchGucksLive> i get sound and video but the picture is only 1/3 clear the rest is pixels
[20:27:30 CET] <shincodex> it can
[20:27:39 CET] <shincodex> its just gdb cant handle more than like
[20:27:49 CET] <shincodex> a few megabytes of debugging before it blows up
[20:27:54 CET] <IchGucksLive> ffmpeg -i lsdr09.mp4 -vcodec mpeg4 -pix_fmt yuvj420p -q:v 7 -s:v 640x480 -aspect 1.3333 -r 15 -c:a pcm_s16le -b:a 48k -ar 41100 -ac 2 lsdr_a.asf
[20:28:08 CET] <IchGucksLive> what pix format shoudt i try
[20:28:26 CET] <IchGucksLive> pal8 is the same
[20:28:33 CET] <IchGucksLive> alo 420p
[20:30:24 CET] <klaxa> mpeg4 only supports yuv420p
[20:30:37 CET] <klaxa> are you sure your device is not broken?
[20:30:57 CET] <IchGucksLive> no if i do this to a arcsoft media it works
[20:31:08 CET] <IchGucksLive> but not on the ubuntu ffmpeg
[20:31:20 CET] <kerio> ffprobe the output file from arcsoft media
[20:33:36 CET] <IchGucksLive> kerio: http://pastebin.com/Z3nwvywc
[20:34:48 CET] <IchGucksLive> all the videos out of the converter come with 2657 kb/s exact bitrate
[20:34:58 CET] <kerio> and that's a file that your projector plays fine?
[20:35:07 CET] <IchGucksLive> yes
[20:35:42 CET] <IchGucksLive> but if i convert with ffmpeg to libxh264 it does not accept the mp4
[20:35:55 CET] <kerio> -profile:v main
[20:36:19 CET] <kerio> as in
[20:37:00 CET] <kerio> ffmpeg -i inputvideo -c:v libx264 -profile:v main -c:a aac out.mp4
[20:38:17 CET] <IchGucksLive> ill try
[20:38:41 CET] <IchGucksLive> i use this ffmpeg -i lsdr09.mp4 -s:v 640x480 -b:v 2560k -c:v libx264 -r 25 -profile:v main -aspect 1.3333 -c:a aac -strict -2 lsdr_x.mp4
[20:40:30 CET] <furq> you can probably get rid of the bitrate
[20:42:41 CET] <IchGucksLive> it does not even accept the file
[20:43:07 CET] <kerio> are you actually scaling the video
[20:43:08 CET] <IchGucksLive> major_brand : isom
[20:43:24 CET] <kerio> why are you setting so much stuff
[20:43:58 CET] <kerio> also, let's drop the audio for the moment
[20:44:17 CET] <furq> IchGucksLive: -vtag qt
[20:44:23 CET] <kerio> ffmpeg -i lsdr09.mp4 -c:v libx264 -profile:v main -an lsdr_x.mp4
[20:45:06 CET] <IchGucksLive> ok
[20:45:11 CET] <IchGucksLive> lets try
[20:45:39 CET] <IchGucksLive> the ffprobe gives alot of numbers on the h264
[20:45:50 CET] <IchGucksLive> 1:1 DAR 4:3], 2596 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
[20:49:15 CET] <IchGucksLive> kerio: the projektor does accept the file but there is no frame in it only snow
[20:49:28 CET] <kerio> ffprobe the file?
[20:50:28 CET] <IchGucksLive> http://pastebin.com/tThn8WNH
[20:51:03 CET] <IchGucksLive> bitrate: 186 kb/s
[20:51:08 CET] <IchGucksLive> to low
[20:51:13 CET] <kerio> ...why's the input file 352x288
[20:51:16 CET] <kerio> what is going on
[20:51:18 CET] <kerio> D:
[20:51:38 CET] <IchGucksLive> this is from a CAD system
[20:52:09 CET] <IchGucksLive> i got lots of them
[20:52:57 CET] <IchGucksLive> https://www.youtube.com/channel/UCmwhCL92ZQRSVqFe3jGwJSQ
[20:53:01 CET] <IchGucksLive> they work
[20:53:16 CET] <IchGucksLive> but they dont play on the handheld projektor
[20:53:30 CET] <kerio> goddammit i had shit to do today
[20:53:35 CET] <kerio> now i'm stuck watching videos of CNC machines
[20:53:59 CET] <IchGucksLive> sorry
[20:54:05 CET] <IchGucksLive> but thats my live
[20:54:31 CET] <IchGucksLive> i know i need a modern projektor
[20:56:37 CET] <kerio> ok wood carving aside
[20:56:41 CET] <kerio> try scaling the video to 640x480
[20:56:43 CET] <kerio> maybe that's the issue
[20:56:57 CET] <kerio> to "raise" the bitrate, add a -qp 20
[20:57:12 CET] <kerio> 18 is "perceptually lossless"
[20:57:16 CET] <kerio> the higher it goes the worse the video gets
[20:58:34 CET] <bencoh> -qp with x264? hmmm
[20:58:44 CET] <kerio> of course
[20:58:45 CET] <kerio> what else?
[20:58:51 CET] <c_14> crf?
[20:59:22 CET] <kerio> isn't qp just crf but not depending on the particular brand of h264 you're using?
[20:59:32 CET] <c_14> Don't think so
[20:59:36 CET] <c_14> No clue what qp maps to
[20:59:36 CET] <kerio> like, crf would have to vary if you're using 10bit vs 8bit
[20:59:39 CET] <c_14> if it even maps to anything
[21:00:05 CET] <kerio> hm
[21:00:11 CET] <kerio> ok maybe crf is better
[21:00:33 CET] <c_14> qp does constant quantization
[21:00:39 CET] <c_14> Not constant rate factor
[21:00:52 CET] <kerio> yeah i see
[21:00:55 CET] <c_14> Different rate control
[21:01:11 CET] <IchGucksLive> the Video is not accepted
[21:01:16 CET] <kerio> :(
[21:02:40 CET] <kerio> c_14: ok crf apparently lowers the bitrate if there's a lot of movement
[21:03:00 CET] <kerio> screw that
[21:03:07 CET] <c_14> You mean raises?
[21:03:51 CET] <kerio> "When a scene has a lot of action and motion, it will raise the QP (compressing more). This is because your eye will be distracted by everything going on, and wont have the image on screen for enough time to see the heavier compression"
[21:04:12 CET] <kerio> "CRF is about improving subjective qualitywhat the human eye seesat the expense of objective qualitywhat a PSNR calculation sees."
[21:04:14 CET] <kerio> screw humans
[21:04:18 CET] <kerio> humans suck
[21:05:05 CET] <IchGucksLive> can i add -q:v to libxh264
[21:06:24 CET] <IchGucksLive> arcsoft needs 25min to convert the 3min Vid
[21:06:35 CET] <IchGucksLive> and produces 70MB
[21:10:15 CET] <shincodex> where in this damn make file is msvc LINK.exe being called
[21:10:16 CET] <shincodex> fuck
[21:10:20 CET] <shincodex> call it link.exe for windows
[21:10:22 CET] <shincodex> not just link
[21:17:21 CET] <IchGucksLive> the tiny player also accepts mjpeg
[21:17:33 CET] <IchGucksLive> can i do somthing with that
[21:24:00 CET] <BtbN> shincodex, no, it can't, because it relies on the compiler optimizing out some symbols. So with O0 it will fail
[21:26:58 CET] <kerio> ok WHAT
[21:27:09 CET] <kerio> BtbN: there's visibility options for shit like that
[21:27:21 CET] <BtbN> no.
[21:27:28 CET] <kerio> :<
[21:39:58 CET] <randomjd> !seen orbit
[21:47:17 CET] <IchGucksLive> how do i get a constant bitrate on a mpeg4
[21:47:27 CET] <IchGucksLive> real constant
[21:47:45 CET] <IchGucksLive> minrate maxate use
[21:50:13 CET] <IchGucksLive> sammel@sammel-ub2:~/Videos/youtube16$ ffmpeg -i lsdr_a.asf -vcodec mpeg4 -b:v 800k -minrate 800k -maxrate 800k -bufsize 800k -c:a copy lsdr_b.asf
[21:50:27 CET] <IchGucksLive> this gives me 2677kb/s
[22:09:27 CET] <IchGucksLive> ok i give up for to day as the projektor Accu is near emty after a hard 6hr try to get rid of WinXP
[22:13:48 CET] <DeadSix27> anyone any idea how to fix this issue when cross-compiling with --enable-libmfx and git clone of https://github.com/lu-zero/mfx_dispatch.git: https://paste.ubuntu.com/23417957/
[22:16:05 CET] <jkqxz> DeadSix27: The linker segfaulted. Your toolchain is broken.
[22:16:32 CET] <DeadSix27> so its that, thx
[23:59:30 CET] <kerio> what's the simplest container for ffv1?
[00:00:00 CET] --- Thu Nov 3 2016
1
0
[00:40:01 CET] <cone-953> ffmpeg 03Andreas Cadhalpun 07master:60178e78f2fe: interplayacm: increase bitstream buffer size by AV_INPUT_BUFFER_PADDING_SIZE
[02:40:48 CET] <relaxed> jkqxz: Yes, but I ran into the same problem stated in the bug report. Same goes for nvenc and omx-rpi.
[09:38:58 CET] <nevcairiel> jkqxz: the real question would be why does libva even provide a static link library if its not supposed to work :D
[09:54:01 CET] <jkqxz> With care you can statically link libva (you'll need to do something funny to push the driver loading into doing the right thing). You just can't make a static binary out of it.
[10:01:36 CET] <jkqxz> Hmm, I did say that slightly incorrectly on the ticket.
[10:40:35 CET] <ubitux> oh qsv was merged, cool
[10:41:18 CET] <wbs> :w
[10:41:21 CET] <wbs> oops :P
[11:36:45 CET] <ubitux> double float_pts = AV_NOPTS_VALUE; // this is identical to filtered_frame.pts but with higher precision
[11:36:50 CET] Action: ubitux is so confused
[11:38:50 CET] <cone-353> ffmpeg 03Carl Eugen Hoyos 07master:f73a3aacbb87: lavf/mov: Only search for invalid moov in free if compliance < STRICT.
[11:49:01 CET] <ubitux> TIL ost->filter->filter->filter is valid in ffmpeg.c
[11:52:08 CET] <nevcairiel> are all the filters the s ame thing with a recursive lookup
[11:53:34 CET] <jkqxz> No, those filters are all different types.
[12:29:45 CET] <cone-353> ffmpeg 03Carl Eugen Hoyos 07master:1a65d2a3ccc2: lavfi/mergeplanes: Fix >8 bit for big endian formats and yuv4xxp16le.
[12:29:46 CET] <cone-353> ffmpeg 03Carl Eugen Hoyos 07master:bf5273005120: lavfi/mergeplanes: Fix little endian yuv formats >8 bit and <16bit.
[14:44:18 CET] <ubitux> first subtitles fate tests are passing, yey.
[14:44:41 CET] <ubitux> (decoding + filtering + encoding in ref counted AVFrame)
[14:45:39 CET] <ubitux> a lot more to do but it's promising
[17:16:46 CET] <cone-353> ffmpeg 03Martin Vignali 07master:584f509a4b9e: fate filter metadata : add test for aphasemeter - Test a mono file (in phase) -> 1. as result - Test a out of phase 1000 Hz -> -1. as result
[18:03:07 CET] <cone-353> ffmpeg 03Adriano Pallavicino 07master:6089c44a2af1: Fix build warnings due to misleading indentation
[18:04:30 CET] <philipl> BtbN: conversation on dynlink seems to have dried up. Anything left to do?
[18:05:07 CET] <BtbN> Not reálly, just don#t wánt to push right áwáy, wánt to ping it once ágáin.
[18:05:25 CET] <philipl> Ok.
[19:03:27 CET] <cone-353> ffmpeg 03Andreas Cadhalpun 07master:9d83b209d886: mov: immediately return from mov_fix_index without old index entries
[19:03:28 CET] <cone-353> ffmpeg 03Andreas Cadhalpun 07master:e0c6b32046f4: apngdec: use side data to pass extradata to the decoder
[19:03:29 CET] <cone-353> ffmpeg 03Andreas Cadhalpun 07master:719c15aa9ad6: fate: add streamcopy test for apng
[21:03:21 CET] <cone-353> ffmpeg 03Michael Niedermayer 07master:7ddfa0be6298: avcodec/dnxhdenc: Fix alignment of edge_buf*
[22:31:59 CET] <cone-353> ffmpeg 03rogerdpack 07master:1a956c64c8ef: img2 encoder: allow %t in filename, based on patch from Yuval Adam
[22:32:00 CET] <cone-353> ffmpeg 03rogerdpack 07master:8459e6fd1227: img2 encoder: use more descriptive vsync names
[22:44:47 CET] <jamrial> michaelni: am i missing something or did the above commit just break lavf's API?
[22:45:00 CET] <jamrial> av_get_frame_filename2() is in 3.2
[22:47:49 CET] <cone-353> ffmpeg 03Vittorio Giovara 07master:2996604acda4: vf_colorspace: Add support for ycgco color space
[22:47:50 CET] <cone-353> ffmpeg 03Vittorio Giovara 07master:4697f6044489: vf_colorspace: Add support for smpte 431/432 (dci/display p3) primaries
[22:47:51 CET] <cone-353> ffmpeg 03Vittorio Giovara 07master:6f2ad32a167c: vf_colorspace: Add support for film primaries
[22:48:04 CET] <nevcairiel> That does seem to be the case
[23:00:18 CET] <michaelni> jamrial_, ill revert ASAP
[23:00:31 CET] <nevcairiel> For those interested, I'll try to resume merging the current avconv set tomorrow or later this week, hopefully we can get through this, but some steps will take some time to iron out the differences
[23:03:56 CET] <cone-353> ffmpeg 03Michael Niedermayer 07master:2b09a3ad1952: Revert "img2 encoder: allow %t in filename, based on patch from Yuval Adam"
[23:07:21 CET] <jamrial_> michaelni: there was no need to fully revert the patch. we could have just added a new function similar to this one, but private (to avoid having three public ones), and use it in img2enc
[23:07:45 CET] <jamrial_> but eh, not a problem, that still can be done. just with an uglier looking git history :p
[23:09:20 CET] <michaelni> i should have noticed the issue and not pushed this in the first place
[23:09:32 CET] <jamrial_> it was an honest mistake
[23:10:40 CET] <Chloe> 'i should have noticed the issue and not pushed this in the first place' this is literally so difficult
[23:10:59 CET] <jamrial_> Chloe: what?
[23:11:04 CET] <Chloe> it's so easy to make a mistake, it's impressive there aren't more
[23:11:34 CET] <Chloe> jamrial_: even with checking, you can easily make the same mistake twice if you're just reading over something
[23:13:59 CET] <jamrial_> in any case it was hardly an issue and easy to undo, unlike things like git tags, or noticing it after a release was made
[23:33:29 CET] <iive> Chloe: michaelni is actually a programming AI and it is not supposed to make any mistakes, at least when it is about code. ;)
[23:36:09 CET] <Chloe> scary
[00:00:00 CET] --- Wed Nov 2 2016
1
0
[03:26:02 CET] <MrMonkey31> *pop!* hey guys. okay, so I'm trimming a video and the audio ignores the setpts thingamajig. how to fix?
[03:26:48 CET] <MrMonkey31> ie, I select a 3 min clip from somewhere in the middle of a video, and its audio ends up being the first 3 minutes of audio
[03:27:22 CET] <DHE> there's a distinct audio filter set and asetpts filter
[03:29:13 CET] <MrMonkey31> oh oh oh. geez, thanks. yesh it's now coming back to me!
[03:38:50 CET] <qmr> any hints on making movie from a bunch of jpgs? everything I try is failing
[03:53:50 CET] <MrMonkey31> dudes... maybe it's the dummy pills, but I can't figure out what I'm doing with atrim. it won't take arguments in frames (predictably I suppose). must I divide by the framerate of the video?
[03:54:17 CET] <MrMonkey31> I haD tried "INPUT -vn -c:a flac -af 'atrim=start=(4625/23.976):end=(8307/23.976),asetpts=PTS-STARTPTS' scene1-1.flac
[03:54:32 CET] <MrMonkey31> "
[04:09:41 CET] <MrMonkey31> well, it appears it just doesn't want to do arithmetic as given above which I'm really unhappy about. I will be back l8r to re-whine this
[04:11:28 CET] <MrMonkey31> qmr, have you seen this page? http://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images
[04:12:00 CET] <qmr> no looking now thanks
[04:12:27 CET] <qmr> I know I tried the first command on that page from stack overflow and it did not work :(
[04:26:33 CET] <MrMonkey31> qmr, I just tested this line using a video file as source: ffmpeg -i in.mkv -vframes 280 -r 0.25 output_%02d.png && ffmpeg -i 'output_%02d.png' out.mkv
[04:26:53 CET] <MrMonkey31> that seems to do the trick
[04:27:53 CET] <MrMonkey31> if the 2nd half of that doesn't work for your images, then you might need to pre-process them somehow first
[05:10:27 CET] <madprops> hi
[05:10:52 CET] <madprops> im trying to convert an mp4 to swf with (ffmpeg -i uihuihu.mp4 mzb.swf) but im getting "ould not write header for output file #0 (incorrect codec parameters ?): Operation not permitted"
[06:58:27 CET] <t4nk842> Hi, I want to capture my screen with both StereoMix and microphone together, but I don't know how ! I use this but it doesn't work http://pastebin.com/ap4DqDam
[07:27:05 CET] <fling> How do I add an mkv thumbnail properly?
[07:28:50 CET] <fling> t4nk842: you might want to use multiple per input ffmpeg instances encoding to pipes and one ffmpeg reading from the pipes with big buffer and muxing all the streams together.
[07:29:21 CET] <fling> t4nk842: this was the only way I was able to keep multiple video and audio streams in sync kindof
[07:29:24 CET] <fling> But not reall!
[07:29:27 CET] <fling> y
[07:47:55 CET] <t4nk842> thank you guys i find the solution : just add a -filter_complex amix and that's it
[10:52:45 CET] <fling> How do I encode a thumbnail into a mkv stream?
[10:53:01 CET] <JEEB> is there a standard way of doing that :P
[10:53:22 CET] <DHE> you want to make a single image into a one-frame mkv ?
[10:53:44 CET] <JEEB> well depends on what is meant with "thumbnail"
[10:53:57 CET] <JEEB> it could be a thumbnail of a video stream in that file
[10:54:01 CET] <JEEB> in which case I have NFI
[10:54:28 CET] <JEEB> I know that some people make single-frame video stream and then the audio track with the content
[10:54:38 CET] <JEEB> *single-frame video streams
[10:54:49 CET] <furq> does ffmpeg even support thumbnails in m4a
[10:54:57 CET] <furq> i ended up using mp4box for that last time i needed it
[10:55:00 CET] <JEEB> is there a standard way of doing that?
[10:55:05 CET] <furq> no idea
[10:55:08 CET] <JEEB> mp4box is known to do random things that some random things support
[10:55:20 CET] <fling> DHE: JEEB: There I have a bunch of MP4 files and a single THM file. I'm about to merge them all into mkv and to reencode video strean to x265
[10:56:20 CET] <fling> I recently used ffmpeg to put coverart into a music file. Not sure how to proceed with a thumbnail placement in a mkv :P
[10:58:01 CET] <furq> JEEB: http://vpaste.net/lL1A6
[10:58:05 CET] <furq> it works in fb2k if nothing else
[10:58:57 CET] <furq> but yeah i'm not sure why you'd put a thumbnail image in a video file
[10:59:10 CET] <fling> JPEG image data, Exif standard: [TIFF image data, big-endian &&& frames 3
[10:59:17 CET] <fling> Looks like there are three frames in the thumbnail ^
[11:00:10 CET] <furq> probably different resolutions
[11:03:29 CET] <furq> you can attach images in mkvtoolnix but i doubt it'll do anything useful
[11:04:16 CET] <ritsuka> do you want a single cover art of a video stream that changes over time?
[11:04:29 CET] <furq> i'm guessing he wants a thumbnail image that displays in file browsers
[11:04:38 CET] <fling> ritsuka: no, I want to merge a video thumbnail into a mkv file :P
[11:04:55 CET] <ritsuka> what is exactly a video thumbnail?
[11:05:02 CET] <ritsuka> a single image?
[11:05:34 CET] <fling> ritsuka: a tiff file
[11:05:50 CET] <fling> ritsuka: thumbnail.thm with three frames in it
[11:05:56 CET] <ritsuka> ok, let's call it a cover art
[11:06:08 CET] <fling> But it is not.
[11:07:29 CET] <furq> i guess we'll never know
[11:07:38 CET] <ritsuka> see http://stackoverflow.com/questions/34137442/tagging-mkv-files-with-cover-im…
[11:08:02 CET] <fling> I'm pretty sure it is not a coverart.
[11:08:37 CET] <ritsuka> well, it's an image you want to see in explorer, same thing
[11:08:58 CET] <fling> Ok, thanks I will try this.
[11:14:57 CET] <fling> How to also keep all the metadata?
[11:15:17 CET] <furq> -map_metadata 0
[11:15:29 CET] <furq> i'm not sure how that'll work with concat though
[11:15:30 CET] <fling> furq: after every input?
[11:15:54 CET] <furq> no
[11:15:58 CET] <furq> 0 refers to the input file
[11:16:23 CET] <furq> -map_metadata 0 -map_metadata 2 will get you the metadata from inputs 0 and 2
[11:16:39 CET] <furq> like i said, i have no idea how that'll work with concat
[11:29:29 CET] <fling> I'm receiving a lot of Past duration 0.999992 too large messages
[12:05:53 CET] <Nihonjin> Hello everyone
[12:06:20 CET] <Nihonjin> is this issue of ffmpeg or Xorg or intel driver?
[12:06:22 CET] <Nihonjin> I using ffmpeg to video cast on my laptpo. my laptop have only VGA it is Intel HD 4000. when I use uxa AccelMethod in 20-intel.conf , Xorg cpu usage very very high 95% and don't have any issue on output ffmpeg but i can't do anything to my laptop. if i use SNA AccelMethod Xorg cpu usage is nornal 12% but in ffmpeg output i have tearing. now I don't know this issue is for intel driver or Xorg or this is a bug or other somthing
[12:07:37 CET] <fling> furq: thanks! Looks like the mkvmerge does the same thing attaching the thumbnail
[12:07:59 CET] <fling> I put the 'thumbnail' description into metadata of the stream
[12:08:21 CET] <fling> Btw looks like map_metadata is not copying inything >
[12:08:33 CET] <fling> But there is not much to copy. I set the timestamp manually anyway
[12:18:44 CET] <fling> I'm using crf=28 with libx265. With ultrafast preset I'm getting 1.3M output but with medium preset it is 2.4M! Why?
[12:18:54 CET] Action: fling is now trying veryslow
[12:20:37 CET] <fling> Whoops it is way too slow, 1.3fps, will not wait so long
[12:21:11 CET] <furq> at least with x264 it's normal to get higher bitrates with a slower preset
[12:21:18 CET] <furq> although probably not that much higher
[12:21:31 CET] <fling> I always thought it should be lower!
[12:21:38 CET] <furq> you'll get higher quality at the same crf value with a slower preset
[12:21:51 CET] <fling> crf sets the picture quality but the preset sets the filesize!
[12:22:01 CET] <fling> furq: how? why? :D
[12:22:24 CET] <furq> the picture quality determines the filesize
[12:22:31 CET] <fling> No.
[12:22:37 CET] <furq> at least with x264 you should get roughly the same filesize with any preset
[12:22:47 CET] <fling> Omg!
[12:23:24 CET] <fling> What is the point of crf then? :D
[12:23:35 CET] <furq> it determines the filesize
[12:24:47 CET] <furq> in my experience that's true of everything between medium and veryslow
[12:24:51 CET] <TAFB2> i always use "ultraslow" and minimum of crf 16 for any not live stuff.
[12:24:53 CET] <furq> i've barely touched anything else
[12:25:01 CET] <TAFB2> veryslow, sorry :D
[12:25:11 CET] <furq> all bets are off with ultrafast
[12:25:46 CET] <TAFB2> ultrafast is only good for crf 0 :)
[12:25:56 CET] <furq> i normally use slower at crf 19-21
[12:26:01 CET] <furq> 21 for hd sources
[12:26:21 CET] <TAFB2> nice nice. how many threads?
[12:26:27 CET] <furq> the default
[12:26:28 CET] <TAFB2> I've heard you can get better quality with a single thread
[12:26:30 CET] <furq> which i guess is 12
[12:26:49 CET] <furq> are you sure that's not referring to slice threading
[12:26:51 CET] <TAFB2> nice. I was compressing stuff with 24 and noticed a bit of quality reduction (nice and fast though)
[12:27:01 CET] <furq> i don't think frame threading incurs any quality loss
[12:28:30 CET] <TAFB2> if you run the same ffmpeg command twice (on say the same 2 hour 4k movie down convert to 1080p), should the resulting files be identical?
[12:28:43 CET] <furq> depends on the encoder and the muxer
[12:29:10 CET] <TAFB2> x264, mp4
[12:29:15 CET] <furq> with x264 it depends on the options set
[12:29:22 CET] <TAFB2> same command
[12:29:24 CET] <furq> https://mailman.videolan.org/pipermail/x264-devel/2015-April/011035.html
[12:30:00 CET] <TAFB2> ahhh. so my differing files with 24 threads might not be a quality loss, just different :D
[12:30:13 CET] <furq> it should be deterministic unless the vbv is enabled
[12:30:14 CET] <TAFB2> looked a little worse to me I swear though, and file size was slightly bigger.
[12:31:16 CET] <TAFB2> good to know. it was a while ago. I'll give my 24 core monster another go and see how she does.
[12:31:30 CET] <fling> furq: crf 21 for x265?
[12:31:34 CET] <furq> x264
[12:31:45 CET] <furq> TAFB2: you should be using 36 threads with 24 cores
[12:31:51 CET] <furq> it'll default to that anyway
[12:31:55 CET] <fling> furq: What do you use for x265?
[12:32:01 CET] <furq> i don't use x265
[12:32:07 CET] <fling> Why?
[12:32:31 CET] <furq> too slow, poor support
[12:32:53 CET] <furq> and the poor support is partly because of the insane licensing
[12:33:04 CET] <furq> which means there's a good chance it'll never be well supported
[12:33:14 CET] <TAFB2> i uploaded some stuff in x265, omg the complaints :(
[12:33:27 CET] <furq> also ffmpeg's x265 decoder is incredibly slow
[12:33:30 CET] <furq> s/x/h/
[12:33:51 CET] <furq> which means mpv's decoder is equally bad
[12:34:51 CET] <fling> x264 is producing nine times bigger file at the same crf 21 :<
[12:35:02 CET] <furq> the crf values don't map between the two
[12:35:38 CET] <nonex86> i used nvidia h265 encoder from ffmpeg, it was pretty fast
[12:36:29 CET] <fling> nonex86: how good is the quality?
[12:38:07 CET] <furq> TAFB2: that non-deterministic output might be down to swscale actually
[12:38:22 CET] <fling> looks like I'm getting 'Past duration 0.999992 too large' because of the three-frame metadata stream
[12:38:29 CET] <fling> How to hide these messages? ^
[12:38:39 CET] <furq> -v error
[12:38:57 CET] <fling> But I want to see other warnings :P
[12:40:06 CET] <TAFB2> furq: yeah, looks like it. running some tests now, using 36 threads with 24 cores my media computer turned off, haven't encoded on it in a while, gotta blow the dust outa the fans I think :D
[12:41:03 CET] <nonex86> fling: honestly speaking it was just a test run, so i dont bothered about result
[12:42:14 CET] <nonex86> fling: i take h264 video and convert it to h265 without specifying any parameters
[13:32:02 CET] <m_o_d> hi,
[13:35:13 CET] <m_o_d> i want to do screen capture on linux desktop, i was using vokoscreen for fronted but yesterday it stoped working. From what i know vokoscreen use ffmpeg with command line: /usr/bin/ffmpeg -report -f x11grab -framerate 25 -video_size 3198x1798 -i :0+0,0 -f alsa -i pulse -pix_fmt yuv420p -c:v mpeg4 -c:a libmp3lame -q:v 1 -s 3200x1800 output.mkv
[13:36:47 CET] <DHE> conceptually that works. -q:v will produce a very high bitrate, and stretching for 2 pixels is a lot of cpu expended for fairly minimal benefit
[13:37:19 CET] <furq> eww, mpeg4
[13:37:26 CET] <DHE> that too
[13:37:41 CET] <furq> does mpeg4 support mod2 dimensions
[13:37:48 CET] <furq> i vaguely remember it needing mod16 but it's been a while
[13:38:06 CET] <DHE> I know for a fact h264 is fine with any non-odd dimensions (though 16x16 is optimal)
[13:38:13 CET] <furq> actually 1800 isn't mod16 is it
[13:38:17 CET] <DHE> no it isn't
[13:38:25 CET] <DHE> neither is 1080 actually
[13:40:02 CET] <m_o_d> when i run command i see that ffmpeg record between 3-15 frames, the rest is droped. Output from ffmpeg: frame= 13 fps=1.3 q=-1.0 Lsize= 127kB time=00:00:00.40 bitrate=2605.6kbits/s dup=0 drop=263 speed=0.039x
[13:40:28 CET] <DHE> you're most likely bottlenecked on CPU. that's fairly easy to check
[13:40:49 CET] <DHE> in all seriousness, try codec libx264 with -preset:v veryfast
[13:41:05 CET] <furq> yeah x264 should be both faster and better
[13:41:10 CET] <furq> and more widely compatible
[13:41:59 CET] <m_o_d> i have used ultrafast like: ffmpeg -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0 -c:v libx264 -qp 0 -preset ultrafast capture.mkv without any difference
[13:44:12 CET] <m_o_d> for command with -video_size 1920x1080 i changed resolution of desktop to FHD
[14:10:16 CET] <fling> What should I put as NAME and DESCRIPTION metadata tags of a thumbnail stream in a mkv file?
[14:11:56 CET] <fling> Also what does 'none' mean in "Stream #0:2: Attachment: none" ?
[14:36:29 CET] <relaxed> m_o_d: the input framerate is likeyly 60 fps
[14:36:38 CET] <relaxed> likely*
[14:48:59 CET] <m_o_d> relaxed, i used: ffmpeg -video_size 3198x1798 -framerate 60 -f x11grab -i :0.0 -c:v libx264 -qp 0 -preset ultrafast capture.mkv and the output frame= 2 fps=0.1 q=-1.0 Lsize= 2212kB time=00:00:00.01 bitrate=1006639.6kbits/s dup=0 drop=343 speed=0.0012x
[14:54:32 CET] <furq> that's 125MB/s
[14:54:35 CET] <furq> is your disk keeping up
[14:57:13 CET] <furq> m_o_d: replace `capture.mkv` with `-f null -`
[14:57:25 CET] <furq> if that runs at full speed then your disk is probably the culprit
[14:59:49 CET] <m_o_d> furq, http://pastebin.com/6d4kSRrH
[15:05:54 CET] <fling> m_o_d: atop will tell you what is actually your bottleneck
[15:06:12 CET] <fling> m_o_d: also try huffyuv instead of x264&
[15:10:01 CET] <m_o_d> to me the problem is not in the hardware because it worked before yesterday
[17:13:52 CET] <madprops> how can i control the bitrate when converting from mp4 to swf? -v:b or -b:v or -q:v have no effect
[17:14:16 CET] <madprops> oh wait i think they do
[17:15:24 CET] <BtbN> do you meán flvß
[17:40:37 CET] <[-T-]> hey
[19:06:26 CET] <ciawal> Im struggling to find a way to overlay an image onto only the last frame of an input video
[19:06:26 CET] <ciawal> I have it working fine for frame 0, but it seems theres no constant for the frame count in ffmpeg, so I have to read the frame count first with ffprobe and then do the processing but the frame count I read is not the same as what ffmpeg is using
[19:17:05 CET] <deweydb> llogan: deweydb: an appropriate scaling algorithm is probably more important. but why upscale?
[19:17:18 CET] <deweydb> because it gets scaled up on youtube anyway.
[19:17:59 CET] <deweydb> for example, if a user gives me a 240p video, it gets played back as 480p by default video player size on youtube
[19:18:19 CET] <svenxy> what does ":v" mean in this input: [0:v]pad=iw*2:ih*2[a]; ref https://trac.ffmpeg.org/wiki/FilteringGuide#multipleinputoverlayin2x2grid
[19:18:23 CET] <deweydb> but i am also adding some sections to the video, a motion graphic, etc. these i have better sources for
[19:18:27 CET] <DHE> depends on what you're doing. I've upscaled 576p to 720p because otherwise youtube only produces 480p
[19:18:38 CET] <DHE> svenxy: 0:v is the video stream of file 0
[19:18:47 CET] <deweydb> so i would prefer to scale the one low quality part of the video myself, so that not ALL of the video is scaled by youtube.
[19:18:58 CET] <svenxy> DHE: ah, so there's an corresponding :a, then?
[19:19:05 CET] <llogan> deweydb: see "flags" option in scale filter.
[19:19:15 CET] <deweydb> thanks
[19:19:21 CET] <DHE> svenxy: yes, assuming the video has an audio track
[19:19:28 CET] <svenxy> DHE: ok, thanks.
[19:19:55 CET] Action: DHE is pedantic a lot. :)
[19:21:06 CET] <llogan> svenxy: that guide is outdated. vstack and hstack is easier than pad+overlays
[19:22:06 CET] <svenxy> llogan: ok, i was just wondering about the input syntax, though; it wasn't explained anywhere that i could find
[19:22:15 CET] <DHE> ah, I remember the good old days of writing C to stack my videos' RGB32 output manually.
[19:22:37 CET] <DHE> svenxy: https://ffmpeg.org/ffmpeg-filters.html#hstack
[19:22:59 CET] <DHE> that whole page is extensive (and very long) documentation on filters. see the top for how to use filter_complex, etc
[19:24:04 CET] <svenxy> right, but it doesn't actually mention the :v and :a options, as far as i can see. but now i know :)
[19:24:56 CET] <DHE> fair enough. it's used in the examples but not explained
[19:26:28 CET] <svenxy> i've been wondering about the tblend filter: "[it] takes two consecutive frames from one single stream, and outputs the result obtained by blending [them]"
[19:26:39 CET] <svenxy> when a filter "takes" a frame, does it actually move the "current frame offset"?
[19:27:24 CET] <DHE> yes, it should cut the framerate in half
[19:27:41 CET] <DHE> if the video contained a timer, said timer would still be accurate
[19:27:47 CET] <svenxy> okay
[19:28:11 CET] <svenxy> after a filter has "taken" a frame, can i "rewind" the current frame offset somehow, so that the next filter would take the same frame?
[19:28:29 CET] <DHE> use `split` if you need two filters to see the same frame
[19:28:40 CET] <svenxy> aha, that makes sense
[19:28:52 CET] <DHE> or if said frame comes straight straight frmo the source you can just specify 0:v multiple times
[19:29:09 CET] <svenxy> so there's a per-input frame offset, not a global one that applies to all inputs
[19:30:36 CET] <DHE> frames have a timestamp on them. if it's 30fps material then each timestamp increases by about 0.033s each frame
[19:30:47 CET] <DHE> there's a setfps filter to rewrite timestamps if you're getting really tricky
[20:47:50 CET] <svenxy> ah, loving these motion blur examples: http://nico-lab.net/motion_blur_with_ffmpeg/ -- just what i was looking for
[21:41:08 CET] <zeryx> holy shit there's motion blur
[21:41:14 CET] <zeryx> thats..actually potentially incredibly useful for me
[21:41:20 CET] <zeryx> thanks for linking that svenxy
[21:43:27 CET] <BtbN> that looks horribly slow
[21:49:51 CET] <svenxy> the first approach is pretty fast and nice. it flickers on scene changes, though.
[21:50:18 CET] <svenxy> they also have an example using the minterpolate alternative: http://nico-lab.net/minterpolate_with_ffmpeg/ (minterpolate is only available since v3.2)
[00:00:00 CET] --- Wed Nov 2 2016
1
0
[00:10:48 CET] <jamrial> mmh, archlinux had to rebuild their mpv package for ffmpeg 3.2 even though it shouldn't have been necessary
[00:10:54 CET] <jamrial> did we break abi again without realizing it?
[00:15:25 CET] <jamrial> looks like every other package worked fine without having to recompile
[00:16:54 CET] <philipl> mpv will throw an error if any version component changed.
[00:17:19 CET] <philipl> wm4 decided not to risk anything.
[00:18:35 CET] <jamrial> ah, i see
[00:24:39 CET] <cone-078> ffmpeg 03Michael Niedermayer 07master:a6330119a099: avcodec/msrle: Check side data size before use
[01:03:31 CET] <cone-078> ffmpeg 03Michael Niedermayer 07master:7d196f2a5a48: avcodec/qtrle: Check side data size before use
[01:03:32 CET] <cone-078> ffmpeg 03Michael Niedermayer 07master:16793504dfba: avcodec/qpeg: Check side data size before use
[02:13:38 CET] <cone-078> ffmpeg 03Michael Niedermayer 07master:161ccdaa06d1: avcodec/msvideo1: Check side data size before use
[02:13:39 CET] <cone-078> ffmpeg 03Michael Niedermayer 07master:0f64b6cd2241: avcodec/rscc: Check side data size before use
[02:13:40 CET] <cone-078> ffmpeg 03Michael Niedermayer 07master:5f0bc0215a0f: avcodec/rawdec: Check side data size before use
[04:56:45 CET] <cone-078> ffmpeg 03Reynaldo H. Verdejo Pinochet 07master:894e7ef9b425: configure: add '-uninstalled' to uninstalled .pc files
[14:46:20 CET] <cone-965> ffmpeg 03Sasi Inguva 07master:5e965582d512: lavf/mov.c: Use the correct timescale when seeking for audio.
[20:32:59 CET] <atomnuker> BBB: ycgco support would be nice for vf_colorspace
[20:33:12 CET] <BBB> I oked the patch right?
[20:33:20 CET] <atomnuker> would there be any rounding errors going through XYZ first?
[20:33:23 CET] <BBB> I usually leave them out for a bit before pushing
[20:33:40 CET] <BBB> theres always rounding errors, but theres no statistical bias
[20:33:53 CET] <BBB> (i.e. the error is equally much up as it is down)
[20:34:06 CET] <atomnuker> btw, why xyz as the intermediate format rather than rgb?
[20:34:48 CET] <BBB> rgb is not device-independent
[20:35:02 CET] <atomnuker> device independent?
[20:35:11 CET] <BBB> i.e. a particular value for rgb when colorspace is sRGB is not the same as that same value for rgb in bt2020
[20:35:21 CET] <BBB> or DCI-P3, or whatnot
[20:36:40 CET] <BBB> if you have 8-bits-per-component values, with a range of 0-255, then youd hope that a particular tri-component value pair r, g, b has a fixed meaning in terms of color perception
[20:36:43 CET] <BBB> but thats not the case
[20:36:53 CET] <BBB> its basically set for a particular generation of devices
[20:37:15 CET] <ubitux> btw, speaking of xyz, apparently some people use lut3d to do arbitrary colorspace convert
[20:37:17 CET] <BBB> and so bt601 rgb values have a different meaning from srgb or bt2020 or dci-p3 or [etc]
[20:37:30 CET] <ubitux> there are many 3d lut out there for colorspace convert
[20:41:42 CET] <BBB> assuming your input range is small (e.g. 8bpc tricomponent means the lut is only pow(2,8*3)=16MB?), thats doable
[20:42:38 CET] <BBB> but as your input grows (e.g. assume 10bit input or 12bit input), the table gets excessively big (pow(2,12*3)=64giga-items of 12 bits each=96 or 128GB memory depending on how you store them)
[20:42:46 CET] <BBB> that may be a little much
[20:43:31 CET] <BBB> you could reasonably use vf_colorspace to fill the lut :)
[20:43:41 CET] <BBB> but thats up to users I guess
[20:43:44 CET] <ubitux> 3d lut do not define all the points
[20:43:47 CET] <cone-953> ffmpeg 03Mark Thompson 07master:4df6605da7e3: vc1: Return stream format information from parser
[20:43:48 CET] <cone-953> ffmpeg 03Mark Thompson 07master:0c559f7893e6: hevc: Return stream format information from parser
[20:43:49 CET] <cone-953> ffmpeg 03Mark Thompson 07master:309fe16a126c: mpegvideo: Return correct coded frame sizes from parser
[20:43:50 CET] <cone-953> ffmpeg 03Mark Thompson 07master:1f26a231bb06: qsv: Merge libav implementation
[20:43:51 CET] <cone-953> ffmpeg 03Mark Thompson 07master:4e7a7a96cfc8: qsvdec: Avoid probing with qsv decoders
[20:43:52 CET] <cone-953> ffmpeg 03Kyle Schwarz 07master:5d542936680e: avcodec/qsv: remove MFX_EXTBUFF_CODING_OPTION3
[20:44:08 CET] <ubitux> there is N-points data interpolation on a 3d space
[20:44:34 CET] <ubitux> most popular one is tetrahedral
[20:46:02 CET] <BBB> I guess Im not totally familiar with how lut3d works
[20:46:15 CET] <BBB> but in general it makes sense yes
[20:46:52 CET] <ubitux> it's generally pretty useful to register a complex color transformation as a 3d lut to re-do it fast
[20:47:39 CET] <BBB> atomnuker: also, related to rounding error, the intermediates are quite a bit bigger than the source/dest bitdepth, so any rounding error in intermediates is at much higher resolution than is relevant for the final values, so the impact should be negligibly small _on average_
[20:47:56 CET] <BBB> ubitux: I agree
[20:47:59 CET] <ubitux> ffmpeg can btw use a 3d lut saved as a video stream if your transform evolves over time </advert>
[20:48:05 CET] <atomnuker> yeah, makes sense
[20:48:21 CET] <atomnuker> I can't wait to test encoding some rgbs to ycgco dirac
[20:48:31 CET] <atomnuker> (and decoding too, because that hasn't been tested)
[20:48:37 CET] <BBB> (Im stressing the on average, because Im sure you can make some crazy test cases where it does impact the end result)
[20:48:45 CET] <BBB> decoding would be cool yes
[20:48:52 CET] <BBB> isnt there one ycgco clip in the h264 fate test set?
[20:49:11 CET] <atomnuker> though considering chroma coefficients are going to be less for ycgco compression will be worse considering dirac's horrible quantization
[20:49:34 CET] <BBB> is this just for testing?
[20:49:42 CET] <BBB> or do you really want to do something significant with it?
[20:50:10 CET] <BBB> my impression has always been that ycgco is like a cheap yuv if your target format is rgb but youd like to split color from luma somewhat for encoding purposes
[20:50:30 CET] <BBB> since the conversion between rgb and ycgco is simpler (2 butterflies) than rgb-yuv (complete 3x3 matrix)
[20:50:47 CET] <BBB> I guess the inverse is a little bit more complex but still very simple
[20:52:04 CET] <ubitux> BBB: you can try btw; something like ffmpeg -f lavfi -i haldclutsrc=8 -vf colorspace=ycgco -frames:v 1 clut.png; then compare ffmpeg -i in -vf colorspace=ycgco ... to ffmpeg -i in -i clut.png -lavfi '[0][1] haldclut' ...
[20:52:13 CET] <ubitux> s/to/with/
[20:52:21 CET] <ubitux> and see what sort of precision you loose
[20:57:15 CET] <jkqxz> relaxed: Have you ever investigated making your static builds with vaapi support? (I'm wondering about <https://trac.ffmpeg.org/ticket/5920>: does static-built libva work at all?)
[20:58:15 CET] <jkqxz> (I followed the same steps as in that bug and observe than libva segfaults in initialisation.)
[21:07:17 CET] <drv> I believe reall-fully-static Linux binaries can't use libdl at all (I'm surprised it even links)
[21:11:03 CET] <atomnuker> BBB: testing only, there hasn't been a way to generate ycgco up until now despite some codecs supporting it
[21:11:47 CET] <atomnuker> well, an easy way without having to dump raw rgb and converting it yourself
[21:12:42 CET] <TD-Linux> BBB, it also loses less to precision if you're converting from an RGB source (like screen capture) and limited to 8 bits
[21:13:08 CET] <TD-Linux> the downside of course being the worse decorrelation, so it only makes sense if you're running at a high enough bitrate
[21:13:20 CET] <jkqxz> drv: It makes sense that it doesn't work, but a nice explanation as to why would be helpful for that bug.
[21:15:55 CET] <cone-953> ffmpeg 03Vittorio Giovara 07master:5a123f1424fe: vf_colorspace: Add support for iec61966-2.4 (xvYCC) transfer
[21:17:44 CET] <TD-Linux> actually according to this it decorrelates better: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/06/Malvar_…
[21:20:40 CET] <BBB> michaelni: if you prefer to have me apply the patches, Ill probably do it tomorrow& the only reason I Dont apply immediately is to give others a chance to chime in also (just in case youre wondering why Im lazy and letting you do patchmonkey work)
[23:21:06 CET] <cone-953> ffmpeg 03Michael Niedermayer 07master:e167610794db: avcodec/rscc: Fix constant
[23:21:07 CET] <cone-953> ffmpeg 03Michael Niedermayer 07master:979bca513424: avcodec/tscc: Check side data size before use
[23:21:08 CET] <cone-953> ffmpeg 03Michael Niedermayer 07master:140f48b90fbe: avcodec/smc: Check side data size before use
[00:00:00 CET] --- Tue Nov 1 2016
1
0
[00:00:42 CET] <deweydb> no?
[00:00:46 CET] <deweydb> trying now with that.
[00:00:48 CET] <deweydb> its hella slow
[00:00:58 CET] <deweydb> or maybe just hanging.
[00:01:02 CET] <deweydb> oh.. nope. just REALLY slow
[00:01:04 CET] <c_14> it's slow
[00:01:26 CET] <deweydb> ok now i have a param: "nb_read_frames": "2071" ?
[00:01:33 CET] <c_14> yep
[00:02:07 CET] <deweydb> heh this is going to change my whole design. lol. i was being lazy and calling that metadata command frequently without caching cause it was fast.
[00:02:28 CET] <deweydb> thanks for your help man!
[01:13:21 CET] <deweydb> c_14 if you're still around can you help me understand what i'm doing wrong here: http://pastebin.com/x1aDHw2g
[01:13:29 CET] <deweydb> i'm trying to extract some I frames from a video
[01:14:01 CET] <deweydb> i know that the video is roughly 70 seconds long, so a start time of 7.67 and a duration of 4seconds should be ok.
[01:14:10 CET] <deweydb> maybe this type of video doesn't have I frames?
[01:19:15 CET] <c_14> Not sure, never had that issue. You can check if there are any i-frames around that point with ffprobe -v quiet -show_entries frame=pict_type,pkt_pts_time -select_streams v -count_frames -of flat file | grep -B1 I
[01:19:38 CET] <deweydb> i have expanded the timeframe from -ss 0 -t 69
[01:19:43 CET] <deweydb> and still get 0 results
[01:19:57 CET] <deweydb> but i'll take a look at the whole file with ffprobe
[01:19:58 CET] <deweydb> sec
[01:21:26 CET] <deweydb> yeah, the command you just gave me gave me 0 results. is it possible for a video to have no I frames?
[01:22:15 CET] <c_14> yes and no; In your specific case, yes.
[01:22:56 CET] <c_14> If you want the video to be playable, it needs an i-frame somewhere (or intra-refresh or something) but you can cut a video so that the resulting file does not have any i-frames
[01:23:01 CET] <deweydb> file in question: https://usercontent.bid13.com/original_videos/v/t/vtCBJR6ekJjNs4JsgzgAFZSjO…
[01:23:24 CET] <deweydb> it plays fine in VLC
[01:23:41 CET] <deweydb> not the greatest camera work, but otherwise, plays fine.
[01:24:22 CET] <c_14> just downloaded the file
[01:24:25 CET] <c_14> plenty of i-frames
[01:24:58 CET] <deweydb> you get results from that command?
[01:24:59 CET] <deweydb> ffprobe -v quiet -show_entries frame=pict_type,pkt_pts_time -select_streams v -count_frames -of flat /var/www/usercontent.bid13.com/original_videos/v/t/vtCBJR6ekJjNs4JsgzgAFZSjOMFCtITIfYdD5pugzB4.MTS | grep -B1 I
[01:26:18 CET] <c_14> yep
[01:26:26 CET] <c_14> And running the command in your pastebin also produces output
[01:26:34 CET] <deweydb> waaaaaat?
[01:26:35 CET] <c_14> (although it also prints the h264 warnings)
[01:26:39 CET] <deweydb> oh maybe ffmpeg version?
[01:26:44 CET] <c_14> could be
[01:26:53 CET] Action: c_14 is running git head from yesterday
[01:26:56 CET] <deweydb> ffmpeg version 2.8.6-1ubuntu2
[01:27:05 CET] <deweydb> im probably a bit out of date
[01:27:08 CET] <c_14> try a static build
[01:27:10 CET] <c_14> http://johnvansickle.com/ffmpeg/
[01:27:20 CET] <deweydb> i forget why, but i needed to compile
[01:27:25 CET] <deweydb> i think for opentype support
[01:27:41 CET] <deweydb> but let me try on my local and see if that makes a difference
[01:27:42 CET] <deweydb> super weird
[01:35:44 CET] <deweydb> yup, thsoe static builds get me I frames.
[01:35:46 CET] <deweydb> interesting.
[01:35:55 CET] <deweydb> but even latest from ubuntu repo does not.
[02:10:48 CET] <deweydb> is this guy: https://launchpad.net/~jonathonf/+archive/ubuntu/ffmpeg-3 in this channel?
[02:10:57 CET] <deweydb> can't for the life of me get this PPA to work
[02:11:08 CET] <deweydb> libavcodec-extra57 : Depends: libavutil55 (>= 7:3.2) but 7:3.2-0~16.04.york0 is to be installed
[03:46:16 CET] <Wiki61> I am trying to host a ts/udp stream on an html page, i have used ffmpeg in the past for simple stuff but am wondering if it would work for this project
[03:46:44 CET] <Wiki61> i am reading the wiki for streaming but not really seeing what I am looking for
[03:48:39 CET] <Wiki61> Or not even the html viewer, and just watch it with vlc
[07:59:39 CET] <k_sze[work]> wow
[07:59:49 CET] <k_sze[work]> there will be motion estimation in ffv1
[07:59:57 CET] <k_sze[work]> when is it landing in releases?
[08:00:15 CET] <k_sze[work]> Or is there a branch that I can play with?
[08:01:03 CET] <k_sze[work]> I wish the ffmpeg news page has links to the relevant branch or commit.
[08:02:45 CET] <k_sze[work]> It's a bit funny how the GSoC page implies that FFV1 is not competitive enough vs existing I+P frame lossless codecs.
[08:03:26 CET] <k_sze[work]> I think I have tested ffvhuff and huffyuv, both are horrible in terms of compression ratio, compared to ffv1.
[08:03:38 CET] <k_sze[work]> So I'm not sure where that claim comes from.
[08:03:54 CET] <k_sze[work]> libx264's lossless mode is also really bad.
[08:04:00 CET] <JEEB> yeah, those both are *very* simple while ffv1 is much less simple. what you'd generally be comparing ffv1 against would be libx264's lossless mode etc
[08:04:02 CET] <furq> x264 lossless seems pretty good
[08:04:16 CET] <furq> there are also plenty of other competitive lossless codecs
[08:04:46 CET] <JEEB> but in any case, ffv1 is nice, at least seems to be better than it was in late 2012/early 2013 when encoding was OK, but decoding was slow as hell
[08:05:07 CET] Action: JEEB decided to use ffv1 back then and then hit his head against the wall when trying to decode it
[08:05:26 CET] <JEEB> now it has multithreading and all that fancy stuff
[08:05:34 CET] <k_sze[work]> yes, it's fast now.
[08:05:35 CET] <furq> i remember x264 lossless being hopeless for decoding but it's better than ffv1 now
[08:05:48 CET] <k_sze[work]> We use it to archive some 16-bit grayscale stuff.
[08:06:08 CET] <JEEB> I don't remember x264 lossless ever being slow in decoding, like even in '07. the AVC decoder was always rather optimized so it never popped up
[08:06:19 CET] <furq> maybe it was just me
[08:06:38 CET] <JEEB> the primary thing was that people tended to forget to set shorter GOPs if they needed very quick seeking
[08:59:31 CET] <kerio> can x264 do grayscale?
[09:10:38 CET] <furq> doesn't look like it
[09:12:05 CET] <kerio> honestly lossless mjpeg2000 isn't even half bad
[09:15:09 CET] <flux> is it still patent-encumbered?
[09:15:33 CET] <flux> or is the lossless different from the normal jpeg2k
[09:20:28 CET] <kerio> idk
[09:20:50 CET] <kerio> matlab can write lossless mjpeg2000 tho :<
[09:21:15 CET] <kerio> which is good because every lossy compression option it has is ABSOLUTELY AWFUL
[11:19:28 CET] <nonex86> guys, does anyone expirienced using avformat_seek_file()? how stable is it? I noticed a problems with it on some container when seeking for keyframes
[11:20:38 CET] <nonex86> for example i am failed to seek on mpeg2 ps, mpeg2 video
[11:21:20 CET] <nonex86> also the function did not return any error, but i got some garbage when reading
[11:25:45 CET] <JEEB> those don't have an index
[11:26:04 CET] <JEEB> if you need "frame-exact" seeking you will have to utilize something like ffms2, which creates an index
[11:26:26 CET] <JEEB> so it goes through the thing once, indexes and then you can utilize its API to get the decoded images etc
[11:26:46 CET] <JEEB> will not help if you need the data before decoding, of course
[12:43:00 CET] <nonex86> JEEB: i see, i already build an index myself, but how can i be sure it works? For example, right now every mkv/h264 streams i tested works perfectly - no problems with seeking on keyframes. But will it work always on mkv/h264? avformat_seek_file() doesnt return an error on mpeg2 streams i have, but actually it doesnt work :(
[12:44:20 CET] <nonex86> so the question is can i use avformat_seek_file() on h264 in mkv and will it always work correctly
[13:04:50 CET] <JEEB> nonex86: if the files have correct timestamps and seek point flags it should work
[13:05:14 CET] <JEEB> if you already make an index then just use the byte-wise serking mode?
[13:05:29 CET] <JEEB> that way you can utilize your index :4
[13:05:49 CET] <nonex86> JEEB: well, indexing process can take some time i want avoid it if i can
[13:06:26 CET] <nonex86> JEEB: so, if avformat_seek_file() will work on keyframe basis i will not index the file
[13:07:05 CET] <nonex86> JEEB: but yes, you are right, after indexing process i can do byte-seeking
[13:19:14 CET] <nonex86> JEEB: btw, what about mp4 container? can i seek on it using keyframe seeking?
[15:10:13 CET] <furq> shouldn't -xerror quit after the first error
[15:10:26 CET] <furq> i'm getting hundreds of lines of error logs before it quits
[15:31:19 CET] <thebombzen> now out of curiosity, from the lossless codec discussion before, I've noticed that ffv1 is generally the best if I care more about archiving than about speed.
[15:32:06 CET] <furq> x264 lossless is much more competitive than i thought
[15:32:14 CET] <thebombzen> but I actually think that utvideo might be the best for realtime HD encoding. I think it's better than ffvhuff, though I've yet to do actual data collection.
[15:38:08 CET] <nonex86> JEEB, looks like mp4 is unable to do byte seaking :/ at least iformat has AVFMT_NO_BYTE_SEEK, now i am totally confused :/
[17:56:40 CET] <mykNCSA> Hello, is it possible to have ffmpeg capture the stream from a camera, transcode it to a different resolution and present it as a source for other applications to use?
[17:57:26 CET] <mykNCSA> I'm trying to use a BMD Intensity Pro card with Webex and my camera only outputs 1080i and Webex won't support anything above 720
[17:59:22 CET] <klaxa> like this? ffmpeg -f <format> -i <input> -s 1280x720 -c:v libx264 -preset veryfast -f <format> pipe:1
[18:00:24 CET] <klaxa> if your camera is v4l2 and your other application can read matroska it would be: ffmpeg -f v4l2 -i /dev/video0 -s 1280x720 -c:v libx264 -preset veryfast -f matroska pipe:1 | <program2> -
[18:00:55 CET] <klaxa> that is one possibility, i'm sure someone else can come up with something better
[18:01:27 CET] <sam> what is a reasonably polite delay before pinging ffmpeg-devel about a patch for a fix that got no answer or apparent attention?
[18:04:44 CET] <mykNCSA> Would pipe:1 work in Windows? I'm thinking I'd need to use the dshow flag somehow
[18:15:18 CET] <furq> pipes work fine on windows
[18:16:25 CET] <kerio> mykNCSA: it won't show up as a camera tho
[18:19:55 CET] <mykNCSA> ok, thanks, so that's what I'm looking for, getting ffmpeg to transcode the capture from the Intensity Pro card, and present it as a different camera source so Webex can see it
[18:23:47 CET] <BtbN> ffmpeg does not act as dshow source.
[18:24:01 CET] <kerio> not with that attitude
[18:39:06 CET] <mykNCSA> ok, I've been looking at the decklink output device, I might be able to capture using dshow, transcode and output with decklink. any thoughts?
[18:52:35 CET] <c_14> sam: 1-2 weeks or thereabouts
[19:17:13 CET] <ChocolateArmpits> Hi, I seemingly have an issue with directshow input. Ffmpeg it seems is unable to access pin 2 of the input that contains an interleaved video/audio dv stream. pin 1 contains only the video stream and that is useless to me. VLC and Graphedit handle both pins without problems.
[19:34:25 CET] <sam> c_14: thanks
[19:51:29 CET] <insp3ori0n> hey guys, is it possible to invert audio with ffmpeg? so when i would have a sine wave it would be phaseshhifted 90°
[19:52:22 CET] <DHE> insp3ori0n: https://ffmpeg.org/ffmpeg-filters.html#Examples-3 Does this help?
[19:53:43 CET] <insp3ori0n> that looks good!
[20:13:12 CET] <insp3ori0n> is there a way to process audio live? so mic input, through filter to output
[20:14:46 CET] <insp3ori0n> and output would be aux out for example
[20:26:55 CET] <dchana> hi, can ffmpeg do subtitles burn-in with .CAP files, for Japanese characters?
[20:27:09 CET] <dchana> the docs says it supports only .SRT and .ASS
[20:27:20 CET] <JEEB> give samples and support might come
[20:27:26 CET] <JEEB> + post them on the bug tracker
[20:27:55 CET] <JEEB> is that an official format or just ARIB B-24 stuff ripped or something?
[20:28:32 CET] <dchana> it's an official format
[20:28:41 CET] <dchana> Netflix has a guide for studios to create them
[20:28:42 CET] <dchana> https://drive.google.com/file/d/0B9DJydDVOVKKLTJpU3Qtei02NGxzZ0c0QUp6VXAwNU…
[20:29:05 CET] <JEEB> oh shit
[20:29:10 CET] <JEEB> I might have seen that somewhere
[20:29:21 CET] <JEEB> probably someone posted something similar on #aegisub
[20:29:33 CET] <dchana> the tricky thing, imo, is that this format allows vertical characters displayed, and ruby
[20:29:44 CET] <dchana> smaller char on top and bottom of the normal subtitles
[20:30:15 CET] <JEEB> sure, it's a major PITA to try and do that in ASS for example, which IIRC is still our internal representation. Unless we have ruby support separately.
[20:30:29 CET] <JEEB> that said, that's closer to presentation than actually parsing it all
[20:30:55 CET] <JEEB> and most people would rather be interested in presentation than conversion into other formats... maybe?
[20:31:26 CET] <JEEB> dchana: anyways make an issue on the tracker for that if you really need it, and with what use case
[20:31:51 CET] <JEEB> as in, conversion or just hardsubbing (rendering on the video surface)
[20:32:02 CET] <dchana> just curious, how long does it take for a feature like this to get implemented by the team?
[20:32:30 CET] <JEEB> depends on if someone is actually interested in it
[20:32:38 CET] <dchana> and is there any opportunity that I can participate in doing it?
[20:32:41 CET] <JEEB> sure
[20:33:02 CET] <JEEB> if you can compile ffmpeg itself (simple ./configure and make to get a binary), you're ready to go
[20:33:19 CET] <JEEB> because 99%+ of all decoders are there by default within FFmpeg
[20:33:24 CET] <JEEB> and demuxers etc
[20:34:08 CET] <JEEB> and if you can get FFmpeg compiled and get the command line app done, you can join #ffmpeg-devel and poke people that you'd like to try and implement a subtitle format
[20:34:42 CET] <JEEB> you need some understanding of C and capability of trying to read existing examples (although a lot of formats are just perversely insane)
[20:35:13 CET] <dchana> earlier I asked about using dbg in ffmpeg
[20:35:33 CET] <JEEB> don't know about dbg, but gdb I know :)
[20:35:34 CET] <dchana> ffmpeg codebase is large, it's hard to try something and debug on it, imo
[20:35:40 CET] <dchana> and compile takes 30 min every time
[20:35:51 CET] <dchana> gdb
[20:35:52 CET] <JEEB> uhh, why would you do a full compile every time?
[20:36:04 CET] <dchana> I don't want to if I don't have to
[20:36:06 CET] <JEEB> you usually have pre-compiled files and make will take care of only recompiling the things that are required
[20:36:11 CET] <furq> it shouldn't take that long unless your cpu is ancient
[20:36:12 CET] <JEEB> like, I compile FFmpeg once
[20:36:15 CET] <dchana> ok
[20:36:22 CET] <JEEB> then I change libavcodec/wutlol.c
[20:36:34 CET] <JEEB> even if I just do `touch libavcodec/wutlol.c`
[20:36:42 CET] <JEEB> it should only compile wutlol.c and its dependencies
[20:36:48 CET] <JEEB> when I run make again
[20:37:09 CET] <dchana> ic, and for debugging, is it all done on the command line?
[20:37:30 CET] <dchana> I recently did a ./configure and install on the linux subsystem on W10
[20:37:44 CET] <furq> it takes about 15 minutes for me to build 10-15 external libs and ffmpeg from scratch
[20:37:51 CET] <furq> on a cpu from 2009
[20:37:52 CET] <dchana> and I intend to use it for ffmpeg changes. Is there going to be a problem?
[20:38:05 CET] <JEEB> I have no idea how well the lunix subsystem for win10 works
[20:38:07 CET] <dchana> @furq, on a mac/linux?
[20:38:18 CET] <JEEB> on windows I never had it take 30min either
[20:38:19 CET] <furq> on debian, cross-compiling for windows
[20:38:25 CET] <furq> otherwise i wouldn't be building the libs myself
[20:38:27 CET] <JEEB> even though fork() is slow as hell
[20:39:01 CET] <dchana> @furq, on debian you can build the executables that run on windows/
[20:39:09 CET] <furq> yes?
[20:39:15 CET] <JEEB> on any lunix as long as you have a cross-compiler :P
[20:39:20 CET] <JEEB> search for mingw-w64
[20:39:35 CET] <JEEB> with the ubuntu thing on win10 `apt search mingw-w64`
[20:39:57 CET] <furq> i should probably see if apt is acceptably fast now
[20:40:08 CET] Action: JEEB has no idea
[20:40:18 CET] <furq> last time i tested it it was much slower than using apt-(get|cache)
[20:40:18 CET] <JEEB> I always built with msys2+nev's mingw-w64 toolchain on windows
[20:40:22 CET] <JEEB> funky
[20:40:23 CET] <furq> but that might have been prerelease
[20:41:02 CET] <dchana> @jeeb you build ffmpeg on windows?
[20:41:13 CET] <JEEB> yes, I have done that too :P
[20:41:19 CET] <JEEB> both on mingw-w64 as well as MSVC
[20:41:43 CET] <dchana> are you getting the 15min compile time?
[20:41:58 CET] <JEEB> let me time my basic compile
[20:42:08 CET] <JEEB> because it never was slow enough for me to really matter
[20:42:30 CET] <furq> if you're not running make -j then that would probably explain it
[20:42:37 CET] <dchana> I assume all dev will enable debug symbols when compiling right?
[20:42:39 CET] <furq> that 15 minute compile is with make -j6
[20:42:47 CET] <JEEB> granted, it is slower than on actual *nix because of fork() but yunno :P
[20:42:51 CET] <furq> for ffmpeg alone it's probably about 10 minutes
[20:43:00 CET] <furq> and yeah i doubt msys' slow fork is a significant bottleneck
[20:43:21 CET] <JEEB> well I often just leave -j out because windows file locks can be funky
[20:43:40 CET] <furq> yeah i found it to be less hassle to just fire up a vm
[20:44:33 CET] <and_die> to install static ffmpeg do i just copy the binaries to /usr/local/bin/ ? Do I need to do anything so it doesn't conflict with the one I already have in /usr/bin ?
[20:44:47 CET] <furq> the ones in /usr/bin will usually take precedence
[20:45:12 CET] <and_die> furq: those are system package, I thought about removing them but a bunch of stuff depends on em
[20:45:12 CET] <furq> if you want to invoke it as /usr/local/bin/ffmpeg then it makes no difference
[20:45:16 CET] <dchana> @furq, linux VM and build ffmpeg there?
[20:45:24 CET] <furq> yeah
[20:45:29 CET] <furq> and_die: what distro is that
[20:45:47 CET] <and_die> furq: linux mint (not entirely sure if it's based on debian or ubuntu anymore)
[20:45:53 CET] <furq> that shouldn't matter then
[20:46:06 CET] <dchana> another funny story for me, I used hyper-V to start a VM, and I can never get it full-screen to run ubuntu
[20:46:10 CET] <dchana> and that turned me off
[20:46:31 CET] <furq> if you have other packages which depend on libavcodec etc then you can remove ffmpeg without the libs being flagged for removal
[20:46:34 CET] <JEEB> it's not like you need the GUI
[20:46:38 CET] <and_die> i mean do i have to invoke it as /usr/bin/local/ffmpeg every time tho? or make an alias? I thought there was some way to manage multiple versions or something
[20:46:45 CET] <furq> and if anything depends on /usr/bin/ffmpeg then you should uninstall it for being garbage
[20:46:55 CET] <JEEB> and_die: better to just install it somewhere and specifically specify the binary
[20:46:57 CET] <furq> i guess you can manage it with update-alternatives
[20:47:10 CET] <furq> but yeah you should be able to uninstall the ffmpeg package without breaking anything
[20:47:11 CET] <JEEB> ok, `configure` finished in real 1m52.045s
[20:47:27 CET] <JEEB> now timing make without any parameters
[20:47:28 CET] <furq> debian's ffmpeg packaging is smart enough to handle that
[20:47:33 CET] <furq> unlike some other distros i could name
[20:48:23 CET] <and_die> hmm. packaging hurts my brain. I think I'll just make an alias
[20:48:57 CET] <ben218> hi, i have a question about using libfdk_aac for transcoding FLAC
[20:49:17 CET] <dchana> does enabling libx264 add to configure time?
[20:49:27 CET] <furq> it'll add to build time
[20:49:27 CET] <dchana> but I probably don't need that for subtitles right
[20:49:33 CET] <furq> it shouldn't add anything significant to configure time
[20:49:51 CET] <ben218> no matter what options i pass, it seems like mediainfo sees the files as constant bitrate instead of variable
[20:50:15 CET] <JEEB> ben218: time to see what on earth it utilizes to find that info out :P
[20:50:32 CET] <JEEB> mediainfo can often interpret fields in "interesting" ways
[20:50:46 CET] <JEEB> but yes, if you specify a bit rate fdk-aac will probably try to do CBR
[20:51:03 CET] <JEEB> you have to utilize something a la -q:a to set it to a specific quantizer
[20:51:03 CET] <ben218> that's what i'm curious about, if the files are truely CBR or VBR
[20:51:38 CET] <ben218> i'm not specifying a bitrate, i'm using -vbr
[20:51:51 CET] <ben218> that's what i read here https://trac.ffmpeg.org/wiki/Encode/AAC
[20:51:54 CET] <JEEB> I've no idea what that does
[20:51:59 CET] <furq> they're vbr
[20:52:08 CET] <furq> i just tested with -vbr 5 and mediainfo claims they're constant
[20:52:14 CET] <furq> s/they're/it's/
[20:52:21 CET] <furq> fb2k reports it correctly
[20:52:34 CET] <JEEB> welcome to mediainfo, to know what exactly it means with something you have to actually learn what it interprets in some way :P
[20:52:54 CET] <ben218> thanks furq, wanted to verify i wasn't doing something wrong
[20:53:03 CET] <ben218> thanks JEEB also
[20:53:41 CET] <JEEB> ben218: just for the reference, mediainfo rather often seems to take information from <some field> in a file and output it in some way or another. thus you always need to double-check what mediainfo outputs
[20:53:45 CET] <furq> ffprobe reports the same value for bit_rate and max_bit_rate even though the bitrate spikes higher than that
[20:53:50 CET] <furq> so i'm guessing that's got something to do with it
[20:54:07 CET] <andai> looks like my shell prefers /usr/local/bin, yay!
[20:54:08 CET] <JEEB> I've no idea how it could have probed that
[20:54:22 CET] <JEEB> unless it went through the sizes of all audio frames
[20:56:11 CET] <JEEB> although I guess the movenc muxer might be writing the bit rate into a field which is then read as bit rate and maxrate
[20:56:21 CET] <JEEB> enjoy boxdumping
[20:57:33 CET] <furq> i get a different value for format:bit_rate
[20:58:36 CET] <andai> is AAC not in the static build? oh dang
[20:58:47 CET] <furq> fdk is nonfree
[20:58:59 CET] <JEEB> but the internal one is completely OK for LC-AAC
[20:59:13 CET] <JEEB> also nonfree in this context is "you can build it locally but you cannot distribute a binary mixing the two"
[20:59:17 CET] <furq> is the internal encoder any good for vbr
[20:59:27 CET] <JEEB> it should be at this point methinks?
[20:59:29 CET] <furq> i remember someone commenting that it wasn't a while back
[20:59:35 CET] <andai> JEEB: oh i see so it's not a philosophical thing, it's a legal thing
[20:59:37 CET] <furq> but that might have been before 3.0 was out
[20:59:57 CET] <furq> andai: https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE#L51-L58
[21:00:01 CET] <furq> that clause is gpl incompatible
[21:00:30 CET] <andai> So.. my understanding is the best video codec is x265 and the best audio is opus. But they don't go together in mp4, i need to use MKV instead?
[21:00:44 CET] <JEEB> dchana: ok, without any parameters to the build it actually goes close to 15min
[21:00:44 CET] <ben218> last i heard fdk_aac was prefered over the other aac encoders in ffmpeg
[21:00:45 CET] <JEEB> real 12m38.328s
[21:00:46 CET] <andai> context: phone storage full, shrinking my media
[21:00:47 CET] <JEEB> for the build
[21:00:52 CET] <furq> for a given definition of best
[21:01:08 CET] <furq> x265 is probably a bad choice for your phone
[21:01:17 CET] <furq> unless it has a hardware hevc decoder
[21:01:30 CET] <JEEB> ben218: that has changed, the internal is now usable as well. unless you need HE-AAC that is.
[21:01:38 CET] <deweydb> guys, has "ffmpeg concat" changed in some way from 2.x to 3.x ?
[21:01:49 CET] <furq> fdk is preferred but the internal encoder is pretty good
[21:01:53 CET] <deweydb> is there a changelog
[21:01:54 CET] <JEEB> HE-AAC being "let's trade quality to get quite low bit rates (read: <64kbps"
[21:02:03 CET] <furq> much better than the old external aac libs
[21:02:14 CET] <JEEB> deweydb: which one of the umpteen ways of doing concat that only work for a single limited use case?
[21:02:25 CET] <JEEB> we have a filter, we have a protocol, we have a demuxer...
[21:02:47 CET] <andai> furq: not good for my phone you mean will use cpu instead of hardware decoders, impacting battery life?
[21:02:48 CET] <deweydb> demuxer, using a txt file as input.
[21:02:56 CET] <furq> andai: right
[21:03:02 CET] <deweydb> ffmpeg -f concat -i %s -c copy %s
[21:03:11 CET] <deweydb> where the first %s is the text file containing the clips
[21:03:12 CET] <andai> furq: on that note, do you have any idea of hardware level audio codec support
[21:03:17 CET] <furq> also if you actually want to save space with x265 then be prepared for 5fps encoding
[21:03:18 CET] <deweydb> and the second %s is my output target
[21:03:22 CET] <andai> furq: like i remember decoding ogg on the old ipods would eat through the battery
[21:03:48 CET] <andai> furq: yeah it's mostly powerpoint presentations with audio
[21:03:51 CET] <furq> if you use fast settings with x265 then it's no better than x264
[21:04:26 CET] <furq> x264 should already do very well on mostly-static content
[21:04:48 CET] <furq> and yeah i have no idea about hardware audio decoder support
[21:04:56 CET] <andai> i guess i'll just make x264 + opus mkvs then? :)
[21:05:05 CET] <furq> but you'd need very good ears to notice the difference between opus and aac at the same bitrate
[21:05:09 CET] <furq> so you might as well stick with aac
[21:05:29 CET] <furq> i imagine that's more likely to be accelerated
[21:05:52 CET] <andai> good point i should do some tests to see if it's worth it! except I'll be biased towards opus haha
[21:06:04 CET] <furq> if you're going for super-low bitrates then opus will probably be better
[21:06:11 CET] <furq> at 128k you won't be able to notice
[21:06:14 CET] <furq> especially not coming out of a phone
[21:06:59 CET] <andai> furq: ye exactly they're already 128k but they were recorded over skype so it's mostly wasted bw
[21:08:06 CET] <furq> that's like 60MB/hour
[21:08:15 CET] <furq> it's probably not worth reencoding them to save half that
[21:08:25 CET] <deweydb> http://paste.ubuntu.com/23408385/
[21:08:29 CET] <furq> it's your phone though
[21:08:39 CET] <deweydb> what does that even mean " Non-monotonous DTS in output stream 0:0; previous: 45568, current: 45056; changing to 45569. This may result in incorrect timestamps in the output file. " ?
[21:08:40 CET] <andai> i got about 13gb of em
[21:08:48 CET] <furq> i just mean the audio
[21:08:59 CET] <andai> yeah... haha
[21:09:03 CET] <furq> if the video is straight out of skype then it's probably some godawful waste of space
[21:10:05 CET] <furq> deweydb: you can normally ignore that unless you get playback issues
[21:10:07 CET] <ben218> so a lot of my source files are 24/96, is there a need to resample when going to aac?
[21:10:09 CET] <andai> yeah i got like 10gb mp3s that i could slash at least in half, and a few gb of video that's more about the message than the aesthetic
[21:10:12 CET] <deweydb> i have issues
[21:10:22 CET] <deweydb> started after upgrading ffmpeg
[21:10:27 CET] <deweydb> i was still on 2.8.x
[21:10:34 CET] <deweydb> and i'm on 3.1.5 now
[21:10:43 CET] <ben218> or is it ok to leave sampling as is?
[21:10:45 CET] <deweydb> (the newest version i could get via a PPA on ubuntu)
[21:11:45 CET] <furq> ben218: it shouldn't make much difference
[21:12:04 CET] <ben218> thanks furq
[21:14:54 CET] <deweydb> furq: i'm combining 9 clips. and every second clip is missing in the output, and instead the video just locks up at that moment for 1 second.
[21:20:42 CET] <deweydb> here is the first 4 clips metadata:
[21:20:44 CET] <deweydb> http://paste.ubuntu.com/23408421/
[21:20:52 CET] <deweydb> http://paste.ubuntu.com/23408422/
[21:21:01 CET] <deweydb> http://paste.ubuntu.com/23408423/
[21:21:11 CET] <deweydb> http://paste.ubuntu.com/23408424/
[21:21:53 CET] <deweydb> the second and 4th clip are the ones that don't "get included" to the output.
[21:22:00 CET] <deweydb> is it because they both have zero b frames?
[21:37:02 CET] <deweydb> just noticed the inputs are also different in bitrate and profile. which is strange because all parts are encoded using: -c:v libx264 -preset ultrafast
[21:49:18 CET] <andai> i made a little comparison spectrogram of Daft Punk - Around The World at 8kbps in MP3 and Opus
[21:49:19 CET] <andai> http://i.imgur.com/SwdXotu.png
[21:50:04 CET] <deweydb> what kind of a madman encodes music at 8kbps?
[21:50:53 CET] <andai> deweydb: 8 year old me trying to fit music on a 32mb mp3 player
[21:51:22 CET] <Kuukunen> for daft punk it might kinda fit tho!
[21:51:49 CET] <andai> friend: "this sounds like shit!" me: "but i know what it's *meant* to sound like!"
[21:52:21 CET] <andai> we've come pretty far with the codecs in 20 years
[21:52:34 CET] <andai> Kuukunen: heavily compressed eh
[21:54:35 CET] <Kuukunen> yea it's kinda funny how you don't really need as much quality for songs you already know :P
[21:55:23 CET] <Kuukunen> kinda like how you can enjoy songs you know in a noisy environment from low quality speakers, but if you try to listen to something you don't know it sounds like a mess
[21:55:27 CET] <deweydb> i could not disagree more.
[21:55:45 CET] <Kuukunen> disagree then! :P
[21:55:56 CET] <deweydb> whenever i hear a song i know well, on sub par setup, speakers, or quality. it really makes my ears bleed.
[21:56:09 CET] <deweydb> but i guess i'm spoiled listening to music all day on my Genelecs
[21:56:25 CET] <Kuukunen> *genelecs*
[21:57:47 CET] <llogan> exspensive
[21:57:56 CET] <Kuukunen> deweydb: but anyway, that's a bit of a different effect
[22:00:19 CET] <Kuukunen> it's like... "I have a mental image of how this should sound like, therefore I can tell when it doesn't sound correct" vs. "I have a mental image of how this should sound like, I know very well it doesn't sound right, but what I can hear reminds me of the mental image and I can enjoy that"
[22:06:43 CET] <bencoh> I hardly enjoy (real) music in really noisy/poor quality environment if I already "know" it, partly because then I'll probably miss half of it
[22:07:29 CET] <bencoh> (you know, the sounds/instruments that you barely hear in poor conditions)
[22:09:46 CET] <bencoh> on the other hand I'm quite fine with, say, recorded live in a relatively lower quality as long as it features improvisation, for instance
[22:11:35 CET] <llogan> Kenny G
[22:17:54 CET] <deweydb> anyone familiar with ffmpeg concat demuxer?
[22:17:55 CET] <deweydb> https://www.ffmpeg.org/ffmpeg-formats.html#concat-1
[22:18:10 CET] <andrey_utkin_> deweydb, yes
[22:18:14 CET] <deweydb> the documentation says "All files must have the same streams (same codecs, same time base, etc.)."
[22:18:21 CET] <andrey_utkin_> so
[22:18:25 CET] <deweydb> i have ensured that the same codec, and time base
[22:18:32 CET] <deweydb> but the files have different bitrates
[22:18:34 CET] <deweydb> does this matter?
[22:18:45 CET] <andrey_utkin_> depends
[22:18:50 CET] <deweydb> also they have a different profile.
[22:19:03 CET] <deweydb> the strange part is i have generated them all using the same flags: -c:v libx264 -preset ultrafast
[22:19:08 CET] <andrey_utkin_> with mp4 files you are running into a lot of issues if you join non-uniform files
[22:19:32 CET] <andrey_utkin_> different profile is a show stopper
[22:19:44 CET] <andrey_utkin_> you can't say it's same flags
[22:19:58 CET] <deweydb> some have profile "High"
[22:20:00 CET] <andrey_utkin_> think of different h264 profiles as of different codecs
[22:20:04 CET] <deweydb> others have profile "constrained baseline"
[22:20:35 CET] <deweydb> for the constrained baseline ones, what flags do i need to add to force to High profile?
[22:21:24 CET] <andrey_utkin_> -profile high ?
[22:21:44 CET] <andrey_utkin_> are you joining mp4 files or what?
[22:21:48 CET] <deweydb> yes
[22:22:24 CET] <deweydb> the strange part is my script was working fine on ffmpeg 2.8, but i upgraded to 3.1 yesterday, and it broke the concat/demux part
[22:22:40 CET] <andrey_utkin_> you may be safe only if you reencode them all with exactly same ffmpeg command
[22:22:40 CET] <deweydb> literally have changed nothing else. but maybe 3.1 is stricter about concat
[22:22:42 CET] <thebigmac> Hi. I'm trying to compile ffmpeg on centos and I'm getting this error: "libavcodec/libopusenc.c: In function libopus_encode_init: libavcodec/libopusenc.c:337:9: error: implicit declaration of function opus_multistream_surround_encoder_create [-Werror=implicit-function-declaration] enc = opus_multistream_surround_encoder_create(" any ideas?
[22:23:17 CET] <andrey_utkin_> deweydb, in them all i mean ALL, not just part of them which are in e.g. Baseline
[22:23:32 CET] <andrey_utkin_> all your files which you want to merge must be reencoded the same way
[22:23:40 CET] <BtbN> thebigmac, if you installed libopus from the centos repo, there's a good chance it's simply too old.
[22:24:09 CET] <andrey_utkin_> also make sure to add -x264opts stitchable=1 if you do constant quality (CRF mode) or 2-pass encoding
[22:24:36 CET] <thebigmac> BtbN, that sounds like the issue. Is there another repo to install it from?
[22:24:57 CET] <andrey_utkin_> mp4+h264 joining without reencoding is a mess )
[22:26:15 CET] <furq> thebigmac: https://www.johnvansickle.com/ffmpeg/
[22:27:04 CET] <deweydb> andrey_utkin_: yeah, but re-encoding is super slow, and i'm building all these clips beforhand, so i just need to figure out how to build them right in the first place.
[22:27:09 CET] <deweydb> im trying with -profile high now
[22:27:21 CET] <deweydb> failing that i will try the -x264opts
[22:27:28 CET] <furq> you might want to use mpegts
[22:28:16 CET] <andrey_utkin_> yeah mpegts is good for joining, but it depends on stream consumers if mpegts is suitable
[22:28:29 CET] <furq> i mean for the clips, not the output
[22:28:36 CET] <andrey_utkin_> deweydb, what's your application?
[22:28:51 CET] <andrey_utkin_> who plays the joined file?
[22:29:00 CET] <deweydb> it gets uploaded to youtube.
[22:29:07 CET] <deweydb> https://bid13.com
[22:31:25 CET] <deweydb> andrey_utkin_: well thats weird, even with -profile high, it still used "Constrained Baseline"
[22:32:02 CET] <furq> -profile just restricts the features you can use
[22:32:08 CET] <andrey_utkin_> youtube doesn't support mpegts as input :)
[22:32:18 CET] <furq> if you're using preset ultrafast then you probably aren't using any features outside of baseline
[22:32:36 CET] <furq> andrey_utkin_: really?
[22:32:53 CET] <deweydb> i honestly don't care what the preset is, the video quality we get sent is is always crap. i just want it to render as quickly as possible. thats the bigger issue.
[22:32:55 CET] <andrey_utkin_> https://support.google.com/youtube/troubleshooter/2888402?hl=en-GB furq
[22:33:23 CET] <furq> i'll have to test that
[22:35:30 CET] <andrey_utkin_> deweydb, well ok, even with what you say (and furq confirms) all you need is uniformness of your files. reencode all parts with same command and they most probably will concat finely
[22:35:36 CET] <furq> https://www.youtube.com/watch?v=urkwEF1uoxg
[22:35:46 CET] <furq> unsurprisingly, google's support page is wrong
[22:36:02 CET] <furq> this is the first time this has ever happened
[22:36:51 CET] <andrey_utkin_> furq, try something with TS discontinuity and size/format change in the middle :)
[22:37:20 CET] <andrey_utkin_> that's what would help deweydb :)
[22:37:22 CET] <furq> i'm pretty sure youtube are just using ffmpeg circa 2011
[22:37:29 CET] <furq> so if that dealt with it then youtube ought to be able to
[22:37:42 CET] <kerio> furq: supports lossless h264 tho ;o
[22:37:50 CET] <kerio> do we really need anything else
[22:38:43 CET] <andrey_utkin_> i've learnt today that amazon elastic transcoder is basically ffmpeg 3.x & libx264 v148 :)
[22:39:49 CET] <kerio> i distinctly remember being able to send ZMBV to youtube
[22:40:02 CET] <furq> it might be newer than 2011
[22:40:13 CET] <furq> all i remember is that it predates the hevc encoder
[22:40:17 CET] <furq> s/enc/dec/
[22:40:55 CET] <furq> which put a bit of a dent in my theory that they were taking a stand against hevc to help push vp9
[23:02:37 CET] <deweydb> furq / andrey_utkin_ thank you for your help. i you were correct, there was one place in my code that i was missing to enforce the codec. i was taking a slice of a video with something like: ffmpeg -ss %.2f -t %.2f -i in.mp4 out.mp4
[23:02:49 CET] <deweydb> and somehow this was changing the profile.
[23:03:00 CET] <deweydb> even though the input video was already the correct profile
[23:03:47 CET] <furq> that'll reencode with the default settings
[23:10:45 CET] <deweydb> is there a "cut" command that just simply cuts that section of video, without re-encoding?
[23:10:54 CET] <JEEB> -c copy
[23:11:48 CET] <deweydb> thanks
[23:13:21 CET] <furq> you probably won't be able to get accurate cuts with -c copy
[23:15:55 CET] <utack> shouldn't jpeg2000 be super fast to decode? this thing is slow as hell for me https://media.xiph.org/video/derf/meridian/MERIDIAN_SHR_C_EN-XX_US-NR_51_LT…
[23:16:00 CET] <utack> 6fps slow
[23:23:47 CET] <pzich> hoping someone here can confirm: MP4s don't have any sort of "poster frame" metadata (either an image file or specifying a particular frame to show), right? that's a product of the player/previewer itself, or is available in other formats (e.g. MOV)
[23:23:50 CET] <deweydb> what would be the best choice of codec for enlarging a video without losing a ton of quality?
[23:24:40 CET] <llogan> utack: a 89G sized files can conceivably take a long time
[23:25:53 CET] <llogan> deweydb: an appropriate scaling algorithm is probably more important. but why upscale?
[23:26:12 CET] <utack> llogan certainly, but it seemed slow low for a jpeg2000 codec
[23:28:00 CET] <TD-Linux> utack, same here. it's really high bitrate jpeg2000 and not very fast.
[23:28:13 CET] <utack> ok. interesting
[23:28:17 CET] <TD-Linux> should scale reasonably if you have a bazillion cores
[23:28:27 CET] <llogan> libopenjpeg may be faster
[23:28:27 CET] <utack> so it does not compress well, and it isn't fast either. seems like THE codec of choice
[23:28:41 CET] <TD-Linux> I suspect ffmpeg's decoder may not be well loved
[23:28:59 CET] <TD-Linux> I am hoping to get a lossless version at some point, which I will transcode to something more reasonable
[23:30:34 CET] <utack> please let me know when that is the case
[00:00:00 CET] --- Tue Nov 1 2016
1
0