- you can run as many engines with same credentials on different devices as you want.
- same as on Windows if your Linux host is have GUI, or via .conf file/command line if it doesn’t (with “–login” and “–password” options).
- Ace Stream more depends on Python version, rather then distro type/version.
I don’t have a GUI on my linux-server. Are there any recommendations for best performance for a novice user or are the defaults good enough for the ace-engine in linux? Thank you Benny.
Yes, but you can try change caches size/type/location for your needs, something like
--live-cache-type
memory
--vod-cache-type
disk
--cache-dir
/tmp/acestream
So I am trying to put something in the acestream.conf,
–port
1234
But it is still using the default port of 8621. And I don’t see a logfile anywhere. Maybe you have a hint for me, what could be going on. It looks like that the conf file is not used at all.
Also I can’t save a playlist.
Ace Stream is using more than one port, and before making any changes to default ports config make sure that you know what and for what purpose you’re doing.
Log file location also can be defined via .conf file or command line option:
--log-file
/tmp/ace.log
Playlist sync wont work until you provide credentials to engine.
It looks like it is not honoring what I write there, maybe a userrights issue. If you know a good tutorial for beginners to install the correct way, not as root, and as a service, pls let me know. Mine is behaving weird.
Or i stick with the windows version.
Is Acestream ok with running as a user and not as root on ubuntu? Because I tried it three times yesterday and it never honored the conf file for me. Needless to say that the user had all the rights on the installation/extraction folder.
Ace Stream do not require root privileges. Log in to the system as regular user, and:
- download AceStream redist somewhere,
- create install folder “/opt/acestream” or “/home/user/acestream” and unpack content of downloaded file there,
- cd to install dir and run “install_dependencies.sh” (check terminal output at this stage - no any errors should be reported),
- run
"start-engine --client-console"
- at this step engine will run in foreground and will log any events/errors to terminal. If no major errors occurs, then you should see something like “acestream.APIServer|run: ready to receive remote commands on 62062” at the end of output. - now you can press Ctrl-C to stop engine and can play around with “acestream.conf” options.
- you can force engine to use any .conf file, not only default “acestream.conf” - to do so, run it as
"start-engine --client-console @/path/to/custom.conf"
or use"start-engine --client-console --allow-user-config"
- in the latter case file “acestream_user.conf” should exist and be placed in the install dir.
systemd unit for AceStream may looks like this, for example (modify “User” and path to engine for your needs):
[Unit]
Description=AceStream daemon
Wants=dbus.socket
After=network.target
Before=rc-local.service
[Service]
User=user
ExecStart=/opt/acestream/start-engine --client-console --allow-user-config
WorkingDirectory=/opt/acestream/
Restart=always
RestartSec=10
TimeoutStopSec=5
[Install]
WantedBy=default.target
Thank you for the full thingy.
I probably installed the dependencies as root (or sudo) before, do you think a user should do? Acestream was working fine, only not honoring the config at all. I can’t wait to try this again.
You can run Ace Stream as root or regular user, but you can’t mix/change users in the middle of setup/startup process: if you setup Ace Stream as root - then run it as root, or repeat setup process from "run “install_dependencies.sh” step as regular user and then run engine again as same user, which was used during “install_dependencies.sh” stage.
Note that Ace Stream engine require write permission on install dir, so if you begin as root you need change ownership/permissions for install directory if you want to run Ace Stream later as regular user.
Something seems to be broken. I tell you what I did exactly.
I downloaded
https://download.acestream.media/linux/acestream_3.2.3_ubuntu_22.04_x86_64_py3.10.tar.gz
and installed it in a Linuxcontainer ubuntu_22.04 on proxmox, apt update/upgrade etc.
Did everything you said without systemd for now.
start-engine --client-console
And still the acestream.conf is ignored, the output states it would use the default port, streaming works though.
Ctrl-C
Then I tried start-engine --client-console --allow-user-config
but the output shows only ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
at the end. So I can not see, which port is used and I didn’t bothered to check (from the outside).
Ctrl-C
back to start-engine --client-console
Now it shows that the port I set only in the acestream_user.conf (I had removed it from the acestream.conf) is used!
It shouldn’t read it at all, right? So something seems to be different than it was explained. acestream.conf is always ignored.
However I run the engine it will display this
Summary
2024-06-04 12:09:14,279|MainThread|acestream.coreapp|state_dir=‘/home/ace/.ACEStream’
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
ls: cannot access ‘/dev/disk/by-id/’: No such file or directory
2024-06-04 12:09:14,356|MainThread|acestream.coreapp|set_debug_from_ui: level=0
Only with start-engine --client-console
it will show more stuff below that.
So to repeat, acestream will work in any case. But it will only read the acestream_user.conf and never the acestream.conf.
I got it working with the acestream_user.conf by not repeating stuff that is already in the acestream.conf.
Using it with a vpn-service is almost not working at all, only with using it with an open port is working good. That is kinda sad.
Can I see what parameters the windows version is using? For instance, what does “internal buffering” do, is it the same as “Start with sufficient speed only”?
I would like to have more buffering for fewer disconnects/interruptions.
About current “acestream.conf” behavior in Linux - we’re investigating. This can be a bug, but also can be a feature - in attempt to sort out priority with CLI, .conf and .pickle options setting/management.
This is non critical container specific error, if you want to get rid of it - you may add to “start-engine” script something like mkdir -p /dev/disk/by-id/
Some UI setting can be OS/player specific, so they may not have direct mapping between different platforms.
--vod-buffer
15
--live-buffer-time
30
Aceengine reports
mkdir: cannot create directory ‘/dev/disk’: Permission denied
But if it is non critical, I don’t care.
Adding the lines for buffering to the acestream_user.conf in linux does nothing, as far I can tell, playback still starts instantly.
yes, this command required root/sudo, so if you’re running engine as regular user, run it as root before “start-engine” script.
This is normal, increased buffers should prevent buffer underrun and have minimal impact for start times. You may notice start times changes only with slow network and high buffers values, something like 300 seconds, for example.
Is it possible to use the EPG data from the Ace Stream Server in another app?
No, you should provide your own (or third-party) XMLTV source. EPG “like in Ace Stream server” can be obtained only via Search API.
@Benny Maybe you can give a hint. There are some streams which I can’t view, although I would like to, like this: 6fa76e8a2c7911e10e052ff42c624199b7ef7e5c
Some CIDs may have regional/IP restrictions or can have a dead or unstable source.
Hello Benny, is there anything I can do about when the Ace Stream Broadcasts Search is wrong? Many Channels are different/ have changed than its names suggest. Also it would help if I could change the names in the Ace Stream Server but I only can export, edit and import the playlist.
Also some channels have a problem and should be reset.