]>
git.sesse.net Git - nageru/log
Steinar H. Gunderson [Tue, 8 Aug 2017 16:04:38 +0000 (18:04 +0200)]
Save a glGetIntegerv() call every time we draw.
Steinar H. Gunderson [Mon, 7 Aug 2017 19:31:26 +0000 (21:31 +0200)]
Specify sRGB transfer characteristics in the H.264 files (added in newer versions of H.264).
Steinar H. Gunderson [Mon, 7 Aug 2017 19:30:54 +0000 (21:30 +0200)]
Convert some NULL instances to nullptr.
Steinar H. Gunderson [Fri, 21 Jul 2017 11:11:36 +0000 (13:11 +0200)]
Rework the x264 speedcontrol presets.
Since speedcontrol was made, x264 has adjusted its “slower” preset,
so follow suit. This influences some of the other presets as well.
Unfortunately, I couldn't reproduce my previous results using
“Tears of Steel”, and the original scripts to do so have been lost;
when testing, the SSIM improves way too slowly. Switch to
“Elephants Dream” instead, even though --trellis 1 seems to yield
a slight SSIM _decrease_ for this clip, and check in the new scripts
to increase reproducibility of results. The measurements are on the
same machine. The timings have shifted around a bit (it looks like
the two fastest modes are faster, relatively speaking); potentially
due to x264 optimizations, but more likely due to differing content
and bitrate flags.
This is measured at the x264 version which is in Debian stretch,
which is r2748 (git
97eaef2 ).
Steinar H. Gunderson [Sun, 16 Jul 2017 01:35:49 +0000 (03:35 +0200)]
Release Nageru 1.6.2.
Steinar H. Gunderson [Sun, 16 Jul 2017 01:34:37 +0000 (03:34 +0200)]
Set the correct sample rate in the returned audio format if an ALSA device chose a different rate than the one we asked for.
Steinar H. Gunderson [Wed, 12 Jul 2017 21:53:18 +0000 (23:53 +0200)]
Properly flush the codecs when rewinding.
Steinar H. Gunderson [Tue, 11 Jul 2017 19:55:25 +0000 (21:55 +0200)]
Correct the signal name in a Kaeru message.
Steinar H. Gunderson [Mon, 10 Jul 2017 22:32:33 +0000 (00:32 +0200)]
Unbreak --no-audio-transcode.
Steinar H. Gunderson [Mon, 10 Jul 2017 21:15:42 +0000 (23:15 +0200)]
Fix some potential memory leaks in FFmpegCapture.
Steinar H. Gunderson [Mon, 10 Jul 2017 16:10:51 +0000 (18:10 +0200)]
Give Kaeru slightly cleaner shutdown on Ctrl-C.
Steinar H. Gunderson [Mon, 10 Jul 2017 11:35:19 +0000 (13:35 +0200)]
Update the x264 speedcontrol buffer size metric when the buffer changes.
Steinar H. Gunderson [Mon, 10 Jul 2017 10:36:39 +0000 (12:36 +0200)]
Factor the basic metrics (memory, uptime, etc.) into a separate class, so that Kaeru can also use it.
Steinar H. Gunderson [Mon, 10 Jul 2017 10:07:05 +0000 (12:07 +0200)]
Fix frame duration calculation in Kaeru; could throw speedcontrol off.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:37:16 +0000 (15:37 +0200)]
Add latency metrics to Kaeru.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:25:06 +0000 (15:25 +0200)]
Add mux metrics to Kaeru.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:22:06 +0000 (15:22 +0200)]
Add support for adjusting the x264 bitrate in Kaeru through sending SIGUSR1 and SIGUSR2.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:11:33 +0000 (15:11 +0200)]
Fix the kanji in Kaeru.
Steinar H. Gunderson [Sun, 9 Jul 2017 09:11:13 +0000 (11:11 +0200)]
Update the feature list, a bit overdue.
Steinar H. Gunderson [Sat, 8 Jul 2017 23:45:59 +0000 (01:45 +0200)]
Release Nageru 1.6.1.
Steinar H. Gunderson [Sat, 8 Jul 2017 23:45:02 +0000 (01:45 +0200)]
Include an example Grafana dashboard.
Steinar H. Gunderson [Sat, 8 Jul 2017 23:43:17 +0000 (01:43 +0200)]
Install kaeru on make install.
Steinar H. Gunderson [Sat, 8 Jul 2017 22:46:58 +0000 (00:46 +0200)]
Build Kaeru by default.
Steinar H. Gunderson [Sat, 8 Jul 2017 16:43:39 +0000 (18:43 +0200)]
Add support for transcoding the audio in Kaeru (on by default).
Steinar H. Gunderson [Sat, 8 Jul 2017 11:45:13 +0000 (13:45 +0200)]
Add support to FFmpegCapture to decode the audio.
Steinar H. Gunderson [Fri, 7 Jul 2017 16:02:04 +0000 (18:02 +0200)]
Initial check-in of Kaeru, a simple transcoder based on Nageru code.
Steinar H. Gunderson [Thu, 6 Jul 2017 22:25:48 +0000 (00:25 +0200)]
Fix a problem where we could wait for a very long time for the first frame on FFmpeg inputs.
Steinar H. Gunderson [Wed, 5 Jul 2017 18:04:37 +0000 (20:04 +0200)]
Un-name the main thread again, since it makes killall stop working.
Steinar H. Gunderson [Wed, 5 Jul 2017 07:50:41 +0000 (09:50 +0200)]
Updated the Debian status.
Steinar H. Gunderson [Tue, 4 Jul 2017 23:12:59 +0000 (01:12 +0200)]
Use the new Movit VAO functionality.
See the Movit changelog for full rationale, but basically it works
around a crash bug in NVIDIA's drivers.
Steinar H. Gunderson [Tue, 4 Jul 2017 20:37:36 +0000 (22:37 +0200)]
Fix a typo/thinko in the five-frames-ahead logic.
Steinar H. Gunderson [Sun, 2 Jul 2017 09:30:39 +0000 (11:30 +0200)]
Optimize away some glGetUniformLocation calls.
Steinar H. Gunderson [Fri, 30 Jun 2017 21:58:39 +0000 (23:58 +0200)]
Hard-code CQP mode instead of keeping VBR at the top. Fixes a crash with i965-va-driver 1.8.x, which now supports VBR.
Steinar H. Gunderson [Thu, 29 Jun 2017 21:47:34 +0000 (23:47 +0200)]
Move audio encoding over to its own mutex, again reducing mutex contention.
Steinar H. Gunderson [Thu, 29 Jun 2017 21:10:00 +0000 (23:10 +0200)]
Don't bother adding audio for silent cards.
Steinar H. Gunderson [Thu, 29 Jun 2017 20:53:24 +0000 (22:53 +0200)]
Only report disk space anew every second. Saves 20% CPU or so on the UI thread (!).
Steinar H. Gunderson [Thu, 29 Jun 2017 20:21:48 +0000 (22:21 +0200)]
Fix a thread race on the jitter history, potentially leading to crashes.
Steinar H. Gunderson [Thu, 29 Jun 2017 19:34:44 +0000 (21:34 +0200)]
Add a summary for the amount of margin we have in reaching the output clock (ie., whether we are early or late).
Steinar H. Gunderson [Thu, 29 Jun 2017 19:20:03 +0000 (21:20 +0200)]
Write video to disk on a background thread; reduces mutex contention a fair bit when recording to slow disks.
Steinar H. Gunderson [Thu, 29 Jun 2017 19:15:29 +0000 (21:15 +0200)]
Fix a small memory leak.
Steinar H. Gunderson [Wed, 28 Jun 2017 22:57:01 +0000 (00:57 +0200)]
Do some hotfixes to reduce mutex contention (but this needs a rework).
Steinar H. Gunderson [Wed, 28 Jun 2017 19:34:58 +0000 (21:34 +0200)]
Yield instead of busy-waiting on fences for NVIDIA cards.
Steinar H. Gunderson [Wed, 28 Jun 2017 18:39:16 +0000 (20:39 +0200)]
Give the UI thread a name.
Steinar H. Gunderson [Wed, 28 Jun 2017 17:50:32 +0000 (19:50 +0200)]
Fix a use-after-free when using video inputs. Found by GCC's -fsanitize=address.
Steinar H. Gunderson [Sun, 25 Jun 2017 14:41:47 +0000 (16:41 +0200)]
Rework the queue drop algorithm again.
The old one worked fine for most cases, but when two cards drift
very slowly out of sync (and one of them is the master), it's inadequate;
we should simply drop one frame at the right moment and be done with it.
Of course, knowing what the right moment is can be tricky, due to jitter,
which we now explicitly model.
Also include a separate program that tests various properties of different
possible policies (used to determine which one to use), based on replaying
real event logs.
Steinar H. Gunderson [Sat, 24 Jun 2017 19:48:32 +0000 (21:48 +0200)]
Set realtime priority for the DeckLink thread if possible, to reduce jitter.
Steinar H. Gunderson [Sat, 24 Jun 2017 17:42:02 +0000 (19:42 +0200)]
Remove old card metrics when reinitializing cards.
Steinar H. Gunderson [Thu, 22 Jun 2017 23:20:49 +0000 (01:20 +0200)]
Fix a lock that was held too long in an edge case.
Steinar H. Gunderson [Wed, 21 Jun 2017 19:50:37 +0000 (21:50 +0200)]
Fix another Prometheus NaN problem.
Steinar H. Gunderson [Sat, 17 Jun 2017 16:51:01 +0000 (18:51 +0200)]
Add a metric for number of received frames per input, so that one can measure _actual_ fps.
Steinar H. Gunderson [Sat, 17 Jun 2017 14:06:11 +0000 (16:06 +0200)]
Fix a metric name.
Steinar H. Gunderson [Sat, 17 Jun 2017 14:04:18 +0000 (16:04 +0200)]
Add a summary for aggregated b-frame or not, since they are in general unaggregatable.
Steinar H. Gunderson [Sat, 17 Jun 2017 13:23:25 +0000 (15:23 +0200)]
Correct the scale of the memory metrics.
Steinar H. Gunderson [Sat, 17 Jun 2017 12:53:27 +0000 (14:53 +0200)]
Fix compilation with Clang.
Steinar H. Gunderson [Sat, 17 Jun 2017 12:40:42 +0000 (14:40 +0200)]
Switch to summaries instead of histograms for latency; they were not getting precise enough unless we had huge amounts of buckets.
Steinar H. Gunderson [Sat, 17 Jun 2017 12:03:30 +0000 (14:03 +0200)]
Fix a pessimizing move (Clang warning).
Steinar H. Gunderson [Sat, 17 Jun 2017 11:56:51 +0000 (13:56 +0200)]
Silence a Clang warning.
Steinar H. Gunderson [Sat, 17 Jun 2017 11:56:43 +0000 (13:56 +0200)]
Fix a Clang error.
Steinar H. Gunderson [Sat, 17 Jun 2017 12:00:45 +0000 (14:00 +0200)]
Consistently use call_once to initialize static metrics.
Steinar H. Gunderson [Sat, 17 Jun 2017 11:58:07 +0000 (13:58 +0200)]
Fix a crash with --record-x264-video when getting metrics.
Steinar H. Gunderson [Sat, 17 Jun 2017 11:45:00 +0000 (13:45 +0200)]
Fix compilation error.
Steinar H. Gunderson [Thu, 15 Jun 2017 17:33:01 +0000 (19:33 +0200)]
Update the queue length metric after trimming, not before.
Steinar H. Gunderson [Thu, 15 Jun 2017 16:28:24 +0000 (18:28 +0200)]
Unbreak the min/max latency stdout display; it did not ignore non-timestamps properly.
Steinar H. Gunderson [Thu, 15 Jun 2017 16:22:04 +0000 (18:22 +0200)]
Make separate latencies per card, instead of just min and max.
Steinar H. Gunderson [Thu, 15 Jun 2017 15:21:56 +0000 (17:21 +0200)]
Fix a problem where Prometheus cannot handle negative NaNs.
Steinar H. Gunderson [Thu, 15 Jun 2017 07:44:26 +0000 (09:44 +0200)]
Tighten up the Movit #include paths a bit; fixes compilation error in some cases.
Steinar H. Gunderson [Tue, 13 Jun 2017 21:53:19 +0000 (23:53 +0200)]
Add support for bus audio level metrics, which includes support for removing metrics.
Steinar H. Gunderson [Tue, 13 Jun 2017 21:30:37 +0000 (23:30 +0200)]
Pre-serialize only the labels for metrics; the ordering constraints did not really feel too safe.
Steinar H. Gunderson [Mon, 12 Jun 2017 22:47:45 +0000 (00:47 +0200)]
Store the metrics sorted.
This makes it easier to remove them later (since you can index by
name), which we're going to need.
Steinar H. Gunderson [Mon, 12 Jun 2017 21:37:18 +0000 (23:37 +0200)]
Expose a metric for the free disk space (already possible via the normal node exporter, but with this one, you don't need to hunt for the right filesystem).
Steinar H. Gunderson [Mon, 12 Jun 2017 20:33:29 +0000 (22:33 +0200)]
Expose a metric for Nageru being stalled on the Quick Sync encoder.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:56:49 +0000 (21:56 +0200)]
Expose when we started the current output file.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:55:19 +0000 (21:55 +0200)]
Start times should be gauges, not counters.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:53:18 +0000 (21:53 +0200)]
Fix a problem where not all Quick Sync metrics would get initialized.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:52:09 +0000 (21:52 +0200)]
Expose the start time point instead of the uptime, as per Prometheus recommendations.
Steinar H. Gunderson [Mon, 12 Jun 2017 18:06:00 +0000 (20:06 +0200)]
Added some mux metrics.
Steinar H. Gunderson [Mon, 12 Jun 2017 18:04:36 +0000 (20:04 +0200)]
Fix a crash on getting metrics after switching file.
Steinar H. Gunderson [Sun, 11 Jun 2017 20:59:26 +0000 (22:59 +0200)]
Add some DeckLink output metrics, and also fix a potential crash.
Steinar H. Gunderson [Sun, 11 Jun 2017 18:07:00 +0000 (20:07 +0200)]
Add exported metrics for all the latency measurements.
Steinar H. Gunderson [Sun, 11 Jun 2017 17:43:02 +0000 (19:43 +0200)]
Make the histograms more flexible.
Steinar H. Gunderson [Sun, 11 Jun 2017 14:35:46 +0000 (16:35 +0200)]
Add a histogram of output crf values from x264.
Steinar H. Gunderson [Sun, 11 Jun 2017 13:55:20 +0000 (15:55 +0200)]
Add some base x264 metrics.
Steinar H. Gunderson [Sun, 11 Jun 2017 13:36:39 +0000 (15:36 +0200)]
Export some metrics from x264 speed control.
Steinar H. Gunderson [Fri, 9 Jun 2017 19:35:15 +0000 (21:35 +0200)]
Fix that metrics are being called nageru_nageru_*.
Steinar H. Gunderson [Fri, 9 Jun 2017 19:19:47 +0000 (21:19 +0200)]
Add some memory metrics.
Steinar H. Gunderson [Fri, 9 Jun 2017 19:09:07 +0000 (21:09 +0200)]
Rework metrics serialization.
Steinar H. Gunderson [Fri, 9 Jun 2017 18:46:32 +0000 (20:46 +0200)]
Streamline the metrics member function names a bit.
Steinar H. Gunderson [Fri, 9 Jun 2017 18:19:27 +0000 (20:19 +0200)]
Print out int metrics in full precision, not as doubles.
Steinar H. Gunderson [Fri, 9 Jun 2017 18:18:33 +0000 (20:18 +0200)]
Add some input metrics.
Steinar H. Gunderson [Fri, 9 Jun 2017 17:35:13 +0000 (19:35 +0200)]
Mark the appropriate metrics as gauges.
Steinar H. Gunderson [Fri, 9 Jun 2017 17:26:58 +0000 (19:26 +0200)]
Rename some mixer metrics.
Steinar H. Gunderson [Thu, 8 Jun 2017 23:00:21 +0000 (01:00 +0200)]
Add an exported metrics for number of connected clients.
Steinar H. Gunderson [Thu, 8 Jun 2017 23:00:09 +0000 (01:00 +0200)]
Fix a leak when getting metrics.
Steinar H. Gunderson [Thu, 8 Jun 2017 22:32:08 +0000 (00:32 +0200)]
Add some exported metrics for the EBU R128 measurements.
Steinar H. Gunderson [Thu, 8 Jun 2017 22:31:11 +0000 (00:31 +0200)]
Prefix all metrics with nageru_ automatically.
Steinar H. Gunderson [Thu, 8 Jun 2017 22:28:38 +0000 (00:28 +0200)]
Properly initialize metrics.
Steinar H. Gunderson [Thu, 8 Jun 2017 22:15:19 +0000 (00:15 +0200)]
Add the first beginnings of Prometheus metrics.
Steinar H. Gunderson [Sun, 4 Jun 2017 20:54:47 +0000 (22:54 +0200)]
Fix an issue where video frames would not be properly shown, most commonly in previews.
Steinar H. Gunderson [Mon, 29 May 2017 17:58:13 +0000 (19:58 +0200)]
Release Nageru 1.6.0.
Steinar H. Gunderson [Sun, 28 May 2017 16:35:06 +0000 (18:35 +0200)]
Fix some more issues in rate change.