[Support] mpcdigitize – rradio


Recommended Posts

I absolutely love the idea of this project! I'm not running Unraid, but would love to deploy it to an Arm server instead. For me, that'd be an Oracle Ampere server, but I could also see this as a handy project on a Pi. I'm not sure what it would require other than maybe just adding linux/arm64/v8 to the docker tags?

This would definitely fill a current need for me.

 

Keep up the amazing work!

Link to comment
  • 4 weeks later...

Hi,

First of all – great application. I love using it - it's faster and better than using dedicated apps to listen to online broadcasts/podcasts. I am using rradio docker on my Synology NAS. 

I have been using rradioo for some time now and I found two problems:

1) Whenever I edit the show (e.g. change the schedule, change the description), my image file (artwork/cover) resets to default settings. The solution is to specify the path to the graphic every time I edit the "show" before saving.

2) The time format (MM.DD.YYYY) is annoying to some folks (including me) and I would like to be able to change it to DD.MM.YYYY.

 

 

I'm waiting for next release with anticipation,

Regards, Janek

Link to comment
  • 2 weeks later...

Recently migrated to Unraid and looking for something to replace my previous patchwork of VLC scripts to record streams to disk on a schedule.  RRadio sounds like the answer, but I seem to have some probs with my install.  I'm getting nearly blank pages when viewing the webgui.  Home page looks like this, and the remaining pages are blank except for the menu button.  Any suggestions?  I've tried reinstalling a couple of times (removing appdata folder before installing as well).

image.thumb.png.1bc2fc547336e416f3a93736a142cd8b.png

Link to comment
3 hours ago, royci said:

Recently migrated to Unraid and looking for something to replace my previous patchwork of VLC scripts to record streams to disk on a schedule.  RRadio sounds like the answer, but I seem to have some probs with my install.  I'm getting nearly blank pages when viewing the webgui.  Home page looks like this, and the remaining pages are blank except for the menu button.  Any suggestions?  I've tried reinstalling a couple of times (removing appdata folder before installing as well).

image.thumb.png.1bc2fc547336e416f3a93736a142cd8b.png

 

It looks like you did not setup any Sources (Stations). The view from your picture is designed for tablets. Use your PC and open the page in a browser. Next to Stations label should be a plus sign. Click on it. It will take you to the page where you can add URL. In the beginning of this thread I described how to go about setting up recordings.

 

Sometimes you need to reload page in the browser. On Windows PC press Ctrl button + F5. On Mac, hold Shift button + reload icon on the top of page

You may also try to use different web browser.

 

You can also test application by dropping some mp3 files into Media (recording destination) folder on your server. As long they are tagged with Artist and Album id3 tags they will be recognized and imported (close application and reopen it).

 

The picture you posted is most likely due to that nothing was setup and recorded.

 

Please let me know if you were successful in setting up application. 

 

Link to comment

Tnx for the quick response... I am actually accessing rradio via Firefox on a Mac.  I also tried Safari on the same machine.  Same result.  There is what appears to be some odd stuff in the log (below), specifically the warns and fail.  Not sure if those are an indicator.  Also tried viewing on my phone using firefox focus.  The home page -did- display the radio dial image, but everything else was blank.  Initially I was using a custom port, but on a subsequent reinstall, I left it at the default of 8383, jic that might be the cause.  Doesn't seem that was.

 

Thoughts?

 

 

copying ffmpeg
copying ffprobe
copying settings
starting application
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
      Storing keys in a directory '/app/config' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[15]
      Unknown element with name 'settings' found in keyring, skipping.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {030b171a-02f1-4da3-87cd-9b7f6c7bb2ed} may be persisted to storage in unencrypted form.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[15]
      Unknown element with name 'settings' found in keyring, skipping.
