diff --git a/docs/getting-started/README.md b/docs/getting-started/README.md index bf0c880e..2f45bbee 100644 --- a/docs/getting-started/README.md +++ b/docs/getting-started/README.md @@ -74,7 +74,7 @@ For images with VAAPI GPU hardware acceleration using intel drivers use: - `ghcr.io/m1k1o/neko/intel-xfce:latest` - `ghcr.io/m1k1o/neko/intel-kde:latest` -For images with Nvidia GPU hardware acceleration using EGL use: +For images with Nvidia GPU hardware acceleration using EGL (see example below) use: - `ghcr.io/m1k1o/neko/nvidia-chromium:latest` - `ghcr.io/m1k1o/neko/nvidia-google-chrome:latest` @@ -219,6 +219,12 @@ services: - You can verify that GPU is used for encoding by searching for `nvh264enc` in `docker logs neko` output. - If you don'ลง specify `NEKO_HWENC: nvenc` environment variable, CPU encoding will be used but GPU will still be available for browser rendering. +Broadcast pipeline is not hardware accelerated by default. You can use this pipeline created by [@evilalmus](https://github.com/m1k1o/neko/issues/276#issuecomment-1498362533). + +```yaml +NEKO_BROADCAST_PIPELINE: "flvmux name=mux ! rtmpsink location={url} pulsesrc device={device} ! audio/x-raw,channels=2 ! audioconvert ! voaacenc ! mux. ximagesrc display-name={display} show-pointer=false use-damage=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! video/x-raw,format=NV12 ! nvh264enc name=encoder preset=low-latency-hq gop-size=25 spatial-aq=true temporal-aq=true bitrate=2800 vbv-buffer-size=2800 rc-mode=6 ! h264parse config-interval=-1 ! video/x-h264,stream-format=byte-stream,profile=high ! h264parse ! mux." +``` + ### Want to use VPN for your n.eko browsing? - Check this out: https://github.com/m1k1o/neko-vpn diff --git a/docs/getting-started/troubleshooting.md b/docs/getting-started/troubleshooting.md index cfff4e6e..5557e4a8 100644 --- a/docs/getting-started/troubleshooting.md +++ b/docs/getting-started/troubleshooting.md @@ -210,3 +210,17 @@ Most likely you forgot to add `-cap-add=SYS_ADMIN` when using chromium-based bro ``` This error originates from browser, that it could not connect to dbus. This does not affect us and can be ignored. + +### Broadcast pipeline not working with some ingest servers + +See [related issue](https://github.com/m1k1o/neko/issues/276). + +``` +Could not connect to RTMP stream "'rtmp:///live/ live=1'" for writing +``` + +Some ingest servers require `live=1` parameter in the URL (e.g. nginx-rtmp-module). Some do not and do not accept aphostrophes (e.g. owncast). You can try to change the pipeline to: + +```yaml +NEKO_BROADCAST_PIPELINE: "flvmux name=mux ! rtmpsink location={url} pulsesrc device={device} ! audio/x-raw,channels=2 ! audioconvert ! voaacenc ! mux. ximagesrc display-name={display} show-pointer=false use-damage=false ! video/x-raw,framerate=28/1 ! videoconvert ! queue ! x264enc bframes=0 key-int-max=0 byte-stream=true tune=zerolatency speed-preset=veryfast ! mux." +```