PDA

View Full Version : nLite for ARM Linux (Armbian)



Reddwarf
2018-09-25, 05:48 PM
I'm looking for source code for nLite that will compile (and run LoL) on ARM Linux (Armbian). If successful nLite can be run on cheap tv-boxes from China, like M8S, Beelink, MXQ Pro etc.
Can someone point me to the source download link?

sub
2018-09-25, 06:58 PM
The most recent code is here:
https://github.com/emveepee/NLite-for-NextPVR

Martin should be able to help you out if you have any issues compiling it.

Reddwarf
2018-09-25, 07:24 PM
The most recent code is here:
https://github.com/emveepee/NLite-for-NextPVR

Martin should be able to help you out if you have any issues compiling it.

Thanks, there is a couple of warnings during compilation. Running it it produces just a transparent window. Logs attached.

sub
2018-09-25, 07:32 PM
If you paste this into your web browser, do you see a screenshot of the UI?

http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=693228a946be41abb062d4a68185dad1

mvallevand
2018-09-25, 08:10 PM
Since you are getting a sid the connections is working. You might need to send the web.log. The first quality call usually returns an error because the serve isn't ready but in this case it never establishes a session. I expect lots of exceptions in web.log.

Martin

mvallevand
2018-09-25, 08:18 PM
The most recent code is here:
https://github.com/emveepee/NLite-for-NextPVR

Martin should be able to help you out if you have any issues compiling it.

Before running this I suggest you run the VLC that you have on your boxes Armbian. That will tell you how video playback will work for you.

To get the source you can get the zip from the link sub provided or even easier directly clone it to your box

git clone https://github.com/emveepee/NLite-for-NextPVR.git

Martin

Reddwarf
2018-09-25, 08:19 PM
If you paste this into your web browser, do you see a screenshot of the UI?

http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=693228a946be41abb062d4a68185dad1

I'll test and report back. It doesen't seem to be possible to specify server so it just picks one random, is that so?

mvallevand
2018-09-25, 08:24 PM
I'll test and report back. It doesen't seem to be possible to specify server so it just picks one random, is that so?

Perhaps read some older posts first

https://forums.nextpvr.com/showthread.php?58727-NLite-windows-build&p=509321#post509321

Martin

Reddwarf
2018-09-25, 08:42 PM
If you paste this into your web browser, do you see a screenshot of the UI?

http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=693228a946be41abb062d4a68185dad1

Nope, just loading...

Reddwarf
2018-09-25, 08:46 PM
Perhaps read some older posts first

https://forums.nextpvr.com/showthread.php?58727-NLite-windows-build&p=509321#post509321

Martin

Thanks for reminding me but it does not work. It still just picks a random server.