2023-12-20 12:36:54 [INFO]  (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2023-12-20 12:36:54 [INFO]  (Hangfire.BackgroundJobServer) Using the following options for Hangfire Server:
    Worker count: 20
    Listening queues: 'default'
    Shutdown timeout: 00:00:15
    Schedule polling interval: 00:00:15
2023-12-20 12:36:54 [TIME_ZONE] (UTC-08:00) GMT-08:00
2023-12-20 12:36:54 [INFO]  (Checking database)
2023-12-20 12:36:54 [INFO]  (Restoring existing scheduled jobs)
2023-12-20 12:36:54 [INFO]  (Success! Restoration completed)
2023-12-20 12:36:54 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server 7dad472b7b09:26:8717dd53 successfully announced in 240.6941 ms
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:80
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /app
2023-12-20 12:36:54 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server 7dad472b7b09:26:8717dd53 is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2023-12-20 12:36:54 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server 7dad472b7b09:26:8717dd53 all the dispatchers started
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[15]
      Unknown element with name 'settings' found in keyring, skipping.
fail: Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery[7]
      An exception was thrown while deserializing the token.
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery token could not be decrypted.
 ---> System.Security.Cryptography.CryptographicException: The key {5b5b6cc2-506d-4061-aefb-17f66611b858} was not found in the key ring.
   at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status)
   at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.DangerousUnprotect(Byte[] protectedData, Boolean ignoreRevocationErrors, Boolean& requiresMigration, Boolean& wasRevoked)
   at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData)
   at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
   at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery.GetCookieTokenDoesNotThrow(HttpContext httpContext)

Link to comment
5 hours ago, royci said:

Tnx for the quick response... I am actually accessing rradio via Firefox on a Mac.  I also tried Safari on the same machine.  Same result.  There is what appears to be some odd stuff in the log (below), specifically the warns and fail.  Not sure if those are an indicator.  Also tried viewing on my phone using firefox focus.  The home page -did- display the radio dial image, but everything else was blank.  Initially I was using a custom port, but on a subsequent reinstall, I left it at the default of 8383, jic that might be the cause.  Doesn't seem that was.

 

Thoughts?

 

 

copying ffmpeg
copying ffprobe
copying settings
starting application
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
      Storing keys in a directory '/app/config' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[15]
      Unknown element with name 'settings' found in keyring, skipping.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {030b171a-02f1-4da3-87cd-9b7f6c7bb2ed} may be persisted to storage in unencrypted form.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[15]
      Unknown element with name 'settings' found in keyring, skipping.
2023-12-20 12:36:54 [INFO]  (Hangfire.BackgroundJobServer) Starting Hangfire Server using job storage: 'Hangfire.MemoryStorage.MemoryStorage'
2023-12-20 12:36:54 [INFO]  (Hangfire.BackgroundJobServer) Using the following options for Hangfire Server:
    Worker count: 20
    Listening queues: 'default'
    Shutdown timeout: 00:00:15
    Schedule polling interval: 00:00:15
2023-12-20 12:36:54 [TIME_ZONE] (UTC-08:00) GMT-08:00
2023-12-20 12:36:54 [INFO]  (Checking database)
2023-12-20 12:36:54 [INFO]  (Restoring existing scheduled jobs)
2023-12-20 12:36:54 [INFO]  (Success! Restoration completed)
2023-12-20 12:36:54 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server 7dad472b7b09:26:8717dd53 successfully announced in 240.6941 ms
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:80
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /app
2023-12-20 12:36:54 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server 7dad472b7b09:26:8717dd53 is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, Worker, DelayedJobScheduler, RecurringJobScheduler...
2023-12-20 12:36:54 [INFO]  (Hangfire.Server.BackgroundServerProcess) Server 7dad472b7b09:26:8717dd53 all the dispatchers started
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[15]
      Unknown element with name 'settings' found in keyring, skipping.
fail: Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery[7]
      An exception was thrown while deserializing the token.
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery token could not be decrypted.
 ---> System.Security.Cryptography.CryptographicException: The key {5b5b6cc2-506d-4061-aefb-17f66611b858} was not found in the key ring.
   at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status)
   at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.DangerousUnprotect(Byte[] protectedData, Boolean ignoreRevocationErrors, Boolean& requiresMigration, Boolean& wasRevoked)
   at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData)
   at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
   at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery.GetCookieTokenDoesNotThrow(HttpContext httpContext)

 

Despite some the errors in the log, your installed application is running and should be able to continue run correctly.  The Antiforgery and keyring notifications are minor issues.

In addition, the port you selected doesn't really affect the application. What you see when start the application is blank page because your need to setup radio sources first.

 

I was able to replicate the view you previously attached in your post

 

673289493_Screenshot2023-12-20at9_30_18PM.thumb.png.b087a3fd96cd0701d452ae730bd044d6.png

 

If you expand the window it should look like this

 

