@ -57,6 +62,7 @@ The previous version borrowed heavily from the "it works" method. A couple thing
- changed to -softvol for no apparent reason
- changed to -softvol for no apparent reason
- added if statement to handle checking of ices2
- added if statement to handle checking of ices2
- removed the statement to delete the pipe as it wasn't needed
- removed the statement to delete the pipe as it wasn't needed
- mplayer was ditched on alpine for ogg123/sox
The addition of the if statement solved a problem of making sure ices2 is feeding my icecast. I attempted to do this in systemd and it just failed. I may have figured out why, but doing it inside the script doesn't hurt and is easier than mucking around with systemd.
The addition of the if statement solved a problem of making sure ices2 is feeding my icecast. I attempted to do this in systemd and it just failed. I may have figured out why, but doing it inside the script doesn't hurt and is easier than mucking around with systemd.
## Classic Hold Version 2: Less Complex, ***More Headache***
## Classic Hold Version 2: Less Complex, ***More Headache***
***This entire thing winds up using entirely too much CPU. It's not just more than the above method, it's entirely too much for the task (in my opinion). The above method uses less than 1% CPU per stream; the below method uses about 15% per stream.***
***This method is not really recommended at this time. Under Ubuntu, the performance was horrible. However I've recently switched to running Asterisk on Alpine, where mplayer's performance was horrid***
***But the similar ogg123/sox method with icecast works well. At some point I'll try with a direct playlist and see what happens.***
Let me start by saying this: getting this to work started out as medium-hard; before going full fledged pull-my-hair-out. This is because there's a *number* of additional steps we have to do that are much more involved than setting up and configuring icecast and ices2. Most of these steps weren't documented and I had to piece them together. This was on top of the fact that debugging on a headless machine for sound problems posed limitations. I had to test things on a local VM before attempting to implement them on the remote machine.
Let me start by saying this: getting this to work started out as medium-hard; before going full fledged pull-my-hair-out. This is because there's a *number* of additional steps we have to do that are much more involved than setting up and configuring icecast and ices2. Most of these steps weren't documented and I had to piece them together. This was on top of the fact that debugging on a headless machine for sound problems posed limitations. I had to test things on a local VM before attempting to implement them on the remote machine.