add arm video pipeline to container.
This commit is contained in:
parent
67c931350b
commit
b2f60d36a5
@ -117,6 +117,10 @@ ENV NEKO_PASSWORD=neko
|
|||||||
ENV NEKO_PASSWORD_ADMIN=admin
|
ENV NEKO_PASSWORD_ADMIN=admin
|
||||||
ENV NEKO_BIND=:8080
|
ENV NEKO_BIND=:8080
|
||||||
|
|
||||||
|
#
|
||||||
|
# custom arm values -> video pipeline with GPU encoding
|
||||||
|
ENV NEKO_VIDEO='ximagesrc display-name=%s use-damage=0 show-pointer=true use-damage=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! video/x-raw,framerate=30/1,format=NV12 ! v4l2h264enc extra-controls="controls,h264_profile=0,video_bitrate=1250000;" ! h264parse config-interval=3 ! video/x-h264,profile=baseline,stream-format=byte-stream'
|
||||||
|
|
||||||
#
|
#
|
||||||
# copy static files from previous stages
|
# copy static files from previous stages
|
||||||
COPY --from=server /src/bin/neko /usr/bin/neko
|
COPY --from=server /src/bin/neko /usr/bin/neko
|
||||||
|
29
README.md
29
README.md
@ -75,9 +75,9 @@ Use following docker images:
|
|||||||
- `m1k1o/neko:base` - for custom base.
|
- `m1k1o/neko:base` - for custom base.
|
||||||
|
|
||||||
For ARM-based devices (like Raspberry Pi, with GPU hardware acceleration):
|
For ARM-based devices (like Raspberry Pi, with GPU hardware acceleration):
|
||||||
- `m1k1o/neko:arm-base` - for custom arm based.
|
|
||||||
- `m1k1o/neko:arm-firefox` - for Firefox.
|
- `m1k1o/neko:arm-firefox` - for Firefox.
|
||||||
- `m1k1o/neko:arm-chromium` - for Chromium.
|
- `m1k1o/neko:arm-chromium` - for Chromium.
|
||||||
|
- `m1k1o/neko:arm-base` - for custom arm based.
|
||||||
|
|
||||||
Networking:
|
Networking:
|
||||||
- If you want to use n.eko in **external** network, you can omit `NEKO_NAT1TO1`. It will automatically get your Public IP.
|
- If you want to use n.eko in **external** network, you can omit `NEKO_NAT1TO1`. It will automatically get your Public IP.
|
||||||
@ -129,7 +129,7 @@ services:
|
|||||||
NEKO_NAT1TO1: <your-IP>
|
NEKO_NAT1TO1: <your-IP>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Chromium Ungoogled
|
## Chromium
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3.4"
|
version: "3.4"
|
||||||
@ -175,30 +175,39 @@ services:
|
|||||||
NEKO_NAT1TO1: <your-IP>
|
NEKO_NAT1TO1: <your-IP>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Raspberry Pi
|
||||||
|
|
||||||
|
Note! Since this pipeline is using H264, that enables GPU HW acceleration for Raspberry Pi, you are only able to connect from browsers supporting H264 for WebRTC. At the time of implementing, [Firefox does not support this](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/WebRTC_codecs#supported-foot-1).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3.4"
|
version: "3.4"
|
||||||
services:
|
services:
|
||||||
neko:
|
neko:
|
||||||
image: "m1k1o/neko:arm-chromium"
|
image: "m1k1o/neko:arm-chromium"
|
||||||
restart: "unless-stopped"
|
restart: "unless-stopped"
|
||||||
# increase on rpi's with more then 1gb ram
|
# increase on rpi's with more then 1gb ram.
|
||||||
shm_size: "520mb"
|
shm_size: "520mb"
|
||||||
ports:
|
ports:
|
||||||
- "8084:8080"
|
- "8084:8080"
|
||||||
- "52000-52100:52000-52100/udp"
|
- "52000-52100:52000-52100/udp"
|
||||||
# this is important since we need a GPU for hardware acceleration alternatively mount the devices into the docker
|
# this is important since we need a GPU for hardware acceleration alternatively mount the devices into the docker.
|
||||||
privileged: true
|
privileged: true
|
||||||
environment:
|
environment:
|
||||||
NEKO_SCREEN: '1280x720@30'
|
NEKO_SCREEN: '1280x720@30'
|
||||||
NEKO_PASSWORD: 'neko'
|
NEKO_PASSWORD: 'neko'
|
||||||
NEKO_PASSWORD_ADMIN: 'admin'
|
NEKO_PASSWORD_ADMIN: 'admin'
|
||||||
NEKO_EPR: 52000-52100
|
NEKO_EPR: 52000-52100
|
||||||
NEKO_VP8: 'false'
|
NEKO_H264: 1
|
||||||
NEKO_VP9: 'false'
|
# optional: Change target bitrate and framerate on this parameter.
|
||||||
NEKO_H264: 'true'
|
NEKO_VIDEO: |
|
||||||
# Change target bitrate and framerate on this parameter
|
ximagesrc display-name=%s use-damage=0 show-pointer=true use-damage=false
|
||||||
NEKO_VIDEO: ' ximagesrc display-name=%s use-damage=0 show-pointer=true use-damage=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! video/x-raw,framerate=30/1,format=NV12 ! v4l2h264enc extra-controls="controls,h264_profile=0,video_bitrate=1250000;" ! h264parse config-interval=3 ! video/x-h264,profile=baseline,stream-format=byte-stream '
|
! video/x-raw,framerate=30/1
|
||||||
NEKO_MAX_FPS: 0
|
! videoconvert
|
||||||
|
! queue
|
||||||
|
! video/x-raw,framerate=30/1,format=NV12
|
||||||
|
! v4l2h264enc extra-controls="controls,h264_profile=0,video_bitrate=1250000;"
|
||||||
|
! h264parse config-interval=3
|
||||||
|
! video/x-h264,profile=baseline,stream-format=byte-stream
|
||||||
```
|
```
|
||||||
|
|
||||||
## Mobile support
|
## Mobile support
|
||||||
|
Reference in New Issue
Block a user