860761011_Screenshot2023-12-20at9_24_45PM.thumb.png.663d27163ec8e63ffa61fd7ab7520fda.png

 

Go to this address in your app to create new source. Note they you will have different IP address of your server

 

http://192.168.1.100:8383/create

 

To test application you can use this URL

 

http://media-ice.musicradio.com/LBCUK

 

To schedule new recording go to this page. Since this is most likely your first station source, the URL will end with number 1

 

http://192.168.1.100:8386/schedule/create/1

 

Confirm that you can access dashboard

 

http://192.168.1.100:8383/dashboard

 

Again, your application is running and pages are empty on desktop and your phone till you setup station sources.

 

You can also see in your browser if there are any errors when loading the application.

Press FY12 on your keyboard and go to Console. It will display errors

 

1117511063_Screenshot2023-12-20at9_50_05PM.thumb.png.b2bbe6a98dfdfa44fff6337852743d5b.png

 

 

Can you please take a screenshot of the rradio template you installed. 

 

Please let me know how it goes.

 

Link to comment
  • 2 weeks later...

Hello,

 

any chance of making this arm64 (BCM2837) compatible?

 

I have successfully tested this on my amd64 docker host (test machine), which - unfortunately is quite power hungry.

 

Now I would love to move it to my more power efficient mini home server running on raspberry pi 3b. Although one won't run unraid on raspi, it is still more than enough for multiple docker containers which I'm already running.

 

Even my test machine is 'just' plain debian with docker engine installed.

Edited by remus
Link to comment

Happy New Year everyone!

 

I decided to post an update and shed some light on things that will be coming.

 

There is a second request for releasing application for ARM based devices and it is something I will definitely consider. Personally I do not know how well application will perform on Raspberry Pi. I had it running on very low powered AMD mini PC and it was not the best experience. UI responsiveness suffers visibly. We have to remember, that depending on how many recording jobs are performed FFMPEG has to do stream conversion in real time. Low powered device may have issues with that.

 

 Here are couple things that I would like implement in the next release.

 

1. To be able to set different Time Zones for different Radio Sources. This would be helpful when we have a station that operates for example in Europe or Asia and we have to calculate show's starting time. Hopefully it would also provide some solution to Daylight Saving Time changing time difference between time zones.

2. To have easier access to files that were already played and that we want to resume playback.

3. Separate Archive section for all files that we want to keep

4. Activity page showing currently recorded items.

5. Suspend/Resume recording jobs

6. File naming options. This would include selection of different date scheme like dd/MM/YYYY

7. To be able to set a recording job for specific date (date picker)

 

These are couple things that require improvements. If you have any other suggestions or requests please let me know.

 

There is a certain issue that everyone should be aware of. Application records the streams into appdata/rradio/temp folder. When recording is completed they are being moved to media folder. Occasionally some files are still in temp folder. This most likely happens when stream is interrupted or dropped. I strongly advise to check temp folder periodically and either delete or move files. We do not want these orphaned files to fill cache drive.

 

I have very limited time right now for development and I do not want to make any promises regarding release date. I'm hoping that it will take couple months.

For now please everyone enjoy it!             

  • Thanks 1
Link to comment
  • 5 weeks later...

Thank you for this! 

 

I was using complicated scripts to record a brodcastify stream 24x7 and this replaces that. I was wondering if you could add a trigger so on container load it starts the recording instead of having to wait for the task on the hour? I am also wondering if there is any error handling to restart a stream if it fails

Link to comment
On 2/2/2024 at 2:33 PM, skywurz said:

Thank you for this! 

 

I was using complicated scripts to record a brodcastify stream 24x7 and this replaces that. I was wondering if you could add a trigger so on container load it starts the recording instead of having to wait for the task on the hour? I am also wondering if there is any error handling to restart a stream if it fails

 

It is possible to trigger jobs manually. Depending on how many jobs you have created. If you want to test recording. The most recent job is added to the end of list of recurring jobs in the Hangfire Dashboard. Go to:

 

http://TOWER_IP:8386/dashboard/recurring

 

If you have more jobs. You will have to obtain job id number. For this you need to go to Jobs page in the application and click on Recording Log icon

 

 

screen01.png.96af0d814ee3785694a0a08c36813c5c.png

 

screen02.thumb.png.151d076b8156abad22e17b0f75042b9f.png

 

Now, go to the Dashboard and find the job

 

screen03.thumb.png.8c558efb9ec34cfc397062b4a50c5e21.png

 

Once selected, you can trigger it

 

screen04.thumb.png.4d0218d2c981e56bffaff9ee306fcf54.png

 

 

In the future I will add a button for triggering a job in the application.

 

Restarting failed streams is much more complicated. I will look into it, but I cannot make any promises.

 

Link to comment
  • 2 weeks later...
  • 1 month later...

Very nice Docker application !

I am a musician myself and I like to listen to classical music - here in Europe many public stations offer excellent recording quality and delivery on their high-bandwidth streams. So it is really worthwhile to record concerts, even it is compressed audio format.

I find it useful to collect the files independent of the docker - here is my workflow:

- first the docker make the recordings into the capture share on the unraid array

- then I download the files into my audio workstation and cut the tracks and tag each track with the information of the playlist of the radio station. So I end up with a lot of individual audio files, with track numbers and description/ tagged information on my audio workstation

- I then copy all the individual tracks back to a specific folder on the Unraid share "audio recording". The folder name within "audio recording" should explain which original rradio job it was...

- then I import the file collection of the folder into my media player JRiver

- I now have the possibility to seach for each individual track of all records ever made with rradio instantly. Also I can make individual playlists etc... so all the things a good mediaplayer is used for....

- Jriver is running on an individual client computer - Unraid is used as a NAS for the media player client only

 

I think it is not really necessary to include Mediaplayer functions into the Docker. Any specialized mediaplayer will do such functions much better anyway. But the mediaplay may not run 24/7, so it is excellent to use the server to collect the music and make the recordings !

 Many thanks for this docker!

Link to comment
  • 4 weeks later...

Hi,

Thank you for sharing this great container.

Container works great but I only have an issue with permissions. Once I set up the recording job and once the job starts I get the Error Permission denied.

It seems like there is a permission issue with the mounted folder but the mounted folder is already used by other containers and there are no permission issues accessing it. 

I have a main Docker folder in which I have all other container configuration files. For this one I just created additional rradio folder in which i created another config folder.

I use Ubuntu btw..

 

Initially I installed the container with both PUID & PGID on 1000 but I also tried 99/100 with no difference. I'm not expert and maybe this have nothing to do with the error I get..

 

Do you maybe have any idea what else I can try? Unfortunately right now the portainer has some issues with Docker and console is not accessible from the GUI so did not try running chmod command in rradio terminal.  

 

[ERROR] (Permission denied-)

[INFO] (Parsing metadata)

[ERROR] (Permission denied-)

 

Thank you!

Link to comment
On 4/9/2024 at 4:01 PM, madhorse said:

Hi,

Thank you for sharing this great container.

Container works great but I only have an issue with permissions. Once I set up the recording job and once the job starts I get the Error Permission denied.

It seems like there is a permission issue with the mounted folder but the mounted folder is already used by other containers and there are no permission issues accessing it. 

I have a main Docker folder in which I have all other container configuration files. For this one I just created additional rradio folder in which i created another config folder.

I use Ubuntu btw..

 

Initially I installed the container with both PUID & PGID on 1000 but I also tried 99/100 with no difference. I'm not expert and maybe this have nothing to do with the error I get..

 

Do you maybe have any idea what else I can try? Unfortunately right now the portainer has some issues with Docker and console is not accessible from the GUI so did not try running chmod command in rradio terminal.  

 

[ERROR] (Permission denied-)

[INFO] (Parsing metadata)

[ERROR] (Permission denied-)

 

Thank you!

 

The values of PUID & PGID are Unraid specific. They may not even work on Ubuntu. I would try to remove them from the template when installing on your machine.

I never really tried using Ubuntu, but would try to see if I can access "config\temp" and "media" folders. Actual recording is performed into temp folder and when it is finished file is moved to media folder. The fact that starting job throws permission error suggests that issue is with temp folder.

 

Try to navigate to these folders using application similar to Windows Explorer and and see if you can copy some files into them.

 

Either way, you should be able to run chmod command using Ubuntu's terminal. Setting up permissions through rradio terminal would not work.

Before you run the command you need to make sure that rradio is not running.

 

Alternatively, you may want to delete current rradio installation, remove config and media folders and create them manually. Set permission if it's necessary. Finally install rradio again

 

Link to comment

Hi Pete,

Yes, I actually tried all your suggestions even before your reply except removing PUID and PGID. Removing those did not work as well.

I went to check the permissions of the temp folder as well as media folder. Changed all permissions to user (some were on root) but no change as well. The error persists.. 

Im using VLC for long time now and when I need to record I manually set it, as I record on regular basis on certain days of the week so its not a big deal. Having something like your project would be a relief and would allow me to maybe record even more...

If you have time it would be great to extend your project further and possibly make it work for different operating systems. 

Thank you in advance and regards from Croatia!   

Link to comment
Posted (edited)
14 hours ago, madhorse said:

Hi Pete,

Yes, I actually tried all your suggestions even before your reply except removing PUID and PGID. Removing those did not work as well.

I went to check the permissions of the temp folder as well as media folder. Changed all permissions to user (some were on root) but no change as well. The error persists.. 

Im using VLC for long time now and when I need to record I manually set it, as I record on regular basis on certain days of the week so its not a big deal. Having something like your project would be a relief and would allow me to maybe record even more...

If you have time it would be great to extend your project further and possibly make it work for different operating systems. 

Thank you in advance and regards from Croatia!   

 

I think I know what the problem is. I remember I had a similar issue once and it was caused by incorrect version of ffmpeg. Basically, ffmpeg that is included in this rradio release is not compatible with Ubuntu. It's a bit strange because it is Linux version. You would have to look for what is called static release of ffmpeg and ffprobe for Ubuntu. I know there are installers for Ubuntu but I'm not sure if you would be able to copy installed file into "config/ffmpeg" folder. Note that you also need ffprobe file. They usually come in one release package.

 

You need to replace existing ffmpeg & ffprobe files with versions compatible with Ubuntu.

 

If you cannot find ffmpeg compatible with Ubuntu, you may compile ffmpeg yourself. Instructions should be available on ffmpeg.org site.

 

I don't think there are any issues with folder permissions. Maybe you can run chmod on both files located in "config/ffmpeg" folder but my guess is it will be ineffective.     

Edited by PeteL
Link to comment

Hello, Neat project!

 

I just found it this morning and have been wasting much of my day  🙂

 

I've been able to setup a station using your test URL provided previously and have been able to get an associated job to produce a recording.  I have been able to play the station live and also play the recording within the interface.  I did notice however that the log associated with the job remained empty during and after the recording was created.

 

My problem is trying to use one of my own radio stations of interest.  I can create the station and perform a check which reports 2 channels of aac codec.  But I am unable to listen to the station live and none of jobs generate any recordings.

 

I'm trying to access CBC radio in Canada via the following URL: https://cbcradiolive.akamaized.net/hls/live/2041037/ES_R1ETT/master.m3u8  The URL does function properly through VLC.

 

Any ideas what the problem might be?

 

Thanks in advance for any attention you are able to give to this question  🙂

Link to comment
4 hours ago, GordonP said:

Hello, Neat project!

 

I just found it this morning and have been wasting much of my day  🙂

 

I've been able to setup a station using your test URL provided previously and have been able to get an associated job to produce a recording.  I have been able to play the station live and also play the recording within the interface.  I did notice however that the log associated with the job remained empty during and after the recording was created.

 

My problem is trying to use one of my own radio stations of interest.  I can create the station and perform a check which reports 2 channels of aac codec.  But I am unable to listen to the station live and none of jobs generate any recordings.

 

I'm trying to access CBC radio in Canada via the following URL: https://cbcradiolive.akamaized.net/hls/live/2041037/ES_R1ETT/master.m3u8  The URL does function properly through VLC.

 

Any ideas what the problem might be?

 

Thanks in advance for any attention you are able to give to this question  🙂

 

I will look into a log issue. Thanks for letting me know about it.

 

As for the URL you provided it's not exactly streaming URL. The format m3u8 is a playlist that is not compatible with any internet browser. Hence direct live streaming inside browser is not possible. This is due to the way it is actually done. Stream is segmented into small chunks. FFMPEG can handle it and it is possible to record it but in order to play it live it would have to go through FFMPEG first and then be send to a browser. Which means record and play at the same time. As you noticed VLC can do it. I'm hoping to tackle this problem at some point and implement some solution.

 

       

 

Link to comment

I'm sorry to hear that the stream segments create extra complications.  It would certainly be great if you could add the functionality to support them.  Streams of that type represent the entire offering of the Canadian Broadcasting Corporation (CBC) across all of Canada. Here is a list of the streams they offer if you would like to do further testing: https://gist.github.com/jj1bdx/64c449cf7c10e5c83616cfc4fed15df4

 

If it is easier to at least implement the recording feature, that would go a long way to providing great functionality.  I know people complained quite a bit a few years ago when the ability to play directly from various browser services went away.  Your explanation has helped me understand the problem.

Link to comment
5 hours ago, GordonP said:

I'm sorry to hear that the stream segments create extra complications.  It would certainly be great if you could add the functionality to support them.  Streams of that type represent the entire offering of the Canadian Broadcasting Corporation (CBC) across all of Canada. Here is a list of the streams they offer if you would like to do further testing: https://gist.github.com/jj1bdx/64c449cf7c10e5c83616cfc4fed15df4

 

If it is easier to at least implement the recording feature, that would go a long way to providing great functionality.  I know people complained quite a bit a few years ago when the ability to play directly from various browser services went away.  Your explanation has helped me understand the problem.

 

There shouldn't be any issues recording the stream in rradio but you cannot play them live right now.

 

Link to comment

You're right!  A recent recording job for that station did work - so awesome (I don't know why my previous tests failed).

 

If I can make one other comment about the interface... there is really no indication of time.  Time is of course important when you are scheduling recordings based on it.  But the current time isn't displayed anywhere in the interface - nor is any setting shown to indicate what time zone it thinks I'm using. Browsing the log files was the only indication.    Otherwise I just had to hope it knew what my current time was and look at the resultant recordings to see if it was indeed correct. (It worked fine by the way).

 

One thing that might be nice would be the addition of a time zone property when defining a station.  If I know that BBC in the UK shows a scheduled program at noon, I'd love to be able to just set the job for their local time of noon rather than translate it to my local time of 7am.  This way I could bounce from one station's schedule to another and be confident I am setting the proper time (their local time) without having to do constant math to translate to my time - it would also save me having to remember what time zone a particular station is in.

 

Otherwise, I am absolutely loving this project you've created - great work!

 

Link to comment
On 4/13/2024 at 3:32 AM, PeteL said:

 

I think I know what the problem is. I remember I had a similar issue once and it was caused by incorrect version of ffmpeg. Basically, ffmpeg that is included in this rradio release is not compatible with Ubuntu. It's a bit strange because it is Linux version. You would have to look for what is called static release of ffmpeg and ffprobe for Ubuntu. I know there are installers for Ubuntu but I'm not sure if you would be able to copy installed file into "config/ffmpeg" folder. Note that you also need ffprobe file. They usually come in one release package.

 

You need to replace existing ffmpeg & ffprobe files with versions compatible with Ubuntu.

 

If you cannot find ffmpeg compatible with Ubuntu, you may compile ffmpeg yourself. Instructions should be available on ffmpeg.org site.

 

I don't think there are any issues with folder permissions. Maybe you can run chmod on both files located in "config/ffmpeg" folder but my guess is it will be ineffective.     

 

No unfortunately this did not resolve the issue. I tried all options that came to my mind but no success. Anyway, thank you for the assistance. I will follow this forum so if you ever make it work for ubuntu I will know. thnx once again!

Link to comment

I apologize for my ineptitude in advance...  My recording jobs aren't happening.

 

I checked the logs and I'm getting an [ERROR] (Permission denied-).  It's trying to record a stream and send it to the ffmpeg recording engine with the path /app/config/temp/....mp3

 

It did work at one point.  Periodically I run the Unraid tool "New Permissions" in the hopes that it will fix errors like this, but it didn't help.

 

Is there an easy way to fix without blowing away my configured jobs?

Link to comment
6 hours ago, GordonP said:

I apologize for my ineptitude in advance...  My recording jobs aren't happening.

 

I checked the logs and I'm getting an [ERROR] (Permission denied-).  It's trying to record a stream and send it to the ffmpeg recording engine with the path /app/config/temp/....mp3

 

It did work at one point.  Periodically I run the Unraid tool "New Permissions" in the hopes that it will fix errors like this, but it didn't help.

 

Is there an easy way to fix without blowing away my configured jobs?

 

To prevent creating duplicate recordings, rradio will record scheduled job only once a day. For testing, you can trigger job manually through dashboard under recurring jobs by selecting a job and clicking trigger now. Usually If I want to test something I create new job and trigger it using dashboard.

 

