Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Can't use H264 #79

Closed
oldsweatyman opened this issue Jul 7, 2021 · 4 comments
Closed

[Question] Can't use H264 #79

oldsweatyman opened this issue Jul 7, 2021 · 4 comments
Labels
documentation Improvements or additions to documentation question Further information is requested

Comments

@oldsweatyman
Copy link

oldsweatyman commented Jul 7, 2021

Hey, thanks for the container. Running into some issues though. I get a pretty annoying stutter with videos, both with VLC and firefox, and can't seem to figure out settings to get completely smooth playback. I figured I'd try x264 encoding to see if that would make it better.

Getting this error:

2021-07-06 22:22:18,848 DEBG 'neko' stdout output:
�[90m2:22AM�[0m �[1m�[31mERR�[0m�[0m message handler has failed �[31merror=�[0m�[31m"signal/answer failed: unable to start track, codec is not supported by remote"�[0m �[36mmodule=�[0mwebsocket

2021-07-06 22:22:34,161 DEBG 'neko' stdout output:
�[90m2:22AM�[0m �[31mWRN�[0m read message error �[31merror=�[0m�[31m"websocket: close 1005 (no status)"�[0m �[36mmodule=�[0mwebsocket

2021-07-06 22:22:34,161 DEBG 'neko' stdout output:
�[90m2:22AM�[0m �[32mINF�[0m Setting new connection state: Closed �[36mmodule=�[0mwebrtc �[36msubsystem=�[0mice
�[90m2:22AM�[0m �[32mINF�[0m peer connection state changed: closed �[36mmodule=�[0mwebrtc �[36msubsystem=�[0mpc
�[90m2:22AM�[0m �[32mINF�[0m Pipelines shutting down... �[36mmodule=�[0mremote
�[90m2:22AM�[0m �[32mINF�[0m peer closed �[36mid=�[0mKK1GCXVq2aktaM-AjmlktKhz5gyAzAvB �[36mmodule=�[0mwebrtc

2021-07-06 22:22:34,168 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] source.c: auto_null.monitor: state: RUNNING -> IDLE

2021-07-06 22:22:34,168 DEBG 'pulseaudio' stdout output:
D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.

2021-07-06 22:22:34,168 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] source-output.c: Freeing output 0 "Record Stream"

2021-07-06 22:22:34,168 DEBG 'pulseaudio' stdout output:
I: [pulseaudio] client.c: Freed 1 "neko"
I: [pulseaudio] protocol-native.c: Connection died.

this is my docker compose:
docker run -d --name='stream' --net='proxynet' -e TZ="America/New_York" -e HOST_OS="Unraid" -e 'NEKO_PASSWORD'='stream' -e 'NEKO_PASSWORD_ADMIN'='&puMS29yJ#uv%d' -e 'NEKO_ICELITE'='true' -e 'NEKO_H264'='true' -e 'NEKO_VP8'='false' -e 'NEKO_VP9'='false' -e 'NEKO_MAX_FPS'='25' -e 'NEKO_EPR'='52000-52100' -e 'NEKO_SCREEN'='1920x1080@30' -p '8080:8080/tcp' -p '52000-52100:52000-52100/udp' -v '/mnt/user/downloads/hardlinks':'/home/neko/archive/':'rw' -v '/mnt/user/temp/hardlinks/':'/home/neko/temp':'rw' --shm-size="2gb" 'm1k1o/neko:vlc'

Any ideas?

@mbattista
Copy link
Contributor

H264 is not supported by Firefox. Try a different browser e.g. Chrome.

With your stutter. If you self-host, do you have enough upload speed? If that could be a factor, try lowering the NEKO_VIDEO_BITRATE.

In other cases, e.g. old CPU, you can try to fiddle with the NEKO_VIDEO parameter. If you need help with those, I can try to give some examples for VP8 later.

@oldsweatyman
Copy link
Author

oldsweatyman commented Jul 12, 2021

Switched tag to google-chrome and I get the same error:

2021-07-12 00:59:03,272 DEBG 'neko' stdout output:
�[90m4:59AM�[0m �[1m�[31mERR�[0m�[0m message handler has failed �[31merror=�[0m�[31m"signal/answer failed: unable to start track, codec is not supported by remote"�[0m �[36mmodule=�[0mwebsocket

2021-07-12 00:59:18,854 DEBG 'neko' stdout output:
�[90m4:59AM�[0m �[31mWRN�[0m read message error �[31merror=�[0m�[31m"websocket: close 1005 (no status)"�[0m �[36mmodule=�[0mwebsocket

docker compose:

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='stream' --net='proxynet' -e TZ="America/New_York" -e HOST_OS="Unraid" -e 'NEKO_PASSWORD'='stream' -e 'NEKO_PASSWORD_ADMIN'='&puMS29yJ#uv%d' -e 'NEKO_ICELITE'='true' -e 'NEKO_MAX_FPS'='30' -e 'NEKO_H264'='true' -e 'NEKO_VP8'='false' -e 'NEKO_EPR'='52000-52100' -e 'NEKO_SCREEN'='1920x1080@30' -p '8085:8080/tcp' -p '52000-52100:52000-52100/udp' -v '/mnt/user/downloads/hardlinks':'/home/neko/archive/':'rw' -v '/mnt/user/temp/hardlinks/':'/home/neko/temp':'rw' --shm-size="2gb" --cap-add SYS_ADMIN 'm1k1o/neko:google-chrome'

4f17445293a8aaa01a6ac5ce8b20ccbbd942f32bb1c3708f941ad5a4b85f4929

Don't have an old CPU (Intel® Xeon E-2146G)
I have gigabit up/down and I'm actually even accessing the container locally using the VLC tag instead of chrome or firefox (via ip:port address) and playing local files. Unmistakable stutter here and there including in audio. I shut off nearly all other containers and tried running a file off an SSD so there's no way it's an I/O issue. Is it actually possible to get perfect playback or am I chasing something that doesn't exist

@m1k1o
Copy link
Owner

m1k1o commented Jul 12, 2021

The WebRTC backend it handled by m1k1o/neko:base image. Browsers (and other apps) are just extending that image. Therefore, it should not matter if you use Google Chrome, Firefox, chromium or any other program installed within the virtual environment.

Error unable to start track, codec is not supported by remote is coming from WebRTC backend. It means, that your client (what is referred as remote) does not support codec (what is your choice — h264). As @mbattista correctly pointed out, Firefox does not support that. It would be interesting, to know what browser are you trying to use.

There was an attempt to solve the similar issue you are mentioning (Unmistakable stutter here and there, including in audio) #25 and since then, I personally don't see problems with streaming. Zero latency streaming is very sensible for any, even if just temporary network issue like packet reordering, high network latency or etc.

@m1k1o m1k1o added the question Further information is requested label Jul 14, 2021
@m1k1o m1k1o added the documentation Improvements or additions to documentation label Jul 23, 2021
@m1k1o m1k1o changed the title Can't use H264 [Question] Can't use H264 Aug 15, 2021
@m1k1o
Copy link
Owner

m1k1o commented Dec 5, 2021

#109 could shine more lights on this topic. @oldsweatyman can you try again, if recent pull request fixed this issue?

@m1k1o m1k1o closed this as completed Mar 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants