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

burek burek021 at gmail.com
Fri May 17 03:05:02 EEST 2019


[04:26:48 CEST] <Mysterytrain> is there a way to quiet down ffmpeg? When I invoke it I don't want to see allthe build options and stuff. I just want my command results
[04:29:28 CEST] <furq> Mysterytrain: -hide_banner or -v error
[04:29:40 CEST] <furq> you'll probably want -stats as well if you use -v error
[04:30:24 CEST] <Mysterytrain> oh, thanks
[04:30:39 CEST] <Mysterytrain> much neater
[09:31:52 CEST] <cawk> why don't you people charge for ffmpeg
[09:45:09 CEST] <Ariyasu> people like to create / colaborate / share software for free cawk
[09:45:22 CEST] <Ariyasu> https://en.wikipedia.org/wiki/Free_Software_Foundation
[09:45:26 CEST] <cawk> people also like money
[10:04:17 CEST] <basiaf> Hi! I've got some TB of measurement videos encoded with libx264rbg lossless and to reduce storage costs i was thinking of re-encoding them e.g. with av1. Is it possible and if yes, how would i do that with ffmpeg?
[10:10:36 CEST] <DHE> av1 is quite new and the encoder is quite expensive (cpu-wise). do you actually need lossless?
[10:14:07 CEST] <furq> wow av1 lossless is incredibly slow
[10:14:33 CEST] <furq> 11 minutes of cpu time and counting to encode 10 frames
[10:15:32 CEST] <DHE> ikr
[10:15:49 CEST] <DHE> last year I tried a test encode with av1. days (weeks?) to do a 1 minute clip
[10:15:56 CEST] <furq> not sure how it's using ~60% cpu when i gave it no threading options
[10:16:07 CEST] <DHE> mind you it looked REALLY good for 1080p 25fps at 1 megabit
[10:16:20 CEST] <furq> lossy is nowhere near this slow for me
[10:16:27 CEST] <furq> even without threading
[10:16:37 CEST] <furq> i guess this code path hasn't been optimised at all yet
[10:16:57 CEST] <furq> now at 21 minutes and the ffmpeg status line hasn't updated
[10:17:12 CEST] <furq> also 3GB of memory usage but at least that's remaining pretty constant
[10:19:06 CEST] <cawk> it takes days to encode  1minute clip?
[10:19:12 CEST] <furq> oh it finished. only took 30 minutes of cpu time
[10:19:13 CEST] <cawk> are you serious?
[10:19:25 CEST] <DHE> it was last year. maybe it's improved
[10:19:25 CEST] <furq> and i got a 3% rate saving over x264 medium
[10:19:42 CEST] <cawk> DHE what CPU, do you remember
[10:19:57 CEST] <DHE> cawk: ryzen7 1700
[10:20:09 CEST] <cawk> that's fast cpu
[10:20:14 CEST] <furq> it has improved a bit but it's still incredibly slow
[10:20:35 CEST] <cawk> how does google/youtube use av1 then
[10:20:39 CEST] <cawk> i see av1 on youtube
[10:20:43 CEST] <furq> i read that it was an order of magnitude faster and also still an order of magnitude slower than x265 veryslow
[10:21:02 CEST] <furq> apparently google have a lot of computers nowadays
[10:21:30 CEST] <DHE> some problems can be solved by throwing money at it.
[10:21:49 CEST] <cawk> furq but google also has user uploading video every second
[10:21:49 CEST] <DHE> I mean, 1000 CPUs each taking a 10-second segment might produce a watchable video in an acceptable timeframe
[10:22:08 CEST] <DHE> sure, and I can imagine they're selective about what they encode
[10:22:25 CEST] <furq> generally vp9/av1 will only show up on videos after they hit a view threshold
[10:22:28 CEST] <DHE> they're probably just keeping up with the 4k library from high-volume viewers
[10:22:43 CEST] <furq> also all the av1 stuff i've seen is like 360p at 200kbps or something
[10:23:06 CEST] <DHE> well that's cheating, but also going to be decently effective
[10:23:52 CEST] <furq> there's not much point them using it for anything else at this point
[10:24:19 CEST] <furq> if they tried to make me decode 1440p av1 on any device i own i would just stop using youtube
[10:26:51 CEST] <cawk> furq decoding av1 is not slow
[10:26:57 CEST] <cawk> it's encoding that is slow as hell
[10:27:51 CEST] <furq> decoding is still very slow
[10:29:20 CEST] <cawk> i never had a problem viewing av1 video
[10:29:35 CEST] <cawk> oh wait 4k video i did
[10:29:48 CEST] <cawk> have problem
[10:30:01 CEST] <cawk> sorry not 2k
[10:30:05 CEST] <cawk> sorry not 4k
[10:30:10 CEST] <cawk> oops
[10:30:20 CEST] <cawk> i meant  10 bit color
[10:30:54 CEST] <cawk> furq only decoding problem with av1 is  10bit color
[10:31:11 CEST] <cawk> i think it's a bug
[10:32:42 CEST] <furq> https://cdn-images-1.medium.com/max/800/1*uKLXJBHZTEVZEvztpd71EA.png
[10:33:03 CEST] <cawk> furq  trying  viewing  http://download.opencontent.netflix.com.s3.amazonaws.com/AV1/Chimera/Chimera-AV1-10bit-1920x1080-6191kbps.mp4
[10:33:05 CEST] <furq> 200fps using 100% cpu on a ryzen 1600 is very slow
[10:33:16 CEST] <furq> for 1080p
[10:33:33 CEST] <cawk> no vidoe uses 200 fps
[10:33:39 CEST] <cawk> so that's silly point
[10:34:07 CEST] <furq> 100% cpu for 200fps means 33% cpu for 60fps
[10:34:20 CEST] <furq> compared to 0% for h264 or vp9
[10:34:51 CEST] <furq> and that's on a fast desktop cpu
[10:37:13 CEST] <cawk> how is h264 0%
[10:37:48 CEST] <cawk> you need dxva then it sitll use 5%
[10:39:25 CEST] <furq> you should probably turn dxva off then because the software decoder would use less than that
[10:39:50 CEST] <furq> h264 and vp9 hwdec use <1% cpu here, as they should
[10:40:26 CEST] <furq> ffvp9 and ffh264 will both do ~300fps using one thread on the same cpu as that av1 test
[10:40:32 CEST] <furq> as opposed to 200fps using 24 threads
[10:44:38 CEST] <cawk> i should turn dxva off? i don't understand
[10:44:51 CEST] <cawk> dxva = hwdecoding
[10:45:06 CEST] <furq> if you have dxva enabled and it's using that much cpu then it's not working very well
[10:45:44 CEST] <cawk> oh,  but it will use even higher  if dxva is off
[10:45:57 CEST] <basiaf> well, if av1 is still that slow, maybe I should wait for some time longer.. I actually need lossless, because the measurement data (low-res) needs to be pixel perfect... I tried x265, but I cant seem to get around lossy color space conversion
[10:46:53 CEST] <furq> basiaf: libaom-av1 in ffmpeg doesn't do rgb yet anyway
[10:46:56 CEST] <furq> not sure if aomenc does
[10:47:28 CEST] <cawk> yuv doens't support lossless ?
[10:47:37 CEST] <furq> frame=   10 fps=0.0 q=0.0 Lsize=   11165kB time=00:00:00.30 bitrate=303853.7kbits/s speed=0.000731x
[10:47:40 CEST] <furq> for reference
[10:47:57 CEST] <furq> i also wouldn't expect significant rate savings for newer codecs in lossless mode
[10:49:07 CEST] <cawk> furq performance difference between dav1d and aomdec is huge
[10:49:11 CEST] <cawk> according to that graph
[10:49:21 CEST] <furq> yeah and dav1d is still too slow
[10:50:05 CEST] <furq> the whole av1 ecosystem is improving fast but it's not close to ready yet
[10:50:16 CEST] <cawk> which one does youtube use
[10:50:17 CEST] <basiaf> hm, ok thanks, good to know. I was hoping some savings (~30%), but if thats not possible for lossless i'll probably have to stick to lib264rgb for now
[10:51:14 CEST] <furq> basiaf: it might be worth trying ffv1
[10:51:44 CEST] <furq> if the data changes a lot between frames it might do better
[10:53:55 CEST] <basiaf> yes, snr is pretty low, I'll give it a try.
[10:57:06 CEST] <cawk> useless lossless video is pointless you have  raw video source
[10:57:13 CEST] <cawk> useless lossless video is pointless unless you have  raw video source
[10:57:25 CEST] <cawk> lossless video is pointless unless you have  raw video source
[10:58:14 CEST] <cawk> basiaf i highly doubt you are working with  "raw video"
[10:59:46 CEST] <basiaf> I actually to, since I wrote the recorder and data acquisition for my source myself
[11:00:20 CEST] <cawk> wow you are?
[11:07:32 CEST] <sloth> https://www.youtube.com/watch?v=SRNyGDRikSw
[11:08:39 CEST] <cawk> sloth what does trhat have to do with ffmpeg
[11:11:55 CEST] <sloth> cawk: i made it in ffmpeg
[11:12:09 CEST] <sloth> also i forgot i was in here and i used amsg
[11:12:09 CEST] <cawk> that's your youtube channel?
[11:13:19 CEST] <cawk> i don't believe that's your channel
[11:22:14 CEST] <sloth> cawk: this is tho https://www.youtube.com/watch?v=8MFTUXcfRd4
[11:22:20 CEST] <sloth> and i used vlc for that vid
[11:22:53 CEST] <cawk> WizardAngst is you?
[11:23:00 CEST] <sloth> sim
[11:23:24 CEST] <sloth> i have 500 subs so u could say i'm a pretty big deal
[11:26:51 CEST] <cawk> sloth sim?
[11:27:04 CEST] <sloth> br?
[11:27:05 CEST] <sloth> sim sim
[11:27:15 CEST] <sloth> es el burrito grande! rapidooooooooooooo~~~~~
[11:27:16 CEST] <cawk> what do you mean by "sim"?
[11:27:27 CEST] <sloth> its how brazilians yes "yes i am"
[11:27:42 CEST] <cawk> oh okay
[11:27:49 CEST] <cawk> 514 subscribers   not bad
[11:27:50 CEST] <sloth> they go "br?" in game chat and then another brazilian says "sim" as a combination of "si" and "i'm"
[11:28:24 CEST] <cawk> 364K viewers,  why does that video have so many viewers
[11:28:41 CEST] <sloth> cause i'm an influencer
[11:28:42 CEST] <sloth> ok
[11:28:48 CEST] <cawk> https://www.youtube.com/watch?v=KfswGei34TI
[11:28:54 CEST] <cawk> that's a lot of views
[11:29:15 CEST] <sloth> ya well i feel my message in that vid was important
[11:29:18 CEST] <sloth> and so it spread
[11:29:22 CEST] <sloth> because of the deep meaning u kno
[11:33:25 CEST] <cawk> it's only 10 second clip
[11:33:55 CEST] <cawk> why do you only have 5 videos
[11:40:41 CEST] <SomeGuy315> hey JEEB, regarding my issue yesterday, it seems to only happen on AAC files if that helps?
[11:41:35 CEST] <SomeGuy315> also regarding flushing buffers, i've been calling avcodec_flush_buffers
[11:41:42 CEST] <SomeGuy315> i don't know what else i should be doing?
[11:41:50 CEST] <SomeGuy315> i've tried things like sending a null packet but tht didn't fix it either
[11:43:13 CEST] <sloth> cawk: its about quality not quantity
[12:56:39 CEST] <cawk> does ffmpeg support  extracting subtitle  subtitle.txt.srt  from  video file
[12:57:09 CEST] <durandal_1707> yes
[12:59:04 CEST] <cawk> FFMPEG -i video.mp4 -codec:s:0.1 srt subtitle.srt
[12:59:09 CEST] <cawk> is that correct
[13:06:45 CEST] <cawk> okay that worked
[13:06:47 CEST] <cawk> but...
[13:07:33 CEST] <cawk> durandal_1707 does ffmpeg support  extracting subtitle  subtitle.txt.srt  from  subtitles embedded to video
[13:08:39 CEST] <JEEB> there's an OCR filter in libavfilter, but you need special code to extract that into AVSubtitle packets
[13:08:50 CEST] <durandal_1707> cawk: you mean hardsub?
[13:09:15 CEST] <cawk> durandal_1707 you know those videos that uses closedcaptioning
[13:09:28 CEST] <cawk> and it's not a separate UTF/text track
[13:09:40 CEST] <cawk> let me find the sample
[13:09:47 CEST] <JEEB> if it's actual closed caption packets in video, that is supported but requires extra code to handle them
[13:10:05 CEST] <JEEB> currently there's some lavfi movie source filter (?) which you can use to hack around it
[13:10:16 CEST] <JEEB> because the filter can just always create a subtitle stream in the input
[13:10:35 CEST] <JEEB> and it passes the caption packets to it
[13:13:05 CEST] <cawk> jeeb so is that a yes ffmpeg can extract it  ?  or  No  ffmpeg cnanot extract it
[13:14:45 CEST] <JEEB> FFmpeg (framework) supports it fine, ffmpeg.c (command line application) doesn't support dynamic addition of things so no, ffmpeg.c can have a workaround so you can get it in some cases done
[13:15:20 CEST] <cawk> durandal_1707 no , i am not talking about hardsub
[13:15:30 CEST] <JEEB> the movie source module has an option to create a subtitle stream for captions always, so that should be able to handle various cases
[13:16:45 CEST] <cawk> jeeb is that mean i have to beg for a ffmpeg binary that enables that feature
[13:17:42 CEST] <JEEB> no?
[13:17:59 CEST] <cawk> like begging for ffmpeg binary that support  fdk_aac
[13:18:18 CEST] <JEEB> that's because of fraunhofer's license which means that you can't put it together with (at least) GPL :P
[13:18:33 CEST] <JEEB> and google doesn't caaaare enough to request a change in the license from their side
[13:18:45 CEST] <JEEB> so effectively you can't distribute a binary with fdk-aac
[13:18:52 CEST] <JEEB> do you need HE-AAC or just LC-AAC?
[13:19:10 CEST] <cawk> HE-aac is always better so i would like he-aac
[13:19:14 CEST] <JEEB> no it is not
[13:19:19 CEST] <JEEB> it effectively worsens the quality
[13:19:27 CEST] <JEEB> it's for low bit rate use
[13:19:30 CEST] <cawk> really? then why do people use it
[13:19:40 CEST] <JEEB> I only see HE-AAC used in low bit rate use
[13:19:47 CEST] <JEEB> like, where you have to do like 32kbps
[13:19:54 CEST] <JEEB> and at that point you are always doing a compromise
[13:20:03 CEST] <cawk> 32kbps for mono  or stereo?
[13:20:06 CEST] <JEEB> stereo
[13:20:10 CEST] <cawk> oh
[13:20:19 CEST] <cawk> that's like only 16kbps per channel
[13:20:31 CEST] <JEEB> basically stereo under 64kbps is where HE-AAC might be useful
[13:21:06 CEST] <cawk> 16 kbps mono he-aac sounds okay?  where  16kbps mono lc-aac sounds bad?
[13:21:22 CEST] <JEEB> possibly, depends on content etc
[13:21:34 CEST] <JEEB> in any case at that point you're so low that the encoder has to cut stuff out :P
[13:21:56 CEST] <JEEB> what I'm saying is if your use case is 96kbps or more
[13:22:00 CEST] <JEEB> then LC-AAC
[13:22:03 CEST] <JEEB> is what you need
[13:22:24 CEST] <cawk> i see, does it sound bad if you try to use  128kbps stereo  he-aac ?
[13:22:45 CEST] <JEEB> a sane encoder would switch to LC after 64kbps or so
[13:22:52 CEST] <JEEB> as in, it would not let you do HE-AAC higher than that
[13:23:04 CEST] <cawk> what if you force it
[13:23:30 CEST] <JEEB> never cared enough, basically f.ex. HE-AAC by default halves the rate and tries to re-create it with hints
[13:23:46 CEST] <JEEB> aka "it tries harder to save bits, even if the result isn't too similar"
[13:23:57 CEST] <JEEB> but to be honest I'd be using opus at those low rates
[13:24:13 CEST] <JEEB> that way I could use the internal AAC encoder for LC-AAC and libopus for the really low rate stuff
[13:24:32 CEST] <cawk> why not use OPUS for everything then?
[13:25:51 CEST] <JEEB> you can do that as well
[13:26:10 CEST] <JEEB> I thought that if you need AAC then you had some plastic boxes that need it :P
[13:26:10 CEST] <cawk> why don't you use OPUS for everything then?
[13:26:39 CEST] <JEEB> basically, I tried to figure out if you really needed something that only fdk-aac provides (HE-AAC)
[13:26:54 CEST] <cawk> i think most devices support opus now
[13:27:25 CEST] <cawk> jeeb but isn't  fdkaac better than ffmpeg's aac  even for LC-AAC ?
[13:28:44 CEST] <JEEB> in some cases, but I don't think the difference in general is large enough that you should care
[13:30:04 CEST] <cawk> jeeb okay
[13:30:50 CEST] <cawk> jeeb if you had that special video with special subtitle; are you able to extract the subtitle as file?
[13:31:34 CEST] <JEEB> if it's caption packets (US style) in the video stream, probably
[13:31:39 CEST] <JEEB> you don't need me for it
[13:32:03 CEST] <JEEB> https://stackoverflow.com/a/27780366
[13:32:09 CEST] <JEEB> I meant this lavfi input thing
[13:35:54 CEST] <cawk> i cannot get it to work:  https://www.filedropper.com/cc-video
[13:36:53 CEST] <cawk> and i know if you cannot do it, i know i cannot
[13:37:40 CEST] <JEEB> anyways, the official documentation for the lavfi input thing https://www.ffmpeg.org/ffmpeg-all.html#lavfi
[13:37:49 CEST] <JEEB> and then the movie filter is what you need to utilize it seems
[13:37:50 CEST] <JEEB> good luck
[13:37:55 CEST] Action: JEEB is at $dayjob
[13:46:45 CEST] <another> all that backlog
[13:48:36 CEST] <another> DHE: furq: libaom has gotten a lot faster. it's still slow though
[13:49:11 CEST] <another> at cpu-used 8 it is kind of usable for tests
[14:02:07 CEST] <DHE> I'm not going to be using it any time soon, this was just curiosity
[14:02:28 CEST] <furq> i tested it today and got .002x realtime for 1080p
[14:02:40 CEST] <furq> on a build that apparently has row-mt (or at least ffmpeg no longer complains about me trying to use it)
[14:03:00 CEST] <furq> it didn't seem to do anything so it's good that they've kept that continuity with libvpx
[14:50:13 CEST] <suryajagtap> exit
[15:01:10 CEST] <MarioMey> Hi, there. I have a 3GP video file and VLC nor FFMPEG can read video data... mplayer does. When playing, mplayer says:
[15:01:13 CEST] <MarioMey> Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
[15:01:19 CEST] <MarioMey> Could that be the video codec?
[15:01:51 CEST] <MarioMey> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55db74574d60]Could not find codec parameters for stream 1 (Video: mpeg4 (mp4v / 0x7634706D), none, 495 kb/s): unspecified size
[15:01:59 CEST] <MarioMey> mp4v?
[15:02:24 CEST] <MarioMey> How could I convert to anything else with ffmpeg? Could I...?
[15:26:38 CEST] <cawk>  jeeb:  -fix_sub_duration  did not fix it : is this mean this is a ffmpeg bug?
[15:32:49 CEST] <another> MarioMey: try ffmpeg -c:v msmpeg4v3 -i input
[15:33:20 CEST] <cawk> another what about my issues?
[15:33:30 CEST] <cawk> another any suggesions
[15:39:55 CEST] <another> if i had, i would have said so
[15:49:52 CEST] <basiaf> furq: unfortunately, ffv1 results in larger file sizes for the converted lossless x264 rgb videos (141GB vs. 119GB) with slices=4 and w/o slice crc, so I'll stick to x264 for now.
[15:51:21 CEST] <MarioMey> another: it didn't work.
[15:51:48 CEST] <MarioMey>     Stream #0:1(eng): Video: msmpeg4v3 (mp4v / 0x7634706D), none, 495 kb/s, SAR 1:1 DAR 0:0, 17.42 fps, 90k tbr, 90k tbn, 90k tbc (default)
[15:51:57 CEST] <MarioMey>     Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 156 kb/s (default)
[15:52:07 CEST] <MarioMey> (first 0:0, then 0:1)
[15:52:21 CEST] <MarioMey> But, then:
[15:52:35 CEST] <MarioMey> Stream mapping:
[15:52:35 CEST] <MarioMey>   Stream #0:0 -> #0:0 (aac (native) -> aac (native))
[15:53:09 CEST] <MarioMey> And nothing else. Just output file with only 0:0 audio stream.
[15:58:41 CEST] <MarioMey> another: check what mencoder says: https://pastebin.com/iQS3GBMC
[15:59:44 CEST] <MarioMey> With that config, mencoder says errors. With other config, it seems encoding, but it makes a 1 still frame video (audio ok).
[16:00:31 CEST] <MarioMey> Here: https://pastebin.com/DxG4ZdbE
[16:02:00 CEST] <th3_v0ice> I am receiving 5.1 AC3 over UDP, suddenly the number of channels for one AVFrame changes to 2 and my code breaks because I am using swr_convert(). Is this a valid scenario that can happen or should I just remove the AVFrame in question?
[16:03:14 CEST] <JEEB> it is 100% valid
[16:03:24 CEST] <JEEB> you need to reconfigure the resampler of course
[16:04:13 CEST] <furq> basiaf: you probably want to change the gop size as well
[16:04:30 CEST] <furq> with that said i doubt it'll be smaller but it was worth a try
[16:05:36 CEST] <th3_v0ice> JEEB: But this happens only for one AVFrame, the rest of them are basically 5.1 again.
[16:07:08 CEST] <th3_v0ice> What my question actually is, is the case that I am looking at, an error?
[16:11:10 CEST] <Mavrik> Or the encoder switch channels quickly twice in a row because of poorly spliced content.
[16:11:12 CEST] <Mavrik> :)
[16:13:14 CEST] <th3_v0ice> Great :D
[16:13:40 CEST] <th3_v0ice> How do I reconfigure the resampler?
[16:13:55 CEST] <th3_v0ice> Close and open it again with different settings?
[16:27:57 CEST] <Mavrik> yeah, pretty much
[16:29:41 CEST] <SomeGuy315> speaking of the resampler, how do you flush it properly?
[16:31:21 CEST] <another> MarioMey: as far as i can see mencoder is just using ffmpegs mpeg4 decoder
[16:31:54 CEST] <another> MarioMey: does mplayer play it?
[16:32:15 CEST] <another> cawk: what was your problem again?
[16:32:56 CEST] <cawk> ffmpeg -f lavfi -i "movie=test.mkv[out+subcc]" -map 0:1 output.srt    extracts all the text but timing is all wrong
[16:33:29 CEST] <cawk> 05:59] <JEEB> you need
[16:33:29 CEST] <cawk> [05:59] <JEEB> -fix_sub_duration
[16:33:29 CEST] <cawk> [05:59] <JEEB> before input
[16:33:49 CEST] <cawk> <cawk>  jeeb:  -fix_sub_duration  did not fix it : is this mean this is a ffmpeg bug?
[16:38:59 CEST] <MarioMey> another: mplayer plays it.
[16:39:06 CEST] <MarioMey> VLC doesn't.
[16:39:34 CEST] <MarioMey> Wow! ffplay does it too!
[16:39:52 CEST] <MarioMey> But ffmpeg can't read video stream...
[16:40:11 CEST] <MarioMey> ffplay says:
[16:40:13 CEST] <MarioMey> [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f43c0000920] Could not find codec parameters for stream 1 (Video: mpeg4 (mp4v / 0x7634706D), none, 495 kb/s): unspecified size
[16:40:13 CEST] <MarioMey> Consider increasing the value for the 'analyzeduration' and 'probesize' options
[16:40:21 CEST] <another> cawk: i'm afraid this exceeds my knowledge
[16:40:58 CEST] <cawk> another are jeeb and durandal_1707 the top dog developers for ffmpeg?
[16:41:17 CEST] <another> how would i know?
[16:41:39 CEST] <cawk> another because you hang around here a lot
[16:41:56 CEST] <another> MarioMey: if ffplay plays it, what exactly is your problem?
[16:43:04 CEST] <another> cawk: that just means, that i see JEEB write a lot, durandal less so
[16:44:06 CEST] <cawk> another so you do know
[16:44:10 CEST] <cawk> i was right
[16:44:14 CEST] <another> MarioMey: have you tried encoding with ffmpeg?
[16:45:11 CEST] <another> cawk: wat? i see them write *here* in this channel
[16:45:33 CEST] <cawk> another  oh sorry
[16:45:53 CEST] <cawk> another are you even a ffmpeg dev
[16:46:16 CEST] <another> not that i know of
[16:51:13 CEST] <MarioMey> another: I want it to be played with VLC (as I use with all my files). I tried with ffmpeg, but it creates a no-video-stream file. Audio only.
[16:56:00 CEST] <another> hmm
[16:56:45 CEST] <MarioMey> I did it.
[16:57:14 CEST] <MarioMey> I forced mencoder to take the video with 24fps.
[16:57:29 CEST] <MarioMey> mencoder VID_20120104_152114.3gp -o vid.mp4 -oac pcm -ovc x264 -fps 24
[17:00:55 CEST] <another> nice
[17:02:04 CEST] <another> ffmpeg -r 24 -i input might also work
[17:33:24 CEST] <MarioMey> another: no, ffmpeg still doesn't encode video.
[17:34:54 CEST] <MarioMey> Thanks for your time.
[17:35:12 CEST] <another> hmm.. without a paste it's hard to debug
[17:37:58 CEST] <MarioMey> another: here is paste bin https://pastebin.com/PSMEpKcx with
[17:37:58 CEST] <MarioMey> ffmpeg -r 19.5 -i VID_20120104_152114.3gp vidff.mp4
[17:38:51 CEST] <MarioMey> (19.5 is when audio-video are the same duration).
[17:48:52 CEST] <another> you could try with larger analyzeduration and probesize: ffmpeg -analyzeduration 10M -probesize 10M -i input -map 0:v -map 0:a out.mp4
[17:49:53 CEST] <another> or with a newer ffmpeg
[18:35:31 CEST] <argent0> Hi, ffmpeg.pastebin.com is unreachable from here. Here is my complete command https://bpaste.net/show/581b041c9678.
[18:36:03 CEST] <argent0> I'm trying to generate noise video. I think I'm generating video with audio, but ffplay is not playing the audio.
[18:36:23 CEST] <argent0> How do I make `ffplay` play the audio. Thanks in adance.
[18:37:31 CEST] <argent0> s/adance/advance/
[18:49:52 CEST] <another> argent0: ffmpeg -f rawvideo -video_size 1366x768 -pixel_format yuv420p -framerate 25 -i /dev/urandom -ar 48000 -ac 2 -f s16le -i /dev/urandom -c copy -t 600 -f nut - | ffplay -f nut -
[18:51:27 CEST] <argent0> another: thanks, that did the trick
[19:36:01 CEST] <safinaskar> is there something like yuv4mpeg, but for rgb?
[19:37:29 CEST] <safinaskar> ideally, i want some container, which is very easy to parse by hand-coded c program, and which supports both yuv and rgb pixel formats
[19:37:34 CEST] <safinaskar> maybe nut?
[19:38:56 CEST] <JEEB> nut is what people usually use for raw video + audio
[19:39:06 CEST] <JEEB> in theory adding RGB into yuv4mpeg would be pretty easy
[19:39:11 CEST] <JEEB> (just needs a new identifier)
[19:39:38 CEST] <JEEB> NUT/y4m are usually utilized for piping, for actual archival people have started using ffv1
[19:43:55 CEST] <safinaskar> i need some format, which is already supported by ffmpeg. because i want to send data between my hand-written c programs and vanilla ffmpeg. as well as i know ffmpeg implementation of yuv4mpeg doesn't support rgb (right?)
[19:44:24 CEST] <safinaskar> ffv1 supports raw video?
[19:44:47 CEST] <JEEB> if you are archiving you /really/ don't want raw video, you want a lossless encode
[19:44:58 CEST] <JEEB> lossless means that after you decode you get exactly the same stuff you fed the encoder
[19:52:40 CEST] <safinaskar> JEEB: i don't want archiving
[19:53:00 CEST] <safinaskar> JEEB: i want some format to pipe from ffmpeg to my hand written c program and vice versa
[19:53:04 CEST] <JEEB> yup
[19:53:18 CEST] <safinaskar> JEEB: in short i want raw video, but with info about size of frame and pixel format
[19:53:46 CEST] <safinaskar> because i don't want to hand code frame size in my program. nor i want to take frame size from command line arguments
[19:53:56 CEST] <JEEB> completely understandable and agreeable :)
[19:54:03 CEST] <JEEB> Y4M/NUT are two alternatives
[19:54:32 CEST] <safinaskar> JEEB: ffmpeg y4m implementation supports rgb?
[19:54:51 CEST] <JEEB> you need to add a couple of lines of code to it but it's deffo possible
[19:55:07 CEST] <JEEB> basically 1) let y4m take in RGB, 2) set a value in the header for it
[19:55:09 CEST] <JEEB> :P
[19:55:17 CEST] <JEEB> NUT is probably more generic and lets you pass audio too
[19:55:21 CEST] <safinaskar> JEEB: i will not edit ffmpeg sources
[19:55:32 CEST] <JEEB> sure, suit yourself :)
[19:55:47 CEST] <safinaskar> JEEB: nut supports rgb and yuv raw video out of the box?
[19:55:56 CEST] <JEEB> yes
[19:56:04 CEST] <safinaskar> JEEB: ok, thanks!
[19:56:05 CEST] <JEEB> or well, in the time you asked
[19:56:18 CEST] <JEEB> you could have tried to output a frame of rgb into .nut with raw video :P
[19:56:59 CEST] <safinaskar> i have another problem
[19:57:04 CEST] <safinaskar> i have hand written c program
[19:57:12 CEST] <safinaskar> which generates raw frames
[19:57:33 CEST] <safinaskar> irregulary, say 4-5 frames per hour
[19:57:51 CEST] <JEEB> so you need timestamps and let me guess, you're piping that stuff into ffmpeg.c right now
[19:57:52 CEST] <safinaskar> i feed this frames to ffmpeg process, which encodes them
[19:58:00 CEST] <JEEB> how about you just make a simple FFmpeg API client :P
[19:58:09 CEST] <safinaskar> JEEB: i don't need timestamps
[19:58:11 CEST] <JEEB> removes a few pipes in your workflow
[19:58:44 CEST] <JEEB> safinaskar: so how is anyone supposed to know at which point those frames should be shown in the result :P
[19:58:52 CEST] <JEEB> if it's not even constant frame rate
[19:58:59 CEST] <JEEB> anyways, have fun
[19:59:34 CEST] <safinaskar> JEEB: monotonicy is not goal at all
[19:59:50 CEST] <JEEB> that wasn't my point
[19:59:53 CEST] <safinaskar> JEEB: i. e. i consider my video as an array of frames without any kind of time info
[19:59:56 CEST] <safinaskar> at any moment my computer may crash
[20:00:19 CEST] <safinaskar> and i want to be sure that very last generated frame was encoded and written to end file
[20:00:27 CEST] <safinaskar> unfortunately, this doesn't happen
[20:00:55 CEST] <safinaskar> practice shows that in case of computer crash something like 7 last frames are not stored in file
[20:00:58 CEST] <safinaskar> what to do?
[20:02:58 CEST] <ChocolateArmpits> Am I correct to assume that mpegts seeking happens by basically trying to guess position in the file over multiple tries?
[20:03:37 CEST] <JEEB> not sure if it does that since I could get completely funky guesses from lavf :P
[20:03:43 CEST] <JEEB> for mpeg-ts you want byte seeking anyways
[20:03:49 CEST] <JEEB> since the thing can roll-over
[20:03:55 CEST] <JEEB> it's really not a format for seeking
[20:05:13 CEST] <ChocolateArmpits> yeah but I'm quite amazed I can do precise trimming when the file's bitrate is all over the place so the stream position can't be guessed accurately on the first try
[20:05:49 CEST] <JEEB> you really can't expect it to do that, though. if you got it like that, then you're one lucky fella
[20:05:57 CEST] <ChocolateArmpits> heh
[20:06:09 CEST] <JEEB> I mean, I made a basic app for testing at one point
[20:06:23 CEST] <JEEB> and basically had it seek + decode a specific point
[20:06:27 CEST] <JEEB> (giving it a timestamp)
[20:06:42 CEST] <JEEB> and quite quickly it dawned to me why for this sort of stuff people use things like ffms2
[20:06:44 CEST] <safinaskar> my current solution is this: i simply write 8 black frames after each normal frame
[20:06:53 CEST] <safinaskar> so, is there some better solution?
[20:07:08 CEST] <JEEB> depending on which encoder you're using it might have internal buffer
[20:07:22 CEST] <JEEB> f.ex. libx264 with defaults has it
[20:07:28 CEST] <JEEB> then you maybe have buffering in lavf
[20:07:49 CEST] <JEEB> both in the muxer and on the I/O level
[20:08:13 CEST] <ChocolateArmpits> JEEB, I first run ffprobe to determine keyframe placement before the point I want to cut at, and then cut starting with that frame. Maybe calling it precise isn't exactly right in this regard, but it's pretty much lossless
[20:08:30 CEST] <JEEB> you can follow the progress with something like -debug_ts
[20:08:45 CEST] <JEEB> which starts logging the passing of packets and frames in the process, and you can log stderr to see
[20:09:06 CEST] <ChocolateArmpits> Seeing how mpv's timeline struggles to seek to the correct position when the bitrate isn't uniform I expected dubious results with ffmpeg as well, not the case
[20:09:12 CEST] <JEEB> ChocolateArmpits: dunno - I just have had monotonic MPEG-TS give quite wild sways
[20:09:18 CEST] <safinaskar> JEEB: so, what to do? is there better solution than writting black frames?
[20:09:36 CEST] <JEEB> safinaskar: I would prefer if you'd actually read my messages. thank you
[20:10:42 CEST] <JEEB> I mean, I gave you debug_ts as an option that lets you see if your encoder is buffering
[20:11:01 CEST] <JEEB> then you could have asked "I use encoder XYZ, how do I minimize buffering in it?"
[20:11:26 CEST] <JEEB> or you figure out that the encoder is not buffering for you
[20:12:43 CEST] <safinaskar> JEEB: i write to pipe using c function "write", so buffering is of course on ffmpeg side. so, yes, encoder buffers. is there some encoder, which doesn't buffer at all?
[20:14:10 CEST] <JEEB> at this point I'm really annoyed at you. instead of looking at the output of what I noted, you just started jumping into conclusions. also jesus christ I wasn't even trying to note that *your* stuff had buffering, I was all the time talking under the idea of minimizing buffering within your usage of ffmpeg.c
[20:14:44 CEST] <JEEB> and yes, there are encoders that don't buffer but you can also configure encoders to have less or no buffering
[20:15:11 CEST] <JEEB> you haven't told me jack shit nor have you gained information to debug this situation yourself since you seem to be ignoring my recommendations
[20:15:15 CEST] <JEEB> good on you!
[20:15:52 CEST] <safinaskar> oh
[20:15:53 CEST] <safinaskar> sorry
[21:03:11 CEST] <vktec> I'm trying to take audio and subtitles from one mkv file and combine that with the video from another mkv. ''ffmpeg -i a.mkv -i b.mkv -map 1:0 -map 0:1 -map 0:3 -c copy out.mkv'' seems to work, except that when seeking the audio disappears. Playing from the beginning works fine, but seeking seems to kill it
[21:03:18 CEST] <vktec> I'm playing it through mpv
[21:04:36 CEST] <ChocolateArmpits> vktec, what version of ffmpeg are you using?
[21:05:20 CEST] <vktec> 4.1.3 for Windows
[21:09:19 CEST] <vktec> This is.... interesting
[21:09:34 CEST] <vktec> Playing through mpv on my Linux box, audio works fine
[21:10:54 CEST] <ChocolateArmpits> Try other players then, vlc, mpc-hc
[21:10:59 CEST] <vktec> Broken on Windows, works on Linux... same as most stuff then :D
[21:11:36 CEST] <ChocolateArmpits> You can also try using mkvtoolnix to rewrap your mkv files
[21:12:25 CEST] <vktec> I'll give that a shot
[21:26:03 CEST] <SixEcho> i have 2 gopro cameras& that each generate N files.  am currently doing a concat to two files& and then doing a PIP filter.  is there any way to skip the concat step to these large intermediate files?  i have seen examples for using fifo& but looking for alternatives.
[21:27:39 CEST] <DHE> you can use two different types of concat methods to build a virtual video and then filter that all in the same ffmpeg call. -filter_complex lets you build some interesting filtergraphs
[23:36:23 CEST] <johnharveybc> I have a .mov file which starts with frame 1. I want to be able to change the number of the start frame without changing anything else. I tried `ffmpeg -itsoffset 30 -i file.mov -ss 30 file_1001.mov ` to no avail.
[23:37:03 CEST] <johnharveybc> Help/suggestions? 30 is arbitrary in this case (and I know it's being interpreted as seconds).
[00:00:00 CEST] --- Fri May 17 2019


More information about the Ffmpeg-devel-irc mailing list