Please refer to previous posts how to access dashboard

http://ipaddress:port/dashboard

 

I'm not entirely sure what is causing problem on your Unraid box. Please take a screenshot of rradio log.

Do you run any other containers on this machine? Do you experience any problems with them like permissions?

Are you using cache drive?

Please take a screenshot of rradio template used for installation.

 

Link to comment

I appreciate all the questions.

 

The dashboard is interesting!  I'm surprised there is no link to it in the interface because I'm sure to forget about it.  I'm not really worried about scheduling jobs right now since I'm only running about one a day and seeing them failing.

 

 

I've got about 18 dockers running. I have had permission problems from time to time, but the "New Permissions" tool has always resolved them.

 

I am using mirrored SSD cache drives (btrfs raid1).

 

 

Template:

Quote

 

Additional Requirements:

None Listed

Repository:

Network Type:

 BridgeHostNoneCustom : br0

Console shell command:

 ShellBash

Privileged:

OFF

media:

EDITREMOVE
Container Path: /media
 

config:

EDITREMOVE
Container Path: /config
 

Key 1:

EDITREMOVE
Container Variable: PUID
 

Key 2:

EDITREMOVE
Container Variable: PGID
 

Host Port:

EDITREMOVE
Container Port: 80

 

 

Log has repeating entries similar to these:

Quote

 

2024-04-19 11:30:03 [INFO]  (Creating recording task)
2024-04-19 11:30:03 [INFO]  (Recording stream)
2024-04-19 11:30:03 [INFO]  (Job sent to ffmpeg recording engine)
2024-04-19 11:30:03 [INFO]  (Arguments: -i "https://cbcradiolive.akamaized.net/hls/live/2041037/ES_R1ETT/master.m3u8" -c copy -t 1800 -metadata Title="CBC Ottawa - The Debaters (04.19.24 Fri. 11:30)" -metadata Album="The Debaters" -metadata Artist="CBC Ottawa" -metadata Track="0419" -metadata Album_Artist="CBC Ottawa" -metadata Year="2024" -metadata Genre="Radio" -metadata Comments="CBC_Ottawa_The_Debaters_(2024-04-19_11.30.03_Friday)" -c:a libmp3lame  -ab 192k  -y "/app/config/temp/CBC_Ottawa_The_Debaters_(2024-04-19_11.30.03_Friday).mp3".)
2024-04-19 11:30:03 [ERROR]  (Permission denied-)
2024-04-19 11:30:03 [INFO]  (Parsing metadata)
2024-04-19 11:30:03 [ERROR]  (Permission denied-)
2024-04-19 06:30:03 [INFO]  (Executing job 0-10)
2024-04-19 06:30:03 [INFO]  (Job registered: False.)
2024-04-19 06:30:03 [INFO]  (Setting up recording CBC Ottawa - As It Happens)

2024-04-19 06:30:03 [INFO]  (Creating recording task)
2024-04-19 06:30:03 [INFO]  (Recording stream)
2024-04-19 06:30:03 [INFO]  (Job sent to ffmpeg recording engine)
2024-04-19 06:30:03 [INFO]  (Arguments: -i "https://cbcradiolive.akamaized.net/hls/live/2041037/ES_R1ETT/master.m3u8" -c copy -t 5400 -metadata Title="CBC Ottawa - As It Happens (04.19.24 Fri. 18:30)" -metadata Album="As It Happens" -metadata Artist="CBC Ottawa" -metadata Track="0419" -metadata Album_Artist="CBC Ottawa" -metadata Year="2024" -metadata Genre="Radio" -metadata Comments="CBC_Ottawa_As_It_Happens_(2024-04-19_18.30.03_Friday)" -c:a libmp3lame  -ab 192k  -y "/app/config/temp/CBC_Ottawa_As_It_Happens_(2024-04-19_18.30.03_Friday).mp3".)
2024-04-19 06:30:03 [ERROR]  (Permission denied-)
2024-04-19 06:30:03 [INFO]  (Parsing metadata)
2024-04-19 06:30:03 [ERROR]  (Permission denied-)
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[15]
      Unknown element with name 'settings' found in keyring, skipping.

 

 

Hopefully my answers have been helpful.

 

 

 

 

 

 

 

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.