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

burek burek021 at gmail.com
Sun May 21 03:05:01 EEST 2017

[01:40:48 CEST] <Golfgeo> Hi all! Got a question: Looking to x11grab my 1080 screen and transport it over a firewire connection to use on another machine. Have had some luck with huffyuv, yet am only getting between 3 and 8 frames per second in throughput... Piping the connection through nc on both systems. Has anyone had any luck with such a setup (where one has 400mbit/sec to play with); And any good pointers and tips in regards to getting good fps?
[01:42:35 CEST] <furq> you probably want something that compresses a bit better than huffyuv
[01:43:21 CEST] <furq> try ffvhuff, ffv1, x264 lossless, utvideo etc
[01:43:46 CEST] <Golfgeo> furq, I haven't calculated the required bitrates, but since huffyuv only uses some 70mbit/sec for those 8 fps I'
[01:43:52 CEST] <Golfgeo> one moment
[01:44:40 CEST] <furq> yeah that seems way too low
[01:44:45 CEST] <Golfgeo> ... for those 8fps I should have some headroom to use a lossless codec and am really looking "not to compress"
[01:45:17 CEST] <furq> are you sure it's 70mbit
[01:45:25 CEST] <Golfgeo> Yep
[01:45:32 CEST] <furq> what framerate
[01:45:38 CEST] <Golfgeo> 8 fps atm
[01:45:44 CEST] <furq> i mean what framerate are you capturing at
[01:46:04 CEST] <Golfgeo> 60 fps and 30 fps gives the same
[01:47:08 CEST] <furq> huffyuv is giving me 500mbit for a static image at 1080p60
[01:47:09 CEST] <Golfgeo> It seems to me that either x11grab can't grab the requested frames or that NC is bottlenecking (perhaps in concord with the system piping on both machines)
[01:47:25 CEST] <furq> so you might want to doublecheck that
[01:47:33 CEST] <furq> if you're getting throttled then i assume it's just going over 400mbit
[01:47:58 CEST] <Golfgeo> I see your point
[01:48:21 CEST] <furq> 1080p60 4:2:0 rawvideo is 1.5gbit, and huffyuv isn't very good
[01:48:37 CEST] <furq> and 4:4:4/rgb is twice that size if you're capturing either of those
[01:48:53 CEST] <Golfgeo> let me try something here
[01:49:17 CEST] <furq> also all those codecs i mentioned are lossless
[01:49:37 CEST] <furq> some of them do inter compression which will make a massive difference with mostly static content (e.g. most desktop capture)
[01:49:49 CEST] <furq> massive as in several orders of magnitude
[01:50:06 CEST] <Golfgeo> that's interesting
[01:51:28 CEST] <Golfgeo> Yes, something is weird here. 1 fps resulta in 18mbit/sec
[01:53:08 CEST] <klaxa> ffmpeg can use tcp itself, no need to pipe through nc on the server side (you could even use http if you wanted) just use: ffmpeg [whatever] -listen 1 tcp://
[01:53:47 CEST] <Golfgeo> klaxa, I "hack the problem up into pieces". That was the next thing to solve :)
[01:54:44 CEST] <Golfgeo> ffvhuff is giving me the same issue. But I like the rendering that's presented on the second computer! No weird collors and such :)
[01:54:52 CEST] <Golfgeo> *hacked
[01:56:24 CEST] <Golfgeo> ffv1 is 3.8 frames while requesting 5 fps
[01:57:53 CEST] <Golfgeo> Yea, I'm seeing CPU spikes. Loving the 16% load on a single core though!
[01:58:15 CEST] <Golfgeo> So, something is weird in the piping here!
[01:58:26 CEST] <Golfgeo> Thanks furq and klaxa! :D
[02:01:15 CEST] <Golfgeo> klaxa, looking into the listen option now ;) Thanks for the tip! :D
[02:01:54 CEST] <klaxa> :)
[02:16:02 CEST] <Golfgeo> yea, even with libschroedinger I'm getting low fps. Oh well, it's time to call it quites for today. Thanks for the tips, pointers and help! :D
[02:59:00 CEST] <VectorX> hi i want to combine a mp4 and a mp3 the resulting mp4 should be the longest length and what ever that is shorter should loop
[03:04:56 CEST] <zyme> if anyone's got a few minutes sometime, I have some newbie questions to ask, some might need to be directed eleswhere, but I guess to start with, I was inspired a couple years ago by a particular program (on a similar note I discovered it mentioned as a GPL violator on this webpage  - trac.ffmpeg.org/ticket/4521 ) - so if anyones familar with that software,
[03:04:57 CEST] <zyme> I think ffmpeg seems to be the programs main source of "Magic" and if there was any way to help contribute to or if there's already an alternative out there.. nothing would make me happier as I feel like it's been the only option suitable for most my streaming hobbits...
[03:12:28 CEST] <zyme> mainly because it seems to be able to decode and stream to my Chromecast2 unsupported formats without transcoding into x264, I don't even think it's compressed at all, just decoded (on a PC) before streaming - something which nothing else seems capable of - and I've been all over googles sdk and support docs & for the most part that seems impossible or
[03:12:28 CEST] <zyme> rather unsupported..
[03:16:14 CEST] <zyme> is it maybe possible to format a decoded mpeg stream as x264 without performing any compression or loosing quality?
[03:20:19 CEST] <zyme> something akin to using the least options for encoding while leaving the bitrate as high as the source.
[03:22:00 CEST] <dystopia_> crf 0 / placebo
[03:25:02 CEST] <zyme> because if so then that brings me to a related question, I have a bunch of avi's that use xvid or x263 - I'd love to to "convert" to x264 but every video reencoding COTS program I've tried ends up needing a larger output file then the souce to maintain close to the original quality, even trying HVEC usually ends up aat the same bitrate at best if I don't
[03:25:02 CEST] <zyme> want to loose quality...
[03:25:25 CEST] <VectorX> hi how can i add https://launchpad.net/ubuntu/+source/ffmpeg to ubuntu so i get the latest version, its currently installed with apt-get and is 2.8
[03:25:37 CEST] <VectorX> 2.8.11-0ubuntu0.16.04.1
[03:26:42 CEST] <zyme> do they have a sourcecode tar.gz to run make config etc the good old fashioned way (usually theres a readme with a walkthrough)
[03:28:51 CEST] <VectorX> yeah
[03:29:15 CEST] <VectorX> i wanted to see if there was an automated way so everything was thru the package manager
[03:29:36 CEST] <VectorX> ill remove what i have and try that
[03:29:43 CEST] <VectorX> any idea about my other question
[03:29:49 CEST] <VectorX> i want to combine a mp4 and a mp3 the resulting mp4 should be the longest length and what ever that is shorter should loop
[03:30:55 CEST] <zyme> until I used mac's I never used pkg managers, they spoil you lol... I use to compile tarballs for everything because I used on slackware.. and track down all my own dependency's... I think ubuntu is debian based so hopefully it should conform to a non-proprietary file structure and be easily compliable.
[03:33:13 CEST] <thebombzen> Is it safe to turn on -ffast-math when building ffmpeg?
[04:01:27 CEST] <thebombzen> Oops, I dced. I'll ask again. Is it safe to compile ffmpeg with -ffast-math
[05:52:12 CEST] <zyme> thebombzen:  if compiling doesn't give any warnings, and google doesn't come up with anything, then I would use trial and error, with os probably better than w/o unless you find a bug
[07:12:13 CEST] <Fyr> guys, does remuxing keep full information?
[07:12:42 CEST] <Fyr> i.e. I can remux 100 times from one container to another and the original information will be untouched?
[07:18:02 CEST] <grublet> Fyr: a container just stores the video and audio streams, changing containers won't alter the data
[07:18:14 CEST] <grublet> as long as you use -c:a copy -v:a copy
[07:18:34 CEST] <Fyr> grublet, so, it is completely safe to remux 100 times?
[07:18:35 CEST] <grublet> -c:a copy -c:v copy
[07:18:36 CEST] <grublet> i mean
[07:18:51 CEST] <grublet> yes
[07:20:19 CEST] <Fyr> grublet, could you also recommend a tool for editing channels? I need to add a 100 seconds of silence into an 5.1 AC-3 audio.
[07:20:39 CEST] <Fyr> Audacity shows a multiple channel audio as different tracks.
[07:21:20 CEST] <Fyr> I don't know how to edit them at once.
[07:21:25 CEST] <grublet> You can save them back as separate WAV files and use ffmpeg or something like sox to recombine them, assuming you know the correct channel order, which for 5.1
[07:21:29 CEST] <Fyr> I downmixed them to stereo.
[07:23:05 CEST] <Fyr> grublet, I have to add a silence into a many places. mostly, 0.6 s a place.
[07:23:19 CEST] <Fyr> i.e. about 300 places with silence.
[07:23:42 CEST] <grublet> I'm not sure what you would need to do that easily, in that case
[07:24:03 CEST] <grublet> Audacity should let you "select all" tracks if you press Ctrl+A
[07:24:16 CEST] <grublet> and then generate silence and it should go to the same place in all of them at once
[07:24:47 CEST] <Fyr> cool, thanks
[09:30:52 CEST] <kms_> how to set live record duration (not output file duration) with -filter:v "setpts=0.1*PTS"
[09:30:56 CEST] <kms_> ?
[09:31:59 CEST] <kms_> Duration of recording
[09:33:36 CEST] <teratorn> kms_: -t option?
[09:34:13 CEST] <kms_> This affects the final file and not the recording time
[09:34:51 CEST] <kms_> (i think)
[09:35:40 CEST] <teratorn> kms_: it can be used as an input option or an output option depending on where it appears on the command line
[09:36:06 CEST] <kms_> oh, ok..
[09:36:08 CEST] <teratorn> kms_: read the help/man page on it.. sounds to me like what you want
[09:46:52 CEST] <kms_> thnx
[11:34:38 CEST] <OzgrK> hi, i'd like to create a sine wave of 1000hz and continiously reduce the frequency with time until it is zero at the end of the stream, which is 16 hours. if frequency parameter would take t as timestamp variable for second, like hue filter, then it would be achieved with something like -f lavfi -i sine=frequency=1000-(t/57.6):sample_rate=44100:duration=57600 . but this does not work since frequency parameter does not accpet t varible. ho
[11:34:53 CEST] <OzgrK> frequency change with the stimestamp for sine filter? or is there another way to achieve this? thanks
[13:15:53 CEST] <durandal_1707> OzgrK: use aevalsrc filter
[13:38:41 CEST] <OzgrK> durandal_1707: thanks i will check that
[15:46:49 CEST] <durandal_1707> Fyr: you can use adelay filter to add silence at start of each or some channels
[15:47:14 CEST] <VectorX> i want to combine a mp4 and a m4a the resulting mp4 should be the longest length and what ever that is shorter should loop, how can i do that
[16:02:35 CEST] <ChocolateArmpits> VectorX, ffmpeg -stream_loop -1 -i input.mp4 -stream_loop -1 -i input.m4a -shortest -map 0:v -map 1:a output.mp4
[16:03:05 CEST] <ChocolateArmpits> oh wait
[16:03:10 CEST] <ChocolateArmpits> that won't wokr, it'll just loop
[16:03:31 CEST] <ChocolateArmpits> You're best bet is to first find out which of those is shorter, using something like ffprobe
[16:03:43 CEST] <ChocolateArmpits> and then to use -stream_loop -1 only on the shorter one
[16:48:51 CEST] <Yuliya> Hey
[17:22:22 CEST] <TheXzoron> https://zoronunderground.club/f/ffmpeg.txt
[17:22:37 CEST] <TheXzoron> I'm  having audio desync issues with ffmpeg recording for some reason
[17:23:17 CEST] <TheXzoron> is there something special I have to do to record from pulse
[18:18:21 CEST] <VectorX> ChocolateArmpits ok, also is there a way to turn multiple process, ie, ffmpeg -i file.gif file.mp4 | ffmpeg -i file.mp4 .... sort of thing
[18:18:46 CEST] <ChocolateArmpits> VectorX, what do you mean turn multiple ?
[18:19:02 CEST] <VectorX> basically i want to convert a gif to mp4 then combine it with audio
[18:19:03 CEST] <ChocolateArmpits> Process in parallel ?
[18:19:12 CEST] <furq> you can do that in one process anyway
[18:19:20 CEST] <ChocolateArmpits> ^
[18:19:20 CEST] <VectorX> furq how is that
[18:19:29 CEST] <ChocolateArmpits> by not rendering to mp4
[18:19:30 CEST] <furq> -i file.gif -i audio.mp3 out.mp4
[18:19:45 CEST] <furq> probably also with -shortest so it doesn't loop forever
[18:20:08 CEST] <ChocolateArmpits> add -stream_loop -1 before the gif though, it's bound to be the shorter of the two
[18:20:24 CEST] <VectorX> yes
[18:20:38 CEST] <furq> you don't need that with a gif
[18:20:41 CEST] <furq> it defaults to -loop 0
[18:20:48 CEST] <VectorX> but i want the gif to loop to the audio or the other way around
[18:20:52 CEST] <furq> right
[18:21:11 CEST] <furq> -i file.gif -i file.mp3 -shortest out.mp4
[18:21:27 CEST] <furq> that's all
[18:21:33 CEST] <VectorX> with that the gif playes ones and stops
[18:21:40 CEST] <VectorX> once
[18:21:51 CEST] <furq> it shouldn't
[18:22:24 CEST] <furq> oh nvm i'm looking at the wrong section
[18:22:34 CEST] <furq> -ignore_loop 0 -i file.gif -i file.mp3 -shortest out.mp4
[18:24:31 CEST] <VectorX> that worked one way now i need to find a longer gif and shorter audio and try it
[18:30:35 CEST] <furq> it shouldn't make any difference
[18:30:50 CEST] <furq> -shortest will always use the audio length because the gif has infinite length
[18:31:04 CEST] <furq> it'll only break if you have a gif which is set to not automatically loop
[18:35:35 CEST] <VectorX> i got a longer gif and shorter audio, yeah as you said it takes the time of the audio
[18:36:40 CEST] <VectorX> the gif used was https://giphy.com/gifs/dad-skateboarding-skateboard-iDpzYEtoQKniU with a 3 second audio clip, and it stops in 3 seconds
[18:38:59 CEST] <ThugAim> Hey guys. So from a package i installed I have ffprobe, ffmpeg-10bit, ffmpeg and ffserver... do I need anything but ffmpeg installed?
[18:40:42 CEST] <ChocolateArmpits> ThugAim, what do you want to do?
[18:42:55 CEST] <arpu> hello how can i use VPX_VBR   with libvpx vp9 ? (vpxenc i can set end-usage=0)
[18:43:33 CEST] <ThugAim> current goals is to join files from multiple directories listed in a text file and the other is to figure out how to do streaming
[18:45:14 CEST] <ChocolateArmpits> ThugAim, then ffmpeg is pretty much all you need, though I usually keep ffprobe for file analysis
[18:45:31 CEST] <arpu> found my options ....  set -b:v make the trick usage vbr
[19:02:26 CEST] <hiihiii> hello. what's the best practice to normalize audio? I'm just using the volume filter not trying to do anything fancy.
[19:03:11 CEST] <ChocolateArmpits> hiihiii, best is to adjust the gain according to loudness
[19:04:35 CEST] <hiihiii> "volume=-6.0dB,volume=0.6" would work well but if, for some reason, ran it again on the output, the audio loses volume
[19:04:48 CEST] <hiihiii> so currently I'm just doing "volume=-6.0dB"
[19:05:07 CEST] <hiihiii> but not sure if that's even proper
[19:05:09 CEST] <ChocolateArmpits> hiihiii, why would you run the same filter on a filtered file again >
[19:05:42 CEST] <hiihiii> I don't really
[19:06:32 CEST] <hiihiii> but just in case I forget or figured that I messed up on something but do not have the original audio
[19:07:29 CEST] <hiihiii> I'm doing lossless conversions.
[19:09:49 CEST] <ChocolateArmpits> hiihiii, why not append something to the filename like "_filtered" and check for that ?
[19:11:24 CEST] <hiihiii> the extension serves that purpose
[19:12:02 CEST] <hiihiii> anyway, you said something about adjusting the gain. could you elaborate on that?
[19:12:21 CEST] <ChocolateArmpits> So how can you mess  this up? To do it otherwise will require your script to have more stuff there
[19:13:18 CEST] <hiihiii> can we just forget about practical cases.
[19:13:45 CEST] <ChocolateArmpits> So use Sox --norm
[19:14:24 CEST] <hiihiii> "aresample=resampler=soxr,volume=-6.0dB" ???
[19:23:05 CEST] <ChocolateArmpits> hiihiii, No I mean use the Sox application instead of ffmpeg, it'll be easier than to do in ffmpeg
[19:23:20 CEST] <ChocolateArmpits> Sox has --norm parameter that normalizes to a particular level
[19:23:28 CEST] <ChocolateArmpits> with ffmpeg your script will balloon
[19:29:05 CEST] <hiihiii> ah ok
[19:29:31 CEST] <hiihiii> I actually don't mind it "balloon"
[19:36:46 CEST] <OzgrK> durandal_1707: thank you. i think i figured that out. may i also ask if you see any problem in the following command to continiously decrease frequency from 1000 to zero in 16 hours?
[19:36:48 CEST] <OzgrK> ffmpeg -f lavfi -i aevalsrc="sin((1000-t*0.0086805)*2*PI*t):s=48000:d=57600" -c:a libopus -b:a 128k sin1kto0in16h_128k.webm
[19:36:56 CEST] <OzgrK> where 0.0086805 is 1000 (base frequency)  / 57600 (16hours in seconds) / 2 (not sure why honestly, because of completing sine waves full circle?)
[19:37:02 CEST] <OzgrK> and i had hard time to convince myself to divide to 2 at the end but otherwise the frequency starts to increase again after decreasing to zero in the middle of the total duration.
[19:37:20 CEST] <SneakySnake> Is there an option to speed up both the video and audio rate while keeping them in sync? I tried combining setpts and asetrate, but I can't figure out the magic ratio to keep the streams in sync.
[19:38:34 CEST] <furq> SneakySnake: -vf setpts=(123/456)*PTS -af atempo=456/123
[19:38:50 CEST] <SneakySnake> Hmm
[19:40:19 CEST] <SneakySnake> furq: This works for asetrate as well, right? I want to speed up both the tempo and pitch.
[19:41:12 CEST] <furq> yeah but it'd need to be 44100*(456/123)
[19:41:19 CEST] <furq> or whatever the original rate is
[19:41:22 CEST] <SneakySnake> Ah, right
[19:41:35 CEST] <furq> you might also want to use rubberband if you have a build with it
[19:41:44 CEST] <furq> iirc it's higher quality than atempo/asetrate
[19:42:01 CEST] <SneakySnake> I'll check out what ffmpeg makes of it first
[19:44:45 CEST] <ChocolateArmpits> hiihiii, well then use either loudnorm or ebur128 filter to get measured loudness and then adjust the gain using volume according to that. You can also use replaygain measurements
[19:45:07 CEST] <durandal_1707> ChocolateArmpits: why are you promoting sox here?
[19:45:40 CEST] <hiihiii> time for another rebuild
[19:46:25 CEST] <ChocolateArmpits> durandal_1707, ffmpeg doesn't have straightforward normalization ;)
[19:51:50 CEST] <SneakySnake> Gotta love streamable formats. My slow PC encodes the stream almost at the same rate as I can play it back in real time.
[19:58:34 CEST] <SneakySnake> lol
[19:58:40 CEST] <SneakySnake> my player caught up with ffmpeg
[20:05:50 CEST] <SneakySnake> furq: Many thanks! The streams are in perfect sync, and the audio quality sounds alright.
[20:07:34 CEST] <durandal_1707> ChocolateArmpits: its two pass process
[20:20:16 CEST] <furq> when did the "option mapping" stuff get added to https://www.ffmpeg.org/ffmpeg-codecs.html
[20:20:27 CEST] <furq> whoever added that: <3
[20:39:36 CEST] <relaxed> indeed! That is nice.
[22:18:08 CEST] <thor77> Hey, I'm using a Raspberry PI 2 (B) to relay a RTSP stream from an IP camera to nginx-rtmp with this command: "ffmpeg -i rtsp://x.x.x.x:xxxx/11 -vcodec copy -an -f flv rtmp://x.x.x.x/live/stream". If there's nothing moving in front of the camera everything works just fine, but as soon as I move the camera or there
[22:18:32 CEST] <thor77> 's a lot happening, i see "max delay reached. need to consume packet" and "RTP: missed 48 packets"
[22:18:46 CEST] <thor77> s/48/xx
[22:19:04 CEST] <thor77> is this a problem with the stream provided by the camera or is something a bottleneck on the rpi?
[23:05:11 CEST] <ShaneVideo> quick question, is there a flag to exit ffmpeg if a input video stream is missing, example "unspecified size".  I am recording from an RTSP and sometimes the stream isn't ready when I try to capture.  I want to exit instead of capturing a blank video
[23:13:36 CEST] <arpu> Detected librtmp style URL parameters, these aren't supported by the libavformat internal RTMP handler currently enabled. See the documentation for the correct way to pass parameters.
[23:13:42 CEST] <arpu> how can i set the timeout ?
[23:13:52 CEST] <arpu> input rtmp stream
[23:32:21 CEST] <ChocolateArmpits> ShaneVideo, did you try increasing analyzeduration or probesize ?
[23:32:53 CEST] <ShaneVideo> ChocolateArmpits I did, but same result, also what do they do?
[23:34:00 CEST] <ChocolateArmpits> they both are input options, analyzeduration tells how long to wait for the input to confirm format, probesize does the same but only with a specific amount of data
[23:34:33 CEST] <ShaneVideo> is there a way to have it exit if it doesn't confirm the format in the specified time
[23:34:40 CEST] <ShaneVideo> I want it to exit so I can restart the process
[23:34:58 CEST] <ChocolateArmpits> well you could try
[23:35:06 CEST] <ChocolateArmpits> inserting a video filter
[23:35:13 CEST] <ChocolateArmpits> or forcing a video codec
[23:35:26 CEST] <ChocolateArmpits> essentially add something that will come out in error
[23:35:39 CEST] <ChocolateArmpits> didn't see any specific option though
[23:35:44 CEST] <ShaneVideo> im doing a vcodec copy, would adding a filter or forcing a codec cause it to reencode?
[23:35:53 CEST] <ChocolateArmpits> yes
[23:36:24 CEST] <ChocolateArmpits> alternatively you can do -map 0:v
[23:36:31 CEST] <ChocolateArmpits> that should be compatible with -vcodec copy
[23:36:44 CEST] <ShaneVideo> ill try it! ty ChocolateArmpits
[23:36:46 CEST] <ChocolateArmpits> and will throw an error if there's no video stream present
[23:38:34 CEST] <ShaneVideo> that worked
[23:40:03 CEST] <ChocolateArmpits> np
[00:00:00 CEST] --- Sun May 21 2017

More information about the Ffmpeg-devel-irc mailing list