X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=README;h=ed86214d27d329ecddeb4c8f8c5c3107e1a062e2;hp=be806bf89ecff9f093628093329b2a51427c284c;hb=HEAD;hpb=663189f3d7de39eb702c0b972c6a96d9299452ea diff --git a/README b/README index be806bf..60a67c7 100644 --- a/README +++ b/README @@ -36,35 +36,25 @@ to 800 MHz after 30 seconds due to thermal constraints), Intel HD Graphics Nageru currently needs: - - An Intel processor with Intel Quick Sync, or otherwise some hardware - H.264 encoder exposed through VA-API. Note that you can use VA-API over - DRM instead of X11, to use a non-Intel GPU for rendering but still use - Quick Sync (Nageru does this automatically for you if needed). - - - Two or more Blackmagic USB3 or PCI cards, either HDMI or SDI. + - Some sort of video capture cards; typically two or more Blackmagic USB3 + or PCI cards, either HDMI or SDI (V4L2 is not generally supported). The PCI cards need Blackmagic's own drivers installed. The USB3 cards - are driven through the “bmusb” driver, using libusb-1.0. If you want - zerocopy USB, you need libusb 1.0.21 or newer, as well as a recent - kernel (4.6.0 or newer). Zerocopy USB helps not only for performance, - but also for stability. You need at least version 0.7.3. + are driven through the “bmusb” driver, using libusb-1.0. - Movit, my GPU-based video filter library (https://movit.sesse.net). You will need at least version 1.5.2. - Qt 5.5 or newer for the GUI. - - QCustomPlot for the histogram display in the frame analyzer. - - libmicrohttpd for the embedded web server. - x264 for encoding high-quality video suitable for streaming to end users. - FFmpeg for muxing, and for encoding audio. You will need at least - version 4.0. + version 5.1. - Working OpenGL; Movit works with almost any modern OpenGL implementation. - Nageru has been tested with Intel on Mesa (you want 11.2 or newer, due - to critical stability bugfixes), and with NVIDIA's proprietary drivers. + Nageru has been tested with Intel on Mesa, and with NVIDIA's proprietary drivers. The status of AMD's proprietary drivers is currently unknown. - libzita-resampler, for resampling sound sources so that they are in sync @@ -75,8 +65,6 @@ Nageru currently needs: - libjpeg, for encoding MJPEG streams when VA-API JPEG support is not available. - - Zita-resampler, for adjusting audio to be in sync with video. - - Protocol Buffers (protobuf), for storing various forms of settings and state. @@ -92,6 +80,17 @@ Nageru currently needs: is fine) and add -Dcef_dir=/cef_binary_X.XXXX.XXXX.XXXXXXXX_linux64 on the meson command line (substituting X with the real version as required). + - Optional: libsrt, for SRT inputs (by default, Nageru will listen on + port 9710, although you can change this port on the command line, + turn it off with --srt-port -1, or turn it off live in the UI). + SRT can also be used for output in addition to listening for HTTP + (see --srt-destination). If you build with libsrt, make sure it is not + linked to OpenSSL, for license reasons. + + - Optional: SVT-AV1, for encoding high-quality video suitable for streaming to + end users (higher quality than using x264, but not nearly as mature). + You will need at least version 1.5.0. + Futatabi also needs: @@ -101,17 +100,17 @@ Futatabi also needs: - SQLite, for storing state. -If on Debian buster or something similar, you can install everything you need +If on Debian bullseye or something similar, you can install everything you need with: - apt install qtbase5-dev libqt5opengl5-dev qt5-default libqcustomplot-dev \ + apt install qtbase5-dev libqt5opengl5-dev qt5-default \ pkg-config libmicrohttpd-dev libusb-1.0-0-dev libluajit-5.1-dev \ libzita-resampler-dev libva-dev libavcodec-dev libavformat-dev \ libswscale-dev libavresample-dev libmovit-dev libegl1-mesa-dev \ libasound2-dev libx264-dev libbmusb-dev protobuf-compiler \ - libprotobuf-dev libsqlite3-dev meson libjpeg-dev + libprotobuf-dev libsqlite3-dev meson libjpeg-dev libsrt-gnutls-dev -Exceptions as of December 2018: +Exceptions as of September 2023: - Debian does not carry CEF (but it is optional). You can get experimental (and not security-supported) CEF Debian packages built for unstable at @@ -119,6 +118,7 @@ Exceptions as of December 2018: meson obj -Dcef_dir=/usr/lib/x86_64-linux-gnu/cef -Dcef_build_type=system -Dcef_no_icudtl=true + The patches/ directory contains a patch that helps zita-resampler performance. It is meant for upstream, but was not in at the time Nageru was released. It is taken to be by Steinar H. Gunderson (ie., my ex-work @@ -129,7 +129,7 @@ type meson obj && cd obj && ninja -To start Nageru, just hook up your equipment, and then type “./nageru”. +To start Nageru, hook up your equipment, and then type “./nageru”. For Futatabi documentation, please see https://nageru.sesse.net/doc/. It is strongly recommended to have the rights to run at real-time priority;