karstein@aml:~/NLite-for-NextPVR-master/nlite$ ./nlite -server 192.168.1.12:88Checking configuration
About to connect to server
curl_easy_perform(http://192.168.1.5:8866/services/service?method=session.initiate&ver=1.0&device=sdl)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/services/service?method=session.initiate&ver=1.0&device=sdl) failed: Timeout was reached
curl_easy_perform(http://192.168.1.5:8866/services/service?method=session.login&sid=&md5=F452048B5B5B8BEF0B6460E0A37787D3)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/services/service?method=session.login&sid=&md5=F452048B5B5B8BEF0B6460E0A37787D3) failed: Timeout was reached
Found server, but login failed
About to get hostname
About to initialize SDL
About to create window

====info name 0: opengl =====
====max_texture_height 0 =====
====max_texture_width 0 =====

====info name 1: opengles2 =====
====max_texture_height 1 =====
====max_texture_width 1 =====

====info name 2: software =====
====max_texture_height 2 =====
====max_texture_width 2 =====

Requesting renderer: -1
VLC_PLUGIN_PATH=(null)
curl_easy_perform(http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=) failed: Timeout was reached
curl_easy_perform(http://192.168.1.5:8866/control?client=sdl-aml&media=stop&sid=)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/control?client=sdl-aml&media=stop&sid=) failed: Timeout was reached
curl_easy_perform(http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=) failed: Timeout was reached
curl_easy_perform(http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/control?quality=high&client=sdl-aml&key=31&sid=) failed: Timeout was reached
INFO: Window 2 got unknown event 1
INFO: Window 2 got unknown event 2
INFO: Window 2 got unknown event 1
INFO: Window 2 moved to 320,180
INFO: Window 2 exposed
INFO: Window 2 got unknown event 10
INFO: Window 2 got unknown event 12
INFO: Window 2 got unknown event 11
INFO: Window 2 got unknown event 13
curl_easy_perform(http://192.168.1.5:8866/activity?client=sdl-aml&updates=1&sid=)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/activity?client=sdl-aml&updates=1&sid=) failed: Timeout was reached
curl_easy_perform(http://192.168.1.5:8866/activity?client=sdl-aml&updates=1&sid=)
HTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/activity?client=sdl-aml&updates=1&sid=) failed: Timeout was reached
curl_easy_perform(http://192.168.1.5:8866/activity?client=sdl-aml&updates=1&sid=)
^CHTTP status: 0
curl_easy_perform(http://192.168.1.5:8866/activity?client=sdl-aml&updates=1&sid=) failed: Timeout was reached
karstein@aml:~/NLite-for-NextPVR-master/nlite$

mvallevand
2018-09-25, 08:54 PM
It is possible the source you ran didn't have that option and you need to rebuild it.

Martin

Reddwarf
2018-09-25, 08:57 PM
It is possible the source you ran didn't have that option and you need to rebuild it.

Martin

Ah, hm, where can I find an updated source?

mvallevand
2018-09-25, 09:20 PM
Did you built it from the instructions in this thread?

Martin

Reddwarf
2018-09-25, 09:22 PM
Did you built it from the instructions in this thread?

Martin

Downloaded .zip from github and build it yes.

mvallevand
2018-09-25, 09:24 PM
Ok then did you enter the whole command line

-server ipaddress:8866:0000

the log you posted looked truncated

Martin

Reddwarf
2018-09-25, 09:35 PM
Ok then did you enter the whole command line

-server ipaddress:8866:0000

the log you posted looked truncated

Martin

I did forget the ":0000" at the end. When I included them I get the correct server, can browse recordings but when I start playing a recording nlite crashed. See end of console output attached

[code]
activity:
<activity>
<screen>Recordings</screen>
<url>/stream?client=sdl-aml&amp;f=M%3A%5CRecordings%5CFlyhavarikommisjonen%5CS eason%2004%5CFlyhavarikommisjonen.S04E07.S04E07.ts</url>
<recording_id>4144</recording_id>
<recording_name>Flyhavarikommisjonen</recording_name>
<recording_title>Flyhavarikommisjonen</recording_title>
<recording_description>(Ep. 7:12/s4). Ute av syne.</recording_description>
<recording_subtitle>S04E07</recording_subtitle>
<recording_duration>4373</recording_duration>
<file>M:\Recordings\Flyhavarikommisjonen\Season 04\Flyhavarikommisjonen.S04E07.S04E07.ts</file>
</activity>

About to ask for: http://192.168.1.12:8866/stream?client=sdl-aml&f=M%3A%5CRecordings%5CFlyhavarikommisjonen%5CSeaso n%2004%5CFlyhavarikommisjonen.S04E07.S04E07.ts&sid=d611bbf5a8074e1d96e3801c2357bdc0
vlc: unknown option or missing mandatory argument `--avcodec-hw=any'
Try `vlc --help' for more information.
LibVLC initialization failure.
Player@1
Segmentation fault
karstein@aml:~/NLite-for-NextPVR-master/nlite$
[code]

mvallevand
2018-09-25, 09:41 PM
I did forget the ":0000" at the end. When I included them I get the correct server, can browse recordings but when I start playing a recording nlite crashed.

Before running nlite run this pointing to the VLC plugin folder

export VLC_PLUGIN_PATH=

Martin

Reddwarf
2018-09-25, 09:55 PM
Before running nlite run this pointing to the VLC plugin folder

export VLC_PLUGIN_PATH=

Martin

Which vlc-plugin directory would that be? I can't find a directory named just "vlc-plugin", there is -notify, -samba, -vlsub ?

mvallevand
2018-09-25, 10:10 PM
Which vlc-plugin directory would that be? I can't find a directory named just "vlc-plugin", there is -notify, -samba, -vlsub ?

Do you have /usr/lib/vlc/plugins/ It is usually under vlc somewhere

Martin

Reddwarf
2018-09-25, 10:23 PM
Do you have /usr/lib/vlc/plugins/ It is usually under vlc somewhere

Martin

I should have remembered that, I'm a bit rusty ;)
It starts to play the video and there is half a second of audio, then it stops and I get a lot of these messages:



curl_easy_perform(http://192.168.1.12:8866/activity?client=sdl-aml&format=xml&sid=805aa0200cae424c8bddfb6477756a05)
activity:
<activity>
<screen>Recordings</screen>
<url></url>
</activity>

curl_easy_perform(http://192.168.1.12:8866/control?client=sdl-aml&media=77.882000&sid=805aa0200cae424c8bddfb6477756a05)
HTTP status: 204
curl_easy_perform(http://192.168.1.12:8866/activity?client=sdl-aml&updates=1&sid=805aa0200cae424c8bddfb6477756a05)
curl_easy_perform(http://192.168.1.12:8866/control?quality=high&client=sdl-aml&key=31&sid=805aa0200cae424c8bddfb6477756a05)
HTTP status: 404
curl_easy_perform(http://192.168.1.12:8866/activity?client=sdl-aml&format=xml&sid=805aa0200cae424c8bddfb6477756a05)
activity:
<activity>
<screen>Recordings</screen>
<url></url>
</activity>

curl_easy_perform(http://192.168.1.12:8866/control?client=sdl-aml&media=78.984000&sid=805aa0200cae424c8bddfb6477756a05)
HTTP status: 204
INFO: Window 2 got unknown event 14
curl_easy_perform(http://192.168.1.12:8866/control?client=sdl-aml&media=stop&sid=805aa0200cae424c8bddfb6477756a05)
curl_easy_perform(http://192.168.1.12:8866/control?quality=high&client=sdl-aml&key=131153&sid=805aa0200cae424c8bddfb6477756a05)
curl_easy_perform(http://192.168.1.12:8866/activity?client=sdl-aml&format=xml&sid=805aa0200cae424c8bddfb6477756a05)
activity:
<activity>
<screen>Recordings</screen>
<url></url>
</activity>

karstein@aml:~/NLite-for-NextPVR-master/nlite$

mvallevand
2018-09-25, 10:40 PM
How does it play in vlc?

Martin

Reddwarf
2018-09-26, 05:44 PM
How does it play in vlc?

Martin

It plays fine from a local copy. Maybe it doesen't work so well over wifi, I'll try to switch to another arm computer with wired connection.

mvallevand
2018-09-26, 06:53 PM
You can also try the URL of the recording in vlc. It probably shows in web.log or web client.log

Martin

Reddwarf
2018-10-08, 12:23 PM
You can also try the URL of the recording in vlc. It probably shows in web.log or web client.log

Martin

I think MVP would have been a better choice on Linux, VLC doesn't seem to work so well.

What are alle the "Unknown event" messages I get? Is there a newer version og nLite source that can handle those events?

mvallevand
2018-10-08, 03:50 PM
I am not sure what you mean by MVP? if you mean the logic for the MVP and NMT they use the specific h/w video players. Sub choose to use libVLC because it is generic across many platforms. The issue as I've posted to you often is the libVLC hasn't been ported to use h/w on the many of the small processor platforms. That is why finding a device that supports Librelec and Kodi is the best choice right now on smaller platforms. Very few people are motivated to get libVLC working on ARM.

fred250 did nLite work for the RPi https://forums.nextpvr.com/showthread.php?59266-New-NextPVR-client-for-Raspberry-Pi-2-and-3 using its h/w player but there wasn't too much interest here. I want to write something similar for the S905 family using the Amlogic h/w player. In teality, most users seem to prefer Android (with lower performance) so that is why Kodi or sub's client (using the ExoPlayer library which does support h/w playback) appear so popular. Eventually I'd like to see an nlite port to Android probably using ExoPlayer and if sub doesn't code this I probably will.

Just ignore the error messages see https://forums.nextpvr.com/showthread.php?60471-NLite-for-Mac&p=527165#post527165 Kodi logs would show the same type of thing ffmpeg libraries can be very detailed.

Martin

Reddwarf
2018-10-08, 05:56 PM
I am not sure what you mean by MVP? if you mean the logic for the MVP and NMT they use the specific h/w video players. Sub choose to use libVLC because it is generic across many platforms. The issue as I've posted to you often is the libVLC hasn't been ported to use h/w on the many of the small processor platforms. That is why finding a device that supports Librelec and Kodi is the best choice right now on smaller platforms. Very few people are motivated to get libVLC working on ARM.

fred250 did nLite work for the RPi https://forums.nextpvr.com/showthread.php?59266-New-NextPVR-client-for-Raspberry-Pi-2-and-3 using its h/w player but there wasn't too much interest here. I want to write something similar for the S905 family using the Amlogic h/w player. In teality, most users seem to prefer Android (with lower performance) so that is why Kodi or sub's client (using the ExoPlayer library which does support h/w playback) appear so popular. Eventually I'd like to see an nlite port to Android probably using ExoPlayer and if sub doesn't code this I probably will.

Just ignore the error messages see https://forums.nextpvr.com/showthread.php?60471-NLite-for-Mac&p=527165#post527165 Kodi logs would show the same type of thing ffmpeg libraries can be very detailed.

Martin

No I mean the MVP media player on Armbian, which uses HW acceleration when available. I'd be interested to have a look at Fred's work, maybe there is something usable :)

mvallevand
2018-10-08, 06:25 PM
No I mean the MVP media player on Armbian, which uses HW acceleration when available. I'd be interested to have a look at Fred's work, maybe there is something usable :)

Ok you probably mean mpv (son of mplayer) so yes I guess it could have been embedded instead of libvlc. That doesn't mean it will provide h/w acceleration any better than libvlc does. There are flavours of Armbian for every chip so even if mpv works with your version it might not run on another.

Fred's work with the RPi uses OMX Player so that only runs on the RPi chip.

Martin

mvallevand
2018-10-09, 09:12 PM
I just tried Armbian on my S905x box and mpv is installed by default but on the balbes150 build I have mpv is not accelerated and 1080i mpeg2 video doesn't play which is a must have in North America.

Martin