BETA: API & Feeds

No, this is the format of the public api, please adjust your scripts accordingly.

OK, I'll quit asking for things :smile:

1 Like

Nah, your previous suggestions were great and useful. Keep the feedback coming.

5 Likes

Very cool, this is fun exploring and learning from. For now I just found a little typo:

1 Like

How embarrassing!

1 Like

Fixed. Also fixed the copy buttons.

1 Like

I found from the latest beta that Tablo was not in it I had to use Docker

Nice. I've added upcoming DVR jobs to my calendar (BusyCal) and a feed showing recent DVR imports to my RSS reader (Reeder.) I just had to edit the copied URL to include my server's internal IP address (10.0.1.xx instead of xxxxxxxxxxxx.u.channelsdvr.net) and also change https:// to http:// for these to work. I'll tinker with Home Assistant and other integration ideas next. This is very cool, working great!

Maybe I'm misunderstanding something but if I set the API and Feed Explorer to output JSON and Videos, I this this API:

http://<DVR_IP>:8089/api/v1/videos

I was expecting that it would return the JSON for videos that were added to the Video Sources directories defined in the Local Content section the the settings web UI. What it returns is null ("").

The videos do show up by selecting "All Recordings".
http://<DVR_IP>:8089/api/v1/all

1 Like

Working for me.

Weird. When I drop videos into the directory, Channels sees it and imports it.
My video source path defined in Local Content is something like this:
/volume1/path1/path2/path2/video
Then under the /video directory I have a bunch or group folders that contain the actual video files.
Like:
/video/group1/video1.mp4
/video/group2/video2.mp4
/video/group3/video3.mp4

I don't have any nested folders under the /groupx/ path.

Setting the type to "All Recordings" and right-most pulldown to "Imports" does return all the videos I would expect.

Does it work if you select RSS or ATOM instead of JSON for Videos?

Nope.

It is only outputs a null response if "All Video Groups" is selected with Videos. If I change the "All Video Groups" pulldown to select one of my video groups, then it output the correct response, showing all the videos in the selected group.

Wierd.
Do you see anything when you open this link in a browser?
http://<DVR_IP>:8089/api/v1/videos

Yah, unless you read the whole Topic my post was in, you probably took it out of context.
It's not supposed to work that way, but currently is.

Thanks for adding Video Groups

Only thing I see missing so far is the channel recorded from.
Can you add this to Recordings?
/dvr/files .Airing.Channel

I just noticed that this URL throws an error in the log when called or when selected in the API page.

2023/02/22 02:09:29 [Recovery] 2023/02/22 - 02:09:29 panic recovered:
runtime error: invalid memory address or nil pointer dereference
runtime/panic.go:260 (0x450d55)
runtime/signal_unix.go:835 (0x450d25)
github.com/fancybits/channels-server/dvr/group.go:126 (0x168bd05)
github.com/fancybits/channels-server/http_api_utils.go:181 (0x168bcd8)
github.com/fancybits/channels-server/objstore/bucket.go:31 (0x16f4e5a)
github.com/fancybits/channels-server/objstore/store.go:383 (0xc45647)
go.etcd.io/[email protected]/db.go:780 (0x791501)
github.com/fancybits/channels-server/objstore/store.go:372 (0xc453cf)
github.com/fancybits/channels-server/objstore/bucket.go:30 (0x1147870)
github.com/fancybits/channels-server/http_api_utils.go:163 (0x168b7de)
github.com/fancybits/channels-server/http_api_video.go:19 (0x168fac4)
github.com/gin-gonic/[email protected]/context.go:169 (0x168b593)
github.com/fancybits/channels-server/http_api_utils.go:139 (0x168b4c8)
github.com/gin-gonic/[email protected]/context.go:169 (0x1681963)
github.com/fancybits/channels-server/http.go:273 (0x1681657)
github.com/gin-gonic/[email protected]/context.go:169 (0x16815ca)
github.com/fancybits/channels-server/http.go:250 (0x16815af)
github.com/gin-gonic/[email protected]/context.go:169 (0x1681487)
github.com/fancybits/channels-server/http.go:242 (0x1680dfa)
github.com/gin-gonic/[email protected]/context.go:169 (0xa7d7a1)
github.com/gin-gonic/[email protected]/recovery.go:107 (0xa7d78c)
github.com/gin-gonic/[email protected]/context.go:169 (0xa7c8e6)
github.com/gin-gonic/[email protected]/logger.go:240 (0xa7c8c9)
github.com/gin-gonic/[email protected]/context.go:169 (0x119b7b9)
github.com/gin-contrib/[email protected]/sessions.go:65 (0x119b7a5)
github.com/gin-gonic/[email protected]/context.go:169 (0x11959e1)
github.com/gin-contrib/[email protected]/gzip.go:47 (0x11959b9)
github.com/gin-gonic/[email protected]/context.go:169 (0x1682205)
github.com/fancybits/channels-server/http.go:363 (0x16821f1)
github.com/gin-gonic/[email protected]/context.go:169 (0xa7b9b0)
github.com/gin-gonic/[email protected]/gin.go:598 (0xa7b618)
github.com/gin-gonic/[email protected]/gin.go:554 (0xa7b151)
net/http/server.go:2947 (0x7162cb)
net/http/server.go:1991 (0x7115a6)
runtime/asm_amd64.s:1594 (0x46eb40)

Which version of the server? A lot changed last night. Do you have videos in your library? Please submit diagnostics.