Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- October
- September
- August
- 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
December 2016
- 1 participants
- 62 discussions
[10:04:03 CET] <cone-244> ffmpeg 03Nicolas George 07master:bec8ea20c88e: lavfi/framequeue: avoid empty structs.
[13:32:34 CET] <cone-244> ffmpeg 03Paul B Mahol 07master:6d09d6edbc46: avcodec/magicyuv: add 10 bit support
[15:38:48 CET] <durandal_1707> michaelni: could you please review pixlet patch?
[17:08:26 CET] <durandal_1707> michaelni: post-processing can't be done before afaik
[17:19:15 CET] <michaelni> it can be added durig the last filter iteration but would need a seperate codepath, it maybe can be added to all low freq coeffs (fewer) bt that may affect precission
[17:20:49 CET] <michaelni> hmm, i see there are av_clip_int16() in there, so its probably not possible to add it to low stuff
[18:10:21 CET] <durandal_1707> BBB: have you found solution to that wmavoice issue?
[18:10:44 CET] <BBB> theres two issues, one is wmapro-in-wmavoice, the other is that were reading the bitstream twice
[18:10:47 CET] <BBB> which one do you mean?
[18:15:59 CET] <durandal_1707> both :)
[18:21:48 CET] <cone-506> ffmpeg 03Thomas Turner 07master:e303e3d4b972: avutil: Improved test coverage for avstring.c
[18:23:48 CET] <BBB> durandal_1707: so, the bitstream reading is relatively simple, I have a hack locally and am trying to make it pretty
[18:24:20 CET] <BBB> durandal_1707: the wmapro in wmavoice I dont remember exactly how it works, and what I tried from memory didnt give me anything audible, so Im currently looking back at the REed code to see if I can get any information on how its supposed to work
[18:31:59 CET] <durandal_1707> BBB: BTW I have strange gamma and contrast issue with pixlet? sounds familiar with wavelets?
[18:32:35 CET] <BBB> screenshot?
[18:34:27 CET] <durandal_1707> basically white is gray
[18:34:56 CET] <durandal_1707> black is black
[18:35:31 CET] <durandal_1707> perhaps they use log something colors
[18:35:42 CET] <kierank> clip it into limited range perhaps
[18:37:11 CET] <BBB> yeah, clipping plus adding base may help
[18:37:24 CET] <BBB> like, everything += 16
[18:53:34 CET] <durandal_1707> I do that already...
[19:02:45 CET] <kierank> into limited range?
[19:02:49 CET] <kierank> or just uint16_t
[20:26:48 CET] <durandal_1707> kierank: i get 32767 as max value
[20:57:32 CET] <BBB> durandal_1707: got a screenshot?
[21:00:23 CET] <BBB> durandal_17: got a screenshot?
[21:00:48 CET] <durandal_17> BBB: i can give you screenshot
[21:01:02 CET] <durandal_17> yuv is basically capped to 32767
[21:01:27 CET] <BBB> ehm
[21:01:32 CET] <BBB> thats very strange
[21:01:35 CET] <BBB> why 32767?
[21:01:39 CET] <BBB> 16bit is 0-65535
[21:01:48 CET] <BBB> is this a 15bit format? or is it signed? or whats going on
[21:02:02 CET] <durandal_17> its apple, everything is possible
[21:02:08 CET] <BBB> that wasnt my question
[21:02:11 CET] <Compn> big endian ? :P
[21:02:11 CET] <BBB> whats the format?
[21:02:19 CET] <durandal_17> yuv422 for sure
[21:02:25 CET] <BBB> thats 8bit
[21:02:30 CET] <BBB> where does the 32767 limit come from?
[21:02:42 CET] <durandal_17> this one uses 16bit coefficients
[21:02:58 CET] <kierank> I think you should use yuv420p10
[21:03:00 CET] <durandal_17> raw 16bit topleft pixel is stored uncompressed
[21:03:06 CET] <kierank> oh
[21:03:07 CET] <kierank> hmm
[21:03:20 CET] <BBB> increase resolution of the coefficients by 1 bit?
[21:03:39 CET] <BBB> (or use a different scalign factor in the wavelet)
[21:04:00 CET] <BBB> also note that the depth of the coefficients doesnt mean much about the output bitdepth
[21:04:08 CET] <BBB> like, you can easily output 8bpc vp9 into 10bits
[21:04:16 CET] <BBB> prores can also be output in a number of bitdepths
[21:04:22 CET] <BBB> youre just scaling the idct to the output bitdepth
[21:04:48 CET] <BBB> the fact that we output prores in 10bit (or is it 12?) is just an implementation detail, itd be trivial to rewrite it to output something else
[21:05:28 CET] <nevcairiel> the interesting questions would be either (a) whats the intended output bitdepth? or if we dont know that (b) what kind of precision do you actually get out of it realistically, no sense scaling it up much if you just end up with more noise
[21:05:38 CET] <BBB> ++
[21:08:22 CET] <durandal_17> here is shot: https://transfer.sh/LWiR1/mpv-shot0001.png
[21:08:36 CET] <durandal_17> top is pixlet, bottom is original
[21:16:29 CET] <BBB> your chroma dna luma are both scaled one bit too low or so
[21:17:02 CET] <BBB> the blackpoint of luma and graypoint of both chroma channels are fine
[21:17:16 CET] <BBB> but the whitepoint of luma and the black/white are scaled too closely to the origin point
[21:17:36 CET] <BBB> so Id just scale the coefficients by some factor (probably sqrt(2) or 2) before the wavelet
[21:17:51 CET] <BBB> (note how sqrt(2) is often the dc scaling factor in idcts, so this is not totally abnormal)
[21:50:22 CET] <durandal_17> BBB: i get artifacts if i multiply coeffs with 2 or sqrt(2)
[21:53:12 CET] <BBB> not surprisingly& is it possible you need a quantization table where not all coeffs use the same quantizer?
[21:58:14 CET] <durandal_17> i think I only need to change gamma
[22:15:00 CET] <BBB> is it true that decoders cant use AV_CODEC_CAP_DELAY and AV_CODEC_CAP_SUBFRAMES at the same time?
[22:16:31 CET] <wm4> what the hell is CAP_SUBFRAMES?
[22:18:53 CET] <nevcairiel> for audio codecs that can decode multiple audio frames from one packet
[22:22:33 CET] <BBB> my decoder does not appear to be called with NULL trailnig packets if I set CAP_DELAY
[22:22:44 CET] <BBB> do I need to do something else for it to be called with NULL packets?
[22:22:58 CET] <BBB> or is DELAY only implemented for video?
[22:23:08 CET] <nevcairiel> delay works for audio too
[22:24:12 CET] <nevcairiel> note that you get called w ith a packet with data=NULL, not a null packet
[22:27:13 CET] <BBB> oh right
[22:27:20 CET] <atomnuker> BBB: is that for the wma decoder or some other decoder?
[22:30:46 CET] <BBB> wma voice
[22:30:53 CET] <BBB> ah ok now it works
[22:31:09 CET] <BBB> ok I think if I do these two together, I get the same output as before without the bitstream checking
[22:31:19 CET] <BBB> also some warnings go away
[22:31:25 CET] <BBB> so thats probably a good thing
[22:50:30 CET] <BBB> patches sent to ML
[22:50:38 CET] <BBB> the first oen of my original set also still applies
[22:50:42 CET] <BBB> so its three patches in total
[22:51:16 CET] <BBB> Im still working out whats going on with the samples sent in that trac ticket, but Im not convinced yet that its actually wmapro
[22:51:31 CET] <BBB> like, with my fixed up bitstream parsing, all the warnings about wmapro in wmavoice go away
[22:51:51 CET] <BBB> (it still doesnt decode at all, but that may be something else, maybe tone related or whatever)
[23:13:00 CET] <durandal_17> nice
[23:14:28 CET] <atomnuker> why the need for CAP_SUBFRAMES though, opus can have multiple frames in a packet but it'll just spit out all the samples concatenated
[23:16:22 CET] <nevcairiel> some decoders decide not to do that and only decode the first frame and have the decode function called again
[23:23:36 CET] <BBB> re-sent it so its a full set and splits cosmetic stuff from other stuff
[23:23:41 CET] <BBB> this should be rather straightforward now
[23:24:18 CET] <BBB> atomnuker: implementation detail& we could indeed output everything concatenated, but this is easier for the way the decoder was implemented
[23:24:37 CET] <BBB> atomnuker: basically what nevcariel says; it can be changed but really why would you do that
[23:24:47 CET] <nevcairiel> historically some decoders also had trouble finding frame boundaries without decoding
[23:24:48 CET] <BBB> atomnuker: its not like performance matters for a shitty format like wmavoice ;)
[23:24:50 CET] <nevcairiel> so they use this
[23:25:07 CET] <nevcairiel> in case they get half-a-frame
[23:25:55 CET] <BBB> now that the decoder isnt crazy anymore
[23:26:11 CET] <BBB> maybe its fun to figure out why that trac thing doesnt decode, I honestly am a little confused...
[23:26:51 CET] <atomnuker> BBB: yeah, but really who uses wma voice?
[23:27:01 CET] <BBB> I know right
[23:29:48 CET] <atomnuker> no, I mean who uses wma voice?
[23:30:03 CET] <atomnuker> radio stations?
[23:30:29 CET] <BBB> I think nobody
[23:31:02 CET] <durandal_17> just to fill all tickets with odd files nobody ever use
[23:31:23 CET] <BBB> I think its a few radio stations& maybe some other things Ive seen *cough*
[23:31:29 CET] <BBB> probably some other stuff
[23:31:30 CET] <BBB> dunno
[23:35:04 CET] <llogan> how does he find these oddball samples 'n bugs?
[23:36:31 CET] <durandal_17> llogan: encoding them, he have nothing else to do...
[23:38:59 CET] <llogan> he has found many
[23:41:07 CET] <BBB> hm yeah something causes the samples to become nan
[23:41:23 CET] <BBB> and since the samples are used as history for the filter, it means everything is nan
[00:00:00 CET] --- Wed Dec 21 2016
1
0
[02:29:45 CET] <Kam> Hello, I'm playing a video file (tested with vp8, vp9, libvpx and libvpx-vp9) that is 2 FPS (500ms each frame) in ffplay with 'loop 0' parameter. The videos play fine, until the last frame, which only appears for a fraction of the time it should. The video has 8 frames overall, ffprobe reports its duration correctly being 00:00:04.00. The time-display in ffplay goes until about 3.50 and then resets too early back to 0.00. What can I do?
[02:52:54 CET] <furq> does it play correctly in mpv or some other actual video player
[02:59:32 CET] <Kam> furq, it looks like the same in mpv. The last frame is shown only for a fraction of time.
[04:58:06 CET] <kepstin> Kam: that's normal; in most containers, frames don't have duration info. If you have an audio track, it'll usually show the last frame until the audio ends.
[05:18:46 CET] <fling> How to use v4l output?
[06:05:59 CET] <ferdna> i need to live stream and save the live stream at the same time... how could i do this?
[06:33:00 CET] <brian_> I am building code based off the filter_audio.c file and for some reason av_frame_get_buffer always returns -22. Is it possible that I did not enable something in the configure that would cause these errors?
[07:45:37 CET] <nonex86> brian_: -22 as far as i remember is invalid parameter, you pass something wrong to function
[07:45:59 CET] <nonex86> brian_: and it not related to build configuration
[07:46:32 CET] <nonex86> brian_: enable verbose debug output in ffmpeg and check the error messages
[07:46:46 CET] <nonex86> brian_: twice check your input parameters
[08:14:17 CET] <ferdna> how do you check the headers of a m3u8 file on a webserver?
[08:39:22 CET] <Pandela> Morning
[08:40:53 CET] <Pandela> Is it possible to start synchronous ffmpeg udp streams with a single batch file?
[12:16:33 CET] <Eiken> so i am overlaying an endcards to a bunch of videos, if the aspect ratio is portrait or landscape it works
[12:16:46 CET] <Eiken> but if the video res and endcard res is square the endcard is incorrectly positioned
[12:20:17 CET] <Eiken> $FFMPEG_BIN -y -i input.mov -loop 1 -i endcard.png -filter_complex "[1:v]fade=in:0:10[v1]; [0:v]setpts=PTS-STARTPTS[v0]; [v1]setpts=PTS-STARTPTS+425/(TB*25)[v3];[v0][v3]overlay=eof_action=pass,scale=600:600[out1]" -map [out1] -map 0:a? -codec:a copy -pix_fmt yuv420p -c:v libx264 -preset veryslow -crf 12 output.mov
[12:20:27 CET] <Eiken> anyone see something that might explain it
[12:20:41 CET] <Eiken> i tried removing scale but same result
[12:25:18 CET] <Eiken> if i scale both the inputs first in the filter it works
[12:25:23 CET] <Eiken> but then it screws up the alpha
[12:42:46 CET] <Eiken> figured it out
[12:42:47 CET] <Eiken> :)
[12:42:55 CET] <Eiken> had to add scale after fade
[13:16:59 CET] <Kam> kepstin, but the duration is determined correctly by ffprobe. I want to use this in games, and adding an empty audio track to every video would unnecessarily add more load. Do you think this is a bug, or on purpose?
[13:28:53 CET] <Nacht> I'm doing some studying on cutting up TS files grabbed from a HLS stream (h.264). Of some of the things I read, people mention the Random Acces Indicator. Where other mention the IDR frame. Do they always 'align' when you're using a TS H.264 file ?
[13:29:22 CET] <Nacht> Cause from what I understood, the RAI is a property of the MPEG2-TS, and IDR of H.264 ?
[13:51:05 CET] <nonex86> in addition to idr h264 has sei recovery point
[14:17:57 CET] <DHE> Nacht: RAI is a bit in the MPEG-TS header to indicate that this frame is a good place to start decoding from. but it's a bit codec-dependent. h264 may make use of it, but mpeg2 doesn't
[14:19:14 CET] <Nacht> But if I wish to cut a TS-file which uses H.264, it's best to search for IDR and SEI Recovery points in order to determine where to cut ?
[14:20:45 CET] <DHE> if the video uses IDR frames, it should set the RAI bit. in that case the video should ideally contain 1 PAT, then 1 PMT, optionally an SDT, and then start at said RAI chunk
[14:22:20 CET] <SouLShocK> I stumbled across this old article a few days ago http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Streamin… where Netflix all but confirms that they are using FFmpeg to encode
[14:22:23 CET] <SouLShocK> When we reject an upload, and send it back to a content provider, we have to give a detailed reason, he said. We cant just give an FFMPEG error code.
[14:22:36 CET] <SouLShocK> thought that might interest you guys
[14:25:24 CET] <Nacht> I see. Thank you for the information DHE. Ill have something to read upon then.
[14:25:45 CET] <DHE> wow, I'm entertained by their content providers providing provably bad source material :)
[14:47:39 CET] <popara> How i can add a Logo and use th yadif filter at the same time? Because i can do both seperate, but not at the same time. I'm using filter_complex for logo, and -vf yadif for deinterlace
[14:47:45 CET] <popara> And ffmpeg says, i can't use both at the same time
[14:50:01 CET] <popara> ah actually -filter_complex "overlay,yadif" that worked fine
[16:21:34 CET] <nirvanko> I've downloaded a video and ffprobe tells that its resolution is 1920x1040 [SAR 1:1 DAR 24:13, should it be 1920x1080? I mean there is the 1080p TV standard, why 1040?.
[16:24:33 CET] <kerio> nirvanko: why not 1920x1040?
[16:25:05 CET] <DHE> that may be standard, but videos may not conform for whatever reason
[16:25:20 CET] <nirvanko> Because Full HD supposed to be 1920x1080, isn't it?
[16:26:45 CET] <kerio> i mean the alternative is that the video somehow has a SAR of 104:108
[16:27:00 CET] <kerio> do you really want to live in that world
[16:30:15 CET] <DHE> SAR is 1:1 which means square pixels. there will be a bit of black bars on the top and bottom of the video. so it still fits in a 1080p display
[16:30:20 CET] <nonex86> to be really precise its 1920x1088
[16:30:48 CET] <nonex86> because of nature of encoders used
[16:31:19 CET] <nonex86> than it can be downscaled to real fullhd 1920x1080
[16:31:46 CET] <nonex86> so your strange 1040 can be encoder related value
[16:33:35 CET] <nonex86> but for h264 i guess 1040 is really strange
[16:34:35 CET] <nonex86> no, its ok
[16:34:39 CET] <nonex86> my mistake
[16:34:49 CET] <nonex86> 1040 divisible by 16, so its ok
[16:37:22 CET] <nonex86> 120x65 macroblocks
[16:39:24 CET] <sardok> Hi i want to extend given sound duration by adding silence. I tried 'ffmpeg -i sound.mp3 -complex_filter "apad" -t 20 out.aac' . But out file has the same duration as input.
[17:06:10 CET] <fling> sardok: aac counts silence at the end differently
[17:06:31 CET] <fling> D'oh.
[17:14:06 CET] <enderby> hi - I'm trying to modify metadata/ratings on files. Is there a better way to use ffmpeg via CLI than to create an entirely new file? or is there another tool I should be considering?
[17:25:39 CET] <furq> ffmpeg can't modify inplace, so it's probably not the best tool for metadata editing
[17:25:59 CET] <furq> if these are audio files then there are a ton of better tools
[17:26:17 CET] <furq> most of those should also work with video in mp4
[17:26:41 CET] <enderby> furq: thnx, can you name a few to get me started? i would like a cli interface
[17:31:03 CET] <furq> i've only ever really used mutagen and beets
[17:32:05 CET] <enderby> cool, will check them. thank you
[17:39:48 CET] <badasafish> Hi all, I'm trying to switch a 3D video from over under to side by side. I've researched the commands I need, I've swapped the images to be stacked left and right which is fine, but I need to resize and stretch the resulting image. The resize works fine on the test screenshot but doesn't have any stretch affect on the mkv. Thoughts?
[17:51:32 CET] <durandal_1707> badasafish: stereo3d filter
[17:53:24 CET] <nirvanko> Is it a good idea to resize video with a black padding at its bottom for subtitles? I would like to have white on black subtitles.
[17:53:45 CET] <nirvanko> Usually it's black on white but not in my case, not in my case.
[18:12:07 CET] <badasafish_> durandal_1707: I used "ffmpeg -i top-and-bottom.mov -vf stereo3d=abl:sbsl -c:a copy side-by-side.mov" which changed it from OU to SBS but the size/aspect ratio was not correct (i ended up with a 3840x540 video), therefore I resized it to 1920x1020 which worked as expected on a test screenshot, but when running that resize on the mkv although the video is 1920x1080 the video is not stretched as expected vertically
[18:15:30 CET] <durandal_1707> badasafish: sbs2l? note distinction
[18:17:09 CET] <badasafish> durandal_1707: I see, let me try that out. So that should achieve the required output without needing a separate resize?
[18:18:29 CET] <rakshith> Hello guys, I am new to this community. Wanted to contribute. Help me get started :)
[18:20:46 CET] <durandal_1707> badasafish: it sets aspect ratio
[18:21:15 CET] <durandal_1707> rakshith: contribute what?
[18:22:16 CET] <rakshith> code
[18:24:04 CET] <badasafish> durandal_1707: I want to take a clip from my original movie file so I can test the conversion quickly without having to convert the whole file, whenever I create a clip of the original the stereo3d function won't work on the clip, is there a specific way of clipping I should use to preserve everything from the original?
[18:28:45 CET] <durandal_1707> rakshith: write qrcode source filter that use external library for example
[18:30:14 CET] <durandal_1707> badasafish: what doesn't exactly work?
[18:31:16 CET] <badasafish> 8durandal_1707: Thanks for your help with this btw. Running stereo3d sbs2l has given the output that I wanted visually, but the file is still 3840 * 540, can I incorporate a resize filter into the command?
[18:32:34 CET] <rakshith> durandal_1707: something easier?
[18:33:03 CET] <durandal_1707> badasafish: you could resize but I do not know command to not keep aspect ratio
[18:33:29 CET] <durandal_1707> rakshith: spell check documentation
[18:36:19 CET] <badasafish> durandal_1707: I get this error: [h264 @ 000000000215b6c0] Warning: not compiled with thread support, using thread emulation [buffer @ 000000000080ada0] Unable to parse option value "-1" as pixel format Last message repeated 1 times [buffer @ 000000000080ada0] Error setting option pix_fmt to value -1. [graph 0 input from stream 0:0 @ 0000000001f4a6c0] Error applying options to the filter. Error opening filters!
[18:52:49 CET] <badasafish> durandal_1707: I was creating the clip with the copy command, but now if I create the clip without the copy command (although it has to reencode the video) I can run the stereo3d filter on the clip
[19:09:55 CET] <blue_misfit> hey folks, I'm seeing something odd - a mkv that is 23.976 fps cfr is vfr after I remux to MP4 with ffmpeg... any idea why?
[19:11:57 CET] <JEEB> blue_misfit: I'm not sure you can save 24000/1001 as CFR in matroska
[19:12:26 CET] <blue_misfit> uhh... really? why's that??
[19:12:33 CET] <JEEB> timebase is limited
[19:12:50 CET] <JEEB> I think stuff like ffms2 etc have heuristics to try and work around oscillating duration
[19:12:59 CET] <JEEB> mpv's matroska demuxer as well
[19:13:19 CET] <JEEB> also you should check what something actually uses to denote if a file is "CFR" or "VFR"
[19:13:35 CET] <FishPencil> Does VP8 or VP9 provide better compression than x264?
[19:13:44 CET] <__jack__> yes
[19:13:47 CET] <blue_misfit> well I'm just looking at mediainfo metadata because the people I'm delivering the file to are seeing that and whining that it says VFR
[19:13:50 CET] <JEEB> FishPencil: you are comparing formats to encoders
[19:14:05 CET] <FishPencil> JEEB: libvpx then
[19:14:15 CET] <blue_misfit> @FishPencil, vp9 absolutely can provide better compression than avc, and libvpx can provide better compression than x264 ;)
[19:14:58 CET] <FishPencil> So does anything top libvpx then in compression?
[19:15:18 CET] <blue_misfit> yes, x265 is definitely better IMO
[19:15:28 CET] <JEEB> libvpx is not really optimized in the rate control or psychovisual optimizations
[19:15:32 CET] <blue_misfit> correct
[19:15:37 CET] <blue_misfit> its rate control is horrnedous
[19:15:48 CET] <blue_misfit> as is its multithreading since it's designed for cloud scale single thread encoding
[19:15:52 CET] <furq> it's also slower than x265 in my experience
[19:15:58 CET] <furq> mostly because of the multithreading
[19:16:00 CET] <blue_misfit> well... it's better than it was, but it's still not great :D
[19:16:20 CET] <blue_misfit> vp9 decoding is surprisingly fast in software tho, that's one major advantage to the format in general IMO
[19:16:31 CET] <furq> hevc hardware decoders are more widespread though
[19:16:35 CET] <blue_misfit> hence why YouTube streams it by default almost everywhere
[19:16:35 CET] <blue_misfit> sure
[19:16:43 CET] <furq> although still nowhere close to avc
[19:16:45 CET] <blue_misfit> s/everywhere/most browsers
[19:16:46 CET] <JEEB> yeah, BBB who was making his own encoder made a Very Fast decoder
[19:17:01 CET] <JEEB> which was then included in Firefox at least
[19:17:15 CET] <JEEB> (so yes, Firefox has a separate minimal part of libavcodec in there)
[19:17:15 CET] <furq> yeah i noticed firefox finally started playing vp9 by default fairly recently
[19:17:21 CET] <furq> i expect chrome has been doing it for much longer
[19:17:25 CET] <blue_misfit> correct
[19:17:26 CET] <JEEB> (and they call it ffvp9 or so)
[19:17:30 CET] <blue_misfit> and Edge!
[19:17:36 CET] <JEEB> chromium and edge are using libvpx
[19:17:38 CET] <blue_misfit> Safari is the only holdout :D
[19:17:56 CET] <furq> obviously as soon as microsoft starts supporting new standards, apple decide they don't want to
[19:17:57 CET] <JEEB> which are somewhat slower than lavc's vp9 decoder (at least on x86)
[19:18:26 CET] <efface> Im using ffprobe to determine the resolution and aspect ratio of programs in various mpeg-ts muxes. On some programs the information is returned and on other programs the width and height are 0 and the sample ration is 0:1 and display ration is 0:0. Anyone know what would cause this
[19:18:31 CET] <JEEB> anyways, blue_misfit - I'd guess the timestamps in the matroska file are not actually CFR, and if mediainfo is saying it's CFR there's something funky
[19:18:43 CET] <furq> efface: maybe -probesize and -analyzeduration
[19:18:50 CET] <blue_misfit> interesting
[19:19:11 CET] <furq> does mkv really not support 24000/1001 properly
[19:19:13 CET] <JEEB> blue_misfit: in mp4 it can be CFR but I have no idea how that is actually "checked" in mediainfo
[19:19:20 CET] <blue_misfit> JEEB, what I'm doing is using mkvmerge to concat a bunch of MP4s (since I'm doing split 'n' stitch style parallel encoding)
[19:19:23 CET] <furq> does that mean it also doesn't support 30000/1001
[19:19:27 CET] <JEEB> furq: ayup
[19:19:33 CET] <JEEB> oscillating durations
[19:19:38 CET] <furq> nice
[19:19:39 CET] <FishPencil> https://en.wikipedia.org/wiki/Libvpx "Decoding performance is relatively slow, partially in order to keep the code base easier to maintain."
[19:19:41 CET] <JEEB> because you don't get exact timestamps
[19:19:44 CET] <efface> Odd part is i tried analyzeduration and it says its an unknown option
[19:19:49 CET] <furq> i guess it's close enough that you wouldn't notice
[19:20:08 CET] <furq> efface: what ffprobe version
[19:20:23 CET] <efface> Nm the duration issue...im an idiot lol
[19:20:23 CET] <JEEB> a lot of things thus have stuff in their parser that if your timestamps are close enough it will utilize what it thinks the timestamps are
[19:20:32 CET] <furq> FishPencil: that's the libvpx decoder
[19:20:34 CET] <JEEB> like ffms2 or mpv's matroska demuxer
[19:20:38 CET] <furq> ffmpeg doesn't use that
[19:21:02 CET] <blue_misfit> what would you suggest if I needed to unify chunks of video all produced from the same source
[19:21:27 CET] <JEEB> https://github.com/FFMS/ffms2/blob/master/src/core/videoutils.cpp#L71
[19:21:38 CET] <JEEB> this is how ffms2 deals with matroska
[19:21:39 CET] <JEEB> :D
[19:22:11 CET] <furq> nice
[19:22:37 CET] <efface> Analyzeduration 5000000 did not help
[19:23:00 CET] <furq> that's the default isn't it
[19:23:04 CET] <furq> it's in microseconds or something daft
[19:23:28 CET] <efface> It is ms....so 5 secs, let me try 10
[19:24:30 CET] <furq> you might as well just use $((2**31-1))
[19:24:34 CET] <furq> likewise for -probesize
[19:24:41 CET] <furq> if that doesn't work then the problem is elsewhere
[19:26:05 CET] <furq> obviously don't do that if this is streaming because that'll probably never finish
[19:27:31 CET] <efface> It is streaming
[19:28:12 CET] <furq> well yeah you probably don't want to download 2GB before anything happens
[19:28:50 CET] <efface> Lol
[19:29:06 CET] <efface> Ok i set probesize to 150M and i think that worked
[19:29:18 CET] <efface> The mux bitrate is 38mbps
[19:31:24 CET] <efface> That did work, thanks
[19:31:42 CET] <FishPencil> I'd say the most popular video encoders today are x264, x265, and libvpx. For audio encoders I would say opus, and probably acc. Am I forgetting anything in these lists? Obviously libschroedinger and the likes don't belong.
[19:32:08 CET] <furq> opus is not that popular
[19:32:33 CET] <furq> maybe it's in second place if you include youtube, but that's a huge skew of the average
[19:33:02 CET] <furq> aac is almost certainly the most popular, and mp3 is still up there
[19:33:14 CET] <FishPencil> s/popular/modern
[19:33:55 CET] <FishPencil> modern=great compression, actively developed
[19:34:06 CET] <furq> lame is still actively developed
[19:34:19 CET] <FishPencil> what....
[19:34:28 CET] <furq> mp3 is easily the most popular if you're just talking about music
[19:34:53 CET] <furq> itunes, google play music, soundcloud, bandcamp etc etc
[19:35:28 CET] <furq> actually i guess lame hasn't had an update since 2012
[19:35:45 CET] <FishPencil> In almost all other respects I'd say Opus is better, or even AAC
[19:36:03 CET] <furq> those are both definitely better codecs than mp3
[19:36:30 CET] <furq> along with vorbis and probably some other lossy codecs that nobody uses
[19:37:48 CET] <blue_misfit> yeah mp3 is everywhere lol
[19:38:08 CET] <furq> mp3 will probably be the most popular lossy codec for music forever
[19:38:15 CET] <furq> by the time it falls off, everyone will be using lossless codecs
[19:38:33 CET] <blue_misfit> yep, "good enough" for basically everything
[19:38:50 CET] <FishPencil> If it isn't broke don't fix it
[19:39:04 CET] <furq> the compression gains from using opus aren't worth it for most people, especially with the compatibility tradeoff
[19:39:17 CET] <blue_misfit> exactly
[19:39:35 CET] <blue_misfit> but for next gen streaming (vp9 + opus in webm in dash) it's a great fit :)
[19:39:53 CET] <furq> yeah i don't mean to be down on opus, it's a nice codec
[19:39:54 CET] <FishPencil> furq: I'm not seeing active development on lame
[19:40:08 CET] <furq> 18:35:28 ( furq) actually i guess lame hasn't had an update since 2012
[19:41:49 CET] <blue_misfit> JEEB, MP4 does properly support CFR for 24000/1001 right?
[19:42:05 CET] <JEEB> yes
[19:42:23 CET] <JEEB> timebase 24000 and then each sample has a duration of 1001
[19:42:26 CET] <furq> FishPencil: it's worth remembering that some people are still using xvid
[19:42:28 CET] <blue_misfit> how can I be certain I'm producing a CFR output when encoding H.264 in MP4 using libx264 and ffmpeg
[19:42:34 CET] <furq> although in this case, those people are just severely wrong
[19:42:51 CET] <JEEB> blue_misfit: you can utilize l-smash's boxdumper and look at the sample durations
[19:43:03 CET] <blue_misfit> furq, :D yeah tons of people still rock xvid and mp3 in avi :D
[19:43:08 CET] <FishPencil> I'm not sure what you're talking about, xvid all day every day
[19:43:11 CET] <furq> and mpeg2 is still widely used in broadcasting
[19:43:13 CET] <blue_misfit> JEEB, I'll look into that, thanks
[19:43:26 CET] <blue_misfit> OMG we used MPEG-2 everywhere at my last job
[19:43:41 CET] <blue_misfit> _all_ media that plays on air plays from MPEG-2 files, usually 1080i59.94 at 20, 35, or 50 Mbps
[19:43:44 CET] <JEEB> blue_misfit: it can just dump the timestamps, or you can get the whole box dump
[19:44:13 CET] <furq> some stations broadcast avc now don't they
[19:44:21 CET] <blue_misfit> yeah some of them do AVC Intra
[19:44:24 CET] <furq> i know a lot of IPTV stuff does
[19:44:27 CET] <blue_misfit> that's the only AVC format that's gotten any traction
[19:44:34 CET] <JEEB> furq: he's talking pre-broadcast
[19:44:40 CET] <JEEB> so the stuff that goes through in the broadcast house
[19:44:41 CET] <blue_misfit> yeah
[19:44:44 CET] <furq> oh right
[19:44:58 CET] <furq> well a lot of stations still broadcast mpeg2 don't they
[19:45:01 CET] <blue_misfit> most broadcast is AVC (some legacy MPEG-2, and TONS Of it in cable)
[19:45:22 CET] <blue_misfit> but yeah the files that the linear playout servers use are almost all MPEG-2
[19:45:27 CET] <JEEB> blue_misfit: but it (boxdumper) should produce pretty tangible evidence that it's CFR, because with mp4 it's deffo possible
[19:45:37 CET] <JEEB> unlike matroska
[19:45:55 CET] <blue_misfit> damn
[19:46:00 CET] <blue_misfit> what kind of problems could this cause in the real world?
[19:46:07 CET] <blue_misfit> because everyone uses MKV for 23.98 lol
[19:46:21 CET] <JEEB> and almost everything has heuristics for this in playback
[19:46:51 CET] <JEEB> and the timestamps are not too far apart from the correct values, they're just not CFR
[19:47:07 CET] <JEEB> so you switch between two durations for your video samples
[20:02:21 CET] <blue_misfit> @JEEB, where can I get windows binaries of l-smash stuff? I'm having a hell of a time finding any!
[20:06:48 CET] <blue_misfit> nm.. just made my own :D
[20:06:54 CET] <JEEB> yeh, it isn't too hard
[20:07:05 CET] <JEEB> even less so with the MSVS projects now
[20:07:22 CET] <blue_misfit> yeah lol thankfully I have a decent msys environment thanks to ffmpeg-autobuild
[20:07:56 CET] <FishPencil> blue_misfit: What are you looking for? There's Zeranoe'
[20:07:58 CET] <FishPencil> s builds
[20:08:15 CET] <JEEB> https://github.com/l-smash/l-smash
[20:09:21 CET] <FishPencil> Doesn't look like that's included in FFmpeg
[20:09:31 CET] <JEEB> nope, but it's a very useful toolkit for ISOBMFF
[20:09:43 CET] <JEEB> and it's really simple to build
[20:14:10 CET] <FishPencil> Is anyone here familiar with EME or Widevine?
[20:14:19 CET] <blue_misfit> FishPencil, yeah a bit
[20:14:38 CET] <FishPencil> blue_misfit: This isn't FFmpeg related... PM?
[20:15:00 CET] <blue_misfit> sure
[20:32:27 CET] <FishPencil> I'm doing some benchmarking and I'm looking for some native encoders that FFmpeg does a lot of threading work with (assembly optimizations as well). I'm thinking mpeg4, but I'm not sure about audio.
[20:34:19 CET] <JEEB> mpeg4 isn't really optimized
[20:34:27 CET] <JEEB> I mean, compared to something like libx264
[20:34:39 CET] <JEEB> libx264 actually had some use and thus is wroom-wroom
[20:35:08 CET] <FishPencil> Anything internal that is well optimized?
[20:35:21 CET] <FishPencil> Doesn't FFmpeg impliment its own vpx
[20:35:38 CET] <blue_misfit> JEEB, regarding my timestamp issue, any way to regenerate the timestamps when muxing to MP4?
[20:36:06 CET] <blue_misfit> I verified that an encode directly to mp4 has perfectly consistent timestamps but that they oscillate between 672 and 656 for MKV -> MP4
[20:36:26 CET] <JEEB> FishPencil: decoder only
[20:36:30 CET] <JEEB> not encoder
[20:36:39 CET] <FishPencil> oh
[20:36:41 CET] <JEEB> encoding is usually left to the projects best aimed at it
[20:39:11 CET] <phillipk> anyone know of any super basic intros to ffmpeg? I feel this was missing from my early times with ffmpeg. The wiki is okay, but assumes a lot of base knowledge.
[20:39:30 CET] <FishPencil> phillipk: CLI or API
[20:40:06 CET] <FishPencil> phillipk: A "not sure" means CLI
[20:40:07 CET] <phillipk> CLI I suppose... (not api to build off of ffmpeg+)
[20:40:44 CET] <FishPencil> phillipk: #ffmpeg isn't a bad place :) Do you have a specific question?
[20:41:58 CET] <phillipk> I have had questions and worked through everything I need for now. But, for example, the docs on filter graphs seem unclear. And even the language used in the docs could be greatly improved. Not trying to complain but wondering if others have written up blog posts or primers.
[20:46:40 CET] <FishPencil> The docs have always been a sore spot...
[20:52:22 CET] <c_14> phillipk: patches welcome
[20:52:36 CET] <c_14> There are "a bunch" of small guides on trac.ffmpeg.org
[21:01:02 CET] <dalmatinac> Hello from sad Berlin :( I would like to download a hevc/mpeg-2 ts video from my server and as it is being downloaded and increasing in size I would like to encode it to h.264 and play it on my local browser.
[21:02:15 CET] <c_14> Does your browser support fragmented moov?
[21:03:43 CET] <dalmatinac> I'm using Electron, so it would be Chromium. I don't if it is supported by chromium. :/
[21:04:56 CET] <dalmatinac> I'm able to conver the file, and play it in the browser. But the problem is that it is not converting the whole downloaded video. Everytime it stops at a size of couple of hundred bytes
[21:04:59 CET] <dalmatinac> My command is: Spawned Ffmpeg with command: "ffmpeg -re -i testVideo.ts -y -acodec aac -strict experimental -b:a 128k -ac 2 -b:v 1024k -vcodec libx264 -f mp4 -movflags frag_keyframe+faststart -map 0:1 output.mp4" and I get this output: http://pastebin.com/dET5uYq5
[21:07:20 CET] <c_14> Consider updating your copy of ffmpeg, add -map 0:v:0
[21:09:12 CET] <dalmatinac> Thank you c_14! I will now try to update to the latest version for ubuntu, add the argument and report again :)
[21:18:12 CET] <podman> I'm running into an issue where i need to pad the beginning of a video with silence. It looks like asyncts is deprecated. I tried using the aresample filter but it didn't seem to do anything
[21:18:46 CET] <podman> do i need to do anything special to get something aresample=aysnc=1000 to work?
[21:23:23 CET] <podman> do i need to make sure ffmpeg is compiled with --enable-avresample?
[21:29:23 CET] <c_14> No, swresample should be built by default
[21:30:42 CET] <furq> podman: wouldn't adelay be a better choice for that
[21:31:04 CET] <dalmatinac> I have now updated to ffmpeg 3.2.2 and added the argument. The downloaded file was at 20mb(6sec) when I started the ffmpeg command. But at 1.4mb(6sec) ffmpeg finished, altough the downlod was still pending and increasing in size to 60mb(18secs). This is the output: http://pastebin.com/dET5uYq5
[21:31:15 CET] <podman> c_14: interesting. so I have a file that has a delayed audio track that starts about 20 seconds in. I need to create silent audio samples for those first 20 seconds
[21:32:14 CET] <c_14> dalmatinac: that's still the output from the 2.8 ffmpeg
[21:32:48 CET] <dalmatinac> Oh sorry! Here it is: http://pastebin.com/FQf1rgcr
[21:33:31 CET] <podman> c_14: hmm, maybe i want to use first_pts=0 instead?
[21:34:23 CET] <dalmatinac> I thought with the -re argument I'm telling ffmpeg that this file will still increase. But it seems he is only processing till the point, when he started.
[21:34:45 CET] <c_14> podman: have you tried adelay like furq said? (downside is you'll have to know the input channel layout)
[21:35:11 CET] <c_14> dalmatinac: how are you downloading the file?
[21:35:43 CET] <podman> c_14: i don't want to delay the audio channel, i want to pad the audio channel with silence
[21:35:59 CET] <furq> that's what adelay does
[21:36:28 CET] <dalmatinac> @c_14 With "wget www......" in another terminal
[21:36:31 CET] <podman> furq: so i need to know the exact amount of delay there is to get it to work?
[21:36:33 CET] <furq> https://ffmpeg.org/ffmpeg-filters.html#adelay
[21:36:41 CET] <furq> well presumably you'd need to know that anyway
[21:36:44 CET] <c_14> dalmatinac: ffmpeg can take input directly from http, try that
[21:37:01 CET] <podman> furq: sounds like the these other filters make more sense
[21:39:17 CET] <podman> furq: also, will that just add extra delay, or remove the delay and insert silence in it's place?
[21:46:17 CET] <dalmatinac> c_14: It worked! Thank you very much! Only one problem... This is just a workaround. I have a DVB-T stick for my laptop and I get a signal from it over a node.js module and I save it to a .ts file. Over the holidays I don't have this stick, so I uploaded a recording from it to a server and right now I try to simulate the stick by downloading the recording to a file.
[21:47:20 CET] <dalmatinac> c_14: So I'm thinking if I get it to work with this increasing file by downloading it, it will later also work with the DVB-stick. Do you know why it's not working when I specify the file, but it works when I specify the link?
[21:48:43 CET] <c_14> Probably because the file is so small that ffmpeg reads a block into the cache and the OS signals EOF
[21:51:52 CET] <dalmatinac> Ah, okay. Can we do anything about it? Maybe tell him, to ignore the EOF or define smaller blocks?
[21:56:16 CET] <c_14> try setting -blocksize 100K before -i
[22:04:44 CET] <podman> c_14: furq so, using aresample=first_pts=0 makes the audio track and the video track have the same length, so that's an improvement
[22:07:54 CET] <dalmatinac> c_14: I tried it but unfortunately, again it will stop when it reached the length of the input file, when I started the ffmpeg command :(
[22:08:38 CET] <c_14> try something smaller maybe? 1K?
[22:14:58 CET] <dalmatinac> c_14: Also not :( I start ffmpeg, when the file has 20%, 6MB. But then it will only create an output.mp4, which has a couple of seconds video and finishes...
[22:15:29 CET] <c_14> hmm, no clue then
[22:19:41 CET] <blue_misfit> hey folks, how can I regenerate timestamps when remuxing from mkv to mp4?
[22:19:43 CET] <dalmatinac> c_14: But thank you very much for your help! :)
[22:19:49 CET] <podman> c_14: furq: so, yeah, that worked! audio packets at the start of the video
[22:44:36 CET] <fling> How to deal with pulse delay when capturing sound and video?
[22:50:01 CET] <EliteHunter> I'm using this command on my batch file --start ffmpeg -ss %stTime% -i %path% -c:a copy -c:v copy -to %endTime% -copyts "output.mp4"-- to split a video. The process is completed successfully and i have no problems with windows media player but when i open the video on VLC the timestamp is all f* ed up. Why is that?
[22:52:14 CET] <fling> EliteHunter: because of -copyts and mp4
[22:53:15 CET] <EliteHunter> what should i do to fix it?
[22:53:22 CET] <fling> EliteHunter: try omitting -copyts
[22:53:42 CET] <EliteHunter> but that results in endtime being runtime
[22:54:02 CET] <EliteHunter> is the reason mp4 not supporting something with timestamps?
[22:54:32 CET] <EliteHunter> what i mean runtime is this
[22:54:35 CET] <EliteHunter> The first command will cut from 00:01:00 to 00:03:00 (in the original), using the faster seek. The second command will cut from 00:01:00 to 00:02:00, as intended, using the slower seek. The third command will cut from 00:01:00 to 00:02:00, as intended, using the faster seek. ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy cut.mp4 ffmpeg -i video.mp4 -ss 00:01:00 -to 00:02:00 -c copy cut.mp4 ffmpeg -ss 00:01:00 -i video.mp
[22:54:50 CET] <EliteHunter> https://trac.ffmpeg.org/wiki/Seeking
[22:55:41 CET] <fling> ahh
[22:56:21 CET] <EliteHunter> yeah so i don't want to omit copyts since i want to give a specific time range and not calculate how much will the video run for and then enter the time
[22:57:20 CET] <fling> But you should drop and recalculate it in the end somehow anyway as you are copying it in the middle
[22:59:04 CET] <EliteHunter> doesn't -ss and -to already does that?
[23:00:32 CET] <EliteHunter> when i run this even if the timestamps are wrong, there is nothing wrong with the video
[23:01:10 CET] <EliteHunter> if i run -ss 00:10:00 -to 00:11:00 the video runs for 1 minute, but you can't seek on VLC and the end timestamp is wrong
[23:01:34 CET] <EliteHunter> so there are no errors in the cut process but somehow timestamps are wrong in vlc
[23:01:50 CET] <EliteHunter> however windows media player correctly runs the video
[23:01:54 CET] <fling> after -copyts?
[23:02:31 CET] <EliteHunter> what do you mean by after?
[23:03:13 CET] <fling> ffmpeg -i & -copyts output.mp4 && vlc output.mp4
[23:03:55 CET] <EliteHunter> i don't have vlc in the command, i open it using the client
[23:04:14 CET] <fling> Does not matter.
[23:04:16 CET] <EliteHunter> btw my bad after i tried couple more videos windows media player seems to not work either
[23:04:36 CET] <EliteHunter> i run the command and open the output in vlc
[23:04:48 CET] <fling> after -copyts?
[23:04:50 CET] <EliteHunter> yes
[23:05:07 CET] <fling> copyts copies your ts from the input
[23:05:08 CET] <EliteHunter> it is a one line command so there is no way i would be able to open it before
[23:05:30 CET] <fling> so the shrinked output has ts from the longer input
[23:05:41 CET] <fling> your players don't like this behavior and bork
[23:06:05 CET] <fling> try not using copyts or try recalculating it in the end
[23:06:14 CET] <fling> gtg, cya later, good luck!
[23:06:40 CET] <EliteHunter> ok thanks, i'll calculate it in the batch file since it's not that hard. Thanks for your help
[00:00:00 CET] --- Wed Dec 21 2016
1
0
[00:04:34 CET] <kierank> can't get it in hex
[00:05:27 CET] <kierank> I can see it in hex editor
[00:05:30 CET] <kierank> but hopper doesn't want to see it
[00:08:11 CET] <kierank> durandal_1707: size is in bytes?
[00:09:08 CET] <durandal_1707> size is in pixels
[00:09:21 CET] <kierank> ah size is 1024*576 / 4
[00:10:56 CET] <durandal_1707> it's usually in bigger bands with chunk of zeroes
[00:11:21 CET] <kierank> yeah, i wonder if there is a state where you just say the rest of the block is zero if it terminates early
[00:11:31 CET] <kierank> durandal_1707: can you send me hexrays dump of function?
[00:12:21 CET] <durandal_1707> tomorrow maybe, now sleeping
[00:12:32 CET] <kierank> note that kostya's code says "show_unary
[00:12:35 CET] <kierank> your code does get_unary
[00:13:33 CET] <durandal_1707> yes, but it consumes those 8 bits
[00:14:34 CET] <durandal_1707> there are integer overflows if one use unsigned
[00:14:56 CET] <kierank> ok
[00:15:02 CET] <kierank> can't see anything then
[00:16:20 CET] <durandal_1707> usually second part of low coeffs are not reached
[00:16:46 CET] <durandal_1707> *low coeffs function
[00:17:02 CET] <durandal_1707> used lcov coverage tool
[01:20:13 CET] <kierank> michaelni: can you explain
[01:20:14 CET] <kierank> int (*decode_mb)(struct MpegEncContext *s, int16_t block[6][64]); // used by some codecs to avoid a switch()
[01:20:25 CET] <kierank> how does one implement codecs with 4:2:2 and 4:4:4
[01:24:08 CET] <kierank> ret = s->decode_mb(s, s->block);
[01:24:13 CET] <kierank> but then s->block isn't of the right type?
[01:26:46 CET] <michaelni> the type chould be changed if thats the only issue
[01:27:07 CET] <michaelni> mpeg2 support 422 /444 but uses a diferent codepath so iam not sure that helps
[01:27:24 CET] <kierank> yes, i'm asking how to modify mpeg-4 to support 4:2:2 and 4:4:4
[01:28:06 CET] <kierank> I guess I should submit that patch and get people to fate test it alone
[01:28:11 CET] <kierank> there's tons of code that assumes 4:2:0
[01:29:59 CET] <kierank> weird, nothing complains
[01:30:11 CET] <kierank> I guess it's a valid cast
[02:49:22 CET] <kierank> michaelni: so yeah the mpeg-4 framer is totally broken
[02:49:25 CET] <kierank> parser
[02:49:30 CET] <kierank> if ((state & 0xFFFFFF00) == 0x100) {
[02:49:32 CET] <kierank> that's a legal startcode
[02:49:35 CET] <kierank> for other stuff
[02:50:51 CET] <kierank> in fact that doesn't work at all
[02:53:02 CET] <kierank> I get one call to ff_mpeg4_decode_picture_header with 1500000 bytes available
[02:53:04 CET] <kierank> from the parser
[02:53:11 CET] <kierank> then I get one from the decoder with 256 bytes! available
[02:53:13 CET] <kierank> and then I overread
[03:15:21 CET] <kierank> hmm seems to be sourced from extradata
[03:15:29 CET] <kierank> but where the hell does it get the extradata from
[03:21:17 CET] <kierank> is there a way to find out where extradata is set?
[03:23:34 CET] <kierank> in the parser it has no extradata
[03:23:38 CET] <kierank> but suddenly in the decoder it does
[03:23:41 CET] <kierank> this is crazy
[03:42:09 CET] <kierank> oh wow that's a fucking awful hack
[03:42:11 CET] <kierank> oh my god
[03:42:33 CET] <kierank> wm4: the parser calls the decode function, consumes bytes, then the data is put into extradata
[03:42:43 CET] <kierank> but the decoder expects a continuous data stream
[03:42:48 CET] <kierank> what.the.fuck
[16:49:38 CET] <BBB> ubitux: ping
[19:59:39 CET] <cone-984> ffmpeg 03Michael Niedermayer 07master:99af260d0b07: doc/examples/decoder_targeted: Limit max pixels for fuzzing
[21:15:13 CET] <wm4> does does ffmpeg produce mkv files with aac tracks that have no a single packet marked as keyframes
[21:15:31 CET] <wm4> why does ffmpeg include a shitty hack to make seek "work" in such files too
[21:15:42 CET] <wm4> this project is so fucking irresponsible
[21:17:00 CET] <durandal_1707> wm4: please post patch
[21:17:31 CET] <wm4> what would that even look like? should I av_assert0(false) if it muxes an aac packet with keyframe=false?
[21:17:45 CET] <durandal_1707> do anyone know utility like vritual dub which doesn't crash?
[21:18:02 CET] <RiCON> vdfiltermod?
[21:21:20 CET] <nevcairiel> wm4: the keyframe flag isnt even documented in the matroska spec as far as i can see, so what can a muxer do
[21:21:49 CET] <wm4> nevcairiel: that's bullshit
[21:23:56 CET] <durandal_1707> RiCON: thanks
[21:26:08 CET] <nevcairiel> but what is a muxer supposed to do, you don't want to hardcode codec-based checks into a muxer, so it has to somewhat rely on getting valid input - but on the other hand not all containers carry such a flag, so its easy to lose it, i don't think we have any way to identify keyframes and mark them if the container didnt do so
[21:26:37 CET] <nevcairiel> (although for audio iirc all packets are assumed key frames in demuxing, unless someone changed that)
[21:26:38 CET] <wm4> so why does the ffmpeg _demuxer_ do that
[21:27:06 CET] <nevcairiel> who knows, the demuxer has all sort of funny issues
[21:27:34 CET] <wm4> hm I also wanted to change my demuxer to always assume keyframes for all audio packets
[21:27:55 CET] <wm4> but AFAIK libavformat leaves this to the parser to determine
[21:28:29 CET] <nevcairiel> the only audio codec i can even come up with that has non-keyframes is truehd
[21:28:47 CET] <wm4> that's usually broken beyond repair anyway
[21:29:08 CET] <nevcairiel> and the frames are so tiny that just skipping ahead is usually not a problem
[21:29:20 CET] <nevcairiel> .833ms frames yoo
[21:51:07 CET] <llogan> what does tools/ffbisect do? IIRC something to do with merges?
[21:51:45 CET] <llogan> ...when bisecting.
[22:20:43 CET] <cone-984> ffmpeg 03Pavel Koshevoy 07master:4240e5b04737: lavfi/atempo: avoid false triggering an assertion failure
[22:43:31 CET] <nevcairiel> llogan: it allows to skip results from the libav side of the merge commits since those w ouldnt really work
[22:51:51 CET] <JEEB> -32
[23:08:28 CET] <ubitux> BBB: pong
[23:11:14 CET] <cone-984> ffmpeg 03Chen Meng 07master:25e35b34365e: avformat/mov.: Make the process of uuid-xmp atom faster.
[23:25:20 CET] <llogan> nevcairiel: thanks. just "ffbisect start" then "ffbisect need ffmpeg"?
[23:26:55 CET] <nevcairiel> first need i imagine
[23:27:14 CET] <nevcairiel> hm or maybe not
[23:27:49 CET] <nevcairiel> yeah first start then need
[23:28:05 CET] <nevcairiel> and then ffbisect good/bad/skip as appropriate
[23:51:49 CET] <llogan> thanks again
[00:00:00 CET] --- Tue Dec 20 2016
1
0
[00:01:53 CET] <MoonOwl> done
[00:02:00 CET] <MoonOwl> You were right
[00:05:46 CET] <MoonOwl> The output for part of what I'm trying to compress http://pastebin.com/Zv0Q7xNR
[00:08:32 CET] <MoonOwl> Thanks
[00:12:51 CET] <furq> isn't 20 a really low crf for x265
[00:13:17 CET] <furq> apparently 28 is equivalent to x264 23
[00:13:23 CET] <MoonOwl> I am backing up my DVD's
[00:13:26 CET] <furq> so i guess you want 24-25
[00:13:50 CET] <MoonOwl> I thought the CRF's for x264 and x265 corresponded with each other
[00:13:53 CET] <furq> they don't
[00:14:38 CET] <furq> i assume -preset ultrafast was just for that paste
[00:14:38 CET] <MoonOwl> Pink Floyd's Pulse DVD has very poor quality and trying to rip it is a painful experience
[00:14:45 CET] <furq> ultrafast will compress worse than x264 at the same encoding speed
[00:14:53 CET] <MoonOwl> It was just for the paste
[00:14:56 CET] <furq> ok good
[00:15:16 CET] <furq> anything below -preset medium with x265 is a waste of time, x264 will do the same or better at equivalent speed
[00:15:26 CET] <furq> usually, anyway
[00:22:07 CET] <MoonOwl> A higher average bitrate was obtained with -preset medium all else being the same http://pastebin.com/qwX2vAUf
[00:23:07 CET] <MoonOwl> I thought the slower the preset, the better the compression under normal circumstances
[00:26:42 CET] <MoonOwl> Is x265 like the video counterpart of HE-AACv2, the codec Nokia used to ship for syncing to symbian phones in how it relates to its predecessor
[00:29:56 CET] <DHE> super sport version, x265 is an encoder for the H265 codec, intended to be the successor to H264.
[00:33:53 CET] <furq> yeah it's more akin to the difference between xvid and x264
[00:34:25 CET] <furq> maybe not quite that pronounced though
[00:34:30 CET] <furq> x264 is still pretty competitive
[00:35:09 CET] <MoonOwl> "-preset fast" compressed better than "-preset medium" but still did not perform like "-preset ultrafast". It seems HEVC's implementations, x265 in particular, are still work in progress
[00:35:18 CET] <furq> well x264 is the same way
[00:35:40 CET] <furq> slower presets will generally look better rather than compress better at the same crf
[00:35:42 CET] <MoonOwl> Nero's AVC codec was beautiful
[00:36:30 CET] <MoonOwl> But furq, I thought crf implied constant quality
[00:36:56 CET] <MoonOwl> And all you could ever do in terms of fiddling with settings would determine how strong the compression is
[00:37:06 CET] <furq> constant given the same settings other than crf
[00:37:39 CET] <furq> some of the settings defined by the presets make a massive difference, e.g. cabac is disabled with -preset ultrafast
[00:39:00 CET] <furq> qp is true constant quality, but it's not recommended
[00:39:21 CET] <MoonOwl> I saw in the docs
[00:39:23 CET] <furq> i guess you could use it for benchmarking how much difference the presets make, but it's probably not useful information
[00:39:54 CET] <furq> i'll admit it's unintuitive
[00:41:13 CET] <MoonOwl> Do you think video encoding will ever have a FLAC
[00:41:25 CET] <furq> it already does
[00:41:50 CET] <MoonOwl> A lossless standard that makes some lossy transcoding a waste
[00:41:54 CET] <MoonOwl> Which one?
[00:42:00 CET] <furq> well not in terms of usability
[00:42:08 CET] <furq> most lossless video codecs beat flac in terms of average compression ratio
[00:42:17 CET] <furq> but rawvideo is a few orders of magnitude bigger than cd audio
[00:43:21 CET] <furq> 1080p60 yuv420p rawvideo is about 1.5gbps
[00:44:14 CET] <MoonOwl> Most cheap consumer hardware even with flash storage is incapable of such bitrates
[00:44:39 CET] <furq> well you'd need a 90% compression ratio for me to be able to stream that on my internet
[00:44:44 CET] <furq> and my internet is pretty good
[00:45:46 CET] <MoonOwl> HD Audio and 12 bit 4k... some claim these are marketing ripoffs
[00:45:49 CET] <furq> x264 lossless and ffv1 can do better than 2:1 on a good day
[00:46:04 CET] <furq> but yeah, you'd need more like 20:1 really
[00:46:10 CET] <llamapixel> Just to clarify, no uncompressed standard at the moment is really uncompressed.. The lense and capture rate is a form of compression when it is captured. Just be happy if the content is crisp enough and double the intended usage if you are compositing.
[00:46:17 CET] <furq> christ not this again
[00:46:43 CET] <MoonOwl> I'm sorry furq for bringing it up. I'll withdraw it
[00:47:00 CET] <furq> not you
[00:47:03 CET] <furq> remind me what hd audio is
[00:47:20 CET] <llamapixel> It should be understood so there is no confusion with people who assume it is the ultimate.
[00:47:38 CET] <phillipk> I updated my question that was also discussed here--http://ffmpeg.gusari.org/viewtopic.php?f=11&t=3329&p=9970#p9970
[00:48:21 CET] <llamapixel> uncompressed is a misnomer that can confuse people entering the subject.
[00:48:45 CET] <furq> you're the only person i've ever seen get confused about it
[00:48:59 CET] <phillipk> it appears to me, -filter_complex_script (which points to a "command file" --text file with complex filter) has an upper limit for the size of the command file
[00:49:05 CET] <llamapixel> I have no confusion about it. hence why I am not asking questions that relate to it.
[00:49:30 CET] <furq> phillipk: post a bug report i guess
[00:50:46 CET] <phillipk> @furq you think that's appropriate? I noticed some optimizations for captions must address this because you can have a huge data file containing the captions (right?)
[00:51:07 CET] <furq> people normally use libass for captions
[00:51:20 CET] <furq> i've never seen anyone doing it with -filter_complex_script, but who knows
[00:51:33 CET] <phillipk> well, I'm not doing captions but it seems similar
[00:52:05 CET] <MoonOwl> HD Audio is marketted as audo with a sample rate of 92 or 192 kHz and bit depth of 24 bits
[00:52:09 CET] <phillipk> I am wanting to overlay a png on any frame in any location--with data drawn from a text file. (thought originally, I thought maybe I could cram it into the command itself)
[00:52:12 CET] <furq> oh
[00:52:15 CET] <furq> yeah that's snake oil
[00:52:34 CET] <furq> 24-bit is only useful for mastering, and >48khz is completely useless
[00:53:03 CET] <furq> high-bit-depth 4k isn't really a marketing thing but very few people have a good enough display to notice the difference
[00:53:40 CET] <furq> i mean it's a marketing thing in that it's a way to get you to buy a new expensive tv and buy all your films again, but there is actually a noticeable difference
[00:55:29 CET] <furq> phillipk: i take it you couldn't get sendcmd to work
[00:55:43 CET] <MoonOwl> This reminds me of how people were supposed to get excited to be paying extra for 720p broadcasts when people wanted an upgrade to 1080p from 576p not a retardation to 480p to sell 720p encoded content. This happened with one of our local satellite providers
[00:57:01 CET] <MoonOwl> I always ask myself the question: How many ordinary people are willing to fork out extra for 4k tv when almost no one is streaming their content at that resolution
[00:57:17 CET] <furq> is anyone anywhere broadcasting 4k yet
[00:57:32 CET] <thebombzen_> yea. it's somewhat unfair to compare to x264 because it's so good
[00:58:03 CET] <thebombzen_> given that HEVC has like 10 years fewer of development
[00:58:18 CET] <thebombzen_> you can't expect something new like x265 to be anywhere as good relative to the bitstream spec that x264 is
[00:58:44 CET] <DHE> x264 is over a decade old now. x265 not so much
[00:58:55 CET] <iive> x264 got quite good quite fast
[00:58:59 CET] <thebombzen_> my guess is in a few years x265 will be far far better than x264. nowadays x264 is still preferrable over x265 in many cases because x265 is so damn slow
[00:59:05 CET] <furq> tbh i would probably stick with x264
[00:59:17 CET] <furq> x265's future isn't as certain as i'd like
[00:59:18 CET] <DHE> I could disagree. frame-based threading took a while.
[00:59:43 CET] <thebombzen_> although tbh HEVC seems like it's a transitionary technology
[00:59:56 CET] <thebombzen_> H.264 is like mpeg2 as in, super standard around forever
[00:59:58 CET] <MoonOwl> http://www.directv.com/technology/4k
[01:00:06 CET] <furq> i mean av1 will probably not be ready for a good few years
[01:00:15 CET] <furq> and there's no other path forward atm
[01:00:19 CET] <thebombzen_> whereas mpeg4-asp was never fully adopted
[01:00:31 CET] <thebombzen_> I feel like HEVC will be like mpeg4asp
[01:00:42 CET] <furq> yeah the licensing situation is very unhelpful to its cause
[01:00:46 CET] <thebombzen_> ideally the next generation after HEVC and vp9 will work.
[01:00:51 CET] <furq> but also x264 is so embedded now
[01:00:54 CET] <thebombzen_> specifically Daala
[01:00:55 CET] <furq> s/x/h/
[01:01:10 CET] <thebombzen_> Daala looks very promising
[01:01:13 CET] <furq> aren't the daala guys working on av1 now
[01:01:15 CET] <MoonOwl> ASP was bombed on us in Southern Africa as THE codec
[01:01:27 CET] <thebombzen_> well I can't speak for southern africa
[01:01:32 CET] <thebombzen_> I'm in North America
[01:01:37 CET] <furq> i heard some daala tech was going to make it into av1, but then i also heard it wasn't going to any more
[01:01:59 CET] <thebombzen_> well the whole point of daala was that they invented a deblocking filter with a Right Inverse
[01:02:01 CET] <thebombzen_> which is a big deal
[01:02:12 CET] <furq> i thought the whole point was that it didn't use IDCT
[01:02:23 CET] <furq> which is a big patent troll vector
[01:02:35 CET] <thebombzen_> well the DCT is just math
[01:02:40 CET] <thebombzen_> that's not patented
[01:03:13 CET] <thebombzen_> DCT is just a change of basis
[01:03:26 CET] <thebombzen_> it's essentially just linear algebra
[01:03:49 CET] <thebombzen_> either way afaik the point of daala is that there's a deblocking filter P with a right inverse (P')
[01:03:53 CET] <furq> In addition to the technical freedom of starting fresh, this new design consciously avoids most of the patent thicket surrounding mainstream block-DCT-based codecs. At its very core, for example, Daala is based on lapped transforms, not the traditional DCT.
[01:04:01 CET] <MoonOwl> BBC should go back into the game of codec development
[01:04:05 CET] <thebombzen_> huh
[01:04:17 CET] <thebombzen_> either way the right-invertible deblocking filter is a big deal
[01:04:20 CET] <furq> sure
[01:04:32 CET] <thebombzen_> cause if P' is a right inverse of P then you can take P' and then do the transform stuff and then take P
[01:04:37 CET] <furq> you get that for free with the lapped transform don't you
[01:04:41 CET] <thebombzen_> I don't know
[01:04:52 CET] <furq> well i'm no expert on this stuff but that's the impression i got from this article
[01:04:52 CET] <thebombzen_> isn't "lapped transform" like the MDCT used in vorbis
[01:05:47 CET] <furq> something like that
[01:05:55 CET] <thebombzen_> I just find it very weird that P has a right inverse. it's much harder to find a right inverse than a left inverse
[01:05:57 CET] <thebombzen_> so that's nice
[01:06:43 CET] <thebombzen_> but either way I still don't see the issue with DCT
[01:06:47 CET] <thebombzen_> it's just a change of basis
[01:06:57 CET] <thebombzen_> I'm not sure how you can patent that
[01:07:00 CET] <furq> MoonOwl: some of the bbc r&d guys are apparently working on av1
[01:07:32 CET] <furq> thebombzen_: i imagine you can patent using a DCT to compress video in some way
[01:08:20 CET] <furq> oh what
[01:08:25 CET] <furq> http://www.bbc.co.uk/rd/blog/2016/09/turing-codec
[01:08:28 CET] <furq> this is news to me
[01:08:28 CET] <MoonOwl> I hope daala matures and grows in acceptance.
[01:09:11 CET] <thebombzen_> but furq the original idea to use DCT to compress video was actually JPEG
[01:09:17 CET] <thebombzen_> and everything's a derivative of that
[01:09:20 CET] <thebombzen_> afaik the JPEG patent expired
[01:09:22 CET] <furq> shrug
[01:09:24 CET] <furq> i'm not a patent lawyer
[01:09:33 CET] <thebombzen_> patenting an algorithm seems really weird to me
[01:09:37 CET] <furq> or a video encoder writer
[01:09:54 CET] <thebombzen_> especially since the algorithm is simple enough that I could explain it to a college student after one semester of linear algebra
[01:10:15 CET] <MoonOwl> Thank God patents expire
[01:10:26 CET] <furq> but yeah it looks like some daala stuff is on the table for av1
[01:10:29 CET] <thebombzen_> I tutor linear algebra students at uni and I could explain to them after the semester is over how jpeg works
[01:10:35 CET] <MoonOwl> MP3's patent has expirent in most places
[01:10:47 CET] <furq> well it was never patented in most places because most places don't honour software patents
[01:10:55 CET] <furq> the last patent expires in the US at the end of next year
[01:10:57 CET] <thebombzen_> well fraunhofer wanted to charge royalties for anything distributed in the mp3 format
[01:11:04 CET] <thebombzen_> which is just stupid
[01:11:15 CET] <thebombzen_> what a great way to get people to not use your technology
[01:11:26 CET] <furq> isn't that pretty much what you have to do for h264
[01:11:29 CET] <thebombzen_> no
[01:11:55 CET] <thebombzen_> Fraunhofer wanted to make it so if I put an mp3 on my website of music I made in my garage, they'd get royalties
[01:12:12 CET] <thebombzen_> even if I paid a licensee to encode it
[01:12:21 CET] <thebombzen_> and it could only be played on a licensed player
[01:12:26 CET] <furq> oh
[01:12:32 CET] <furq> yeah that is a bit more restrictive then
[01:12:34 CET] <MoonOwl> It's a fair thing to ask for given what mp3 did for consumer world
[01:12:39 CET] <thebombzen_> well they never ended up doing it
[01:12:47 CET] <thebombzen_> because 98 percent of people refused to pay it
[01:13:09 CET] <furq> they probably only decided that would be a good idea after it already took off
[01:13:23 CET] <thebombzen_> maybe. but they never ended up with that stuff
[01:13:37 CET] <thebombzen_> the problem with software patents is that patents are supposed to encourage innovation
[01:13:37 CET] <furq> if only hevc had the same foresight
[01:13:39 CET] <MoonOwl> MP3 became the dreaded infrastructure technology of audio distribution
[01:14:03 CET] <MoonOwl> Has anyone ever used dirac?
[01:14:18 CET] <thebombzen_> patents are supposed to encourage innovation by making it so there's no risk in publishing an invention
[01:14:19 CET] <furq> did dirac ever get beyond the experimental stage
[01:14:34 CET] <thebombzen_> the issue is that software and codec patents in general don't serve to encourage innovation
[01:14:38 CET] <thebombzen_> they essentially do nothing but hinder it
[01:14:57 CET] <MoonOwl> It's all about intellectual property
[01:15:01 CET] <thebombzen_> the fact that the mp3 patents are a pain in the ass makes it not worth it
[01:15:10 CET] <MoonOwl> Not innovation
[01:15:35 CET] <thebombzen_> patents in theory are to encourage innovation. because the idea is to have no fear of publishing an invention or making it public
[01:15:45 CET] <thebombzen_> they just don't work that way in practice with respect to software patents and codecs
[01:15:47 CET] <MoonOwl> I always wondered how LAME got away with implementing MP3 and distributing the binaries of their codec
[01:15:59 CET] <thebombzen_> I don't think they do
[01:16:07 CET] <thebombzen_> afaik LAME was source-only
[01:16:11 CET] <thebombzen_> which is weird
[01:16:12 CET] <thebombzen_> cause like
[01:16:29 CET] <thebombzen_> patent laws are such that LAME is source-only
[01:16:37 CET] <thebombzen_> like who cares if it's in C or in machine code
[01:16:57 CET] <MoonOwl> Anything can be disassembled
[01:16:57 CET] <thebombzen_> how is that any different. but apparently someone managed to convince the US gov't that source code was protected first amendment speech
[01:17:20 CET] <thebombzen_> which is IMO wrong
[01:17:25 CET] <thebombzen_> like that's not what speech is
[01:17:31 CET] <c_14> Why not?
[01:17:48 CET] <c_14> It's just like making a movie.
[01:17:52 CET] <c_14> And that's free speech.
[01:17:54 CET] <thebombzen_> it's a bit complicated. but not all "text" is "speech"
[01:18:02 CET] <thebombzen_> source code in particular is not english text
[01:18:05 CET] <c_14> So?
[01:18:10 CET] <c_14> Does it have to be?
[01:18:14 CET] <MoonOwl> I think 'speech' is now being used where 'expresson' could have been used
[01:18:24 CET] <thebombzen_> well source code is an algorithm description
[01:18:36 CET] <thebombzen_> there's really no difference between source and binaries from a speech perspective
[01:18:39 CET] <c_14> So are books that describe how to build bombs.
[01:18:46 CET] <c_14> Those are protected under freedom of speech.
[01:19:00 CET] <thebombzen_> my point is that source and binary code shouldn't be different
[01:19:03 CET] <thebombzen_> but they are for some reason
[01:19:05 CET] <c_14> There is no difference between source code and binaries from a speech definition
[01:19:11 CET] <thebombzen_> actually yes there is
[01:19:13 CET] <c_14> But lawmakers/lawyers etc don't understand computers
[01:19:21 CET] <thebombzen_> that's my point
[01:19:37 CET] <thebombzen_> someone convinced lawmakers that source code is speech but binaries aren't
[01:19:38 CET] <thebombzen_> which is weird.
[01:19:56 CET] <thebombzen_> I can buy an argument that source code is speech only if binaries are to
[01:20:04 CET] <thebombzen_> but that's now how the law works for some weird reason
[01:20:15 CET] <thebombzen_> of course that doesn't matter that europe doesn't have protectd speech
[01:20:22 CET] <thebombzen_> cause europe also doesn't have software patents ^_^
[01:20:29 CET] <c_14> Because the people who convinced the lawmakers thereof thought it would be easier to just do code.
[01:20:34 CET] <thebombzen_> but like
[01:20:39 CET] <thebombzen_> disassembly exists
[01:20:45 CET] <c_14> Because that looks more like speech
[01:20:45 CET] <thebombzen_> and some languages are even more disassemblable
[01:20:54 CET] <thebombzen_> Java can even be decompiled
[01:20:57 CET] <thebombzen_> not just disassembled
[01:21:06 CET] <furq> https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Sample_09-F9_prot…
[01:21:08 CET] <MoonOwl> The assumption causing problems is that programming languages are all human languages
[01:21:11 CET] <furq> never forget
[01:21:17 CET] <thebombzen_> what about Brainfuck
[01:21:21 CET] <thebombzen_> is that human language
[01:21:45 CET] <thebombzen_> bf is essentially Turing Machines The Language
[01:21:45 CET] <furq> yeah any brainfuck program translates into english as "i fucking suck ass, don't talk to me"
[01:21:55 CET] <MoonOwl> Well, hieroglyphics were a human language
[01:22:04 CET] <thebombzen_> well bf can be compiled with a one-line bash script
[01:22:24 CET] <thebombzen_> because you can translate bf to C with a regular expression and a bit of boilerplate.
[01:23:02 CET] <thebombzen_> does that make it speech
[01:23:10 CET] <thebombzen_> if you can compile it to C
[01:23:13 CET] <thebombzen_> which is 'human readable'
[01:23:26 CET] <thebombzen_> (despite that making it significantly less readable)
[01:23:44 CET] <MoonOwl> Every language is human readable
[01:23:55 CET] <furq> what about java
[01:23:55 CET] <c_14> Well, no
[01:24:01 CET] <c_14> Every Human language is human readable
[01:24:03 CET] <MoonOwl> Otherwise, we wouldn't classify it as a a language
[01:24:06 CET] <thebombzen_> furq: yes
[01:24:15 CET] <thebombzen_> not sure what you mean by that
[01:24:29 CET] <furq> me?
[01:24:36 CET] <thebombzen_> yea. what do you mean "what about java"
[01:24:41 CET] <furq> i'm saying that java sucks. it's a clever and original joke
[01:24:51 CET] <thebombzen_> well what you said is that java isn't human readable
[01:24:53 CET] <thebombzen_> which isn't true
[01:24:58 CET] <MoonOwl> For us to classify an object as a language, don't we first have to have an understanding of it? And by understanding a language, the language becomes readable to us
[01:25:19 CET] <thebombzen_> also it's unfair to say that Java sucks
[01:25:25 CET] <thebombzen_> at least it was designed
[01:25:42 CET] <thebombzen_> you may dislike it. I hate python but I don't think it sucks
[01:25:42 CET] <MoonOwl> Java is actually pretty compared to some of the things that I've tried to write
[01:26:06 CET] <furq> is there a distinction between "i dislike it" and "it sucks"
[01:26:11 CET] <thebombzen_> Yes
[01:26:14 CET] <thebombzen_> PHP sucks
[01:26:33 CET] <thebombzen_> I dislike Javascript
[01:26:40 CET] <thebombzen_> but it doesn't "suck" in the same way PHP does
[01:26:50 CET] <MoonOwl> Languages may suck but the beauty about them is that if you work hard enough you can generate them and even translate to the languages that are descriptions of the produced languages
[01:27:05 CET] <thebombzen_> Java in particular is actually a very well-designed language and does what it's supposed to do very well
[01:27:10 CET] <furq> there is no objective standard against which to define php as a bad language though
[01:27:15 CET] <furq> even though it obviously is
[01:27:23 CET] <thebombzen_> php doesn't do what it's designed to do
[01:27:29 CET] <thebombzen_> it creates net positive work for the programmer
[01:27:30 CET] <MoonOwl> At the end of the day whichever language we decide to use, the end-user could not care if we wrote in C++ or Lisp
[01:27:44 CET] <furq> it's designed to get a website up with minimal effort
[01:27:48 CET] <furq> if anything it does that too well
[01:27:54 CET] <c_14> Unless they happen to not have enough RAM to compile the program in C++ or don't have a Lisp REPL
[01:27:54 CET] <thebombzen_> not really
[01:28:08 CET] <furq> i said "up", not "working to an acceptable level"
[01:28:10 CET] <thebombzen_> c_14: I think they meant the binaries
[01:28:25 CET] <MoonOwl> PHP causes great fatigue
[01:28:45 CET] <thebombzen_> but either way the thing about Java is that it's very double-edged
[01:28:58 CET] <thebombzen_> there's a lot of things that people find very strange about it
[01:29:07 CET] <MoonOwl> Wasn't Java supposed to bring Lisp to C programmers?
[01:29:11 CET] <thebombzen_> no
[01:29:18 CET] <thebombzen_> Java has literally nothing to do with lisp
[01:29:27 CET] <furq> maybe you're thinking of javascript
[01:29:32 CET] <c_14> Well, they're both programming languages
[01:29:36 CET] <MoonOwl> No... Im referring to Java
[01:29:37 CET] <thebombzen_> Javascript is also nothing like lisp
[01:29:41 CET] <furq> which also has little to do with lisp, but it has an association
[01:29:46 CET] <thebombzen_> Java is an objected oriented C-syntax language
[01:29:56 CET] <thebombzen_> not sure how Lisp is relevant there
[01:30:08 CET] <thebombzen_> or rather. it's got a C-like syntax.
[01:30:08 CET] <furq> it's relevant to js because js was almost lisp
[01:30:16 CET] <furq> i have no idea what the association with java is
[01:30:20 CET] <thebombzen_> but I'm not sure how Java has anything do with lisp
[01:30:24 CET] <furq> either with lisp or javascript
[01:30:32 CET] <thebombzen_> Javascript was named after Java
[01:30:36 CET] <thebombzen_> which was a huge mistake
[01:30:46 CET] <MoonOwl> JavaScript to me is like a Scheme imitation that aspired to be like some relatively esoteric programming language and found itself looing like C to the Mr Magoo and Stevie Wonder
[01:30:58 CET] <thebombzen_> JavaScript is an extension of ECMA
[01:31:12 CET] <thebombzen_> I dislike ECMA
[01:31:14 CET] <furq> brendan eich got hired to embed scheme into netscape
[01:31:25 CET] <thebombzen_> to be honest one of the reasons I like Java is that I hate weak typing
[01:31:31 CET] <furq> but then sun got involved and decided that it should be a language with c-family syntax
[01:31:37 CET] <furq> so eich hacked some bullshit together in a couple of weeks
[01:31:50 CET] <furq> and now, 20 years later, we get to reap the benefits of good planning
[01:32:02 CET] <thebombzen_> and Java is a strongly-typed object-oriented language
[01:32:08 CET] <thebombzen_> of which there are extremely few
[01:32:35 CET] <c_14> I mean, I like strong typing as well but I'd much rather write lisp than Java.
[01:32:49 CET] <c_14> The Java syntax is so excessive
[01:32:59 CET] <thebombzen_> Not really. depends on what you're trying to do
[01:33:02 CET] <MoonOwl> Where I took the quote https://news.ycombinator.com/item?id=2323963
[01:33:13 CET] <thebombzen_> If you're trying to write hello world? Yea it takes a lot of lines. Because it's not a scripting language.
[01:33:20 CET] <furq> don't forget the jvm
[01:33:28 CET] <thebombzen_> If you're trying to do something /really simple/ in Java then you're using the wrong tool.
[01:33:50 CET] <MoonOwl> Vala seems nicer than Java to me
[01:33:50 CET] <thebombzen_> so it's a bit silly to say that the syntax is so excessive
[01:34:06 CET] <MoonOwl> Java is not excessive
[01:34:10 CET] <thebombzen_> also I happen to like the fact that Java tends to have keywords rather than nonalphanumeric symbols
[01:34:24 CET] <furq> you'd love lua then
[01:34:24 CET] <thebombzen_> it makes for more characters typed but its' easier to type and it's easier to read
[01:34:54 CET] <MoonOwl> Java just happens to be a language for everyone
[01:35:01 CET] <llamapixel> lua is horrible spaghetti, had to manage some smart device games for McDonalds with that in Corona.
[01:35:12 CET] <thebombzen_> although a big thing about Java is that it's got a lof keywords but it doesn't give up grouping symbols
[01:35:14 CET] <thebombzen_> that's a big deal
[01:35:18 CET] <MoonOwl> Where each individual has to tolerate everyone's preferences
[01:35:19 CET] <DHE> I actually like lua. a few ambiguous syntax issues, but mostly okay
[01:35:20 CET] <furq> lua does not seem like the weak link in that scenario
[01:35:37 CET] <furq> ambiguous syntax?
[01:35:38 CET] <thebombzen_> because people have a bad habit of making langauges with keywords and forgetting that grouping symbols like () [] and {} are still extremely nice
[01:35:53 CET] <DHE> furq: with optional semicolons, it's possible to have ambiguous syntax when omitting them
[01:35:58 CET] <thebombzen_> what I mean for example is "extends" versus "::"
[01:36:03 CET] <furq> you never actually run into that though
[01:36:14 CET] <MoonOwl> A Go and C++ hybrid would be nice
[01:36:17 CET] <thebombzen_> lol you guys would love perl
[01:36:25 CET] <thebombzen_> Perl before Perl6 is parsed in realtime
[01:36:34 CET] <MoonOwl> Perl is not human readable
[01:36:35 CET] <thebombzen_> in some rare cases it can't be parsed
[01:36:35 CET] <furq> it's not doing asi like js where you have to remember all the bullshit asi rules
[01:36:45 CET] <thebombzen_> asi?
[01:36:54 CET] <furq> that only happens in one place in lua and it's if you end a line with ) and start the next one with (, which you never do in practice
[01:36:54 CET] <thebombzen_> automatic semicolon insertion?
[01:36:57 CET] <furq> yeah
[01:37:03 CET] <thebombzen_> oh lol fuck that
[01:37:10 CET] <thebombzen_> it should just give you a compiletime error
[01:37:21 CET] <thebombzen_> asi sounds like it's a kind of thing to reward incompetent programmers who don't care enough
[01:37:22 CET] <furq> if you mean lua, it does
[01:37:36 CET] <thebombzen_> like if someone wants a garage website
[01:37:39 CET] <furq> oh nvm you mean not terminating a statement with ; in js
[01:37:46 CET] <furq> i always just use the semicolons in js
[01:37:49 CET] <llamapixel> smells like measuring chat.
[01:37:52 CET] <thebombzen_> haha
[01:38:01 CET] <thebombzen_> I'm not sure why javascript inserts semicolons for you
[01:38:03 CET] <thebombzen_> I just
[01:38:09 CET] <furq> because it's a terrible mistake of a language
[01:38:12 CET] <thebombzen_> don't understand why they would allow you to be that lazy
[01:38:30 CET] <thebombzen_> furq: I like how if you want to convent a string to a number
[01:38:33 CET] <thebombzen_> you use the unary +
[01:38:37 CET] <furq> ;_;
[01:38:38 CET] <thebombzen_> +"5" === 5
[01:38:45 CET] <thebombzen_> yea
[01:38:52 CET] <furq> the worst thing about that line of code isn't what you just said
[01:38:53 CET] <furq> it's ===
[01:39:02 CET] <thebombzen_> that is what I just said
[01:39:13 CET] <thebombzen_> oh yea
[01:39:15 CET] <MoonOwl> JavaScript is a beautiful language waiting to be discovered... just like C++
[01:39:21 CET] <thebombzen_> the fact that they have === and ==
[01:39:28 CET] <furq> yeah exactly like C++
[01:39:33 CET] <furq> there is a good language in there somewhere
[01:39:40 CET] <c_14> Are you sure?
[01:39:40 CET] <furq> it's just surrounded by seven or eight garbage languages
[01:39:53 CET] <furq> and nobody quite agrees on which is the good subset
[01:39:53 CET] <thebombzen_> in Java they thought of that and the non-identity equals is just an instance method
[01:40:10 CET] <thebombzen_> which can (and should) be overridden as appropriate
[01:40:23 CET] <furq> i generally end up writing js as if it was lua
[01:40:32 CET] <thebombzen_> the most annoying thing about js
[01:40:34 CET] <MoonOwl> Prototype-based OOP vs class-based OOP... what do you prefer
[01:40:37 CET] <furq> and it's tolerable, even with the fucked-up type system
[01:40:46 CET] <thebombzen_> class-based is more readable
[01:40:51 CET] <thebombzen_> more maintainable
[01:40:55 CET] <thebombzen_> and much stricter
[01:41:08 CET] <thebombzen_> it's far easier to mash together a quick script in a prototype OOP language
[01:41:19 CET] <thebombzen_> but it's much easier to maintain a codebase in a class-based OOP language
[01:41:35 CET] <furq> composition is better than inheritance
[01:41:41 CET] <thebombzen_> composition?
[01:41:56 CET] <thebombzen_> what do you mean by composition
[01:42:08 CET] <furq> https://en.wikipedia.org/wiki/Composition_over_inheritance
[01:42:35 CET] <furq> usually expressed with interfaces, like in go
[01:42:50 CET] <thebombzen_> well
[01:42:59 CET] <thebombzen_> they're not mutually exclusive
[01:43:07 CET] <thebombzen_> you can have interfaces and inheritance
[01:43:36 CET] <MoonOwl> Interfaces can inherit each other
[01:43:44 CET] <furq> sounds awful
[01:43:50 CET] <thebombzen_> why is that awful
[01:43:51 CET] <MoonOwl> I know
[01:44:26 CET] <thebombzen_> what's wrong with interfaces having parent interfaces
[01:45:49 CET] <thebombzen_> I happen to like Java a lot which is why I use it for a lot of things
[01:45:53 CET] <phillipk> @furq, correct, -filter_complex_script works until I make the contents of the specified file sort of huge--around 3000 lines (but I suspect the limit depends on how long those 3000 lines are)
[01:45:58 CET] <thebombzen_> but it's not the best tool for everything
[01:46:15 CET] <thebombzen_> phillipk: why would you want a 3000 line filter_complex
[01:46:30 CET] <MoonOwl> Has anyone used OCaml?
[01:46:33 CET] <furq> different overlay for every frame
[01:46:35 CET] <thebombzen_> no
[01:46:39 CET] <furq> i've briefly used ocaml
[01:46:50 CET] <thebombzen_> furq: sounds like it's easier to extract pngs and do it in bash
[01:46:52 CET] <furq> it looks interesting but it has the D problem of having several stdlibs
[01:47:04 CET] <thebombzen_> I don't even know what OCaml is
[01:47:10 CET] <furq> and half the docs/libs/etc are for one and half are for the other
[01:47:28 CET] <thebombzen_> the thing about Java is that people have a hard time getting used to it
[01:47:33 CET] <furq> i think there's more than two ocaml stdlibs but only two are widely-used afaik
[01:47:34 CET] <thebombzen_> so most people either love it or hate it
[01:47:46 CET] <thebombzen_> stuff like the fact that all linking is dynamic
[01:47:47 CET] <furq> but yeah i've been meaning to learn some standard ML dialect properly
[01:47:49 CET] <thebombzen_> people find that very weird
[01:47:51 CET] <furq> i just don't have a project to use it for
[01:48:01 CET] <furq> it seems like a neat language though
[01:48:04 CET] <thebombzen_> furq: if you need a markup language use LaTeX
[01:48:08 CET] <thebombzen_> best markup language
[01:48:10 CET] <furq> not markup
[01:48:17 CET] <thebombzen_> ML = markup language?
[01:48:17 CET] <furq> https://en.wikipedia.org/wiki/Standard_ML
[01:48:25 CET] <furq> what ocaml is based on
[01:48:49 CET] <thebombzen_> oh it's a functional langauge
[01:49:01 CET] <thebombzen_> I use Mathematica for that but it's proprietary
[01:49:10 CET] <thebombzen_> my uni pays for it tho
[01:49:18 CET] <furq> i guess there's also F# if you're a .net guy
[01:49:22 CET] <thebombzen_> eww
[01:49:23 CET] <furq> that seems very similar to ocaml
[01:49:42 CET] <thebombzen_> .net is like
[01:49:55 CET] <thebombzen_> what happens when you could write something but you decide to make it windows only for no reason
[01:49:57 CET] <furq> there's also that other language that starts with an H whose name we can't say or someone who's really enthusiastic about it will come and ruin the channel
[01:50:07 CET] <thebombzen_> like C# is just fake java for windows-only
[01:50:47 CET] <c_14> furq: well, that's just mean
[01:50:55 CET] <thebombzen_> something that seems weird to me
[01:50:58 CET] <thebombzen_> is how huge GHC si
[01:51:01 CET] <thebombzen_> is*
[01:51:07 CET] <thebombzen_> it's like a 2 GB package
[01:51:25 CET] <furq> i tried it once and didn't even write a line of code
[01:51:34 CET] <furq> cabal shat the bed when i tried to install the library i wanted to use
[01:51:45 CET] <furq> i'm told that hasn't got any better in the past few years
[01:51:46 CET] <thebombzen_> sorry it's 1146 MiB
[01:51:50 CET] <thebombzen_> GHC is weird
[01:52:14 CET] <thebombzen_> cause for some reason the people who wrote Haskell didn't realize that maybe there's better things to do than include it four times
[01:52:23 CET] <furq> you said it
[01:52:25 CET] <furq> you said the H word
[01:52:28 CET] <thebombzen_> you'd think the authors of Haskell would have thought of a workaroudn to including it four times
[01:52:29 CET] <furq> you know they all have it on highlight
[01:52:45 CET] <c_14> The worst part about haskell isn't the language, it's the ecosystem.
[01:52:48 CET] <furq> now they're all coming to tell us about monads
[01:52:49 CET] <furq> or monoids
[01:52:53 CET] <furq> or whatever the fuck it is this week
[01:53:02 CET] <thebombzen_> A monad is like a burrito that takes in a cat and spits out another burrito
[01:53:09 CET] <furq> wow! it's so clear now!
[01:53:16 CET] <thebombzen_> that's the best description I"ve ever heard of a monad
[01:53:23 CET] <furq> every other language i've ever used is now worthless
[01:53:24 CET] <thebombzen_> I hope that clears it up
[01:53:43 CET] <furq> i shall shave my head and embark on a pilgrimage to the church of never shutting the fuck up about haskell on irc
[01:54:05 CET] <furq> only my head, though. not my beard
[01:54:50 CET] <furq> i'm debating picking this ocaml book back up now
[01:55:44 CET] <thebombzen_> so what a Monad actually is, it's a functor from a category to itself, coupled with two natural transformations
[01:56:01 CET] <furq> oh no
[01:56:05 CET] <furq> the killer was inside the house all along
[01:56:26 CET] <thebombzen_> whereas a natural transformation in this context is a morphism in the category of functors between two other categories
[01:56:31 CET] <thebombzen_> I have no idea what it means in Haskell
[01:56:35 CET] <thebombzen_> I'm just a mathematician
[01:57:02 CET] <thebombzen_> I'm not just a mathematician. I'm a weird mathematician who likes mathematical logic
[02:03:37 CET] <phillipk> @furq and @thebombzen_ are you thinking create ~3000 png files and turn them into single alpha channel video that I then overlay?
[02:03:55 CET] <furq> i didn't suggest that, but it would probably work
[02:04:14 CET] <phillipk> right I think thebombzen_ did
[02:04:25 CET] <phillipk> or something that sounded like that to me.
[02:04:32 CET] <thebombzen_> by the way it doesn't ping me if you preceed my name with an @
[02:04:42 CET] <phillipk> oh--thanks
[02:05:17 CET] <thebombzen_> although if you're trying to do 3000 different overlays for 3000 different frames
[02:05:29 CET] <thebombzen_> I do not see any reason not to do it separately
[02:06:02 CET] <furq> what i will say is that you'll definitely want to use -v error if you do that
[02:06:08 CET] <thebombzen_> ha
[02:06:17 CET] <phillipk> I just had visions that my filter complex could access a subroutine right inside the dynamic expression
[02:06:38 CET] <thebombzen_> I mean it's possible you could do it with one filter_complex
[02:06:46 CET] <thebombzen_> but it seems like you really don't want to
[02:06:54 CET] <furq> he tried that, it didn't work
[02:06:59 CET] <thebombzen_> especially since if you do it separatelly you can make it faster with GNU Parallel
[02:07:01 CET] <phillipk> I'm fine changing tact--already did a million times anyway
[02:07:02 CET] <furq> ffmpeg bailed out on loading the file
[02:07:10 CET] <furq> also use xargs, not parallel
[02:07:18 CET] <thebombzen_> xargs doesn't parallelize afaik
[02:07:20 CET] <thebombzen_> parallel does
[02:07:21 CET] <furq> it does
[02:07:28 CET] <furq> and you already have xargs
[02:07:37 CET] <thebombzen_> true but xargs also doesn't support find-like syntax
[02:07:38 CET] <phillipk> what does xargs apply to?
[02:07:44 CET] <thebombzen_> like {.} and {/}
[02:07:49 CET] <thebombzen_> parallel does which is nice
[02:08:10 CET] <thebombzen_> also how do you even do that with xargs
[02:08:17 CET] <phillipk> yeah, I need to learn all that syntax--but there's no syntax to "go get line 200 of my 20,000 line file"?
[02:08:38 CET] <thebombzen_> xargs just takes several tokens on stdin and builds one command out of them
[02:08:51 CET] <thebombzen_> parallel actually executes the one command per input token
[02:09:13 CET] <phillipk> I wonder if that can help increase my 2000 limit
[02:09:36 CET] <phillipk> because, my filter_complex_script thing does work...
[02:10:16 CET] <furq> i can do everything with xargs except increment the output filename
[02:10:25 CET] <furq> which there is probably some way of doing but i've never needed it before
[02:10:44 CET] <thebombzen_> furq: http://hastebin.com/uzidafafav.cpp
[02:10:46 CET] <thebombzen_> they don't do the same thing
[02:10:56 CET] <furq> printf "overlay=10,20\0overlay=30,40" | xargs -0 -n1 -P2 -I{} ffmpeg -i foo -i bar -filter_complex "{}" ??.png
[02:11:14 CET] <furq> thebombzen_: -P
[02:11:54 CET] <furq> also obviously you wouldn't actually use printf there, you'd cat a text file
[02:12:32 CET] <thebombzen_> well clearly I don't know xargs syntax
[02:12:52 CET] <thebombzen_> but I'm not sure how you can use xargs to reproduce the behavior of parallel in the above paste
[02:12:55 CET] <furq> cat overlays | xargs -d'\n' -n1 -P2 -I{} ffmpeg -i foo -i bar -filter_complex "{}" ??.png
[02:12:58 CET] <furq> something like that
[02:13:04 CET] <furq> idk how you'd increment the output filename though
[02:13:22 CET] <thebombzen_> oh that? I'd use bash haha
[02:13:52 CET] <phillipk> I think I'll try making 1000s of pngs and then assemble into a single video
[02:13:55 CET] <thebombzen_> cat overlays | while read line; do ...; i=$((i+1)); done
[02:14:23 CET] <furq> thebombzen_: http://vpaste.net/rh1np
[02:14:39 CET] <furq> -d is gnu only, hence gxargs (this is on a bsd box)
[02:15:32 CET] <furq> maybe parallel is better tbh, i tend to try to make my scripts work with a normal base system
[02:16:02 CET] <furq> i tried it a couple of times and couldn't get my head round it
[02:16:20 CET] <furq> but yeah most people don't know that xargs will run jobs in parallel
[02:16:37 CET] <thebombzen_> parallel is nice even if you're not trying to parallelzie
[02:16:50 CET] <thebombzen_> suppose I have a whole bunch of .wavs and I want to convert them to .flacs
[02:17:15 CET] <furq> what's wrong with find -exec
[02:17:17 CET] <thebombzen_> I can do find -name '*.wav' | parallel ffmpeg -i {} {.}.flac
[02:17:36 CET] <thebombzen_> -exec doesn't understand {.}.flac
[02:17:40 CET] <furq> i guess
[02:18:00 CET] <thebombzen_> you could use -exec sh -c "" and basename
[02:18:01 CET] <furq> i would normally just use `for f in **/*.wav` there
[02:18:03 CET] <thebombzen_> or you could not
[02:18:10 CET] <thebombzen_> same thing tbh
[02:18:28 CET] <thebombzen_> the above command I wrote also keeps the directory structure
[02:18:31 CET] <thebombzen_> which is really nice.
[02:18:46 CET] <thebombzen_> find is also very powerful so like if you wanted to say
[02:18:51 CET] <furq> is {.} like ${f%.*}
[02:19:13 CET] <thebombzen_> how does ${f%.*} interact with filenames with more than one period
[02:19:52 CET] <thebombzen_> ffmpeg-3.1.2.tar.gz might be considered a 1.2.tar.gz file extension
[02:19:58 CET] <thebombzen_> you have to be careful with that
[02:20:04 CET] <furq> http://vpaste.net/pb0YG
[02:20:25 CET] <furq> % is shortest, %% is longest
[02:21:22 CET] <furq> you can also use ${f%.wav} if you know the extension
[02:23:53 CET] <thebombzen_> huh
[02:23:55 CET] <thebombzen_> I did'nt know that
[02:23:59 CET] <thebombzen_> but that still doesn't work with exec
[02:24:19 CET] <thebombzen_> the benefit of using parallel over -exec is that ffmpeg is singlethreaded when you're converting pcm to flac usually
[02:24:26 CET] <thebombzen_> and I don't know if you can change that
[02:24:50 CET] <thebombzen_> parallel is a tool that's far more powerful but also not as simple or easy to use than find exec
[02:25:04 CET] <furq> well xargs will do that except for stripping the extension
[02:26:40 CET] <thebombzen_> unfortunately
[02:26:59 CET] <thebombzen_> if you write to /dev/null ffmpeg and many other programs say "do you want to overwrite"
[02:27:02 CET] <thebombzen_> which is very annoying
[02:27:23 CET] <furq> yeah it's weird that you have to use -y for that
[02:27:29 CET] <thebombzen_> well it exists
[02:27:36 CET] <furq> although if you're using -f null you can just write to stdout
[02:27:48 CET] <thebombzen_> yea true
[02:28:16 CET] <thebombzen_> although it's also nice because you can test a muxer with like -f matroska -y /dev/null
[02:28:27 CET] <thebombzen_> -f null disables muxing essentially
[02:29:00 CET] <thebombzen_> tbh ffmpeg should check and if you're writing to /dev/null and /dev/null is a character special, then it should not ask.
[02:42:42 CET] <thebombzen_> huh that's weird
[02:42:50 CET] <thebombzen_> not sure why ffmpeg distributes its source tarballs as bz2
[02:43:00 CET] <thebombzen_> afaik there's essentially no reason to use bz2
[02:59:23 CET] <furq> yeah that is weird
[02:59:35 CET] <furq> is there anyone left who can't use xz
[02:59:52 CET] <c_14> It's "always" been bz2 and changing it is effort
[03:02:43 CET] <c_14> Does ancient CentOS support xz?
[04:03:09 CET] <thebombzen> furq: anyone who can't use xz should be using gzip and bz2
[04:03:15 CET] <thebombzen> so it doesn't matter
[04:28:40 CET] <thebombzen> wow I don't think I've encoded a video so slowly
[04:29:10 CET] <thebombzen> I just transcoded a 0.88 second video at 0.1% speed and it took more than 10 minutes
[04:29:15 CET] <thebombzen> to encode a video at <1 second
[04:29:36 CET] <furq> NICE
[04:29:38 CET] <furq> er
[04:29:39 CET] <furq> nice
[04:29:45 CET] <thebombzen> I can see why people don't like -vf minterpolate:mi=esa
[04:29:53 CET] <thebombzen> "exhaustive search algorithm"
[04:30:07 CET] <furq> yeah esa is what x264 uses in -preset placebo
[04:30:52 CET] <furq> you should combine that with nnedi
[04:31:53 CET] <thebombzen> nnedi?
[04:32:21 CET] <furq> the extremely slow deinterlacer
[04:32:30 CET] <thebombzen> but it's not interlaced
[04:32:38 CET] <thebombzen> so should I artificially interlace it with tinterlace
[04:32:45 CET] <furq> i don't think it matters
[04:32:56 CET] <thebombzen> what happens if you try to deinterlace a progressive video
[04:33:37 CET] <thebombzen> but you're right that I don't think combining these will do anything.
[04:34:11 CET] <furq> i don't actually know
[04:34:12 CET] <thebombzen> cause it's a pipeline. if I feed it to nnedi and then to minterpolate and then into libx264 -preset placebo
[04:34:17 CET] <thebombzen> it'll just use 3 threads instead of 1
[04:34:24 CET] <thebombzen> and there'll just be a bottleneck at the sloweset
[04:34:47 CET] <furq> shouldn't you be using libvpx if you want it to be extremely slow
[04:35:01 CET] <furq> also isn't filterchain processing singlethreaded
[04:54:35 CET] <thebombzen> idk
[04:54:50 CET] <thebombzen> I was considering actually trying that to see how slowly it would encode
[04:54:57 CET] <thebombzen> but I also don't want to wait 20 minutes
[04:55:00 CET] <thebombzen> eating cpu time
[07:00:46 CET] <damdai> x265 2.1:[Windows][GCC 5.4.0][64 bit] 8bit
[07:00:46 CET] <damdai> Encoding settings : wpp / ctu=64 / min-cu-size=8 / max-tu-size=32 / tu-intra-depth=1 / tu-inter-depth=1 / me=3 / subme=3 / merange=57 / rect / no-amp / max-merge=3 / temporal-mvp / no-early-skip / rskip / rdpenalty=0 / no-tskip / no-tskip-fast / no-strong-intra-smoothing / no-lossless / no-cu-lossless / no-constrained-intra / no-fast-intra / open-gop / no-temporal-layers / interlace=0
[07:00:46 CET] <damdai> / keyint=300 / min-keyint=30 / scenecut=40 / rc-lookahead=25 / lookahead-slices=0 / bframes=4 / bframe-bias=0 / b-adapt=2 / ref=4 / limit-refs=3 / limit-modes / weightp / no-weightb / aq-mode=1 / qg-size=32 / aq-strength=1.00 / cbqpoffs=0 / crqpoffs=0 / rd=4 / psy-rd=2.00 / rdoq-level=2 / psy-rdoq=1.00 / log2-max-poc-lsb=8 / no-rd-refine / signhide / deblock=0:0 / sao / no-sao-non-deblock /
[07:00:46 CET] <damdai> b-pyramid / cutree / no-intra-refresh / rc=crf / crf=22.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ipratio=1.40 / pbratio=1.30
[07:00:46 CET] <damdai> Default : Yes
[07:01:19 CET] <damdai> x265 2.1:[Windows][GCC 5.4.0][64 bit] 8bit
[07:01:19 CET] <damdai> Encoding settings : wpp / ctu=64 / min-cu-size=8 / max-tu-size=32 / tu-intra-depth=1 / tu-inter-depth=1 / me=3 / subme=3 / merange=57 / rect / no-amp / max-merge=3 / temporal-mvp / no-early-skip / rskip / rdpenalty=0 / no-tskip / no-tskip-fast / no-strong-intra-smoothing / no-lossless / no-cu-lossless / no-constrained-intra / no-fast-intra / open-gop / no-temporal-layers / interlace=0
[07:01:19 CET] <damdai> / keyint=300 / min-keyint=30 / scenecut=40 / rc-lookahead=25 / lookahead-slices=0 / bframes=4 / bframe-bias=0 / b-adapt=2 / ref=4 / limit-refs=3 / limit-modes / weightp / no-weightb / aq-mode=1 / qg-size=32 / aq-strength=1.00 / cbqpoffs=0 / crqpoffs=0 / rd=4 / psy-rd=2.00 / rdoq-level=2 / psy-rdoq=1.00 / log2-max-poc-lsb=8 / no-rd-refine / signhide / deblock=0:0 / sao / no-sao-non-deblock /
[07:01:19 CET] <damdai> b-pyramid / cutree / no-intra-refresh / rc=crf / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ipratio=1.40 / pbratio=1.30
[07:01:19 CET] <damdai> Default : Yes
[08:38:01 CET] <TMan459> I salvaged a bunch of videos off a dying drive. Some of them are corrupt. I'd like to run a command to read them all and determine which one's are corrupt. Any thoughts?
[08:58:11 CET] <Samuel235> Morning all!
[09:01:54 CET] <Samuel235> Would anyone be able to give me a push in the right directiong, I'm attempting to stream the output of Raspivid on a Raspberry Pi to a h264 stream please? I have FFMPEG installed and compiled myself, took about 4 hours to do so. Its not the pre-packaged one in Raspbian. I'm getting a few little errors with my server.conf file and some issues with opening the stream file.
[09:06:46 CET] <JEEB> just use ffmpeg with nginx-rtmp or something, ffserver is basically black magic. also the first gen raspbi is not capable of doing anything in software, so make sure your chain is 100% hw (video and ausio)
[09:09:19 CET] <Samuel235> Right okay, so you would advise me to take the nginx-rtmp route. Would you advise me against trying to use something like gStreamer or even https://github.com/mpromonet/v4l2rtspserver then? To be honest, i wanted to use FFMPEG just because of the support around it, the community looks pretty large compared to the other options. I have running the first gen Pi, but i have a Pi 3 that i was going
[09:09:19 CET] <Samuel235> to use for the final product.
[09:13:36 CET] <JEEB> nginx-rtmp means that you have nginx with that module somewhere and then you push rtmp into it with normal ffmpeg cli. then nginx-rtmp will serve hls/dash out of it
[09:14:27 CET] <Samuel235> Right ok
[09:14:42 CET] <Samuel235> I have found this, do you have any idea of crtmpserver?
[09:14:46 CET] <Samuel235> http://www.linux-projects.org/uv4l/tutorials/rtmp-server/
[09:15:31 CET] <JEEB> no
[09:16:28 CET] <Samuel235> Okay, and one last question if you don't mind: If i were to use the linux section of "https://trac.ffmpeg.org/wiki/Capture/Webcam" would i still be using the FFserver?
[09:17:00 CET] <Samuel235> Or is that along the lines of what i would need to do to push the data into the nginx-rtmp module to then stream?
[09:58:58 CET] <jubalh> using the ffmpeg activation_bytes thing i was finally able to backup my audible audiobooks and also play them on offline linux. thats very nice since i payed for them i also want to use them not only online. i wondered if ffmpeg can also decrypt the amazon video files?
[10:11:23 CET] <Samuel235> JEEB - Does this look like the process you would advise for nginx-rtmp?
[10:11:24 CET] <Samuel235> https://github.com/arut/nginx-rtmp-module/wiki/Getting-started-with-nginx-r…
[10:18:06 CET] <Samuel235> Or even https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04 - Would this still work on a debian raspberry pi, or would you not touch it since its for Ubuntu 14-04, different build and config processes maybe or?
[10:59:22 CET] <Samuel235> Does anyone have any experience with Nginx that could help me with a little error i get when trying to install?
[11:02:13 CET] <Samuel235> Would it be best to install the generic nginx package and then install the RTSP module for it or would that be too much for what is needed for a ffmpeg/nginx stream config?
[14:00:08 CET] <Samuel235> Is there anyone running a nginx server with RTMP module?
[14:14:19 CET] <Samuel235> [tcp @ 0x27acf60] Connection to tcp://localhost:1935 failed (Connection refused), trying next address
[14:15:25 CET] <Samuel235> I don't understand why this is giving me an error, i thought the server IP should be that of localhost as ffmpeg and the nginx server are on the same machine.
[14:16:23 CET] <kerio> are you sure that's not rtmp?
[14:16:33 CET] <kerio> tcp:// is a raw stream
[14:17:07 CET] <Samuel235> I'm running ffmpeg -f video4linux2 -i /dev/video0 -c:v libx264 -an -f flv rtmp://localhost/myapp/mystream
[14:17:27 CET] <Samuel235> and its throwing that error at me, along with codec issues, but one error at a time
[14:17:41 CET] <Samuel235> but i need to sort one error at a time*
[14:41:25 CET] <Kadigan_KSB> Hey. Can I have ffmpeg/ffprobe detect whether the content is really Interlaced, or Progressive Segmented Frame?
[14:44:27 CET] <relaxed> Kadigan_KSB: look at the idet filter
[14:48:09 CET] <Kadigan_KSB> Ah, okay. So it CAN detect it. Cool.
[14:48:25 CET] <Kadigan_KSB> Now, how do I get rid of the "Truncating likely oversized PPS" spam?
[14:48:27 CET] <fling> How do I capture two webcams keeping streams in sync?
[14:52:14 CET] <relaxed> fling: are you using one ffmpeg command to do it?
[14:52:58 CET] <fling> relaxed: I tried to use one command and also tried piping with three ffmpegs
[14:56:01 CET] <fling> relaxed: http://dpaste.com/08ETS1T
[14:59:03 CET] <relaxed> do they begin at different times or do they drift?
[14:59:33 CET] <fling> With one command the output is not playable because it is getting corrupted because ffmpeg is single threaded
[14:59:48 CET] <fling> With pipes it could not be in sync because ffmpegs are starting with a delay
[15:00:15 CET] <fling> and yes atleast audio should drift
[15:01:55 CET] <relaxed> did you try transoding the video streams with one instance of ffmpeg?
[15:02:42 CET] <relaxed> using pipes I gues you could play with -itsoffset to sync up when they start
[15:08:35 CET] <thebombzen_> fling: what do you want to do with the two streams?
[15:08:57 CET] <thebombzen_> if you're doing something like hstack or vstack then you can get ffmpeg to respect the timestamps
[15:11:44 CET] <thebombzen_> fling: in particular, the overlay filter respects the PTS (timestamps) of the input video
[15:12:53 CET] <thebombzen_> this can work for or against you, depending on how important the timestamps are. in your case it means that you might want to sync them up with the overlay filter.
[15:13:52 CET] <thebombzen_> that will allow ffmpeg to keep the streams in line
[15:37:39 CET] <adgtl> Hi guys
[15:37:58 CET] <adgtl> I have an mp4 of 15 minutes.. but first 10 minutes there is silence
[15:38:23 CET] <adgtl> How can I trim mp4 to just 5 minutes, where person starts talking?
[15:38:34 CET] <adgtl> I need ffmpeg command for that?
[15:38:42 CET] <adgtl> Is this simply possible?
[15:40:48 CET] <relaxed> adgtl: use -ss to seek to the desired start position
[15:41:06 CET] <adgtl> relaxed how will know what's desired start position?
[15:41:18 CET] <adgtl> I don't know when the person starts talking
[15:41:18 CET] <relaxed> https://trac.ffmpeg.org/wiki/Seeking
[15:41:26 CET] <adgtl> I am looking for programmatic solution
[15:41:32 CET] <adgtl> where I don't know what time to seek?
[15:42:41 CET] <relaxed> there's a filter called silencedetect
[15:44:26 CET] <adgtl> relaxed there is silenceremove .. but does this work with mp4 or webm?
[15:46:53 CET] <durandal_1707> adgtl: it works for anyou audio but there is no way to drop video too
[15:47:04 CET] <adgtl> durandal_1707 :(
[15:47:12 CET] <adgtl> anyone here has some recommendation?
[15:47:30 CET] <adgtl> I want to basically cut video parts where audio was silent for certain decibels
[15:48:14 CET] <durandal_1707> you could use silencedetect to detect silence and in another trim it with trim filters
[15:49:39 CET] <relaxed> you can do just about anything when scripting with ffmpeg
[15:51:34 CET] <adgtl> durandal_1707 hmm
[15:51:47 CET] <adgtl> durandal_1707 any example that you know of? I am googling for it anyway
[15:54:21 CET] <relaxed> learn how the filters you need work, write a script, ???, profit
[15:55:25 CET] <__jack__> that's my boy :3
[15:58:41 CET] <durandal_1707> adgtl: it's not hard to write scripts in any language you want
[15:58:50 CET] <furq> https://ffmpeg.org/ffmpeg-filters.html#silenceremove
[15:58:54 CET] <furq> that looks like what you want
[15:59:29 CET] <furq> oh nvm, video
[15:59:31 CET] <relaxed> furq: what about the video stream?
[15:59:40 CET] <furq> yeah, silencedetect is your best bet then
[16:00:41 CET] <fling> thebombzen_: I don't know what hstack and vstack are
[16:01:00 CET] <furq> hstack stacks two videos horizontally
[16:01:04 CET] <furq> you can probably guess what vstack does
[16:01:20 CET] <furq> s/two/multiple/
[16:01:23 CET] <fling> thebombzen_: I don't want to stack the streams.
[16:01:42 CET] <fling> furq: but I want this feature in mpv :P
[16:01:49 CET] <thebombzen> fling: what do you mean by "I want to align them"
[16:02:04 CET] <furq> i don't think mpv supports complex filterchains
[16:02:05 CET] <fling> furq: or better separate/muliple windows/tiles per video stream
[16:02:41 CET] <fling> thebombzen: >> How do I capture two webcams keeping streams in sync?
[16:02:41 CET] <thebombzen> furq: it does support weird stream notation but it's only the stuff in -vf.
[16:02:55 CET] <thebombzen> fling: what does it mean to keep them in sync if you're not displaying them next to each other.
[16:03:01 CET] <thebombzen> what are you doing with the two outputs
[16:03:32 CET] <fling> thebombzen: there are no two output. I have a single output http://dpaste.com/08ETS1T
[16:04:05 CET] <relaxed> he means when you watch them
[16:04:34 CET] <thebombzen> if you use -vsync 0, then it should pass all the timestamps from the v4l2 to the muxer.
[16:04:57 CET] <thebombzen> that should preserve the timestamps in the resulting file which you can then use to sync them up
[16:05:04 CET] <fling> I mean this example does not work ^ but I _will_ have a playable and not corrupted single output piping multiple ffmpegs to a single muxing ffmpeg. But this way I will loose not only audio but also video sync
[16:05:57 CET] <fling> >> which you can then use to sync them up
[16:05:59 CET] <thebombzen> well the timestamps are the most important thing
[16:06:00 CET] <fling> How? :P
[16:06:13 CET] <thebombzen> -copyts before -i preserves input timestamps
[16:06:28 CET] <thebombzen> and -vsync 0 prevents them from being recreated by the encoder/muxer
[16:06:47 CET] <thebombzen> so as long as you always use a timestamp-friendly container format like matrsoka, all the infromation will be there.
[16:06:59 CET] <thebombzen> that's how you can preserve the data that would be used to sync them up
[16:07:10 CET] <thebombzen> the issue is that it's all meaningless until you go to watch them both at the same time
[16:07:59 CET] <fling> thebombzen: are the timestamps going to be taken from the v4l devices? This should break sync with everything because each device is using separate clock. But if the timestamps are local then everyng is going to be fine.
[16:08:19 CET] <thebombzen> afaik they will be
[16:08:32 CET] <thebombzen> or at least. there's some option to make it that way
[16:08:51 CET] <klevin> hello
[16:08:58 CET] <klevin> anybody?
[16:09:14 CET] <fling> ¿poquP
[16:10:11 CET] <thebombzen> fling: so I just looked at it. some v4l drivers use the wall clock (UTC) and some use "uptime" which is a timestamp based on when the computer booted. but it should be consistent between the iterations as long as you don't reboot
[16:10:21 CET] <klevin> when i use this option "-r 1/90 images/tematv%04d.jpg" in the ffmpeg command i do not see any frame log in the linux terminal console and i see a lot of drop frames
[16:10:40 CET] <thebombzen> well of course you're dropping frames
[16:10:48 CET] <kerio> timestamp from cameras is a crapshoot most of the times
[16:10:48 CET] <thebombzen> you set the framerate to 1 frame every 90 seconds
[16:11:02 CET] <kerio> LOL
[16:11:09 CET] <kerio> he did, the absolute madman
[16:11:16 CET] <thebombzen> I think I know why
[16:11:27 CET] <thebombzen> it's a way to extract a tumbnail every 90 seconds
[16:11:38 CET] <relaxed> klevin: paste your whole command
[16:11:42 CET] <klevin> yes to take a screenshot every 90 seconds
[16:11:50 CET] <klevin> but is normal the frames drop?
[16:11:53 CET] <thebombzen> well yes
[16:11:55 CET] <furq> yes
[16:11:59 CET] <thebombzen> you're dropping 89 out of every 90 frames.
[16:12:03 CET] <thebombzen> or rather
[16:12:09 CET] <thebombzen> all but 1 frame every 90 seconds
[16:12:17 CET] <klevin> the system i sstreaming as well from one source to another
[16:12:18 CET] <thebombzen> so you should drop the vast majority of your frames
[16:12:35 CET] <klevin> i just need to take 1 out of every 90 frames and store it like img
[16:12:45 CET] <furq> well then congratulations
[16:12:45 CET] <klevin> the rest should proceed normaly\
[16:12:48 CET] <fling> thebombzen: ok so fist step is to add all these timestamp flags to capturing ffmpegs piping this to the single muxing ffmpeg. Should I somehow preserve timestamps in the pipes for aligning in muxing ffmpeg?
[16:13:02 CET] <thebombzen> as much as possible yes
[16:13:02 CET] <klevin> how?
[16:13:11 CET] <fling> will it also work for alsa?
[16:13:26 CET] <thebombzen> I don't know about alsa timestamps I'm afraid
[16:13:31 CET] <thebombzen> Sorry about that.
[16:13:37 CET] <fling> I was never able to sync multiple alsa inputs without special hardware.
[16:13:53 CET] <thebombzen> I've never been able to do that either without using something very low-level
[16:14:04 CET] <thebombzen> but I've also never had to so I generally gave up when I couldn't
[16:14:41 CET] <klevin> any open source script for monitoring the rtmp links?
[16:14:46 CET] <klevin> in node js?
[16:15:10 CET] <fling> klevin: ffprobe
[16:15:31 CET] <klevin> i am building one, but would be nice if the client can have the posibility to check every 90 sec the frame content
[16:15:48 CET] <klevin> ffprobe when detects black frames stop
[16:16:05 CET] <klevin> instead ffmpeg contionue display
[16:16:24 CET] <klevin> developering via linux terminal, so the node js will received live data
[16:16:38 CET] <fling> What is linux terminal?
[16:16:40 CET] <klevin> but now abkle to work with the images without droping
[16:16:49 CET] <klevin> kind of windows cmd
[16:16:49 CET] <fling> >> instead ffmpeg contionue display
[16:16:52 CET] <klevin> bu in linux
[16:16:56 CET] <fling> ^ what are you doing?
[16:17:09 CET] <klevin> if you have a rtmp linkj
[16:17:13 CET] <fling> Give us some command examples and their output
[16:17:22 CET] <klevin> you need to check all the time the signal
[16:18:38 CET] <klevin> ffmpeg -i blacknormalblack.mp4 -s 720x576 -y -strict -2 -acodec aac -ab 128k -ac 2 -ar 48000 -vcodec libx264 -x264opts keyint=5:min-keyint=10 -g 60 -minrate 2000k -maxrate 4000k -bufsize 9000k -preset ultrafast -vf blackframe=100:84 -f flv rtmp:link 2>&1
[16:18:59 CET] <klevin> this detect the black frame
[16:19:02 CET] <klevin> all the time is on
[16:19:22 CET] <klevin> now i need ti implement on the command as well the images screenshoot as well
[16:19:36 CET] <klevin> to check periodically the source content
[16:19:41 CET] <klevin> any idea?
[16:20:55 CET] <fling> klevin: do you want to save screenshots from blacknormalblack.mp4 the same time you are streaming to rtmp:link?
[16:21:13 CET] <klevin> yes
[16:21:14 CET] <fling> klevin: just add another jpeg output saving to files
[16:21:24 CET] <klevin> save img without stoping the isgnale
[16:21:25 CET] <fling> klevin: or you could save to the same jpeg file
[16:21:49 CET] <klevin> i tried but i have a log of drop
[16:22:02 CET] <klevin> -r 1/90 images/tematv%04d.jpg
[16:22:24 CET] <klevin> also some data (frames, size, speed ) have nor results if i insert this
[16:22:55 CET] <fling> You will drop frames anyway
[16:23:29 CET] <klevin> so teorically i will have to rtmp source, first output and second input
[16:23:56 CET] <klevin> the function will transmit from the first to second rtmp and every 90 sec will take a screeenshot
[16:24:05 CET] <fling> klevin: no you will have blacknormalblack.mp4 input and rtmp output and jpeg output
[16:24:35 CET] <klevin> the blacknormalblack.mp4 is just for testing purpose
[16:25:13 CET] <klevin> so fling what is your suggestion?
[16:27:49 CET] <fling> klevin: ffmpeg -i rtmp:input -c copy -f flv rtmp:output -f mjpeg -r 1/90 screenshot.jpg
[16:28:12 CET] <fling> klevin: this will copy the input stream to the output stream and save a screenshot to screenshot.jpg each 90 seconds
[16:28:59 CET] <klevin> so you suggesting to add a second command only for this purpose?
[16:29:13 CET] <fling> this is a single command
[16:29:19 CET] <fling> I'm not suggesting using two commands.
[16:30:01 CET] <klevin> -vf blackframe=100:84 need to added as well
[16:32:23 CET] <klevin> so the command transmit, check the source for blackframes, take screenshot every 90 sec
[16:32:34 CET] <klevin> ffmpeg -i blacknormalblack.mp4 -s 720x576 -y -strict -2 -acodec aac -ab 128k -ac 2 -ar 48000 -vcodec libx264 -x264opts keyint=5:min-keyint=10 -g 60 -minrate 2000k -maxrate 4000k -bufsize 9000k -preset ultrafast -vf blackframe=100:84 -f flv rtmp:link 2>&1
[16:35:15 CET] <fling> klevin: why are you reencoding video and audio?
[16:35:35 CET] <fling> klevin: ffmpeg -i rtmp:input -c copy -f flv rtmp:output -vf blackframe=100:84 -f mjpeg -r 1/90 screenshot.jpg
[16:37:31 CET] <klevin> ok checking this command
[16:41:26 CET] <teratorn> anyone have suggestions for how I might remux (-c copy) an rtmp source stream to hls on disk? I'm having issues and wondering if this is even possible or not
[16:41:48 CET] <klevin> where can i find the optionts for blackframe detect, kind of : pblack, pts
[16:42:33 CET] <DHE> teratorn: loosely speaking, ffmpeg -i $RTMPURL -c copy -f hls [hls-options] /path/to/output.m3u8
[16:42:40 CET] <teratorn> sorry, rtsp stream
[16:42:45 CET] <DHE> still...
[16:43:07 CET] <teratorn> DHE: yeah... that's basically what I'm doing. let me check some things and I'll come back with more details :)
[16:43:22 CET] <DHE> do note that HLS is rather strict in its list of supported codecs. some players will refuse anything except AAC and H264 because that's all the spec allows for. other players will be more tolerant
[16:43:39 CET] <teratorn> DHE: it's h264 and no audio so im in luck
[16:44:04 CET] <DHE> well, when in doubt..
[16:44:33 CET] <klevin> can someone explain what this logs means?
[16:44:34 CET] <klevin> frame:826pblack:100pts:7434000t:82.600000type:Plast_keyframe:800
[16:50:17 CET] <thebombzen> fling: it's -f image2 -c mjpeg
[16:50:30 CET] <thebombzen> image2 is the format for 'sequence of images'
[16:52:12 CET] <furq> you shouldn't need either
[16:52:20 CET] <thebombzen> correct, but I prefer to
[16:52:26 CET] <furq> just `-update 1 screenshot.jpg` should do it
[16:52:40 CET] <thebombzen> although fling had written -f mjpeg
[16:52:43 CET] <thebombzen> which afaik is wrong
[16:52:46 CET] <furq> yeah that's definitely wrong
[16:52:56 CET] <furq> that'll write an mjpeg stream
[16:53:02 CET] <thebombzen> yea that's what I thought
[16:53:15 CET] <thebombzen> but what is -update 1
[16:53:35 CET] <furq> image2 will bail out if the output filename isn't a pattern
[16:53:48 CET] <furq> -update 1 forces it to just keep overwriting the output file
[16:54:32 CET] <furq> it'll bail out of writing multiple frames, that is
[16:55:11 CET] <thebombzen> oh so update 1 will write the first frame, and then the second frame will just write it again, etc
[16:55:14 CET] <klevin> where can i find the description for this logs? frame:1281pblack:100pts:11529000t:128.100000type:Plast_keyframe:1250
[16:55:25 CET] <thebombzen> klevin where did you find that?
[16:55:34 CET] <thebombzen> post the full log where you found that on a paste site
[16:55:40 CET] <furq> i'm guessing that's the output of -vf blackframe
[16:55:57 CET] <thebombzen> it looks like it's missing some whitespace though
[16:56:09 CET] <klevin> i removed all the white sp<ce
[16:56:23 CET] <klevin> so i can extract data with regular expresion
[16:56:34 CET] <klevin> yes the blackframe output
[16:56:51 CET] <thebombzen> why would you keep the whitespace removed when you show it to a human
[16:56:59 CET] <furq> i mean
[16:57:11 CET] <furq> why would you remove the whitespace to write a regex
[16:57:16 CET] <thebombzen> also have you considered using tr instead: tr ' ' ','
[16:57:23 CET] <thebombzen> that'll change it to CSV
[16:57:45 CET] <klevin> i remove the whitespace, and than i extract specifich data with regual expresion
[16:57:49 CET] <klevin> to display in web
[16:58:08 CET] <klevin> another story
[16:58:11 CET] <thebombzen> no you don't
[16:58:21 CET] <klevin> why?
[16:58:23 CET] <thebombzen> regular expressions can work across whitespace
[16:58:25 CET] <adgtl> found this command to trim video for silence parts
[16:58:27 CET] <adgtl> ffmpeg -i final.mp4 -filter_complex "[0:a]silencedetect=n=-90dB:d=0.3[outa]" -map [outa] -f s16le -y /dev/null | F='-aq 70 -v warning' perl -ne 'INIT { $ss=0; $se=0; } if (/silence_start: (\S+)/) { $ss=$1; $ctr+=1; printf "ffmpeg -nostdin -i final.mp4 -ss %f -t %f $ENV{F} -y %03d.mkv\n", $se, ($ss-$se), $ctr; } if (/silence_end: (\S+)/) { $se=$1; } END { printf "ffmpeg -nostdin -i final.mp4 -ss %f $ENV{F} -y %03d.mp4\n", $se,
[16:58:27 CET] <adgtl> $ctr+1; }' | bash -x
[16:58:48 CET] <klevin> i found more simpler to work without spaces
[16:58:49 CET] <furq> i have no idea why that's using -filter_complex instead of -af but sure
[16:58:53 CET] <adgtl> but looks like it's not finding enough silence parts.. tweaked with decibels.. but did not help much
[16:58:57 CET] <thebombzen> furq: it's also using perl
[16:59:05 CET] <klevin> i am working with node js
[16:59:20 CET] <furq> well my brain shuts off when i see perl so i can't comment on that bit
[16:59:39 CET] <thebombzen> klevin: well javaScript regular expressions work with whitespace
[16:59:44 CET] <thebombzen> so I guess you're in luck
[17:00:10 CET] <klevin> the number didn't acording to the number the spaces between numbers changed and can not display properly
[17:00:14 CET] <klevin> trust me i tested this part
[17:00:19 CET] <klevin> an entire day
[17:00:40 CET] <furq> \s*
[17:01:43 CET] <fling> Try this ^
[17:01:50 CET] <thebombzen> for reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expre…
[17:02:04 CET] <thebombzen> \s is one of the 6 whitespace characters
[17:02:42 CET] <thebombzen> * is "zero or more of that"
[17:02:47 CET] <efface> I am trying to create a monitor for our internal video network and I am wondering if there is a way to make the encoder strict without failing? For instance, if I pulled the input UDP into VLC when there is a problem with the source, I will see macroblocking and other problems. I would like the x264/ac3 encoder to not conceal any problems with the source and continue encoding
[17:02:49 CET] <thebombzen> so \s* is zero or more whitespace characters
[17:03:30 CET] <JEEB> efface: that's more up to the decoder, and most formats really can't conceal issues too much
[17:03:50 CET] <JEEB> you can get a partial decoded picture with artifacts, or no picture at all until one can be decoded
[17:04:17 CET] <efface> I would like to have the artifacts included
[17:04:19 CET] <thebombzen> yea. if you see artifacts caused by a bad bitstream (which in turn is caused by packet loss) then that's a decoder issue
[17:04:30 CET] <thebombzen> well that's not the encoder's decision
[17:04:32 CET] <efface> ok
[17:04:44 CET] <thebombzen> the encoder takes raw video input and encodes it.
[17:05:01 CET] <JEEB> whether or not the whole chain breaks because of the input being considered utterly broken is a separate issue.
[17:05:04 CET] <thebombzen> if that raw video had ugly macroblocky things then so should the encoded video
[17:05:10 CET] <efface> Any recommendations for an HLS website plugin that does such? I am currently using clappr
[17:05:15 CET] <JEEB> and it depends on the decoder's error cases :P
[17:05:26 CET] <thebombzen> yea different decoders will beheave differently
[17:05:33 CET] <thebombzen> as will different players.
[17:05:47 CET] <thebombzen> some players will discard garbage and some players will attempt to display it
[17:06:02 CET] <efface> clappr seems to be fairly limited, especially since it's built on flashls
[17:06:23 CET] <thebombzen> fling: another idea might be to do the syncing separately
[17:06:52 CET] <thebombzen> using the system clock with "date +%s.%N" means you can do it manually
[17:06:56 CET] <thebombzen> but with a bit of work.
[17:07:28 CET] <thebombzen> %s is unix time in seconds and %N is fractional time in nanoseconds
[17:08:14 CET] <fling> thebombzen: this will only work if streams are running with the same speeds which is not the case for alsa afaik
[17:08:31 CET] <thebombzen> speeds?
[17:08:36 CET] <thebombzen> wouldn't it be 1.0x speed?
[17:08:51 CET] <fling> sound cards are using their own clocks
[17:09:18 CET] <fling> There will be drift anyway with multiple alsa inputs :<
[17:09:25 CET] <fling> I need to test this once again
[17:12:42 CET] <thebombzen> also
[17:12:55 CET] <thebombzen> have you looked at trying to sync stuff with -map
[17:13:05 CET] <fling> no
[17:13:26 CET] <fling> I thought map is only for specifying what is where
[17:13:35 CET] <thebombzen> I thought that too until 3 minutes ago
[17:13:41 CET] <thebombzen> when I saw something in the docs
[17:13:49 CET] Action: fling is opening the doc
[17:15:24 CET] <thebombzen> "With -map you can select from which stream the timestamps should be taken. You can leave either video or audio unchanged and sync the remaining stream(s) to the unchanged one."
[17:15:35 CET] <thebombzen> https://ffmpeg.org/ffmpeg.html
[17:15:46 CET] <thebombzen> unfortunately, under -map's optiosn it says very little about how that works
[17:19:08 CET] <fling> thebombzen: so I hope this will allow me to sync multiple pipe inputs together.
[17:19:19 CET] <fling> Which container to use for piping? nut?
[17:20:17 CET] <thebombzen> I don't know. I think matroska or nut are fine
[17:20:25 CET] <thebombzen> I'd try both and see which one works better
[17:20:53 CET] <thebombzen> furq: so apparently libavfilter is multithreaded
[17:21:06 CET] <thebombzen> -filter_complex_threads nb_threads (global): "Defines how many threads are used to process a filter_complex graph. Similar to filter_threads but used for -filter_complex graphs only. The default is the number of available CPUs."
[17:21:23 CET] <fling> >> With -map you can select &
[17:21:36 CET] <fling> But I don't see how exactly could I select!
[17:22:09 CET] <BtbN> filters can be multi threaded
[17:22:38 CET] <BtbN> Not a filter graph though
[17:35:39 CET] <fling> The question is why are the intputs not multi threaded.
[17:36:41 CET] <thebombzen> idk
[17:37:24 CET] <thebombzen> threading in ffmpeg be like https://i.imgur.com/XuRZsVQ.jpg
[17:41:01 CET] <BtbN> ffmpeg.c is not multi threaded
[17:42:27 CET] <thebombzen> sometimes I feel that threads are just easier to use programmatically
[17:42:38 CET] <thebombzen> given that ffmpeg is like a pipeline I'd do it asychronously
[17:42:41 CET] <thebombzen> even on a singlecore cpu
[17:42:44 CET] <thebombzen> is there any reason ffmpeg doesn't
[18:02:46 CET] <BtbN> Because it's everything but easy.
[18:03:45 CET] <furq> threads are very eas to usye
[18:04:18 CET] <BtbN> Patches without regressions are allways welcome then.
[18:04:59 CET] <furq> noth couing ld be splimer
[19:07:03 CET] <fahadash> Can we build a one gigantic filter-graph and call it a project?
[19:08:25 CET] <fahadash> I have about 20 different shots of a scene, now I have to pick and choose portions from each, time-lapse some portions and add captions and what not as well. Can I use FFMPEG with 20 -i FILE statements and one big filter-graph for this purpose to build my output?
[20:03:31 CET] <kepstin> fahadash: yep, but at that point it might be easier to put a bunch of 'movie' filters in your filter script as sources rather than keeping track of input indexes.
[20:04:22 CET] <kepstin> (note that ffmpeg inputs and 'movie' filter inputs have slightly different behaviour wrt timestamps when seeking)
[20:43:03 CET] <fahadash> What are the 'movie' filters?
[20:50:38 CET] <phillipk> I keep getting a white background but expected alpha. I have two alpha pngs and this command:
[20:51:39 CET] <phillipk> ffmpeg -y -r 25 -t 2 -loop 1 -s 4cif -i background.png -i overlay.png -filter_complex overlay=x=10:y=200 -pix_fmt rgba -vcodec png output.mov
[20:51:52 CET] <phillipk> I'm not sure if -loop 1 is necessary... or -s 4cif
[20:52:27 CET] <phillipk> comes out with a white background every time.
[20:54:43 CET] <DHE> fahadash: they let you use a file on-disk as a video/audio source. kinda like the nullsrc except rather than solid black they'll do video playback
[20:56:56 CET] <fahadash> Can we put the whole filter graph, and possibly -i FILE switches in a text file and just do /usr/bin/ffmpeg /path/to/filethathasmyswitches ?
[20:57:33 CET] <BtbN> just use your shell to expand it
[20:58:48 CET] <fahadash> I would've loved to put at least the filter graph in a file so I can do ffmpeg -WHATEVERSWITCH /path/to/file
[21:02:49 CET] <llogan> fahadash: -filter_complex_script
[21:03:30 CET] <phillipk> my current issue is that when -filter_complex_script is crazy long, it fails.
[21:03:51 CET] <phillipk> of course it fails earlier if I just put the filter inline using -filter_complex
[21:04:16 CET] <llogan> phillipk: you probably need to add "format=rgb" to your overlay
[21:04:22 CET] <llogan> regarding the alpha junk
[21:04:32 CET] <phillipk> I'll try, thanks
[21:04:49 CET] <llogan> and remove -r 25 and -s 4cif
[21:05:29 CET] <phillipk> oky, but I want framerate 25
[21:05:49 CET] <llogan> taht's the default
[21:06:20 CET] <llogan> if you want it to be different then use -framerate, not -r when using image file demuxer.
[21:06:39 CET] <phillipk> ok
[21:07:11 CET] <furq> png in mov?
[21:12:25 CET] <phillipk> I'm just trying to assemble some pngs to create a video that contains transparency--so that I can overlay THAT video with my other content
[21:13:26 CET] <llogan> why not use multiple overlay?
[21:14:25 CET] <phillipk> nearly every frame has to overlay the png in a different location (based on a user's mouse movement). So, there are ~7000 overlays
[21:15:05 CET] <furq> phillipk: i imagine it's less overhead to just write pngs
[21:15:20 CET] <furq> using mov just confuses the matter
[21:16:33 CET] <phillipk> except I figured I could make a filter graph that specifies a few seconds worth of x/y locations--output a 2 second .mov. Then, assemble those. That way, I'd have a few thousand movs vs. 30x that (in pngs)
[21:16:56 CET] <furq> 7000 pngs isn't that many
[21:17:18 CET] <phillipk> how about 210,000?
[21:17:32 CET] <furq> that should probably be fine
[21:18:07 CET] <furq> by all means use an intermediate format if that many pngs causes an issue
[21:18:14 CET] <furq> but i don't think it will, and it's much simpler to do it that way
[21:19:11 CET] <phillipk> ok, let me try... BTW, changing "overlay=x=10:y=300:format=rgb" didn't exactly work--just made the edges of my png sharp
[21:19:57 CET] <furq> i'd have thought you'd need format=rgba
[21:20:12 CET] <furq> actually nvm there is no such thing
[21:21:04 CET] <thebombzen> I'm pretty sure rgba is a thing
[21:21:24 CET] <furq> not as an argument to overlay
[21:21:35 CET] <llogan> phillipk: which player are you using?
[21:21:50 CET] <phillipk> potplayer--yeah, I thought maybe that just wasn't showing the alpha
[21:22:11 CET] <phillipk> but it shows alpha as black when I take an old .flv I have with alpha
[21:22:36 CET] <llogan> i'll be lazy and blame the player
[21:22:55 CET] <furq> the flv is probably using yuva rather than rgba, if that makes any difference
[21:24:53 CET] <phillipk> okay, I'll just make pngs and see how that plays out
[21:26:38 CET] <fahadash> I have to rotate the video 90 degrees clockwise, transpose=1 is rotating it 180 degrees clockwise. What am I missing?
[21:29:42 CET] <thebombzen> fahadash: how does one rotate a video 180 degrees clockwise
[21:29:47 CET] <thebombzen> that's just 180 degrees
[21:31:47 CET] <fahadash> Ok. You are right. But that is not my issue
[21:31:58 CET] <thebombzen> and tranpose is working fine for me
[21:31:58 CET] <fahadash> My issue is to rotate only 90 degrees not 180
[21:32:07 CET] <thebombzen> post exact command?
[21:32:25 CET] <thebombzen> the usual drill. post exact command and output on a paste site
[21:33:26 CET] <fahadash> working on windows currently, have to figure out how to stream the output directly to a paste site
[21:33:44 CET] <llogan> ffmpeg -i input ... output 2> log.txt
[21:33:54 CET] <llogan> I guess...for Windows. Not a Windows user.
[21:34:05 CET] <fahadash> there you go: http://pastebin.com/raw/XzU10dgY
[21:34:28 CET] <llogan> why do you ahve two inputs?
[21:34:37 CET] <thebombzen> yea I was just about to ask that
[21:34:43 CET] <thebombzen> you do realize you have two inputs right
[21:34:57 CET] <fahadash> I have to overlay them side by side; but at this time I am only concerned with rotating them. I am building it brick by brick
[21:35:16 CET] <thebombzen> well first let's do the rotation
[21:35:23 CET] <thebombzen> which one are you trying to rotate?
[21:35:25 CET] <fahadash> I was also going to ask how could I rotate both
[21:35:42 CET] <thebombzen> you'd do that one at a time.
[21:35:49 CET] <thebombzen> that's how you'd rotate both.
[21:35:56 CET] <fahadash> Can't put that in a filter graph?
[21:36:01 CET] <thebombzen> you can. but you're not.
[21:36:14 CET] <thebombzen> and the filter graph would involve applying the transpose filter to two separate streams
[21:36:24 CET] <thebombzen> either way you're still doing it one at a time.
[21:36:31 CET] <llogan> for each rotation you can chain two transpose: transpose=1,transpose=1. or use vflip,hflip, or use rotate=PI:bilinear=0
[21:36:54 CET] <thebombzen> well llogan that would rotate it 180 degrees
[21:37:10 CET] <fahadash> Let me get this right... you guys do not want me to put transpose as part of my filter graph because it will complicate things?
[21:37:10 CET] <llogan> oh, i transposed what he wanted.
[21:37:14 CET] <furq> vstack,transpose=1
[21:37:37 CET] <thebombzen> fahadash, no I want to know why your transpose filter is rotating it 180 degrees
[21:37:42 CET] <thebombzen> and the extra stuff is just getting in the way
[21:37:47 CET] <thebombzen> so let's diagonise one problem at a time.
[21:37:55 CET] <thebombzen> and then we can worry about hte fact that you have two videos later.
[21:37:55 CET] <fahadash> ok. Let me drop one input
[21:38:26 CET] <furq> Side data:
[21:38:27 CET] <furq> displaymatrix: rotation of -90.00 degrees
[21:38:32 CET] <furq> that probably has something to do with it
[21:38:43 CET] <kuroro> hello, does anyone have experience w/ Separating Background Music from Vocals given an mp3 ?
[21:38:49 CET] <fahadash> alright, I got one video input and transpose=1 is still doing 90 deg clockwise
[21:38:51 CET] <thebombzen> oh yea that's a good point
[21:38:57 CET] <furq> fahadash: ^
[21:39:01 CET] <furq> your input has rotation metadata set
[21:39:08 CET] <thebombzen> so iPhone records have EXIF data that say "rotate this video"
[21:39:08 CET] <furq> you probably want to get rid of that
[21:39:23 CET] <thebombzen> kuroro: that's generally impossible.
[21:39:32 CET] <furq> kuroro: not without an instrumental version of the same song
[21:40:07 CET] <fahadash> How do I get rid of that rotation metadata or override that?
[21:40:09 CET] <kuroro> just seeing some papers on people using deep learing to separate vocals, so i thought there might be new tools/advancements
[21:40:14 CET] <thebombzen> -map_metadata -1
[21:40:15 CET] <furq> -map_metadata -1
[21:40:21 CET] <kuroro> https://arxiv.org/abs/1504.04658
[21:40:23 CET] <thebombzen> says "discard all metadata"
[21:40:41 CET] <furq> although if the input is rotated by -90 degrees, you might not need to transpose
[21:41:16 CET] <furq> there's probably some tool which can get rid of that inplace, but `ffmpeg -i foo.mp4 -map_metadata -1 -c copy -map 0 bar.mp4` works
[21:41:16 CET] <thebombzen> lol kuroro did you read the abstract
[21:41:21 CET] <thebombzen> "However, it is not yet known whether these methods are capable of generalizing to the discrimination of voice and non-voice in the context of musical mixtures. "
[21:41:36 CET] <thebombzen> "used to estimate 'ideal' binary masks for carefully controlled cocktail party speech separation problems"
[21:41:56 CET] <kuroro> ah ic
[21:41:57 CET] <fahadash> I added -map_metadata -1 after the -i FILE and I still get it rotated 180 instead of 90
[21:42:20 CET] <thebombzen> that's because the output is being played without the rotation
[21:42:25 CET] <thebombzen> and the input is being played with it.
[21:42:36 CET] <phillipk> I'm curious what workflow you all use? I'm using node with fluent-ffmpeg and it seems fine--I think a plain old .bat file might be enough however.
[21:42:38 CET] <thebombzen> try ffmpeg -i input -map_metadata -1 -c copy output and working with that
[21:42:59 CET] <thebombzen> that'll copy the video without transcoding but discard the metadata
[21:43:04 CET] <fahadash> I have a video which is turned on its side counterclockwise 90 degrees. I need to tilt it back. How do I do it?
[21:43:06 CET] <thebombzen> then work with that as your source.
[21:43:16 CET] <thebombzen> fahadash: we are literally explaining this to you right now.
[21:43:43 CET] <thebombzen> why do you just jump in like you just joined the channel and haven't been speaking with us for the last 8 minutes
[21:44:46 CET] <fahadash> 15:42 <thebombzen> try ffmpeg -i input -map_metadata -1 -c copy output and working with that , ended in less than 10 ms and did nothing to the video. Input and output are same
[21:46:06 CET] <fahadash> thebombzen: I was trying to restate my question in simple terms
[21:47:37 CET] <thebombzen> it didn't do nothing
[21:47:41 CET] <thebombzen> it discarded the metadata
[21:47:59 CET] <thebombzen> it should be fast if you're not transcoding
[21:48:06 CET] <fahadash> ok
[21:48:10 CET] <llogan> -noautorotate
[21:48:34 CET] <llogan> although i can't remember if autorotate is even used then filtering
[21:50:11 CET] <fahadash> I did -map_metadata -1 -c copy, then used the output with another command with -vf "transpose=1" and I still end up with 180 deg
[21:51:46 CET] <thebombzen> can you post the exact command and output of the second command
[21:51:54 CET] <fahadash> http://pastebin.com/raw/kNxLkvWZ
[21:52:04 CET] <fahadash> this has both
[21:53:07 CET] <fahadash> I still see the following in the 2nd command
[21:53:11 CET] <fahadash> Side data:
[21:53:11 CET] <fahadash> displaymatrix: rotation of -90.00 degrees
[21:54:30 CET] <thebombzen> interesting
[21:54:39 CET] <thebombzen> that's apparently because -map_metadata -1 isn't discarding that
[21:56:02 CET] <thebombzen> I don't know why
[21:56:40 CET] <fahadash> Ok. Thank you
[21:57:38 CET] <furq> well yeah just don't use transpose
[21:57:50 CET] <furq> evidently it's discarding the side data when you reencode
[21:57:52 CET] <fahadash> How do I tilt it then?
[21:58:01 CET] <furq> reencoding will reset the rotation to 0
[21:58:09 CET] <furq> and since the original is -90, that'll effectively rotate by 90
[22:03:08 CET] <fahadash> furq: You are right, I applied the overlay to the two inputs and they were not tilted on their sides
[22:14:49 CET] <fahadash> in filter graph the W is the width of what? I am assuming the widest of the input videos
[22:36:05 CET] <fahadash> I am trying to resize two inputs to 350x500, and put them on side by side; since the output frame can only fit one source; I am using pad=700:500:0:0 at the end of the filter chain but all I see is only one source and a blank area on the other side, why?
[22:36:12 CET] <fahadash> ffmpeg -y -i c:\temp\del\bowling\IMG_4548.MOV -i c:\temp\del\bowling\IMG_4549.MOV -filter_complex "[0:v] scale=w=350:500 [tim]; [1:v] scale=w=350:h=500 [scott]; [scott][tim] overlay=W:0, pad=700:500:0:0" c:\temp\del\bowling\out\final.avi
[22:36:49 CET] <thebombzen> fahadash: -vf hstack
[22:37:02 CET] <furq> yeah don't use pad and overlay for that
[22:37:18 CET] <thebombzen> you could but it's unnecessarily slow and complicated
[22:37:34 CET] <furq> i would probably just do hstack,scale=700:500
[22:39:11 CET] <fahadash> doesn't work: ffmpeg -y -i c:\temp\del\bowling\IMG_4548.MOV -i c:\temp\del\bowling\IMG_4549.MOV -filter_complex "[0:v] scale=w=350:500 [tim]; [1:v] scale=w=350:h=500 [scott]; hstack=[tim]:[scott]" c:\temp\del\bowling\out\final.avi
[22:39:23 CET] <fahadash> [AVFilterGraph @ 000000000075a7a0] Unable to parse graph description substring: ":[scott]"
[22:41:25 CET] <fahadash> found the problem, works perfect
[22:44:23 CET] <fahadash> Why can't we provide more than two inputs to hstack?
[22:44:29 CET] <furq> you can
[22:44:32 CET] <furq> hstack=inputs=3
[22:44:57 CET] <fahadash> got it. thanks
[23:01:01 CET] <fahadash> how do we join two conditions within drawtext? If I want to add text between 3 and 6 seconds into the timeline
[23:26:29 CET] <llogan> use "enable" option. see "man ffmpeg-filters" for examples.
[23:26:38 CET] <llogan> search for "between"
[00:00:00 CET] --- Tue Dec 20 2016
1
0
[00:13:50 CET] <cone-324> ffmpeg 03Ståle Kristoffersen 07master:d8b9bef1a06e: avformat: Auto-detect mjpeg 2000 in mpeg-ts
[00:33:15 CET] <kierank> michaelni: so, any suggestions where I do slice header decoding in mpeg4videodec?
[00:49:06 CET] <michaelni> kierank, i have just briefly looked at the new stuff but the studio slice stuff seems at a similar level as the video packet (header) stuff
[00:49:21 CET] <michaelni> as in an alternative
[00:49:42 CET] <kierank> well there's a vop and a slice header
[00:49:45 CET] <kierank> instead of just a vop
[00:50:10 CET] <michaelni> with video packets theres a vop and video packet headers IIRC
[01:22:52 CET] <kierank> will look tomorrow ig uess
[08:15:53 CET] <cone-954> ffmpeg 03Rostislav Pehlivanov 07master:38a13155827b: opus: remove redundant ff_celt_window2 declaration
[08:45:47 CET] <bp0> Can anyone here add some samples to fate for me? (re: http://ffmpeg.org/pipermail/ffmpeg-devel/2016-December/204597.html)
[09:28:31 CET] <nevcairiel> note that we can't delete samples since old versions of fate should remain functional, so knowing that would that change your choices of adding new samples, as the net size change would only ever increase
[10:08:00 CET] <cone-954> ffmpeg 03Paul B Mahol 07master:14090b705029: avcodec/get_bits: add av_assert2 to get_bits_long()
[10:49:37 CET] <cone-954> ffmpeg 03Nicolas George 07master:62b11db0a08c: lavfi: add FFFrameQueue API.
[10:49:38 CET] <cone-954> ffmpeg 03Nicolas George 07master:02aa0701ae0d: lavfi: make filter_frame non-recursive.
[11:05:24 CET] <fritsch> wm4: you got a minute? Having a question concerning the new send / receive API and using own memory in AVPacket?
[11:06:08 CET] <fritsch> with old API I allocated my outputbuffer, e.g. set the data and the size field via: https://ffmpeg.org/doxygen/2.7/group__lavc__encoding.html
[11:06:39 CET] <fritsch> with new API this is ignored and I have to memcpy the resulting data which points to somewhere else, via: https://ffmpeg.org/doxygen/trunk/group__lavc__decoding.html#ga5b8eff59cf259…
[11:06:51 CET] <fritsch> is there a possibility to use my own memory also with that new API?
[11:35:47 CET] <nevcairiel> Don't think packets having your own memory was officially supported ever
[11:36:51 CET] <nevcairiel> Because you had no good way to guess the output size
[11:37:52 CET] <nevcairiel> In any case that's definitely dead with the new api
[11:46:00 CET] <fritsch> oki, we just did what the 2.7 documentation said
[11:46:13 CET] <fritsch> oki, so when I need to copy the data afterwards in my own buffers I need a memcpy?
[11:50:46 CET] <fritsch> I took the chance to ping you on github as we currently do the 3.2 API transition
[11:50:52 CET] <fritsch> thx for your reply
[11:51:13 CET] <atomnuker> wait, what? I thought ff_alloc_packet2 can return any memory
[11:51:48 CET] <fritsch> the problem is with giving it into the receive_packet api
[11:54:00 CET] <fritsch> we used it to encode textures rgba to jpeg to save thumbnails in code
[11:54:20 CET] <fritsch> means, allocate buffer, give it to a avpacket, use the old encode_video2 api
[11:54:39 CET] <fritsch> and use the resulting jpeg data to save it to disk
[11:55:17 CET] <atomnuker> huh, I guess the custom allocator DR1 stuff only applies to decoders
[11:55:28 CET] <fritsch> i think we talk to something different :-)
[11:55:42 CET] <fritsch> new: https://github.com/FernetMenta/kodi-agile/pull/48/commits/e45beb95df1a548e1…
[11:57:42 CET] <fritsch> old with corruption: https://github.com/fernetmenta/kodi-agile/blob/master/xbmc/guilib/FFmpegIma…
[11:57:44 CET] <atomnuker> memcpy on compressed data isn't really that big of a problem (also the input memory might have to be aligned to some value for some codecs because SIMD)
[11:58:21 CET] <fritsch> old before transition: https://github.com/fritsch/kodi-agile/blob/master/xbmc/guilib/FFmpegImage.c…
[11:58:27 CET] <fritsch> honoring my .data and my .size
[11:58:35 CET] <fritsch> I think this needs some documentation update
[11:58:56 CET] <fritsch> atomnuker: it's a memcpy for every packet that you could have easily allocated from a memory pool before
[11:59:37 CET] <fritsch> all we did was a "smooth" transition from avcodec_encode_video2 to the new send / receive api
[12:00:23 CET] <fritsch> for our use case: getting exactly one frame in and giving one pkt out, this double the memory usage
[12:08:13 CET] <wm4> if you really want the old behavior we could add get_buffer style API
[12:08:24 CET] <fritsch> no no - it's not about the API
[12:08:27 CET] <wm4> but probably not worth it
[12:08:41 CET] <fritsch> just wanted to ask: is there any way I can give my own allocated memory to that?
[12:08:52 CET] <wm4> not at all
[12:08:59 CET] <fritsch> oki
[12:09:20 CET] <fritsch> for my use case (1 frame in only, or 1 pkt in only) I did a 1:1 transition via: https://blogs.gentoo.org/lu_zero/2016/03/29/new-avcodec-api/
[12:09:29 CET] <wm4> so just likewith decoding this could be solved with an alloc casllback
[12:11:23 CET] <fritsch> it's fine - just wanted to make sure I don't do something wrong cause of a misunderstanding
[12:12:00 CET] <fritsch> I also only need to unref this paket, right? no need to free anything?
[12:13:38 CET] <wm4> yeah
[12:14:12 CET] <fritsch> Then I need to also relook into the decode case as there I should also get a new self allocated frame
[12:15:14 CET] <wm4> if you used get_buffer2 nothing changes
[12:15:40 CET] <fritsch> I allocate a frame and give it into that method: https://github.com/fritsch/kodi-agile/blob/e45beb95df1a548e130af07ab9a279a0… - now I wonder if the avcodec_receive_frame allocates a second frame
[12:15:53 CET] <fritsch> so that I need to unref the one I get after this method and free my original frame?
[12:16:07 CET] <wm4> (maybe you should make sure to send refcounted packets to avoid copies, if you don't yet)
[12:17:56 CET] <fritsch> in the encode case it's a ptr to a stack AVPacket
[12:18:23 CET] <fritsch> in Decode case, too, while the avpkt was filled with av_read_frame
[12:18:41 CET] <wm4> not sure why you call av_frame_clone
[12:19:21 CET] <fritsch> you mean I could drop the free? and just continue using it?
[12:19:30 CET] <fritsch> and then freeing it when "clone" is freed?
[12:23:47 CET] <fritsch> yeah makes sense
[12:23:52 CET] <fritsch> I added a commit
[12:24:29 CET] <wm4> yes receive guarantees that a refcounted frame is returned
[12:24:46 CET] <fritsch> but one question left
[12:24:52 CET] <fritsch> you see that I do av_frame_alloc
[12:25:23 CET] <fritsch> before, that one I need to free somewhere, while I thought I should only unref the frame I get from receive?
[12:26:24 CET] <nevcairiel> If you use alloc, you need free somewhere. Unref gets rid of the data inside a frame, but not the frame structure itself
[12:26:57 CET] <wm4> yeah, unref just resets an AVFrame to blank
[12:27:18 CET] <fritsch> when I get an AVPacket from this new method, who calls free?
[12:27:38 CET] <fritsch> is it when context is destroyed of the encoder?
[12:28:27 CET] <wm4> for the decode/encode API, the data you give it you still own
[12:28:36 CET] <wm4> and the data it returns changes ownership to you
[12:30:45 CET] <fritsch> oki - when I got that right, this: https://github.com/FernetMenta/kodi-agile/pull/48/commits/5160562682a5feeab… this is what you had in mind with the clone?
[12:31:13 CET] <fritsch> just returning the refcounted frame, but later on unref and free it?
[12:32:59 CET] <wm4> yes
[12:33:05 CET] <wm4> but _free also does _unref
[12:33:09 CET] <wm4> so the extra call is not needed
[12:33:19 CET] <fritsch> oki, thx very much.
[12:33:35 CET] <fritsch> yeah - still kind of confusing
[14:45:25 CET] <sylvain> hi
[14:46:17 CET] <Guest28871> we have a strange problem building ffmpeg for chromium (x86) can find report here https://github.com/iteufel/nwjs-ffmpeg-prebuilt/issues/28
[14:46:45 CET] <Guest28871> an idear ? problem with h264_cabac and hevc_cabac
[14:46:57 CET] <Guest28871> works if i add --disable-asm in configure
[14:47:11 CET] <Guest28871> (but seems a bad idear)
[14:47:52 CET] <JEEB> that looks like a bug in clang 4 rather than FFmpeg, no?
[14:48:06 CET] <JEEB> I mean, clang crashed
[14:48:35 CET] <JEEB> also llvm+clang 4.0 isn't even stable yet
[14:48:49 CET] <JEEB> see: http://llvm.org/
[14:49:01 CET] <JEEB> so yes, go provide a bug report to the llvm+clang people
[14:49:06 CET] <JEEB> it shouldn't crash
[14:51:03 CET] <smolleyes> seems yes ok i ll do that thanks
[15:03:29 CET] <BtbN> https://bpaste.net/show/04d891fa4fce gcc warnings have become quite verbose
[15:04:37 CET] <JEEB> yeah, they've been trying to improve after clang started improving things
[15:05:21 CET] <BtbN> This seems quite a bit too much though
[15:05:28 CET] <BtbN> I have no idea what it's trying to show me there
[15:06:11 CET] <BtbN> ah, there is one char marked in those 180 lines
[15:10:52 CET] <BtbN> Timothy_Gu, https://btbn.de/public/build-log.txt that's the build log from a docker container. (It's huge, over 30MB)
[15:11:41 CET] <BtbN> The only error I can spot is a bunch of "/usr/lib/gcc/x86_64-linux-gnu/6/include/xmmintrin.h:52:1: error: conflicting types for '_mm_prefetch'"
[15:11:42 CET] <jkqxz> The warning is also wrong, though I admit the compiler would have a hard time working that out. There is only ever one layer there, so nothing inside the loop gets run. (That code fragment is present to make it match the standard exactly.)
[18:35:39 CET] <Timothy_Gu> BtbN: thanks
[18:35:54 CET] <BtbN> I have no idea how to fix it though
[18:35:57 CET] <BtbN> That error is weird
[18:36:10 CET] <BtbN> Almost seems like the gcc and stuff is too new for their tools?
[18:42:22 CET] <Timothy_Gu> ... yeah
[18:44:11 CET] <Timothy_Gu> but why didn't this pop up before?
[18:45:07 CET] <nevcairiel> we recently added stdatomic support which sets the compiler into c11 mode if appropriate
[18:45:22 CET] <nevcairiel> which might break it
[18:45:40 CET] <nevcairiel> http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=6a4e24280dd7f15c41628e…
[18:54:08 CET] <BtbN> hm, so we should somehow force it to c99 for the cov build
[19:01:30 CET] <BtbN> Timothy_Gu, what about adding "sed -i 's/-std=c11/-std=c99/g' configure"?
[19:01:44 CET] <Timothy_Gu> Will that work with stdatomic then?
[19:01:53 CET] <BtbN> It will just disable it I think
[19:02:09 CET] <BtbN> But as it can't be tested anyway, that's no loss
[19:02:21 CET] <BtbN> And gets rid of like 30 errors
[19:02:43 CET] <Timothy_Gu> yeah, but I know coverity does certain smart things with pthread functions
[19:03:04 CET] <BtbN> It will basically revert it to before that patch
[19:12:54 CET] <Timothy_Gu> hmm I can use stdatomic without -std=c11
[19:14:04 CET] <Timothy_Gu> echo -e '#include <stdatomic.h>\nint main(void) { int *ptr, *oldval; int newval; __atomic_compare_exchange_n(ptr, oldval, newval, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }' | gcc -x c -
[19:14:58 CET] <Timothy_Gu> my Internet here is kinda shitty so I can't test on FFmpeg
[19:17:31 CET] <Timothy_Gu> indeed in gcc 5 the default for C has been changed from gnu89 to gnu11 so I don't know if that is the problem
[19:17:39 CET] <durandal_1707> why I can't get gcno files to generate?
[19:18:28 CET] <Timothy_Gu> https://gcc.gnu.org/gcc-5/changes.html
[20:08:19 CET] <kierank> why is h263dec doing the job of a parser
[20:08:39 CET] <kierank> why is AV_CODEC_FLAG_TRUNCATED a thing
[20:17:25 CET] <atomnuker> why does a segfault sometimes just print it's a segfault and other times it prints "memory corruption" + backtrace + memory map and spams the terminal?
[20:18:01 CET] <kierank> nondeterminisms
[20:23:49 CET] <jkqxz> That's glibc saying "you messed up the malloc arena", not a segfault. (Though it probably would be very quickly if glibc didn't catch it first.)
[20:26:16 CET] <atomnuker> how do you mess up the malloc arena, it's still your own address space, you can do whatever you want there
[20:28:23 CET] <nevcairiel> writing beyond your allocation can still damage things
[20:28:54 CET] <jkqxz> Well, yes. And glibc isn't going to be very pleased if you go and overwrite glibc's bookkeeping information about where all of the allocated/free blocks are.
[20:29:21 CET] <kierank> michaelni: so I guesss a video packet header is analagous to a slice header
[20:42:15 CET] <atomnuker> nevcairiel: well, yeah, but that's then a segfault
[20:44:21 CET] <kierank> not if you rewrite glibc's reserved space
[20:44:55 CET] <atomnuker> I guess it needs somewhere to store that data
[21:00:25 CET] <Compn> kierank : because h263 decoder was made before we split parsers out of decoders ? maybe ? no ?
[21:53:28 CET] <wm4> kierank: last it came up the arguments were API compatibility and SPEED
[21:53:32 CET] <wm4> you know, the usual bullshit
[21:54:47 CET] <kierank> pfft
[21:55:57 CET] <wm4> you could try to send a patch to deprecate it and remove its functionality
[21:56:24 CET] <wm4> (we had changes which keep API artifacts for compatibility but remove the implementation before)
[22:48:57 CET] <durandal_1707> kierank: i cleaned up all functions for pixlet, only remain to fix bugs with ed-pixlet.mov file
[22:49:53 CET] <durandal_1707> give a look and say what's obvious source of bug which I can't find
[22:53:59 CET] <kierank> Nice
[22:54:11 CET] <kierank> Ok i will look with your repo
[23:00:08 CET] <durandal_1707> ed-pixlet.mov is big file in xiph media of elephants dream
[23:14:48 CET] <kierank> hmmm quite big
[23:14:52 CET] <kierank> durandal_1707: link to repo?
[23:16:31 CET] <durandal_1707> kierank: https://github.com/richardpl/FFmpeg/tree/pixlet
[23:20:30 CET] <kierank> downloading file
[23:26:06 CET] <kierank> durandal_1707: yuv420? really?
[23:26:17 CET] <durandal_1707> yes
[23:26:31 CET] <kierank> I would port it to yuv420p10
[23:26:41 CET] <kierank> makes it easier to see overflows
[23:27:14 CET] <durandal_1707> overflows are in parsing
[23:27:28 CET] <durandal_1707> output is fine
[23:28:36 CET] <durandal_1707> some bits are over reading
[23:39:00 CET] <kierank> [pixlet @ 0xf366e0] wrong magic number: 0x0000 for plane 0, level 10
[23:39:49 CET] <kierank> looks fine to me
[23:41:57 CET] <kierank> durandal_1707: does it actually do floating point filter?
[23:42:48 CET] <durandal_1707> afaik yes
[23:43:50 CET] <durandal_1707> those errors shouldn't happen
[23:45:07 CET] <kierank> looks like padding
[23:47:09 CET] <kierank> uint32_t magic2 = bytestream2_get_be32(&ctx->gbc);
[23:47:10 CET] <kierank> uint32_t magic3 = bytestream2_get_be32(&ctx->gbc);
[23:47:10 CET] <kierank> uint32_t magic4 = bytestream2_get_be32(&ctx->gbc);
[23:47:10 CET] <kierank> uint32_t magic5 = bytestream2_get_be32(&ctx->gbc);
[23:47:10 CET] <kierank> uint32_t magic6 = bytestream2_get_be32(&ctx->gbc);
[23:47:10 CET] <kierank> printf("\n %x %x %x %x %x %x \n", magic2, magic3, magic4, magic5, magic6);
[23:47:11 CET] <kierank> all zero
[23:47:46 CET] <durandal_1707> bitreader prior that consumes all bits
[23:48:05 CET] <kierank> oh
[23:48:31 CET] <durandal_1707> either bug is in low or high somewhere
[23:51:45 CET] <kierank> exactly one byte overread
[23:52:01 CET] <kierank> so basically escape is weird
[23:55:33 CET] <jamrial> durandal_1707: in filter(), either make value a double, or make the constants float. otherwise those loops may end up being slow
[23:55:47 CET] <kierank> it's slow as hell already :)
[23:55:54 CET] <jamrial> slower then :p
[23:56:08 CET] <kierank> durandal_1707: does the binary decoder not have an escape condition?
[23:56:15 CET] <jamrial> but yeah, pointless double to float then float to int if he leaves it as is
[23:56:17 CET] <kierank> durandal_1707: can you let me know where the binary decoder does it's highpass
[23:56:58 CET] <durandal_1707> kierank: search for deadbeef in hex
[23:57:57 CET] <durandal_1707> there are 3 functions but 2 are dead code
[23:58:02 CET] <kierank> my guess is your termination condition is wrong
[00:00:00 CET] --- Mon Dec 19 2016
1
0
[00:02:01 CET] <ThomasEgi> some random windows build from 2011 appears to run, but doesn't feature gdigrab as input
[00:28:39 CET] <ThomasEgi> limited success, version build 2.7.something seems to run on xp and at least outputs sane values for the screencap.
[00:50:31 CET] <furq> building yourself with mingw and copying across should work
[00:50:40 CET] <furq> the reason the zeranoe builds no longer support xp is because of libmfx
[00:51:05 CET] <furq> you have no use for that anyway so it shouldn't be an issue
[01:32:47 CET] <ThomasEgi> furq, i got it working .. somewhat. at least ffmpeg is now the better working part. the application displaying that old thing appears to be very very picky when it comes to switching to fullscreen mode. puzzles me a bit. i'll report back on ultimate failure/success
[01:32:55 CET] <ThomasEgi> thanks for all your shared brain capacities
[01:37:38 CET] <Kam> Hello, I'm trying to decode a VP9 video in yuva420p and get the following error, any ideas? "Failed to decode frame: Corrupt frame detected" -- "Additional information: Keyframe / intra-only frame required to reset decoder state". I'm using the latest git version of libvpx and ffmpeg. The file has been encoded with ffmpeg before and I'm forcing to use libvpx-vp9 for decoding.
[04:04:52 CET] <damdai> how do i playback hddvd (not bluray)
[08:32:06 CET] <thebombzen_> Kam: It sounds like you have a corrupt file
[08:32:32 CET] <thebombzen_> and that libvpx's vp9 decoder is more forgiving than ffmpeg's vp9 decoder.
[08:57:31 CET] <thebombzen> JEEB: I read that article you wrote on github gist about 10bit H.264
[08:58:16 CET] <thebombzen> I'm still a bit confused how upscaling a yuv420p source to yuv420p10le with swscale before feeding it to x264 can save quality per bitrate.
[08:59:44 CET] <thebombzen> the article explained that losing 3 bits in 10-bit space is the same as losing 1 bit in 8bit space so there's more error tolerance, but why does that matter if we introduced two bits
[09:04:43 CET] <thebombzen> the ateme pdf linked says that it's because of the prediction, but that again is confusing.
[09:07:48 CET] <thebombzen> afaik when you run the DCT to decompose a block into a liner combination of waves, most of the coefficients are zero (that's the point of jpeg-like stuff, right?) but I'm not sure how introducing 2 extra bits per pixel will make the quantization more accurate. like will it make it so we will generally have more zeroes after quanization? does it make it so we can have more zeroes?
[09:07:51 CET] <thebombzen> I'm just a bit confused
[10:39:34 CET] <thebombzen> uh, so there appears to be a problem with VDA autodetection. It says --disable-vda to disable apple's vda [autodetect]
[10:39:49 CET] <kerio> heh
[10:39:56 CET] <thebombzen> but when I try to configure, it says "vda requested but unable to find vda_framework" or something very similar
[10:40:00 CET] <thebombzen> which is weird
[10:40:12 CET] <thebombzen> cause if it can't find vda then it should just autodisable it. that's what autodetect means right
[10:40:18 CET] <thebombzen> for the record, I don't have VDA. I'm on Arch Linux
[10:40:31 CET] <kerio> ...wat
[10:40:32 CET] <thebombzen> that sounds like it's a bug in the configure script
[10:40:54 CET] <kerio> yeah ok
[10:40:59 CET] <thebombzen> ERROR: vda requested, but not all dependencies are satisfied: vda_framework pthreads
[10:41:00 CET] <kerio> it's hardly a showstopper
[10:41:09 CET] <thebombzen> that's the exact error message
[10:41:11 CET] <thebombzen> word for word
[10:41:24 CET] <thebombzen> I mean definitely not a big deal. I just addded --disable-vda and went on my way
[10:41:37 CET] <thebombzen> but it was annoying because I have a script set to git pull and rebuild ffmpeg every day
[10:42:05 CET] <thebombzen> and sometimes it fails for no reason. in this case it failed because I didn't have --disable-vda and it became necessary.
[10:42:09 CET] <thebombzen> which tbh sounds like a regression
[10:42:52 CET] <thebombzen> is this the right place to takl about this or would #ffmpeg-devel be a better one
[10:44:26 CET] <thebombzen> oop, looks like nvidia 375.20 is acting up... again... Dx
[10:44:38 CET] <thebombzen> sometimes it just doesn't want to work and I have to reboot
[10:45:20 CET] <thebombzen> it becomes really obvious when you pull up a video in MPV and it cannot create the opengl context so it defaults to x11, and the tearing is really awful
[14:24:35 CET] <blubee> hi guys i have a quesiton about ffmpeg and recording x11
[14:24:54 CET] <blubee> there's a new xcb screen grab because it says x11grab is legacy
[14:25:19 CET] <blubee> what do i pass to ffmpeg -f instead of x11grab to use the new xcb flag?
[14:27:17 CET] <relaxed> I think it's the default not, see "ffmpeg -devices"
[14:27:29 CET] <relaxed> s/not/now/
[14:29:17 CET] <blubee> hmm
[14:29:31 CET] <blubee> the devices show
[14:29:44 CET] <blubee> bktr, lavfi, oss, v4l2, video4linux2
[14:29:55 CET] <relaxed> I see "D x11grab X11 screen capture, using XCB"
[14:30:15 CET] <blubee> hmm
[14:30:16 CET] <blubee> nope
[14:30:32 CET] <blubee> i guess i'll just enable the legacy x11
[14:30:58 CET] <DHE> XCB mode still uses the same name. just keep using x11grab
[14:31:24 CET] <relaxed> did you configure ffmpeg with --enable-x11grab ?
[14:33:33 CET] <blubee> okay
[14:33:42 CET] <blubee> well thanks i'll just configure x11grag
[14:33:45 CET] <blubee> thanks
[14:56:43 CET] <N_ick> Hi there ! i'm attempting to replace first two audio streams within a MXF File with two WAV audio streams + the ideal would be to keep the existing stream IDs. i've read the documentation and tried for a few hours now but i'm still stuck. I understand i have to use the -map option but can't succed to map only the first two streams and keep the others.
[15:06:30 CET] <ChocolateArmpits> N_ick: Why do you need to keep the others if you don't want that originally?
[15:09:29 CET] <N_ick> the imput .mxf contains one video and 8 audio streams in total. i need to replace the first two. i've tried this : ffmpeg -i input.mxf -i audio1.wav -i audio2.wav -map 0 -map -0:a:0 -map -0:a:1 -map 1:0:1 -map 2:0:2 output.mxf
[15:10:18 CET] <N_ick> but that looks like rubbish and doesn't work. my idea was first to map everything, then to use negative mapping (as suggested in documentation) to exclude the first two streams i want to replace
[15:10:48 CET] <N_ick> do i have to explicitely specify each of the 8 audio streams to keep them in the output file?
[15:11:10 CET] <ChocolateArmpits> N_ick: map 0 will map the entirety of the first input
[15:11:41 CET] <ChocolateArmpits> you need -map 0:v instead of that
[15:12:19 CET] <ChocolateArmpits> Do those wav files contain only one audio stream per file?
[15:12:34 CET] <ChocolateArmpits> then you only need to specify each like this -map 1:a -map 2:a
[15:13:41 CET] <N_ick> yep', that's mono! great, i'll try that, thank's dude. the tricky part is i have to keep the remaining 6 audio streams from the input...
[15:14:25 CET] <ChocolateArmpits> Then don't write -map 0 as I said
[15:14:44 CET] <ChocolateArmpits> because that will pass along every stream from the first input to the output
[15:15:16 CET] <N_ick> well, that's what i want (except the first two audio streams that i need to replace... )
[15:15:33 CET] <ChocolateArmpits> oh then specify each stream separately
[15:16:06 CET] <ChocolateArmpits> so it would be -map 0:v -map 1:a -map 2:a -map 0:a:2 -map 0:a:3 -map 0:a:4 -map 0:a:5
[15:16:28 CET] <ChocolateArmpits> the sequence of maps will determine the stream order in output
[15:16:50 CET] <ChocolateArmpits> though it's possible to tell it via text too
[15:17:01 CET] <N_ick> via text? what do you mean?
[15:18:29 CET] <ChocolateArmpits> well nevermind
[15:18:33 CET] <ChocolateArmpits> just follow the order thing
[15:20:08 CET] <N_ick> okay i'll try. but i'd like to understand because i was afraid of the long -map sequence, Lol. isn't there a 'cleaner' way?
[15:21:50 CET] <ChocolateArmpits> not cleaner and more complex but there are others
[15:23:04 CET] <ChocolateArmpits> like reading streams via filters or via text files with file names and stream indexes
[15:23:21 CET] <ChocolateArmpits> more advanced stuff imo
[15:24:39 CET] <N_ick> sorry, something strange hapened here, i sort of lost my connection -_-
[15:25:13 CET] <N_ick> ChocolateArmpits: okay i'll try. but i'd like to understand what you meant 'via text' because i was afraid of the long -map sequence, Lol. isn't there a 'cleaner' way?
[15:26:42 CET] <ChocolateArmpits> I maybe forgot but I think there was a way to point where a specific map should fit, like should it go to the stream index 1 or 2 you know , independent of the placement of the command itself in relation to other map commands
[15:29:34 CET] <N_ick> mh, i see, something like specifying the map order in some text file?
[15:29:46 CET] <ChocolateArmpits> no that's different
[15:30:28 CET] <ChocolateArmpits> you input a text file via a concat formatter, inside the text file are links to files and streams
[15:31:00 CET] <N_ick> okay then, i think i'll have a go with my long -map sequence and see what it does :) tkx.
[15:31:05 CET] <ChocolateArmpits> it's useful when you need to concatenate several files and doing it via command line would be more troublesome
[15:32:08 CET] <Kiicki> 4 hours elapsed and got 30 min too go for a movie -.-
[15:32:36 CET] <N_ick> well, i'm on Windoze writing a batch script so.....
[15:37:12 CET] <N_ick> ChocolateArmpits: think i need more infos on the -map usage : i understand the first number is the file index starting at 0, v for video or a for audio, what's the last number used for? i thought that was the output's stream number but i feel i'm misunderstanding something...
[15:38:11 CET] <ChocolateArmpits> N_ick: when you reference things like this -map 0:a:1 you are telling ffmpeg to look at the second audio stream of the first input
[15:38:40 CET] <N_ick> Ah okay, now i get it, thanks for the refresh ! :D
[15:38:43 CET] <ChocolateArmpits> -map 0:a means all audio streams of the first input
[15:38:53 CET] <yati> Hi, I'm piping video to an avconv process on a *raspberry pi*. This is the avconv command: https://dpaste.de/JWnL Now the video thus produced plays much faster than reality. I measured how fast the source process is able to produce frames, and it is ~9fps. Using -r 8 for the output (with -re for the input) also does not help. What could I be missing? :)
[15:54:42 CET] <yati> ok, just figured the output framerate is somehow set to 25fps, and this is why time is shrunk. How do I make sure the output frame rate is the same as the input frame rate?
[15:55:48 CET] <ChocolateArmpits> yati: by not setting -r at the output of course
[16:04:13 CET] <N_ick> ChocolateArmpits: It works ! :D thanks dude
[16:04:21 CET] <ChocolateArmpits> N_ick: np
[16:05:14 CET] <N_ick> now the best would be to keep the original input stream id's, should i use -map_metadata for that?
[16:05:20 CET] <N_ick> or specify them 'by hand'?
[16:09:05 CET] <ChocolateArmpits> i'm not sure about that, sorry
[16:48:09 CET] <yati> ChocolateArmpits: Tried that (not keeping -r at the output, also removing -r from both input and output). The fps is still 25 :(
[16:48:54 CET] <ChocolateArmpits> yati: so you want the file framerate to be that of the actual source ?
[16:49:04 CET] <ChocolateArmpits> Try the fps filter
[16:49:13 CET] <ChocolateArmpits> -vf fps=8
[16:50:00 CET] <ChocolateArmpits> it'll drop/duplicate frames to match the number you request
[16:51:21 CET] <yati> ChocolateArmpits: Yes, I want it to be the same (or about the same, since the source drops frames sometimes). Trying the filter nw
[16:58:14 CET] <yati> ChocolateArmpits: No luck. Here's the incantation: https://dpaste.de/8PrL (I first using another -vf, but that got rid of the timestamps, so added it in the chain after drawtext, is that how it's supposed to be done?)
[16:58:27 CET] <yati> *I first tried using...
[16:59:00 CET] <N_ick> Does anyone know if preserving Track IDs from input to output is ever possible?
[17:01:26 CET] <ChocolateArmpits> yati: yeah, but that will draw the timestamps before dropping frames, so you should probably have fps happen first
[17:07:02 CET] <yati> ChocolateArmpits: Heh, tried that too. It still produces a 25 fps video. I tried this on my Fedora box with a v4l2 (/dev/video0 as the source) and it does work. I am tempted to try getting video4linux2 on the pi and try, but exactly what is wrong with the current approach is the interesting question :D
[17:07:47 CET] <ChocolateArmpits> yati: What do you mean works? the command line ?
[17:08:14 CET] <yati> ChocolateArmpits: yep. works == produces 8fps vid from the /dev/video0 input
[17:08:32 CET] <yati> the same command line, (of course s/avconv/ffmpeg/ on fedora)
[17:34:35 CET] <taliptako> Heyyyy
[17:34:44 CET] <taliptako> can i use ffmpeg for MPEG DASH encoding
[18:24:27 CET] <Kuun-Lann> Hello guys, i try to convert some .al files to .mp3 (or .flac). I try the simplest way with ffmpeg -i file.al file.mp3 but the sound is just awful. Any idea of options to get a decent sound ?
[18:27:40 CET] <thebombzen> Kuun-Lann: you should set the bitrate with -b:a bitrate
[18:27:53 CET] <thebombzen> such as ffmpeg -i input -b:a 128k output.mp3
[18:28:02 CET] <Kuun-Lann> okay i see
[18:28:08 CET] <thebombzen> the default bitrate is very low
[18:28:23 CET] <kerio> 128k is also very very very low for mp3
[18:28:28 CET] <thebombzen> it is
[18:28:34 CET] <thebombzen> but it depends on the source
[18:28:39 CET] <Kuun-Lann> so i could try -b:a 320 ?
[18:28:41 CET] <Kuun-Lann> at least
[18:28:42 CET] <thebombzen> 320k
[18:28:43 CET] <kerio> -q:a 0
[18:28:46 CET] <thebombzen> 320 is 320 by itself
[18:28:51 CET] <thebombzen> 320k is 320 thousand
[18:28:57 CET] <Kuun-Lann> okay
[18:29:01 CET] <kerio> it's 2016, use VBR
[18:29:05 CET] <thebombzen> that works too. to be honest I don't see any reason to use mp3
[18:29:07 CET] <Kuun-Lann> kerio what is -q:a 0 ?
[18:29:20 CET] <thebombzen> constant quality
[18:29:28 CET] <Kuun-Lann> (sorry for the noobish question, first time i use fmmpeg this wayà
[18:29:33 CET] <Kuun-Lann> oh ok
[18:29:43 CET] <thebombzen> it's fine. -q is quality and 0 is the quality setting
[18:29:54 CET] <thebombzen> usually lower numbers are higher quality which is counterintuitive at first
[18:30:06 CET] <kerio> with lame, vbr with quality 0 is pretty damn good
[18:30:12 CET] <kerio> ...for a shit codec like mp3, at least
[18:30:16 CET] <thebombzen> I still don't know why you'd be using mp3
[18:30:22 CET] <Kuun-Lann> errr
[18:30:41 CET] <thebombzen> mp3 is extremely old and primitive
[18:30:44 CET] <thebombzen> like early 90s old
[18:31:04 CET] <Kuun-Lann> so .. flac ?
[18:31:08 CET] <Kuun-Lann> is it better ?
[18:31:10 CET] <thebombzen> well flac is literally lossless
[18:31:24 CET] <thebombzen> so yes the audio will be identical to the input
[18:31:30 CET] <Kuun-Lann> that sound great to me
[18:31:35 CET] <thebombzen> but lossless audio is large (although nowadays it's not unmanageably large)
[18:31:41 CET] <thebombzen> flac = Free Lossless Audio Codec
[18:31:56 CET] <thebombzen> uncompressed audio is around 1500k
[18:32:20 CET] <thebombzen> but depending on the source, I've seen flac achieve between 400k and 1100k
[18:32:33 CET] <Kuun-Lann> and what i need to input in -b:a for convert in flac ?
[18:32:37 CET] <thebombzen> nothing
[18:32:42 CET] <thebombzen> it's lossless so don't set the bitrate
[18:32:54 CET] <thebombzen> that one if you're trying to be simple you can just do ffmpeg -i input output.flac
[18:33:04 CET] <kerio> i wonder if there's a compression setting tho
[18:33:08 CET] <thebombzen> there is
[18:33:11 CET] <thebombzen> but one step at a time
[18:33:12 CET] <kerio> trading longer encoding/decoding for space
[18:33:18 CET] <thebombzen> there is definitely
[18:33:20 CET] <thebombzen> but the default is fine
[18:33:25 CET] <kerio> fair enough
[18:33:26 CET] <Kuun-Lann> i'll try for flac
[18:33:34 CET] <thebombzen> and the gains/losses are not noticable unless you set it to the fastest
[18:33:35 CET] <Kuun-Lann> hum
[18:33:37 CET] <kerio> Kuun-Lann: if you're used to mp3, flac is going to feel insanely big
[18:33:38 CET] <Kuun-Lann> i got an error at the end
[18:33:44 CET] <thebombzen> what error?
[18:33:48 CET] <Kuun-Lann> draam1.al: Input/output error
[18:33:48 CET] <Kuun-Lann> size= 24411kB time=00:32:40.16 bitrate= 102.0kbits/s speed= 124x
[18:33:48 CET] <Kuun-Lann> video:0kB audio:24403kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.033168%
[18:33:53 CET] <thebombzen> that's not an error
[18:33:55 CET] <thebombzen> oh
[18:33:57 CET] <thebombzen> input/output error
[18:34:02 CET] <Kuun-Lann> ? :/
[18:34:02 CET] <thebombzen> that means it couldn't read your input file
[18:34:07 CET] <Kuun-Lann> oO
[18:34:10 CET] <Kuun-Lann> oh
[18:34:17 CET] <thebombzen> becaues it's corrupt or you deleted it or something
[18:34:17 CET] <Kuun-Lann> weird
[18:34:30 CET] <thebombzen> although if it's corrupt it probably wouldn't say that
[18:35:14 CET] <furq> pcm_alaw to flac should be pretty small
[18:35:24 CET] <thebombzen> I mean in general yea
[18:35:32 CET] <thebombzen> but again it depends on what you have as the source
[18:35:33 CET] <kerio> furq pls
[18:35:40 CET] <thebombzen> if it's speech it'll be small
[18:35:44 CET] <thebombzen> if it's metal music it won't be
[18:36:45 CET] <thebombzen> speaking of converting
[18:36:51 CET] <Kuun-Lann> weird i try with anoter file but same error
[18:36:55 CET] <thebombzen> Kuun-Lann: is there any particular reason you need to convert it
[18:37:05 CET] <Kuun-Lann> thebombzen yes indeed
[18:37:13 CET] <thebombzen> what is that reason
[18:37:36 CET] <kerio> what's .al anyway?
[18:37:48 CET] <Kuun-Lann> in fact, my .al files comes from a game. This is the soundtrack of this game. And i want to listen it. But the files are in .al files and i didn't find the origginal soundtrack on steam or on game's editor website
[18:37:59 CET] <kerio> Kuun-Lann: first step, ffprobe
[18:37:59 CET] <Kuun-Lann> :/
[18:38:08 CET] <kerio> figure out what ffmpeg thinks is inside the files
[18:38:16 CET] <thebombzen> Kuun-Lann: ffprobe input_file
[18:38:21 CET] <thebombzen> it'll spit out info on the file
[18:38:32 CET] <thebombzen> second of all, if ffmpeg can read it, you can play it with mpv
[18:38:51 CET] <Kuun-Lann> https://zerobin.net/?59683b335583f56f#QuhpEBg+kP1RbrZAwSnBJIf5bECNLiwrswKX9…
[18:38:56 CET] <Kuun-Lann> result of ffprobe
[18:39:34 CET] <thebombzen> sounds like the file has the wrong extension ^_^
[18:39:38 CET] <Kuun-Lann> oO
[18:39:40 CET] <Kuun-Lann> really ?
[18:39:44 CET] <Kuun-Lann> wow
[18:39:57 CET] <kerio> no it doesn't
[18:40:04 CET] <Kuun-Lann> but what is the good extension in this case ?
[18:40:09 CET] <thebombzen> it doesn't? hm
[18:40:17 CET] <kerio> according to https://www.reddit.com/r/Dominions4/comments/45lmxn/dominions_music/czypen6/
[18:40:18 CET] <thebombzen> I'm wrong then. TIL the correct extension for gsm audio
[18:40:31 CET] <kerio> it's a-law
[18:40:44 CET] <thebombzen> either way you can play it with mpv
[18:40:48 CET] <furq> 17:35:14 ( furq) pcm_alaw to flac should be pretty small
[18:40:49 CET] <furq> ahem
[18:40:51 CET] <thebombzen> you don't need to convert it first
[18:40:51 CET] <kerio> furq pls
[18:40:52 CET] <Kuun-Lann> kerio : exactly this is the sondtrack from dominion xD
[18:40:59 CET] <thebombzen> or you can play it with ffplay too
[18:41:03 CET] <kerio> furq: ffprobe is misguessing tho
[18:41:05 CET] <thebombzen> ffplay input_file
[18:41:13 CET] <furq> well it might be the wrong file extension
[18:41:23 CET] <thebombzen> ffplay is a very primitive media player that comes with ffmpeg
[18:41:29 CET] <kerio> nah, "sampled at 22050 Hz"
[18:41:33 CET] <kerio> that ffprobe says 8kHz
[18:41:39 CET] <furq> all bets are off when it comes to games
[18:41:48 CET] <thebombzen> why don't games just like
[18:41:51 CET] <thebombzen> use vorbis or opus audio
[18:41:51 CET] <furq> if it's only intended to be read by one custom player, it could be anything
[18:41:56 CET] <furq> most modern games do
[18:41:59 CET] <thebombzen> okay
[18:42:04 CET] <thebombzen> cause afaik that was the primary thing they did
[18:42:15 CET] <furq> older games are all over the map though
[18:42:20 CET] <thebombzen> speaking of opus
[18:42:27 CET] <furq> old games use just about every obscure pcm format you can imagine
[18:42:28 CET] <thebombzen> how good is libopus compared to libfdk_aac
[18:42:34 CET] <furq> it should be better
[18:42:45 CET] <furq> that multiformat listening test ranks it above apple aac
[18:42:52 CET] <furq> and apple aac is supposed to be the best aac encoder
[18:42:58 CET] <thebombzen> is libopus the best (lossy) audio encoder in libavcodec?
[18:43:03 CET] <furq> i should have thought so
[18:43:18 CET] <thebombzen> is there any reason not to use it as long as the target supports it
[18:43:38 CET] <furq> hardware decode?
[18:43:44 CET] <thebombzen> hm. I guess. but audio is not super relevant there
[18:43:56 CET] <thebombzen> also does opus go inside mp4
[18:43:59 CET] <thebombzen> cause for some reason vorbis does
[18:44:00 CET] <furq> idk how much difference it makes but pretty much every phone has hardware aac decode
[18:44:11 CET] <furq> iirc opus does in theory but doesn't in practice
[18:44:18 CET] <thebombzen> what does that mean
[18:44:19 CET] <c_14> There's a spec, but it's not final yet
[18:44:23 CET] <furq> yeah
[18:44:23 CET] <thebombzen> as in what roadblocks happen
[18:44:26 CET] <thebombzen> ah
[18:44:35 CET] <furq> it is or will soon be part of the spec but nothing supports it yet
[18:44:38 CET] <thebombzen> so it could if someone does the heavy lifting
[18:44:42 CET] <thebombzen> but nobody's fleshed it out yet?
[18:44:47 CET] <furq> and hardware players rarely have fixes backported
[18:45:10 CET] <thebombzen> anothe question (lots of questions)
[18:45:31 CET] <thebombzen> what's the best intermediary format for WIP stuff
[18:45:35 CET] <thebombzen> file format I mean
[18:45:41 CET] <thebombzen> I've been using matroska
[18:45:44 CET] <furq> probably mkv or nut
[18:45:59 CET] <furq> depends what you're loading it into though
[18:46:02 CET] <thebombzen> nut is supposed to hold anything ffmpeg can produce but in my experiences there's stuff that's gone in mkv that's not in nut
[18:46:10 CET] <furq> i imagine a lot of commercial NLEs won't accept either of those
[18:46:10 CET] <thebombzen> feeding it back into lavf
[18:46:24 CET] <furq> i think nut is streamable, if that makes a difference
[18:46:30 CET] <thebombzen> mkv is to if you use -live 1
[18:46:38 CET] <thebombzen> when muxing I mean
[18:46:42 CET] <furq> oh
[18:47:05 CET] <thebombzen> essentially what I'm saying is, I've been using mkv and I havne't had any problems
[18:47:10 CET] <furq> i imagine you'd want to redo it from the start anyway
[18:47:25 CET] <thebombzen> -live 1 is nice if you're dumping a 1 minute thing
[18:47:28 CET] <thebombzen> and you want to preview it
[18:47:37 CET] <kerio> opus doesn't do 44100Hz
[18:47:42 CET] <kerio> which could be an issue
[18:48:02 CET] <furq> i can only imagine that wouldn't be the case if resampling to 48khz was a big deal
[18:48:08 CET] <furq> i'm pretty clueless when it comes to audio though
[18:48:43 CET] <thebombzen> uhhh
[18:48:48 CET] <thebombzen> why does opus not do 44.1 kHz
[18:48:51 CET] <thebombzen> that sounds like a design flaw
[18:48:58 CET] <thebombzen> given that that's what comes off of a CD
[18:49:02 CET] <furq> https://en.wikipedia.org/wiki/Opus_(audio_format)#Sample_rates
[18:49:08 CET] <kerio> the high-res release of supercollider/the butcher by radiohead had one song at 48khz and the other at 44.1khz
[18:49:12 CET] <kerio> :|
[18:49:17 CET] <furq> nice
[18:49:43 CET] <thebombzen> also
[18:49:46 CET] <furq> Note that it's generally preferable for a decoder to output at 48kHz, even when you know the original input was 44.1kHz. This is not only because you can skip resampling, but also because many cheaper audio interfaces have poor quality output for 44.1kHz.
[18:49:50 CET] <furq> that's their justification for it
[18:50:03 CET] <fritsch> furq: haha
[18:50:04 CET] <thebombzen> hm
[18:50:14 CET] <furq> https://wiki.xiph.org/OpusFAQ#But_won.27t_the_resampler_hurt_the_quality.3F…
[18:50:18 CET] <furq> and that as well
[18:50:30 CET] <thebombzen> another question
[18:50:35 CET] <thebombzen> is there any reason to use TS over mkv
[18:50:36 CET] <thebombzen> in general
[18:51:06 CET] <thebombzen> the MKV muxer in OBS's recording is bugged so if you seek you lose the audio stream
[18:51:13 CET] <thebombzen> but I'm not sure any other reason
[18:51:16 CET] <kerio> lmao
[18:51:16 CET] <furq> i use ts if i want something streamable, but idk if it's actually more reliable than mkv with -live 1
[18:51:31 CET] <thebombzen> I know ts is concatenation-friendly
[18:51:35 CET] <thebombzen> but that's like it
[18:51:47 CET] <kerio> that bit about resampling being way more precise than any lossy compression is a fair point
[18:52:18 CET] <furq> yeah i trust the xiph guys to have not made a major oversight like that without being able to justify it
[18:52:30 CET] <thebombzen> that's a reasonable justification
[18:52:44 CET] <thebombzen> "we didn't want to support 44.1 kHz because yall idiots shouldn't be using it"
[18:52:49 CET] <kerio> :D
[18:52:51 CET] <furq> all my music is flac or mp3 anyway
[18:52:56 CET] <thebombzen> mp3 :P
[18:53:00 CET] <thebombzen> feels bad man
[18:53:05 CET] <kerio> "we didn't want to support 44.1kHz because it's $current_year and srsly now"
[18:53:12 CET] <furq> i'll gladly upgrade to flac if you can find me a source for it
[18:53:26 CET] <furq> i didn't choose mp3, mp3 chose me
[18:53:34 CET] <thebombzen> I actually have most of my collection as alac-in-mp4
[18:53:39 CET] <furq> eww
[18:53:40 CET] <thebombzen> becaues I'm weird and have an iPhone
[18:53:41 CET] <kerio> furq: http://downloads.xiph.org/releases/flac/flac-1.3.1.tar.xz
[18:53:48 CET] <kerio> here's the source for flac :^)
[18:53:48 CET] <furq> you sicken me
[18:53:49 CET] <furq> both of you
[18:53:57 CET] Action: kerio has alac because itunes
[18:54:03 CET] <thebombzen> same
[18:54:13 CET] <kerio> also because the alac encoder gave me *slightly* more compression than flac
[18:54:16 CET] <thebombzen> I need iTunes to put stuff on my iphone
[18:54:21 CET] <furq> really?
[18:54:23 CET] <thebombzen> well alac is generally worse that flac
[18:54:26 CET] <furq> yeah
[18:54:34 CET] <kerio> was better here, idk :|
[18:54:34 CET] <thebombzen> it's an inferior codec
[18:54:40 CET] <thebombzen> although
[18:54:48 CET] <thebombzen> I'm loving the VLC iphone app
[18:54:49 CET] <furq> it's a codec that has no reason to exist
[18:55:03 CET] <furq> it is worse than flac in every measurable way
[18:55:04 CET] <thebombzen> the VLC iphone app works through afc
[18:55:06 CET] <thebombzen> so like
[18:55:12 CET] <thebombzen> I can plug it into my linux box
[18:55:21 CET] <kerio> D; flac was better here
[18:55:28 CET] <furq> that reminds me, i should get mpv running on my phone
[18:55:28 CET] <thebombzen> using gvfs I can transfer an lavf/lavc compatible file
[18:55:29 CET] <kerio> 1823kbps vs 1826kbps
[18:55:38 CET] <thebombzen> all on linux
[18:55:40 CET] <thebombzen> and I don't have to sync
[18:55:41 CET] <furq> what is this 24-bit bullshit
[18:55:43 CET] <thebombzen> and I can play it on vlc
[18:55:50 CET] <thebombzen> 24-bit bullshit?
[18:55:54 CET] <thebombzen> what do you mean
[18:55:56 CET] <furq> 17:55:29 ( kerio) 1823kbps vs 1826kbps
[18:55:59 CET] <thebombzen> haha
[18:56:09 CET] <thebombzen> 24-bit flac is useful if you're going to be editing the audio
[18:56:12 CET] <kerio> furq: sing a song of sixpence that goes BUUUUUURN THE WIIIITCH
[18:56:20 CET] <thebombzen> but straight up it's convereted to 16 anyway before it's sent to the hardware
[18:56:35 CET] <thebombzen> it's like 96 kHz audio
[18:56:41 CET] <kerio> i have a 1077kbps 16bit 44.1khz
[18:56:48 CET] <thebombzen> you can't hear the difference cause the hardware supports 48
[18:56:54 CET] <thebombzen> but it's useful for editing
[18:56:56 CET] <furq> anyway yeah
[18:56:57 CET] <furq> https://xiph.org/flac/images/all-tracks-encode.png
[18:56:59 CET] <furq> https://xiph.org/flac/images/all-tracks-decode.png
[18:57:14 CET] <thebombzen> 1000k is on the high end for cd quality lossless
[18:57:24 CET] <thebombzen> most of my cd quality flacs are ~800k
[18:57:24 CET] <furq> cue somebody saying "wtf is wma lossless"
[18:57:30 CET] <thebombzen> is that a thing
[18:57:34 CET] <furq> it sure is
[18:57:38 CET] <thebombzen> why would anyone use it
[18:57:38 CET] <kerio> why wouldn't it be
[18:57:51 CET] <furq> well i've heard that some people use alac
[18:57:55 CET] <kerio> o/
[18:57:57 CET] <furq> so why wouldn't microsoft think they can pull the same bullshit
[18:58:07 CET] <thebombzen> becaues nobody has windows phones
[18:58:07 CET] <kerio> because microsoft doesn't have the hardware to support it
[18:58:11 CET] <kerio> where are you going to play that shit
[18:58:12 CET] <kerio> on a zune?
[18:58:16 CET] <furq> yes
[18:58:19 CET] <furq> i will play it on my zune
[18:58:21 CET] <kerio> fair
[18:58:31 CET] <kerio> thebombzen: my hardware claims to support 96/24
[18:58:35 CET] <kerio> it's like a mode i can set
[18:58:36 CET] <thebombzen> haha
[18:58:44 CET] <thebombzen> that's specialty hardware right there
[18:58:45 CET] <kerio> idk
[18:58:50 CET] <thebombzen> my speakers don't
[18:59:05 CET] <kerio> to be fair i don't necessarily doubt it does
[18:59:09 CET] <thebombzen> lol APE
[18:59:15 CET] <thebombzen> I'm not sure why anyone uses monkey's audio
[18:59:16 CET] <furq> i still see a ton of ape
[18:59:17 CET] <thebombzen> when flac is a thing
[18:59:21 CET] <thebombzen> I see it all the time
[18:59:23 CET] <kerio> it's just that when on speakers i hear a lot of farting if i crank up the volume
[18:59:24 CET] <thebombzen> I just don't know why
[18:59:30 CET] <thebombzen> ape is weird cause it's symmetric
[18:59:32 CET] <furq> people use it because it compresses ~3% better according to that chart
[18:59:34 CET] <kerio> so frankly the distinction between 48khz and 96khz is probably lost on me
[18:59:35 CET] <thebombzen> like decoding is just a slow as encoding
[18:59:37 CET] <furq> and they think that's important
[18:59:39 CET] <thebombzen> haha
[18:59:47 CET] <thebombzen> those are people with too much time on their hands
[18:59:53 CET] <furq> although i see plenty compressed with the faster presets
[19:00:01 CET] <thebombzen> that makes no sense XD
[19:00:02 CET] <thebombzen> like
[19:00:03 CET] <kerio> i want opus lossless :<
[19:00:09 CET] <thebombzen> opus lossless is kinda silly?
[19:00:12 CET] <thebombzen> like what's the point
[19:00:14 CET] <thebombzen> why not just flac
[19:00:31 CET] <furq> ape beats flac -8 for encoding speed and compression at the faster presets
[19:00:37 CET] <furq> but then the decoding speed is trash
[19:00:53 CET] <thebombzen> yea idk what the ponit is
[19:01:01 CET] <thebombzen> speaking of lossless is there any consensus on the best lossless video codec
[19:01:12 CET] <furq> i've seen probably half of those codecs in the chart in the wild
[19:01:16 CET] <thebombzen> I've been using ffv1 but I'm not sure how good it is relative to x264 -crf 0
[19:01:16 CET] <kerio> ffv1 i guess
[19:01:30 CET] <furq> never seen la, optimfrog, mp4 als or wma lossless
[19:01:37 CET] <kerio> x264 doesn't support a lot of pixel formats tho
[19:01:42 CET] <thebombzen> so
[19:01:50 CET] <thebombzen> who needs a lot of pixel formats
[19:02:03 CET] <thebombzen> what do people use to record the screen btw?
[19:02:16 CET] <furq> it does yuv420/422/444 and bgr
[19:02:24 CET] <furq> i guess if you're some gray16-using weirdo that's not good enough
[19:02:26 CET] <thebombzen> I actually discovered that utvideo-in-matroska is pretty decent
[19:02:39 CET] <thebombzen> cause my cpu can't do ffv1 in realtime
[19:02:51 CET] <thebombzen> what do other people use to record the screen
[19:02:52 CET] <furq> x264 lossless seems decent
[19:02:59 CET] <thebombzen> x264 -preset ultrafast -crf 0?
[19:03:02 CET] <furq> i haven't recorded the screen in a long time though
[19:03:03 CET] <furq> -qp 0, but yeah
[19:03:19 CET] <furq> you will get noticeable gains with slower presets, but obv it's slower
[19:03:22 CET] <thebombzen> is x264 not smart enough to automatically do -qp 0 from -crf 0
[19:03:31 CET] <furq> -crf 0 == -qp 0 with 8-bit x264
[19:03:34 CET] <furq> it's not the same with 10-bit
[19:03:58 CET] <furq> it's a minor nitpick but it's best to mention it now
[19:04:20 CET] <furq> i wonder if 10-bit x264 is noticeably better at lossless
[19:05:04 CET] <fritsch> try to find out on a raspberry pi2
[19:05:14 CET] <furq> sounds like a plan
[19:05:21 CET] <fritsch> it won't be able to decode it
[19:05:27 CET] <fritsch> like not any other hw decoder
[19:05:31 CET] <furq> sure it will
[19:05:35 CET] <fritsch> no it won't
[19:05:39 CET] <thebombzen> hm I'm testing hevc_nvenc's lossless right now
[19:05:40 CET] <furq> it'll decode the shit out of it at 1fps
[19:05:41 CET] <thebombzen> I wonder how awful it is
[19:05:48 CET] <fritsch> furq: hehe
[19:05:50 CET] <fritsch> yeah
[19:05:57 CET] <thebombzen> probably not bad given that I'm just typing into KVIrc
[19:06:06 CET] <fritsch> I really like hevc, even 8 bit makes some good results
[19:06:08 CET] <fritsch> see: 2.2 MB
[19:06:33 CET] <furq> isn't nvenc's hevc generally worse than x264
[19:06:35 CET] <fritsch> https://dl.dropboxusercontent.com/u/55728161/servus-extracted.ts
[19:06:41 CET] <furq> that's what i've heard from people in here anyway
[19:07:27 CET] <thebombzen> welp
[19:07:45 CET] <thebombzen> I got 2.5 Mbps with hevc_nvenc's lossless
[19:07:47 CET] <thebombzen> that's not bad
[19:07:59 CET] <thebombzen> but I've also got very minimal movement
[19:08:05 CET] <furq> yeah record a game or something
[19:08:05 CET] <thebombzen> x264 probably could do it with 800 kbps
[19:08:19 CET] <thebombzen> record a game? but then I have to reboot into windows XD
[19:08:36 CET] <furq> mame works just fine on linux
[19:08:38 CET] <thebombzen> I could try something like Mincraft but x11grab doesn't liek grabbing it
[19:08:54 CET] <thebombzen> I've had isues grabbing minecraft with x11grab. lots of flickering a zfighting and stuff
[19:08:55 CET] <thebombzen> it's weird
[19:09:25 CET] <furq> mame supports mng output iirc
[19:09:34 CET] <furq> actually why am i still talking as if you have mame there
[19:09:59 CET] <kerio> why wouldn't they have mame
[19:10:06 CET] <furq> i always forget that normal people don't have mame and 50GB of roms installed on all their machines
[19:10:06 CET] <thebombzen> wow I'm getting a really annoying spam of effors
[19:10:12 CET] <thebombzen> errors*
[19:10:17 CET] <kerio> but furq
[19:10:18 CET] <thebombzen> or rather warnings I should say
[19:10:24 CET] <kerio> the t7z-split set is only 35gb
[19:10:25 CET] <thebombzen> apparently when I record with hevc_nvenc to matroska
[19:10:33 CET] <thebombzen> it spams that the past duration is whatever
[19:10:39 CET] <furq> or more than 50GB of roms in my case because i have the 148 roms and then diffs of every version above that
[19:10:49 CET] <thebombzen> liike I get "past duration 0.95 is too large" spam
[19:10:53 CET] <thebombzen> do yo know how to fix that
[19:10:59 CET] <kerio> 32 versions behind? ð
[19:11:04 CET] <furq> that message doesn't necessarily mean anything iirc
[19:11:12 CET] <thebombzen> I agree that it's harmless
[19:11:17 CET] <furq> kerio: shmupmame
[19:11:23 CET] <thebombzen> but it's annoying because it makes the status hard to read
[19:11:25 CET] <furq> unless the lagless drivers made it into mainline now
[19:11:28 CET] <furq> i've not been keeping up
[19:11:38 CET] <thebombzen> you know how ffmpeg prints a line of status
[19:11:43 CET] <thebombzen> and then a \r and keeps going
[19:11:50 CET] <furq> -v error -stats
[19:11:51 CET] <thebombzen> well because the past duration warning prints a \n it spams the terminal
[19:11:57 CET] <thebombzen> uh
[19:11:57 CET] <kerio> but the best game ever (dfkbl) was only added since a couple of versions D;
[19:12:09 CET] <thebombzen> oh okay I didn't know you could print stats with -v error
[19:12:20 CET] <thebombzen> I've always thought that setting the verbosity lower suppressed stats. thank you :)
[19:12:21 CET] <furq> well yeah that's why i have newer versions so i can use newer mame to play zero team 2000
[19:12:30 CET] <thebombzen> also what's mame
[19:12:44 CET] <kerio> arcade game emulator
[19:12:48 CET] <furq> but i need the 148 roms so i can play battle garegga (the actual best game ever) with one frame less lag
[19:12:57 CET] <kerio> smh
[19:13:12 CET] <furq> and dangun feveron, unquestionably cave's magnum opus
[19:13:17 CET] <furq> it's all been downhill from there
[19:13:52 CET] <kerio> has it
[19:14:33 CET] <kerio> esprade was pretty good
[19:16:43 CET] <furq> this is reminding me that i should play strania
[19:18:36 CET] <kerio> you should play pokemon sun/moon ;o
[19:18:42 CET] <kerio> it's the greatest pokemon of all time
[19:24:39 CET] <thebombzen> nope x11grab still hates minecraft
[19:24:58 CET] <furq> who can blame it
[19:25:06 CET] <kerio> it's an opengl game
[19:25:13 CET] <kerio> use syphon or whatever it's called
[19:26:23 CET] <thebombzen> what should I use to grab the screen?
[19:26:24 CET] <thebombzen> syphon?
[19:26:31 CET] <thebombzen> does it have an avdevice input
[19:27:36 CET] <kerio> hold on whats the reason you're not using OBS
[19:30:28 CET] <thebombzen> cause I like ffmpeg?
[19:34:14 CET] <kerio> OBS uses ffmpeg
[19:55:00 CET] <thebombzen> well I figured out why not to use obs
[19:55:02 CET] <thebombzen> it can't stop recording
[19:58:22 CET] <ThomasEgi> thebombzen, most opengl applications record fine if you don't run them in native fullscreen.
[19:58:33 CET] <thebombzen> okay
[19:58:34 CET] <ThomasEgi> a borderless window at the screen resolution often does a great job
[19:58:51 CET] <thebombzen> sure
[19:58:52 CET] <ThomasEgi> given you'r not running anything fancy like 3d-accelerated desktops
[19:59:00 CET] <thebombzen> lol MATE
[19:59:27 CET] <ThomasEgi> i'd recommend lxde. or awesomewm (later makes it really easy to run borderless windows in fullscreen
[20:04:47 CET] <thebombzen> well I use MATE
[20:05:11 CET] <thebombzen> I can just use Ctrl+Alt+F11 to borlessly fullscreen a window
[20:05:20 CET] <thebombzen> or rather. Alt+F11 my bad.
[20:42:56 CET] <phillipk> trying to learn more about ffmpeg to make my conversion project function. I think I need to see some variations--for example, the filter_complex I created (to put a fake mouse cursor in a different location of every frame) is too long for the cmd to work.
[20:43:32 CET] <phillipk> in case anyone has a minute, I am eager to solve: http://ffmpeg.gusari.org/viewtopic.php?f=11&t=3329
[21:34:09 CET] <phillipk> as for my question above, I've found how I can put a dynamic expression inside my overlay=x=2 vs. overlay=x=t*100, but what I'd like to do is dump all the x coordinates into a text file and then have something like "overlay=x=getLineFromFile(2)" and "getLineFromFile()" serves as a function that reads from file. Is there a way to put subroutines inside a command?
[21:49:19 CET] <thebombzen> phillipk: it sounds like if you use -vf tile you can do this easily
[21:49:37 CET] <phillipk> i'll check it out...
[21:50:24 CET] <thebombzen> I already have the docs up so here's a link: https://ffmpeg.org/ffmpeg-filters.html#tile
[21:50:53 CET] <furq> you could maybe do it with sendcmd
[21:50:55 CET] <furq> https://ffmpeg.org/ffmpeg-filters.html#sendcmd_002c-asendcmd
[22:34:53 CET] <phillipk> @furq it looks like that should work, I'm just having issues...
[22:35:32 CET] <phillipk> ffmpeg -i input.mp4 -i cursor.png -filter_complex sendcmd=f=test.cmd output.mp4
[22:35:39 CET] <phillipk> then, the test.cmd:
[22:35:49 CET] <phillipk> 00:00:01.000-00:00:03.00 [enter] overlay=x=20:y=30; [leave] overlay=x=20:y=40;
[22:36:55 CET] <phillipk> I think I should be able to forgo the [leave].... but the issue with sendcmd that's confusing it that it's supposed to be inbetween two exisiting filters
[22:38:20 CET] <phillipk> this (ffmpeg -i input.mp4 -i cursor.png -filter_complex sendcmd=f=test.cmd output.mp4) gives me "error configuring filters"
[22:38:56 CET] <furq> i think you need sendcmd=f=test.cmd,overlay
[22:39:10 CET] <furq> otherwise there's no overlay filter in the chain to send commands to
[22:39:27 CET] <furq> i've never had much luck with sendcmd though
[22:39:57 CET] <phillipk> I think I'm closer--this helps.
[23:09:18 CET] <phillipk> filter_complex_script looks promising, I just have to format my file correctly it seems.
[23:13:26 CET] <MoonOwl> hi
[23:14:01 CET] <phillipk> hey, I'm trying to make filter_complex_script (pointing to a file containing the filter)
[23:14:46 CET] <durandal_1707> script is fIle with filtergraph
[23:14:49 CET] <MoonOwl> I am new to FFMPEG and wanted to know how I can prevent the bitrate from rising exponentially during encoding to x264 and x265 using the crf option
[23:16:19 CET] <MoonOwl> Using crf 20 with x265 the bitrate rises from the 200 - 300 kbps region to close to 4 Mbps from MPEG2 source
[23:16:51 CET] <MoonOwl> The output bitrate never goes down again
[23:19:47 CET] <MoonOwl> I tried setting -preset to placebo just to test if it's got anything to do with that setting but it seems not to
[23:30:50 CET] <furq> MoonOwl: pastebin the full command and output
[23:37:02 CET] <kerio> MoonOwl: aiui placebo is mostly harmful
[23:40:03 CET] <MoonOwl> That is the most ironic thing I have read today lol. Let me redirect the output of a sample just to illustrate what I'm referring to
[23:40:13 CET] <MoonOwl> Thanks btw guys and gals
[23:41:27 CET] <kerio> well
[23:41:45 CET] <kerio> it's just that it's appreciably slower than veryslow whilst not delivering many improvements
[23:46:57 CET] <BtbN> the bitrate ffmpeg shows is the average overall bitrate.
[23:47:15 CET] <BtbN> If it's low in the beginning it's because of initial blackness, the intro, or something
[23:48:15 CET] <MoonOwl> http://pastebin.com/EdGUFC87
[23:48:24 CET] <MoonOwl> That's the command
[23:48:48 CET] <DHE> what's the resolution of the video and what is it? (video game play? security camera footage?)
[23:48:54 CET] <MoonOwl> I suspect ffmpeg writes to stderrr like git and redirecting the output is a bit of a problem
[23:49:00 CET] <MoonOwl> It's 720x540
[23:49:05 CET] <MoonOwl> after cropping
[23:49:16 CET] <BtbN> why is that a problem? Just redirect stderr
[23:49:28 CET] <DHE> stdout is reserved for pipe outputs and stuff
[00:00:00 CET] --- Mon Dec 19 2016
1
0
[00:52:07 CET] <kierank> any idea how to reset the dc predictor in mpeg4video dec?
[00:56:55 CET] <kierank> mpegvideoenc is insane
[01:24:19 CET] <kierank> michaelni: ping
[01:26:49 CET] <kierank> what does int (*decode_mb)(struct MpegEncContext *s, int16_t block[6][64]); // used by some codecs to avoid a switch()
[01:26:50 CET] <kierank> mean?
[01:26:52 CET] <kierank> switch what?
[01:27:11 CET] <kierank> hardcode the function in order ot avoid a switch(chroma_format)?
[01:27:13 CET] <iive> switch {case}
[01:28:19 CET] <iive> mpeg2 mpeg4asp and wmv1/2 use different decode_mb
[01:29:07 CET] <kierank> mpeg4videodec sets this but doesn't call it
[01:38:25 CET] <iive> h263dec uses it, so does error_resilence
[02:16:11 CET] <kierank> michaelni: am I right in saying the code assumes that there is one slice per row of MBs?
[02:24:41 CET] <BBB> kierank: omg poor you
[02:24:49 CET] <BBB> kierank: youre not actually working on mpegvideoenc are you?
[02:25:15 CET] <kierank> I want to fix https://trac.ffmpeg.org/ticket/4447
[02:25:36 CET] <kierank> implement mpeg-4 sstp
[02:28:43 CET] <michaelni> kierank, the mpeg4 decoder supports arbitrary slice sizes, so does mpeg1 & 2. The encoders should too but i think not as 1 thread per slice but its all long ago that i worked with the code
[02:28:56 CET] <kierank> but there's nowhere for the slice header to be decoded
[02:29:06 CET] <kierank> ret = s->decode_mb(s, s->block);
[02:29:14 CET] <kierank> if (ret == SLICE_END) {
[02:29:21 CET] <kierank> but where should one decode the slice header?
[02:29:46 CET] <kierank> and it's all hardcoded to 4:2:0
[02:30:39 CET] <michaelni> ff_mpeg4_decode_video_packet_header()
[02:31:03 CET] <michaelni> terminology is from the spec IIRC
[02:31:09 CET] <kierank> yes but studio profile adds a slice header
[02:31:15 CET] <kierank> and there's nowhere to decode it
[02:33:59 CET] <michaelni> where is that header documented ?
[02:34:38 CET] <kierank> in the latest version of the spec
[02:34:59 CET] <kierank> https://usercontent.irccloud-cdn.com/file/SEEjO79P/ISO_IEC_14496-2_2004(e).…
[02:35:06 CET] <kierank> I've implemented the bitstream: https://github.com/kierank/ffmpeg-sstp
[02:35:23 CET] <kierank> but I can't get the dc coeff decode and ac coeff decode to fit into all of this stuff
[02:45:28 CET] Action: michaelni see field pictures in mpeg4, not want to touch this, no no no
[02:46:27 CET] <kierank> the samples on the ticket are progressive
[02:46:50 CET] <kierank> mpeg-4 doesn't have mbaff so i think it's not too bad anyway if we get interlaced samples
[02:48:39 CET] <michaelni> mpeg4 does have something quite similar to mbaff and we support it, adding field pictrures really was dumb from the comitee IMHO
[02:49:25 CET] <kierank> it has mpeg-2 style "mbaff, no?"
[02:49:49 CET] <kierank> I have implemented all the studio header parsing
[02:50:04 CET] <michaelni> yes it probably can be called mpeg2 style
[02:51:17 CET] <kierank> StudioSlice() is my problem
[02:51:28 CET] <Compn> is there any other open source decoder that supports this ? just curious... xvid ? etc
[02:51:58 CET] <kierank> it's a layer between VOP and MB
[02:52:06 CET] <kierank> which the code doesn't have
[02:53:13 CET] Action: Compn mumbles something about putting wrapper lib in ffmpeg and then waiting for someone to pay to get it in lavc...
[03:00:46 CET] <rcombs> fuck mbaff though
[03:01:20 CET] <rcombs> (fuck field pictures more)
[03:07:45 CET] <kierank> fuck 1080p25
[03:07:52 CET] <kierank> blurry as hell
[03:22:25 CET] <Compn> fuck interlaced
[03:23:32 CET] <BBB> woohoo Im not the only one that hates interlacin
[03:24:15 CET] <Compn> i think most people here do heh
[03:27:10 CET] <kierank> I am not sure whether to merge studioslice with vop or with mb
[03:27:51 CET] <kierank> or how to get it into that
[03:32:03 CET] <kierank> I don't know where the dc predictor is reset
[03:36:43 CET] <TD-Linux> kierank, when I was in the tate modern art museum I was surprised how much 50hz crts flicker compared to 60hz
[03:46:59 CET] <kierank> hmmm maybe it's not a predictor as such
[03:47:02 CET] <kierank> just used for ER
[03:47:18 CET] <kierank> but something doesn't make sense
[04:23:41 CET] <kierank> michaelni: where is the dc predictor reset for intra blocks in a new slice?
[04:23:43 CET] <kierank> I can't find that
[04:30:17 CET] <michaelni> i hope iam not telling you something wrong, its a while ago, but i think it isnt reset, ff_mpeg4_pred_dc() instead checks for slice borders
[04:33:24 CET] <kierank> but how does it know where the slices end
[04:33:44 CET] <kierank> pretty sure it has to make shape assumptions
[04:33:59 CET] <kierank> or maybe mpeg-4 asp has some stuff to aid
[04:34:38 CET] <kierank> this resync_mb_x stuff isn't in sstp
[04:41:34 CET] <rcombs> http://inta.re
[04:46:27 CET] <kierank> michaelni: and do you know how the hardcoded number of 1024 is derived
[04:46:40 CET] <kierank> I will need to get rid of dozens of hardcoded values
[04:48:23 CET] <kierank> 2 ^ (bits_per_pixel+dct_precision+intra_dc_precision-1)
[04:48:45 CET] <kierank> but you set it to 1024
[04:48:49 CET] <kierank> so I'm missing 3
[04:48:51 CET] <kierank> in the exponent
[04:53:33 CET] <kierank> ah it's different
[04:53:34 CET] <kierank> never mrind
[04:54:55 CET] <michaelni> 1024 probably is the dc value after dequat
[04:55:32 CET] <michaelni> i need to go afk now (for sleeping :)
[04:55:35 CET] <kierank> same
[04:55:43 CET] <kierank> night, will ask more q's tomorrow
[04:55:53 CET] <michaelni> night
[11:02:52 CET] <wm4> can somebody point out where av_vdpau_bind_context is defined if ffmpeg is compiled without vdpau?
[11:07:29 CET] <fritsch> wm4: https://lists.freedesktop.org/archives/mesa-dev/2016-December/138472.html
[11:07:37 CET] <fritsch> trivial - the rest continues to work as is
[11:08:01 CET] <wm4> fritsch: saw that (I'm CCed on that email thread)
[11:08:06 CET] <wm4> is that really all that's needed?
[11:08:29 CET] <wm4> also, disabling vdpau in ffmpeg gets me "undefined reference to `av_vdpau_bind_context'"
[11:08:29 CET] <fritsch> VAAPI changes: https://github.com/fritsch/kodi-agile/commit/ee41bc539fa4dd1f69ddc1f5ca98d2…
[11:08:49 CET] <fritsch> wm4: yes, that's all - you need to patch the kernel for the defines
[11:09:17 CET] <fritsch> those color formats are (in retrospective) very easy to implement, cause you just need to define the "structure" the memory shall have
[11:09:23 CET] <fritsch> and this memory sharing is generic
[11:09:53 CET] <fritsch> + { __DRI_IMAGE_FOURCC_R16, __DRI_IMAGE_COMPONENTS_R, 1,
[11:09:53 CET] <fritsch> + { { 0, 0, 0, __DRI_IMAGE_FORMAT_R16, 1 }, } },
[11:10:00 CET] <fritsch> these things here are the important part
[11:10:17 CET] <fritsch> and that's it no memory handling, nothing
[11:12:52 CET] <wm4> Libav have 10 bit handling in the generic vaapi context creation code too (unmerged in ffmpeg)
[11:24:10 CET] <fritsch> wm4: what does that mean? As we don't seem to miss somehting :-)
[11:27:05 CET] <wm4> jkqxz: what part of the "old" vaapi API has been deprecated?
[16:34:24 CET] <cone-975> ffmpeg 03Paul B Mahol 07master:334fad364530: avfilter/vf_ssim: add >8 bit depth suppport
[16:36:25 CET] <jkqxz> wm4: struct vaapi_context is removed completely (excepting backward compatibility during the deprecation period). lavc then does everything which the user used to have to provide through it.
[16:37:21 CET] <wm4> jkqxz: so it's not possible to provide the vaapi context yourself anymore?
[16:38:14 CET] <jkqxz> So the user just provides the output frames in an AVHWFramesContext: lavc picks the device out of it, creates its own VAAPI stuff on that device and decodes into those frames.
[16:38:57 CET] <jkqxz> It's there for backward compatibility now, but will be removed later.
[16:39:08 CET] <wm4> ok that breaks API users like mpv and kodi once the deprecation is finished, CC fritsch
[16:39:52 CET] <jkqxz> Yes, but there's plenty of time to do it.
[16:40:11 CET] <wm4> for now I can't even start working on it, lol
[16:40:41 CET] <jkqxz> I was intending to send patches to fix at least mpv and vlc once it's merged in ffmpeg.
[16:41:21 CET] <jkqxz> (I've half done the merge, maybe I should finish it soon so that we don't get too far out of sync.)
[16:41:34 CET] <wm4> I can do mpv (I plan to put an entire new source file in place)
[16:42:01 CET] <wm4> since the old API use will annoyingly have to be in place for a few years
[16:42:54 CET] <jkqxz> Don't you mandate pretty-much-current lavc (whichever one) on your master branch?
[16:43:31 CET] <wm4> no
[16:43:42 CET] <wm4> until recently it was compatible back to ffmpeg 1.6 or so
[16:43:43 CET] <wm4> *2.6
[16:43:48 CET] <wm4> (1.6 would be too crazy)
[16:44:04 CET] <jkqxz> Oh. That sounds like an immense bundle of fun.
[16:45:26 CET] <wm4> recently I bumped to latest ffmpeg/libav releases, the commit removing the compat stuff did: 22 files changed, 10 insertions(+), 278 deletions(-)
[16:46:58 CET] <JEEB> right, forgot they finally made the libav 12 release
[17:33:48 CET] <BtbN> https://github.com/FFmpeg/FFmpeg/pull/242/files uhm...
[17:34:08 CET] <BtbN> Failed at reading that very text
[17:39:19 CET] <J_Darnley> Probably some stupid bot making idiotic corrections (like wikipedia)
[17:39:41 CET] <kierank> nice torrll
[17:40:09 CET] <wm4> kierank: Hanlon's razor
[17:41:52 CET] <fritsch> i think the patch is wrong
[17:41:54 CET] <fritsch> :-)
[17:42:05 CET] <fritsch> but at least the title says it correctly
[18:45:53 CET] <cone-975> ffmpeg 03Zhou Xiaoyong 07master:5b74ebe93723: avcodec/mips: version 1 of vc1dsp optimizations for loongson mmi
[18:45:54 CET] <cone-975> ffmpeg 03Pavel Koshevoy 07master:6b517a194da4: lavc: Fix ticket 6024, truncated mode decoding
[19:50:25 CET] <Compn> anyone want a 4k prores 422 sample? its only 16gb...
[19:50:41 CET] <Compn> 4096x3072
[20:19:04 CET] <cone-975> ffmpeg 03Jay Ridgeway 07master:295601bba302: avformat/tls: add tls url_get_file_handle
[20:27:13 CET] <durandal_1707> Compn: what's in it?
[21:18:18 CET] <Compn> durandal_1707 : captain ron 35mm trailer (4k scan)
[21:21:59 CET] <durandal_1707> Compn: is it special somehow?
[21:28:37 CET] <Compn> durandal_1707 : its got kurt russel in it, otherwise its a fun film. but no, not special
[21:30:23 CET] <Compn> i dont really feel like downloading and uploading it anyway
[21:30:25 CET] <Compn> so nevermind :D
[21:55:42 CET] <durandal_1707> Compn: find pixlet samples, not from xiph?
[21:56:05 CET] <durandal_1707> I already havery one from xiph it's 3.6gb
[21:56:53 CET] <atomnuker> Compn: sure, I'll have it, got any way to send it?
[22:30:17 CET] <TD-Linux> we have pixlet samples?
[22:30:51 CET] <TD-Linux> oh you were referring to meridian
[23:48:42 CET] <Compn> those mac video people are stingy with samples
[23:48:52 CET] <Compn> but if you need them write up a ffmpeg.org entry requesting them
[23:49:03 CET] <Compn> im sure we get a few if we post to our front page
[00:00:00 CET] --- Sun Dec 18 2016
1
0
[00:16:01 CET] <norbert> http://www.norbertdejonge.nl/videos/lemdop.webm
[00:16:04 CET] <norbert> done ;)
[01:30:12 CET] <MachinaeWolf> How do you check if ffmpeg supports gif?
[01:32:05 CET] <klaxa> ffmpeg -codecs | grep gif
[01:34:01 CET] <MachinaeWolf> I guess it's good? DEV..S gif GIF (Graphics Interchange Format)
[02:22:27 CET] <fahadash> MachinaeWolf: I downloaded FFMPEG 10 months ago, never updated; it does gifs
[02:23:06 CET] <MachinaeWolf> nice
[03:13:13 CET] <billeh> how come ffplay does weird thigns
[04:10:27 CET] <julienbcn> Hello all, i'm looking for a ffmpeg command or a bash script which can extract 15 thumbs from a video mp4 (basing on duration), anyone for help please?
[07:33:01 CET] <ferdna> markvandenborre, i had to leave last night
[07:33:11 CET] <ferdna> can i priv msg?
[08:08:44 CET] <fling> Why is nut seekable after a badly interrupted ffmpeg?
[14:21:45 CET] <ice9> how to make video conversions with the same quality?
[14:21:54 CET] <ice9> of the original one
[14:28:55 CET] <kerio> you likely can't
[14:28:58 CET] <kerio> what's the original format?
[14:30:02 CET] <wodim> the default quality for vp9 is simply awful...
[14:31:09 CET] <ice9> dv4
[14:31:41 CET] <ice9> i need to convert it another playable format without loosing any quality
[14:33:19 CET] <wodim> also, why doesn't vp9 use all my cpu? where is it bottlenecking?
[14:33:59 CET] <kerio> ice9: can ffmpeg read that?
[14:35:03 CET] <ice9> kerio, i think so
[14:35:42 CET] <kerio> well, you'll still lose some quality if you recompress it
[14:35:59 CET] <kerio> can you pastebin the output of `ffprobe videofile.dv4`?
[14:38:12 CET] <thebombzen> wodim: you need to use the -threads option. otherwise it'll use one thread
[14:38:30 CET] <wodim> that's dumb
[14:38:38 CET] <thebombzen> why is that dumb
[14:38:47 CET] <thebombzen> by default it'll use one thread for video and one per audio
[14:39:00 CET] <wodim> it's dumb not to use all threads by default
[14:39:15 CET] <wodim> (and it's still not using 100% of my cpu)
[14:39:17 CET] <thebombzen> well what does it mean to use "all"
[14:39:37 CET] <wodim> one thread per core
[14:39:59 CET] <thebombzen> because realize that ffmpeg is a pipeline. if you're transcoding a file with two streams into another file with two streams
[14:40:07 CET] <thebombzen> you have to demux, transcode each stream and remux
[14:40:14 CET] <thebombzen> afaik all this is handled by 1 thread each.
[14:40:21 CET] <thebombzen> so there's no obvious way to set the number of threads for encoding
[14:40:48 CET] <wodim> x264 can do it. it always uses 100% of each of my cpu cores. so I'm sure vpx can do it if they wanted to implement it
[14:40:54 CET] <kerio> ice9 please :c
[14:40:58 CET] <thebombzen> well x264 actually uses 12 threads by default.
[14:41:03 CET] <thebombzen> which isn't efficient.
[14:41:23 CET] <thebombzen> that's also because x264 is an external library
[14:41:25 CET] <wodim> then how many threads are needed?
[14:41:32 CET] <wodim> I have 8 cores. and I've set 16 threads. still not maxing
[14:41:39 CET] <wodim> in fact windows has decided to park some cores
[14:41:46 CET] <thebombzen> oh you're on windows?
[14:41:50 CET] <thebombzen> windows has a crappy scheduler
[14:41:54 CET] <thebombzen> so idk what to tell you
[14:41:54 CET] <wodim> if you say so
[14:42:07 CET] <thebombzen> I mean it does. I have the same issue on windows but not on linux
[14:42:07 CET] <kerio> wodim: are you sure you're not bottlenecking on the input?
[14:42:16 CET] <wodim> completely
[14:42:33 CET] <thebombzen> no I have experienced that issue with libvpx's vp9 encoder on windows too
[14:42:36 CET] <thebombzen> but it's not an ffmpeg issue
[14:42:44 CET] <wodim> then it's vpx
[14:42:48 CET] <thebombzen> correct
[14:42:52 CET] <thebombzen> or windows
[14:42:54 CET] <thebombzen> but it's not ffmpeg
[14:43:00 CET] <wodim> just because google are fucking idiots and don't want to support x265
[14:43:07 CET] <wodim> for youtube
[14:43:41 CET] <thebombzen> google is looking big picture and they want to try to supercede proprietary coding formats with free stuff, like vp9 instead of hevc or vp8 instead of h.264
[14:43:52 CET] <thebombzen> the biggest problem with that is vp9 is worse than hevc.
[14:44:07 CET] <thebombzen> if they really cared for the future they'd try to fund something like Daala
[14:44:21 CET] <kerio> i thought vp9 development was basically moved to av1
[14:44:33 CET] <thebombzen> also ideally, you should set the threads to be 17 not 16. that allows you to use 16 threads while one is blocking on I/O
[14:45:02 CET] <wodim> god
[14:45:56 CET] <thebombzen> right now, insisting on free software and formats is a bit of a moot point if they're way worse that then nonfree counterparts
[14:45:58 CET] <wodim> well the video was like 15 secs long so it's done. next time I'll use -threads 128 and I'll enjoy seeing my cpu burn
[14:46:17 CET] <thebombzen> either way, is there a reason YOU have to encode it to VP9?
[14:46:25 CET] <thebombzen> YouTube is going to reencode it anyway
[14:46:40 CET] <thebombzen> if I were you I'd just use x264 and save you some time.
[14:46:41 CET] <wodim> as far as I know, vp9 is smaller than h264
[14:46:51 CET] <wodim> and I have quite a limited upload bw
[14:47:10 CET] <thebombzen> make sense, although vp9 is a better format than h.264
[14:47:21 CET] <thebombzen> but x264 is an incredible encoder and libvpx-vp9 is... not
[14:47:25 CET] <wodim> the encoder is not better
[14:47:33 CET] <thebombzen> relative to the bitstream? it is
[14:47:40 CET] <wodim> isn't libvpx like... the only implementation of vp9 that exists?
[14:47:48 CET] <thebombzen> yep. and it's not very good.
[14:47:55 CET] <thebombzen> (afaik)
[14:48:03 CET] <wodim> it amazes me to see how google is freaking bad at engineering
[14:48:19 CET] <wodim> they are supposed to have one of the toughest interviewing systems for engineers, etc
[14:48:26 CET] <wodim> but they fucking suck at engineering
[14:48:42 CET] <thebombzen> x264 is also far faster than libvpx-vp9, so if it's a 15 second clip
[14:48:53 CET] <wodim> yes, lesson learnt, believe me
[14:49:06 CET] <wodim> at least until they decide to let me upload videos in h265
[14:49:14 CET] <thebombzen> they should
[14:49:36 CET] <thebombzen> they're going to transcode it anyway. but afaik they do allow h.265 uploads
[14:49:59 CET] <wodim> last time I tried they did not
[14:50:25 CET] <thebombzen> they decode it with libavcodec so they probably do now. hell I've even uploaded something in ffv1
[14:50:42 CET] <wodim> -threads 64 is the max ffmpeg allows me to use, and it only uses 50% of my cpu
[14:50:49 CET] <thebombzen> well vpx sucks then
[14:50:53 CET] <thebombzen> don't know what to tell you :P
[14:50:59 CET] <wodim> it's fine
[14:51:03 CET] <thebombzen> but either way it's not an ffmpeg issue
[14:51:16 CET] <durandal_170> wodim: what's your cpu?
[14:51:18 CET] <wodim> I know, but people here know about this stuff
[14:51:21 CET] <wodim> so I was wondering
[14:51:30 CET] <wodim> durandal_170, i7 4790K
[14:51:55 CET] <durandal_170> how many cores that have?
[14:52:11 CET] <wodim> 4 physical cores, 8 with hyperthreading
[14:52:26 CET] <thebombzen> then why would you try 16 threads
[14:52:51 CET] <thebombzen> I would use 9 generally which allows full usage when one's blocking on I/O
[14:53:09 CET] <wodim> there simply is no way this is blocking on io
[14:53:18 CET] <durandal_170> there is propertiary vp9 encoder
[14:53:47 CET] <durandal_170> no source available
[14:54:13 CET] <wodim> from whom? google?
[14:54:52 CET] <durandal_170> nope, but ex Google employer works on it
[14:55:26 CET] <wodim> oh
[14:55:28 CET] <durandal_170> and he is also a ffmpeg developee
[15:45:07 CET] <kerio> wodim: just upload ffvhuff :3
[15:47:41 CET] <wodim> ok
[16:06:47 CET] <julienbcn> Hello all, i'm looking for a command or a bash script which can extract 15 thumbs from a video mp4 (basing on duration), anyone for help please?
[16:12:52 CET] <Ntemis> trying to build ffmpeg and i get ERROR: freetype2 not found, libfreetype6-dev is installed -ubuntu 16.04.1
[16:13:18 CET] <thebombzen> julienbcn: well if the duration is D
[16:13:35 CET] <thebombzen> then say, let E be the duration divided by 15
[16:14:08 CET] <thebombzen> or rather. if the duration is D. then you can do ffmpeg -i input -r 15/D thumb_%2d.png
[16:14:34 CET] <thebombzen> setting the framerate to 15/D means it'll output 1 frame every 15/D seconds, or 15 frames every D seconds
[16:20:02 CET] <julienbcn> thebombzen: could you give me the command to extract the duration please
[16:20:36 CET] <thebombzen> well I'd do it with ffprobe. if you do ffprobe input_file -show_format it'll give it to you
[16:20:44 CET] <thebombzen> you can extract it out with grep and stuff
[16:21:08 CET] <julienbcn> there isn't a script existing which do that
[16:21:09 CET] <julienbcn> ?
[16:21:15 CET] <thebombzen> well it's one line
[16:21:22 CET] <thebombzen> so no
[16:21:36 CET] <julienbcn> i don t know how to do it
[16:22:24 CET] <thebombzen> Here's one example
[16:22:25 CET] <thebombzen> ffprobe \[K-F\]_One_Piece_030_\[58AAEC4D\].avi -show_format 2>/dev/null | grep '^duration=' | cut -d '=' -f 2
[16:22:40 CET] <thebombzen> the issue is sometimes the duration is surrounded in quotes and sometimes it's not
[16:22:58 CET] <thebombzen> but if you wrap it with echo $() that shouldn't be an issue
[16:24:03 CET] <thebombzen> someone here more skilled at ffmpeg probably knows how to just take the duration field
[16:24:11 CET] <thebombzen> with ffprobe by itself. but I don't
[16:24:30 CET] <julienbcn> thebombzen: could you give me an example of bash script which extract the duration of the video and then extract 15 thumbs from the duration with ffmpeg
[16:24:47 CET] <thebombzen> no I'm not doing your homework for you. I've essentially told you everything you need to do
[16:25:21 CET] <thebombzen> it's a good idea to learn how to write a basic bash script like that yourself. then you won't have to ask someone every time you need to write a two-line bash script.
[16:25:32 CET] <julienbcn> i know i have to extract duration in a variable and then dividide it with ffmpeg i don t know just how to code it
[16:25:56 CET] <thebombzen> well then, looks like you need to google "bash scripting tutorial" :)
[16:26:11 CET] <thebombzen> Ntemis: that's because when configure tried to check for freetype, the dummy test program failed
[16:26:20 CET] <thebombzen> check config.log
[16:26:24 CET] <thebombzen> you might find something there that's useful
[16:26:30 CET] <julienbcn> ok thanks
[16:27:17 CET] <Ntemis> i removed freetype and libvorbis from FFMPEG_TABLES
[16:27:27 CET] <Ntemis> will i have any issues thebombzen ?
[16:27:41 CET] <Ntemis> ffmpeg build ok after that
[16:32:01 CET] <julienbcn> thebombzen when i try to get duration from my video i have cut: option requires an argument -- 'f'
[16:32:24 CET] <julienbcn> i made
[16:32:29 CET] <julienbcn> ffprobe /myvideo.mp4 -show_format 2>/dev/null | grep ^duration= | cut -d '=' -f
[16:32:45 CET] <thebombzen> um
[16:32:49 CET] <thebombzen> because that's not what I typed?
[16:32:50 CET] <thebombzen> scroll up
[16:33:27 CET] <julienbcn> you put ffprobe \[K-F\]_One_Piece_030_\[58AAEC4D\].avi -show_format 2>/dev/null | grep '^duration=' | cut -d '=' -f 2
[16:33:29 CET] <thebombzen> Ntemis: you will have issues if you want to encode with vorbis
[16:33:30 CET] <kerio> are you hoping to randomly put pieces of text together in the hope that they end up composing a script that does what you want?
[16:33:50 CET] <Ntemis> thanks
[16:33:51 CET] <thebombzen> because ffmpeg's native encoder for vorbis is far worse than libvorbis
[16:34:22 CET] <thebombzen> however, Ntemis: I'd recommend trying to get freetype and libvorbis to work
[16:34:36 CET] <thebombzen> if FFmpeg doesn't autodetect it, it's most likely because it tried and got a compilation error
[16:34:49 CET] <thebombzen> this is often the case when you have some issue with your linker
[16:34:54 CET] <thebombzen> usually not an issue with gcc
[16:35:26 CET] <Ntemis> i even update ffmpeg to 3.1.6 from .4
[16:35:29 CET] <Ntemis> saqme issue
[16:35:32 CET] <Ntemis> same
[16:35:41 CET] <BtbN> fix your libs, not ffmpeg.
[16:35:42 CET] <thebombzen> if it can't find freetype2 it's because it's got an error. check config.log for the command that errored
[16:37:22 CET] <thebombzen> this actually sounds like it's a linker error, which might be caused by pkg-config
[16:37:30 CET] <thebombzen> I used to deal with that stuff all the time on ubuntu
[16:37:52 CET] <thebombzen> julienbcn: you are correct that that is what I typed
[16:37:55 CET] <thebombzen> however it is not what you typed.
[16:38:08 CET] <thebombzen> if your goal is to copy and paste other people's work, then you should actually copy and paste it.
[16:38:18 CET] <thebombzen> please do not copy and paste part of it and then complain that it didn't do what you wanted it to.
[16:39:06 CET] <thebombzen> if you want to not run into these issues, then you need to spend 15 minutes learning how to write a very basic bash script
[16:39:35 CET] <thebombzen> because an occupational hazard of not knowing anything about what you're working with is that if it doesn't work as planned you're stuck in quicksand trying to fix it
[16:39:42 CET] <Ntemis> can you help?
[16:39:43 CET] <Ntemis> https://paste.ubuntu.com/23643185/
[16:40:18 CET] <julienbcn> i know but i only need one function and tryed to learning bash scripting but don t understand
[16:40:44 CET] <julienbcn> i m not good at coding
[16:40:45 CET] <thebombzen> Ntemis: well
[16:40:50 CET] <thebombzen> you're cross compiling
[16:41:08 CET] <thebombzen> do you have libfreetype2 built for the host?
[16:42:30 CET] <thebombzen> cause if not...
[16:45:02 CET] <Ntemis> freetype-2.5.5
[16:45:24 CET] <Ntemis> and libvorbis-1.3.5
[16:47:40 CET] <thebombzen> hm... Ntemis this might be relevant: https://superuser.com/questions/868226/how-to-build-ffmpeg-with-freetype2-f…
[16:48:03 CET] <thebombzen> you might want to do whatever this guy did
[16:48:17 CET] <thebombzen> although for some reason your config.log doesn't mention freetype2
[16:48:25 CET] <thebombzen> so I don't know why that's what you're asking
[16:48:40 CET] <thebombzen> julienbcn: well start by learning to copy and paste
[16:49:11 CET] <c_14> you need the freetype-2 dev packages
[16:53:53 CET] <Ntemis> thank you guys
[16:54:42 CET] <Ntemis> i wont use any encoding ffmpeg is strictly for decoding
[16:58:07 CET] <thebombzen> well then you don't need freetype, which is there to enable drawtext as part of libavfilter
[16:58:25 CET] <thebombzen> although tbh libavfilter can behave like a postprocessor for decoded video
[16:58:27 CET] <thebombzen> so I still like it
[16:58:55 CET] <Ntemis> :)
[16:58:59 CET] <thebombzen> but the reason to compile in support for libvorbis is for the encoder. ffmpeg's native decoder is better than libvorbis's
[17:00:31 CET] <Ntemis> so i will be ok for now
[18:38:45 CET] <livingBEEF> https://ffmpeg.org/ffmpeg-filters.html#minterpolate
[18:38:59 CET] <livingBEEF> 'vsmbc' seems to actually be 'vsbmc'
[18:39:44 CET] <livingBEEF> ffmpeg -help filter=minterpolate does give the correct option name, but manpage and doc does not.
[20:14:46 CET] <thebombzen> I've noticed that in the past
[20:14:50 CET] <thebombzen> I was going to submit a trac for it
[20:14:54 CET] <thebombzen> and then... didn't
[22:14:29 CET] <Kiicki> Hi, I downloaded some video files and put them on my USB and they won't play on my Samsung and my Sony TV. I don't understand why since the container and the codecs are supported on the TV. Also, when I convert them myself in Handbrake for example with the same codec and container as the original file that didn't work, it suddenly works. I don't know why.
[22:14:29 CET] <Kiicki> Maybe the uploaded have some sort of a lock on it and when I convert, it gets unlocked. I don't know but from mediaInfo, it doesn't make sense why it wouldn't work
[22:15:30 CET] <Kiicki> https://puu.sh/sSR8N/5a854f5cc1.png
[22:20:04 CET] <JEEB> you can just try `ffmpeg -i input -c copy out.mp4` and try playing that mp4 file
[22:20:18 CET] <JEEB> that just copies the tracks if it's just something in the matroska file it doesn't like :P
[22:20:28 CET] <JEEB> -32
[22:21:27 CET] <furq> Kiicki: is that screenshot the file that does work or that doesn't work
[22:21:54 CET] <Kiicki> doesn't
[22:22:19 CET] <Kiicki> I haven't converted the one that works yet. I know it will work but I deleted it the other day and it would take me 2 hours to convert it again
[22:23:04 CET] <furq> if i had to guess, you used a different preset and it bumped the level up to 5
[22:23:08 CET] <furq> try specifying -level 4.1
[22:23:55 CET] <Kiicki> good eye but I will actually try 5 because I think that will work which will prove that there's something else wrong
[22:23:59 CET] <Kiicki> because I don't think that's it
[22:24:19 CET] <furq> why would you encode another file with level 5
[22:24:23 CET] <furq> you already have one which doesn't work
[22:25:17 CET] <furq> using -preset medium instead of -preset slow should do the same thing
[22:25:39 CET] <Kiicki> because of the reasons I just said. I think using level file after converting would work
[22:25:47 CET] <Kiicki> the first one has not been converted by me btw
[22:25:49 CET] <Kiicki> it's a torrent
[22:26:03 CET] <Kiicki> but I fight that many torrents won't play on my TV for some reason
[22:26:06 CET] <Kiicki> find*
[22:26:11 CET] <Kiicki> tv's actually
[22:26:41 CET] <furq> well yeah if your tv doesn't support high@l5 then a lot of 1080p torrents won't work
[22:28:13 CET] <Kiicki> That's the thing. I think that it would work if I set it to high@l5 when I convert it. Which would explain that something else is wrong
[22:28:25 CET] <furq> why do you think that
[22:28:50 CET] <Kiicki> because it has worked every time i have converted it myself using the same settings as the original
[22:28:57 CET] <Kiicki> it just works and I have no idea
[22:29:21 CET] <furq> which x264 preset did you use in handbrake
[22:29:47 CET] <furq> if you used medium or faster then the resulting file won't be level 5 at 1080p24
[22:29:51 CET] <Kiicki> it just says h.264 (x264)
[22:29:55 CET] <Kiicki> medium
[22:30:10 CET] <furq> well yeah, that only uses 3 refs so it'll be level 4.something
[22:30:22 CET] <Kiicki> ok, so what should I choose to get 5?
[22:30:30 CET] <Kiicki> I just want to test it out
[22:30:44 CET] <furq> something between slow and placebo
[22:30:47 CET] <furq> or just set -ref 5
[22:31:19 CET] <furq> the screenshot you pasted uses 5 refs, so i assume that's -preset slow
[22:31:43 CET] <Kiicki> I will try slow then. there's no manual set in handbrake : /
[22:32:24 CET] <Kiicki> Slow, Slower, very slow, placebo
[22:32:32 CET] <furq> slow should do the job
[22:32:44 CET] <furq> the other presets are (obviously) not as fast
[22:32:48 CET] <Kiicki> constant framerate right? Yes, I'm a bit noob
[22:32:53 CET] <furq> sure
[22:33:10 CET] <Kiicki> level 5.0 and profile high
[22:33:14 CET] <furq> i'm pretty sure preset is the only thing you'll need to change
[22:33:18 CET] <Kiicki> as I think that the original has that
[22:33:24 CET] <furq> x264 should set the level and profile automatically
[22:33:45 CET] <ritsuka> you can add the options in the additional options text field if you are using handbrake gui
[22:33:54 CET] <furq> if handbrake has options to set it then those will just set a maximum limit
[22:34:14 CET] <furq> and restrict encoder features to try to hit that level (if possible)
[22:34:17 CET] <furq> level/profile
[22:36:29 CET] <Kiicki> https://puu.sh/sSSiY/5761806ff4.png
[22:36:41 CET] <Kiicki> https://puu.sh/sSSjM/0d9fe74e0f.png
[22:36:46 CET] <Kiicki> video / audio
[22:38:34 CET] <Kiicki> Like if this works, I don't know
[22:38:38 CET] <Kiicki> it's just weird
[22:43:30 CET] <Kiicki> dare god. 2h 30m for a normal sized movie
[23:13:21 CET] <ThomasEgi> anyone knows which was the last version that works on winxp sp1 ?
[23:15:57 CET] <BtbN> I doubt it.
[23:16:05 CET] <BtbN> Who on earth would still put up with that anyway?
[23:16:48 CET] <ThomasEgi> i have an ancient machine here which i rescued from the dead. it runs some fancy presentation software and the only way to preserve the content appears to be screencapturing it
[23:17:15 CET] <ThomasEgi> so i planned to use ffmpeg to run some good old trustworthy screencap and toss that piece of junk where it belongs
[23:18:04 CET] <ThomasEgi> bonus points for the person who set it up. he/she apparently carefully locked down pretty much every network service of the system. so it's pretty much an offline machine too.
[23:18:30 CET] <BtbN> Well, that's the only sensible way to keep using such a machine at all.
[23:19:27 CET] <c_14> Doesn't the code itself still support XP?
[23:19:30 CET] <ThomasEgi> funny part is.. there are two identical one , and this one was supposed to be the backup. but it failed long ago and the backup was silently put into the installation leaving a post-it note on top of the broken one :D
[23:19:58 CET] <ThomasEgi> c_14, i tried running the latest build but it crashes at some missing kernel.dll instruction or so
[23:20:12 CET] <c_14> the builds (from Zeranoe) don't have support
[23:20:17 CET] <c_14> but if you build it yourself it should
[23:20:54 CET] <ThomasEgi> that would mean installing visual studio/mingw and all dependent libraries onto a machine with no network capability?
[23:21:01 CET] <BtbN> nobody tests XP anymore
[23:21:01 CET] <c_14> nah
[23:21:07 CET] <BtbN> and if it breaks, nobody cares
[23:21:08 CET] <c_14> build it on another computer then copy it over
[23:21:41 CET] <BtbN> I'm pretty sure all builds tools still able to target XP SP1 won't compile a recent ffmpeg.
[23:22:00 CET] <ThomasEgi> wasn't there any version ever build for xp sp1 ?
[23:22:11 CET] <BtbN> you realize _how_ old that is?
[23:22:13 CET] <ThomasEgi> i mean i don't care about all the neat features as long as i can just screencap with a bit of audio
[23:22:16 CET] <ThomasEgi> i do.
[23:22:31 CET] <ThomasEgi> the house it's from celebrated 15th aniversary last thursday
[23:22:49 CET] <ThomasEgi> and those were amongst the first things in there
[23:23:09 CET] <ThomasEgi> any other workaround would be welcome too
[23:23:20 CET] <BtbN> get a capture card
[23:28:04 CET] <ThomasEgi> forgot to mention it's a multi-screen setup
[23:28:45 CET] <BtbN> multiple capture cards.
[23:28:54 CET] <ThomasEgi> and it needs to be frame-syncronous cause of 3d stuff
[23:49:03 CET] <ThomasEgi> sometimes this job feels like beeing a software undertaker trying to sell undead corpses
[00:00:00 CET] --- Sun Dec 18 2016
1
0
[00:01:51 CET] <blue_misfit> hey you responded! more than most folks on #ffmpeg ever did lol!!
[00:02:09 CET] <Compn> thats why they pay me the big bucks!
[02:07:41 CET] <cone-892> ffmpeg 03Martin Vignali 07master:6672a49e5a38: fate/psd: add tests for uncompress and rle samples
[02:07:42 CET] <cone-892> ffmpeg 03Michael Niedermayer 07master:d4c1cc2b876a: avutil/imgutils: Clarify doxy for av_image_check_size2()
[03:52:21 CET] <Zeranoe> Anyone know if FFmpeg works with libjpeg-turbo
[03:52:21 CET] <Zeranoe> , or if openjpeg 2 is supported?
[04:06:31 CET] <jamrial> Zeranoe: the latter is supported
[04:15:35 CET] <Zeranoe> jamrial: But not the former?
[04:15:45 CET] <jamrial> afaics, no
[04:16:06 CET] <Zeranoe> Thanks
[04:56:06 CET] <Zeranoe> FFmpeg doesn't care if x264 was compiled with pthread support right? It uses its own threading methods to run
[05:07:18 CET] <Zeranoe> I think I'm going to switch the Windows builds to native win32 threading instead of pthread
[05:09:47 CET] <Compn> i was unable to run your nightlies on my vista box, Zeranoe
[05:10:15 CET] <Zeranoe> Compn: The latest ones?
[05:10:26 CET] <Compn> no, let me grab an updated build
[05:10:30 CET] <Zeranoe> Compn: And vista.... really....
[05:10:37 CET] Action: blb giggles @ vista
[05:10:47 CET] <rcombs> Zeranoe: x264 just has an internal implementation of the pthread API on top of win32threads
[05:10:51 CET] <rcombs> as does ffmpeg
[05:11:08 CET] <rcombs> neither cares what the other was built with
[05:11:24 CET] <Zeranoe> rcombs: That's what I thought, wanted to make sure
[05:12:46 CET] <Compn> wow some fast speeds from your host
[05:12:55 CET] <Zeranoe> :)
[05:13:50 CET] <Compn> ffmpeg-20161210-edb4f5d-win32-static.zip , reports this on vista the procedure entry point get numa node processor mask ex could not be located in the dll kernel32.dll
[05:14:02 CET] <Compn> then it crashed
[05:14:25 CET] <Zeranoe> Compn: interesting, that's due to MFX
[05:14:25 CET] <Compn> a kernel32 dll function call that isnt available on vista
[05:14:39 CET] <Compn> mfx ?
[05:15:17 CET] <Zeranoe> qsv
[05:15:25 CET] <Zeranoe> https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=7&t=3728
[05:15:27 CET] <Compn> is there qsv on windows ?
[05:15:48 CET] <rcombs> Compn: dat buttflare
[05:15:53 CET] <Zeranoe> It's in the build
[05:16:08 CET] <Zeranoe> Compn: Are you just a fan of Vista or...
[05:16:32 CET] <Zeranoe> I dropped XP support because it's so old, and I didn't know it effect vista too. I didn't think anyone uses it
[05:16:45 CET] <rcombs> if Compn uses Vista he's the only one
[05:16:53 CET] <rcombs> Chrome even dropped support
[05:16:57 CET] <Compn> rip chrome
[05:17:09 CET] <Zeranoe> Compn: Think it's time for an upgrade?
[05:17:19 CET] <rcombs> did you miss the memo on Win10 having been free
[05:17:24 CET] <Compn> you're talking to the guy who was running win2k into this decade.
[05:17:54 CET] <rcombs> why do you seek to harm yourself and the people around you
[05:18:04 CET] <Zeranoe> Anything is free if you know where to look...
[05:18:17 CET] <Compn> damn you and your latest os upgrading automatically all the time!
[05:18:19 CET] <rcombs> it's okay, there are people who care about your well-being
[05:18:40 CET] <rcombs> just, nobody wants to maintain backwards-compatibility with your ancient OS
[05:18:45 CET] <Zeranoe> I have to agree with that. Win10 likes to f me all the time
[05:19:15 CET] Action: rcombs rings doorbell
[05:19:19 CET] <Zeranoe> "Oh you're clearly working but stepped away for two milliseconds? Time for a reboot."
[05:19:21 CET] <rcombs> HELLO!
[05:20:00 CET] <rcombs> My name is elder rcombs! And I would like to share with you this most amazing code!
[05:20:20 CET] <rcombs> It's some code to replace Windows and sucks slightly less
[05:20:51 CET] <Zeranoe> Compn: https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=13&t=3572
[05:21:01 CET] <rcombs> &turns out I'm far too lazy to turn the opening number from The Book of Mormon into a song about Linux
[05:21:34 CET] <Zeranoe> Compn: Turns out there's a community of you update refusers
[05:21:49 CET] <rcombs> but yeah if you hate current Windows so much you use old Windows& have you considered not-Windows
[05:23:15 CET] <Zeranoe> Compn: I didn't design my site for IE8, so lemme know how many issues you find.
[05:26:23 CET] <rcombs> issues -> 🗑
[05:26:34 CET] <rcombs> but you can't read that character because your font doesn't support it
[05:26:58 CET] <Compn> boxes :D
[05:27:07 CET] <Zeranoe> lol
[05:27:10 CET] <Compn> also im using a web browser that isnt even made anymore
[05:27:15 CET] <Compn> old opera
[05:27:33 CET] <Zeranoe> I'm out, I can't deal with this on my Win10, bleeding edge workstation.
[05:55:13 CET] <Zeranoe> I'm sure this will upset no one, but schrodinger support was dropped from the builds.
[12:32:54 CET] <durandal_1707> BBB: do you have wmavoice specification?
[13:23:40 CET] <cone-199> ffmpeg 03Mark Harris 07master:a5cf600ccb7f: avformat/wavdec: Eliminate goto for clang -O0 DCE
[13:37:01 CET] <BBB> durandal_1707: https://wiki.multimedia.cx/index.php/Windows_Media_Audio_Voice
[13:38:17 CET] <BBB> durandal_1707: I never wrote down the postfilter, but its fairly straightforward if you read the code, its just a combination of gain control, kalman smoothening filter, wiener denoise filter and DC filter, I dont remember details
[13:40:34 CET] <durandal_1707> BBB: but it doesn't mention decoding of wmapro superframes in bitstream
[13:41:04 CET] <durandal_1707> how that one looks?
[13:41:11 CET] <BBB> its literally one wmapro superframe
[13:41:16 CET] <BBB> its not hard to wrap, I had example code once
[13:41:24 CET] <BBB> but I only ever saw it used for silence so I didnt care
[13:41:30 CET] <BBB> (sorry)
[13:41:48 CET] <BBB> it doesnt implement some other features also
[13:41:52 CET] <BBB> but it does some things correctly :)
[13:41:59 CET] <BBB> got a sample?
[13:43:16 CET] <durandal_1707> BBB: see trac timeline
[13:43:40 CET] <durandal_1707> #5426
[13:46:21 CET] <BBB> too many things in that bug report...
[13:46:26 CET] <BBB> is there a summary?
[13:48:59 CET] <BBB> ffplay(56101,0x7fff740d3000) malloc: *** error for object 0xbdbbe8443e2b635c: pointer being freed was not allocated
[13:49:00 CET] <BBB> ...
[13:52:53 CET] <jkqxz> nevcairiel: I think it wouldn't be unreasonable to add a weird tiled format as a pixfmt if there is more than one thing which uses it. They can be passed around, but most components will just treat them like opaque hwaccel pixfmts (so maybe a new flag or otherwise make clear in the component information that the layout is not sane).
[13:53:51 CET] <nevcairiel> if its fully opaque, but it isnt, its trying to be shoehorned into existing functions like swscale and imgutils, which leads to a lot of ifs all around
[13:53:53 CET] <jkqxz> It needs to be much clearer what hardware this applies to and what uses it, though. (Certainly can't be called NV12_TILED, because there are many such formats.)
[13:54:50 CET] <BtbN> could just act like the CUDA format. With an upload and download filter, so it doesn't mess up swscale
[13:56:41 CET] <nevcairiel> and even worse if there is various different variants from different hardware
[13:57:15 CET] <jkqxz> Some swscale support doesn't seem objectionable, though it needs to be cleaner than the patch currently.
[13:57:32 CET] <BtbN> nvenc also supports tiled NV12 as input, but I never saw a point in bothering with it
[13:58:11 CET] <jkqxz> I assume this specific version is the format used by some IP core, and the SoC they integrated it on doesn't have a linear remapper for it.
[14:00:48 CET] <jkqxz> (Most hardware which actually uses tiled formats also has a linear remapper in the MMU so that you can access it sensibly.)
[14:11:30 CET] <durandal_1707> BBB: i use mpv for playback, have ffplay disabled
[14:13:09 CET] <iive> tile format could be handled as pixel formats, if they do contain pixels
[14:13:18 CET] <iive> e.g. hm12
[14:20:12 CET] <BBB> its quite irritating if people who have no idea start patching decoders but dont do it correctly...
[14:23:41 CET] <BBB> durandal_1707: let me see if I can get wmapro-in-wmavoice working at least in a hacky way
[14:23:48 CET] <BBB> durandal_1707: maybe others can finish it cleanly then
[14:33:30 CET] <wm4> jkqxz: pixdesc can't represent tiled formats, so it'll have to be opaque
[14:56:59 CET] <jkqxz> Yeah, it has to be opaque in lavu and common code. swscale could deal with it, though.
[14:58:19 CET] <Compn> just woke up, whats DCE
[14:58:35 CET] <JEEB> Dead Code Elimination
[15:04:29 CET] <Compn> does not compute, back to sleep
[15:07:56 CET] <JEEB> oh fucking wow
[15:08:08 CET] <JEEB> someone ported the lavc PGS decoder to java
[15:08:17 CET] <JEEB> and is trying to push it to google's player library for android :D
[15:08:33 CET] <JEEB> https://github.com/google/ExoPlayer/pull/2143/commits/7dc4e73cae2f327aca9b8…
[15:08:43 CET] <JEEB> https://github.com/google/ExoPlayer/pull/2143/commits/7dc4e73cae2f327aca9b8…
[15:08:47 CET] <JEEB> this is just fabulous
[15:09:07 CET] <JEEB> AVSubtitleRect just pushed into java
[15:19:28 CET] <wm4> JEEB: I think this is a LGPL violation
[15:19:36 CET] <wm4> the license only talks about Apache 2
[15:22:20 CET] <JEEB> yes, the exoplayer license is Apachev2
[15:23:46 CET] <wm4> it's just a PR, commented
[16:45:47 CET] <BBB> speaking of copied code & https://github.com/webmproject/libvpx/blob/master/vpx_dsp/x86/inv_txfm_ssse…
[16:49:06 CET] <wm4> BBB: " Part; of the functions are originally derived from the ffmpeg project."
[16:49:12 CET] <wm4> but license is not LGPL
[16:49:16 CET] <BBB> indeed
[16:49:28 CET] <wm4> copyright violation by google? lol
[16:55:39 CET] <kierank> LOL
[17:06:00 CET] <durandal_1707> sue them!
[17:09:54 CET] <durandal_1707> to anyone interested: on my github branch pixlet is some code I'm looking if it can be simplified
[17:14:10 CET] <BBB> direct link?
[17:14:17 CET] <BBB> is it dsp code or is it bitreading code?
[17:14:33 CET] <BBB> I fixed the fate issue with wmavoice btw, but its a little ugly
[17:14:36 CET] <BBB> need to make it nicer
[17:14:49 CET] <BBB> Im thinking maybe I should split the bitreading from the synthesis
[17:14:56 CET] <BBB> it looks like itd make everything better
[17:25:53 CET] <wm4> lol this andreas guy has no sense for nice code
[17:33:19 CET] <durandal_1707> BBB: bitreading, dsp is multiplication with floats
[17:37:35 CET] <durandal_1707> BBB: https://github.com/richardpl/FFmpeg/tree/pixlet
[17:38:18 CET] <BBB> another_param :D
[17:39:05 CET] <durandal_1707> hey, I could pick our nicks
[17:39:24 CET] <BBB> I didnt say it was bad
[17:39:43 CET] <BBB> I did what youre using elsewhere, just v%d with reg/mem location in comments
[17:39:54 CET] <BBB> although I probably used another character, probably d
[17:39:56 CET] <BBB> I dont know why
[17:40:21 CET] <durandal_1707> look at other function which have nice names
[17:40:38 CET] <durandal_1707> ignore one with gotos
[17:40:51 CET] <durandal_1707> it's in rewritting stage
[18:08:40 CET] <Compn> another_param :D
[18:18:37 CET] <durandal_1707> Compn: renamed to compn
[18:32:58 CET] <Compn> YES
[18:33:17 CET] <Compn> theres a lot of compN functions out there tho
[19:35:08 CET] <Timothy_Gu> Compn: I'm < 18 so nah
[19:36:00 CET] <Timothy_Gu> (re mailing hard drives)
[19:36:41 CET] <Timothy_Gu> BtbN: did you see the weird PARSE_ERRORS in Coverity?
[19:37:30 CET] <BtbN> No PARSE_ERRORS yes, but some of the stuff it reported today seems odd, didn't take an in depth look yet though
[19:37:34 CET] <BtbN> *yet
[19:38:23 CET] <BtbN> uh, now I see them.
[19:38:33 CET] <BtbN> Only looked at high impact ones
[19:38:59 CET] <BtbN> "Please see the build output log for more information." just, where is it?
[19:44:10 CET] <nevcairiel> it looks like their parser dies from usage of c11 atomics =p
[19:44:47 CET] <BtbN> https://travis-ci.org/FFmpeg/FFmpeg-Coverity#L1244 it's at least not this build log.
[20:15:08 CET] <Timothy_Gu> BtbN: I think there's a separate log file in cov-int
[20:15:27 CET] <Timothy_Gu> cov-int/build-log.txt
[20:15:35 CET] <BtbN> hm
[20:16:15 CET] <Timothy_Gu> it's really big though, so I wouldn't try to `cat` it in the build script
[20:16:25 CET] <Timothy_Gu> maybe try building locally?
[20:16:41 CET] <BtbN> can just run the docker container locally
[20:17:11 CET] <Timothy_Gu> yep
[22:15:50 CET] <durandal_1707> how can compile ffmpeg with integer sanitizer?
[22:16:17 CET] <Compn> hmm sounds like special gcc option
[22:17:14 CET] <Compn> durandal_1707 : https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html
[22:37:49 CET] <durandal_1707> Compn: i use clang
[22:48:34 CET] <durandal_1707> I get linking errors
[22:49:12 CET] <durandal_1707> perhaps using undefined will do same
[22:52:26 CET] <BBB> you need cflags and ldflags to use -fsanitize=integer
[22:52:42 CET] <BBB> so extra-cflags=.. and extra-ldflags (or extra-libs, I Cant remember)=..
[22:58:50 CET] <Compn> tgg
[22:58:58 CET] <Compn> wrong window.
[00:00:00 CET] --- Sat Dec 17 2016
1
0
[05:30:56 CET] <KittyCat156> Any way to horizontally flip a video in ffmpeg without re-encoding but by using metadata?
[05:32:00 CET] <furq> you can rotate 180 degrees with metadata but i don't think you can flip
[05:33:28 CET] <KittyCat156> I know you can do a lot more by changing the displaymatrix, but AFAIK you can only read it through ffmpeg/probe
[05:33:38 CET] <KittyCat156> not write to it
[05:34:30 CET] <KittyCat156> *can -> could be able to, thought that sounded strange the way I worded it
[05:38:14 CET] <furq> it looks like there's code to set display matrices in libavutil
[05:38:23 CET] <furq> i don't know if ffmpeg exposes it though
[06:07:09 CET] <fahadash> When using two or more inputs, how can I refer to them separately in filter graph?
[06:07:11 CET] <fahadash> sorry I am a noob
[06:34:48 CET] <DHE> the first is [0:a] for preferred audio or [0:v] for preferred video or [0:1] for the stream that was labeled 0:1 in the console output
[06:34:59 CET] <DHE> and the second is similarly [1:a] or [1:v] or [1:1] etc
[06:42:03 CET] <fahadash> why two labels separated by a colon?
[06:42:13 CET] <fahadash> Why couldn't it just be [1] or [2] or [a]?
[06:56:11 CET] <DHE> file number, a colon, and a stream identifier.
[06:56:28 CET] <DHE> with 'v' and 'a' as convenience labels.
[08:37:28 CET] <gion> For this example filter ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v]scale=512:-1[bg];[bg][1:v]overlay=(w-ow)/2:(h-oh)/2" is there any way to affect the graph while it runs ? I want to control the w and ow from a websocket server, anything on how to approach this problem ?
[08:45:44 CET] <ferdna> gion, sounds complicated
[08:46:03 CET] <ferdna> you could do it with php
[08:47:15 CET] <DHE> yeah, sounds like you need to do some API stuff. there are some triggerable filter commands during execution via stdin, but it's limited
[08:48:32 CET] <gion> I know gstreamer is something more proper for this, but it is quite heavy compared to just the ffmpeg binary
[08:49:01 CET] <ferdna> i always had problems with gstreamer
[08:51:59 CET] <sunny_26_> Hi I wanna submit a patch to ffmpeg
[08:52:16 CET] <sunny_26_> How can I summit a patch using git --send-email ?
[08:52:41 CET] <sunny_26_> Like how to write body and subject to it ?
[08:52:49 CET] <sunny_26_> I am unaware of it
[08:52:55 CET] <sunny_26_> please help
[08:54:27 CET] <sunny_26_> and I have to submit patch to "ffmpeg-devel(a)ffmpeg.org" ! is that correct ?
[08:55:31 CET] <ferdna> sunny_26_, if you dont know how to do that... please refrain from do it so...
[08:56:08 CET] <ferdna> from doing it
[08:59:21 CET] <DHE> or at least email yourself first to make sure it turns out okay.
[09:03:38 CET] <ferdna> sunny_26_, get an account github.com...
[09:03:47 CET] <ferdna> then fork the code you are going to modify
[09:04:02 CET] <ferdna> submit it.. and you are done...
[09:04:03 CET] <ferdna> https://github.com/FFmpeg/FFmpeg
[09:04:09 CET] <ferdna> that is the github repo for ffmpeg
[09:19:07 CET] <ferdna> markvandenborre, you here?
[09:19:26 CET] <ferdna> llamapixel, you here?
[09:22:46 CET] <sunny_26_> "Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored."
[09:44:00 CET] <markvandenborre> ferdna: what's your question?
[09:44:50 CET] <ferdna> sunny_26_, ohh cool.. i didnt know that... sorry i dont submit patches to ffmpeg
[09:44:57 CET] <ferdna> markvandenborre, can i priv msg?
[09:45:12 CET] <durandal_1707> sunny_26_: yout can attach patches to mail instead
[09:46:01 CET] <ferdna> sunny_26_, https://git-scm.com/docs/git-format-patch
[09:49:27 CET] <ferdna> https://robots.thoughtbot.com/send-a-patch-to-someone-using-git-format-patch
[09:54:10 CET] <ferdna> good night must go to bed
[09:54:11 CET] <ferdna> =S
[10:18:12 CET] <sunny_26_> durandal_1707 : Can i send my patch directly to ffmpeg-devel(a)ffmpeg.org Using my outlook ? I have already registered to ffmpeg-devel.
[10:19:00 CET] <durandal_1707> sunny_26_: yes
[10:19:45 CET] <sunny_26_> Ok
[10:20:03 CET] <sunny_26_> But what does this statement means "Is the mime type of the patch correct? It should be text/x-diff or text/x-patch or at least text/plain and not application/octet-stream. " ?
[10:20:29 CET] <sunny_26_> I am following https://ffmpeg.org/developer.html#Submitting-patches-1
[10:20:54 CET] <durandal_1707> ignore it if you can't follow
[10:21:25 CET] <sunny_26_> So they will accept my patch ? Or atleast reply back !
[10:21:50 CET] <sunny_26_> and I must send it to "ffmpeg-devel(a)ffmpeg.org" ? Right !
[10:22:49 CET] <sunny_26_> durandal_1707, Is my understanding is correct !
[10:23:58 CET] <sunny_26_> Hi u there ?
[10:56:19 CET] <karklud> \msg NickServ identify ken12damaer
[10:56:35 CET] <karklud> doh
[11:09:26 CET] <kerio> karklud: nice
[11:09:45 CET] <karklud> kerio, i'm wwaaayy to tired to be at work now........
[11:13:33 CET] <karklud> kerio, but it just showed up liked *******, right??
[11:26:45 CET] <kerio> karklud: ofc
[11:26:53 CET] <kerio> you can ken12damaer my ken12damaer
[11:30:35 CET] <durandal_1707> it's now logged and available to everyone
[11:31:10 CET] <karklud> that's good, i'll never forget it then
[11:32:09 CET] <karklud> kerio, wait i just realized that there's a typo in there...
[11:32:16 CET] <kerio> phew!
[11:32:32 CET] <karklud> (i wish)
[13:22:23 CET] <chaks> Hello, everybody!
[13:23:17 CET] <chaks> Can anyone assets me for my problem using ffmpeg?
[16:36:28 CET] <kerio> does youtube understand ffvhuff
[16:37:40 CET] <furq> there's only one way to find out
[16:38:24 CET] <kerio> yes
[16:38:27 CET] <kerio> asking about it in #ffmpeg
[16:38:38 CET] <kerio> :^)
[16:38:59 CET] <JEEB> it should understand it
[16:39:07 CET] <JEEB> at least whatever lavc could encode in 2011
[16:39:17 CET] <JEEB> because I think that's the version of FFmpeg they're using
[16:44:41 CET] <kerio> bitrate: 1240640 kb/s
[16:44:43 CET] <kerio> ay dios mio
[16:46:17 CET] <kerio> ...how did i manage to put 0rgb into huffyuv
[16:46:24 CET] <kerio> i thought the "yuv" part implied yuv
[16:53:35 CET] <kerio> JEEB: yuv444p gets compressed MUCH harder than rgb24
[16:53:44 CET] <kerio> even though it should be roughly the same info
[17:02:03 CET] <furq> it's probably packed
[17:02:17 CET] <kerio> ur packed
[17:02:31 CET] <kerio> hm is there a packed rgb format
[17:02:44 CET] <furq> most of them are packed
[17:02:56 CET] <kerio> er
[17:02:57 CET] <kerio> a planar
[17:03:02 CET] <furq> gbrp is the only planar one i know of
[17:07:45 CET] <kerio> why is it gbr
[17:07:46 CET] <kerio> instead of rgb
[17:11:07 CET] <durandal_1707> kerio: that's way how it's coded in first codec using planar format
[17:11:23 CET] <kerio> anyway planar rgb didn't help the compression
[17:11:27 CET] <kerio> with ffvhuff
[17:11:50 CET] <durandal_1707> because it doesn't support it directly
[17:12:14 CET] <kerio> holy crap ffv1 is so much better with it
[17:12:30 CET] <kerio> (in bgr0 mode, apparently)
[17:12:53 CET] <kerio> (gbrp is not compatible with ffv1 :( )
[17:13:30 CET] <kerio> 1235691 kb/s vs 273357 kb/s
[17:13:38 CET] <kerio> ffv1 doesn't achieve realtime here tho :(
[17:38:13 CET] <durandal_1707> kerio: are you on toaster?
[17:38:26 CET] <kerio> 2880x1800p60
[17:38:30 CET] <kerio> :3
[17:54:39 CET] <durandal_1707> kerio: utvideo? I could mention magicyuv but there's no encoder in ffmpeg for it
[18:02:35 CET] <durandal_1707> there's also vc1 iirc
[20:00:39 CET] <norbert> hi all, I'm on Linux and from what I'm reading I need a "tainted" ffmpeg to get the WebM profile(s) in the kdenlive video editor; anyone here know the apt - or other - command to get this "tainted" ffmpeg?
[20:04:25 CET] <relaxed> norbert: you mean avconv?
[20:05:04 CET] <relaxed> (the ffmpeg fork)
[20:05:27 CET] <norbert> I don't know
[20:05:37 CET] <norbert> "You might be missing tained ffmpeg and it's libraries." is what someone wrote here https://forums.mageia.org/en/viewtopic.php?f=7&t=10014
[20:05:51 CET] <norbert> in a topic "no webm rendering on kdenlive"
[20:06:46 CET] <relaxed> yeah, I have no idea then.
[20:07:41 CET] <relaxed> norbert: try my build and see if it works: https://www.johnvansickle.com/ffmpeg/
[20:07:48 CET] <kerio> "tainted" is a little harsh
[20:09:00 CET] <furq> apparently "tainted" is the name of the mageia repo which contains patented codecs
[20:09:14 CET] <furq> so if you're on a debian-alike it's probably meaningless
[20:09:43 CET] <relaxed> oh, I thought it was more libav trashing :)
[20:09:56 CET] <furq> https://wiki.mageia.org/en/Archive:_Mageia_3_Release_Notes#The_Mageia_onlin…
[20:10:10 CET] <furq> not sure why that would affect webm though
[20:13:31 CET] <norbert> hm, yeah, I'd think webm would be a free format
[20:17:49 CET] <norbert> I installed the ubuntu-restricted-* packages, but that didn't fix it
[20:20:09 CET] <norbert> I'm probably missing an entire apt repo with the non-free software or something
[20:22:26 CET] <norbert> nope, I have multiverse in the apt config file
[20:23:24 CET] <norbert> is there any other way to get a 'full' ffmpeg without asking people if they can share a customly compiled binary?
[20:51:17 CET] <nodeclear5> http://ilredentore.dynv6.net regards...
[22:31:49 CET] <julienbcn> Hello all, i'm looking for a ffmpeg command or a bash script which can extract 15 thumbs from a video mp4 (basing on duration), anyone for help please?
[23:05:48 CET] <norbert> hi again, I've decided to just export the kdenlive video to mp4, and then use ffmpeg to convert from mp4 to webm
[23:05:59 CET] <norbert> my question now is, how can I get the absolute best webm quality?
[23:06:36 CET] <norbert> I did see https://trac.ffmpeg.org/wiki/Encode/VP8 (and VP9)
[23:06:48 CET] <norbert> but it's unclear to me what I should do to get the highest possible quality
[23:07:05 CET] <norbert> I could set, for instance, a constant bitrate, but then how high should it be?
[23:07:14 CET] <norbert> 2M, 10MB?
[23:11:21 CET] <furq> you probably want -b:v 0 -crf 30
[23:11:25 CET] <furq> tune the crf value as needed
[23:11:45 CET] <furq> also obviously going from mp4 to webm will lose quality unless you're using lossless h264 or something
[23:13:07 CET] <DHE> you can't improve on the image quality of the original by reprocessing the video
[23:16:03 CET] <norbert> yes, I wish kdenlive could render to webm, but I need to work with what I've got :)
[23:16:13 CET] <norbert> I'll try what you suggested
[23:18:30 CET] <furq> if you have enough disk space you could render to ffv1 or something and then create the mp4 and webm from that
[23:18:59 CET] <furq> from a brief look at the manual kdenlive doesn't support just piping yuv to stdout, because it's an NLE and life should be painful
[23:20:31 CET] <norbert> ffv1... should this be listed inside kdenlive? it's not listed for me
[23:20:55 CET] <norbert> the webm output by the way contains short millisecond blinks that mean I cannot use it this way
[23:21:04 CET] <norbert> also the quality simply isn't good enough for me, I'm afraid
[23:22:13 CET] <norbert> oh wait, I see it
[23:22:16 CET] <norbert> I had to change the destination
[23:22:38 CET] <norbert> and now I also see everything else, including WebM
[23:22:40 CET] <norbert> so problem solved
[23:22:45 CET] <norbert> but man, not userfriendly IMO
[23:22:52 CET] <norbert> anyway, thanks for all the feedback and such
[00:00:00 CET] --- Sat Dec 17 2016
1
0