m1k1o / go-transcode

On-demand transcoding origin server for live inputs and static files in Go using ffmpeg. Also with NVIDIA GPU hardware acceleration.
Apache License 2.0
208 stars 38 forks source link

VOD in a browser? #53

Closed metal450 closed 2 months ago

metal450 commented 2 months ago

Is it possible to view VOD in a browser, or only live streams?

For VOD, I'm able to view files in VLC via vlc http://localhost:8080/vod/[media-path]/index.m3u8. But for the html player (using play.html), the Readme only shows an example for streams, not VOD.

If not yet possible...feature request? :)

m1k1o commented 2 months ago

@metal450 implemented for master playlist, so the url is http://localhost:8080/vod/[media-path]/play.html and the player contains now quality selector.

metal450 commented 2 months ago

Wow, ultra quick turnaround, thanks!!

metal450 commented 2 months ago

Hmm, actually somehow I still can't get it to work. I took the exact vod path that works in VLC (which Firefox sends as an index.m3u8 download), i.e.

http://10.8.0.1:8080/vod/V_20240519_074326_ES5.mp4/index.m3u8

And per the updated readme, just change to

http://10.8.0.1:8080/vod/V_20240519_074326_ES5.mp4/play.html

However, it's still reporting 404 profile not found. I've pulled the latest master. Here's the back-to-back logs of those 2 requests:

go-transcode  | 4:03PM DBG request complete (206) module=http req={"agent":"Lavf/58.33.100","id":"a2ad9b539961/phIyOcTkDV-000070","method":"GET","proto":"HTTP/1.1","remote":"172.19.0.1:51766","scheme":"http","uri":"http://10.8.0.1:8080/vod/V_20240519_074326_ES5.mp4/720p-00002.ts"} res={"bytes":2196028,"elapsed":172.795133,"status":206,"time":"Sat, 15 Jun 2024 16:03:07 UTC"}
go-transcode  | 4:03PM DBG request complete (404) module=http req={"agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0","id":"a2ad9b539961/phIyOcTkDV-000071","method":"GET","proto":"HTTP/1.1","remote":"172.19.0.1:51770","scheme":"http","uri":"http://10.8.0.1:8080/vod/V_20240519_074326_ES5.mp4/play.html"} res={"bytes":22,"elapsed":0.03842,"status":404,"time":"Sat, 15 Jun 2024 16:03:55 UTC"}
m1k1o commented 2 months ago

Can't reproduce, i loaded and built the latest version and i can see the player.

6:38PM DBG request complete (200) module=http req={"agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0","id":"m1k1o-ubuntu/BUNukgl4BQ-000001","method":"GET","proto":"HTTP/1.1","remote":"127.0.0.1:49086","scheme":"http","uri":"http://127.0.0.1:8080/vod/M4V10001.mp4/index.m3u8"} res={"bytes":7,"elapsed":0.314593,"status":200,"time":"Sat, 15 Jun 2024 18:38:53 UTC"}
6:38PM DBG request complete (200) module=http req={"agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0","id":"m1k1o-ubuntu/BUNukgl4BQ-000002","method":"GET","proto":"HTTP/1.1","remote":"127.0.0.1:49086","scheme":"http","uri":"http://127.0.0.1:8080/vod/M4V10001.mp4/play.html"} res={"bytes":1407,"elapsed":0.046037,"status":200,"time":"Sat, 15 Jun 2024 18:38:56 UTC"}
metal450 commented 2 months ago

Ah, I'm an idiot. Pulled the new code but forgot I had to explicitly remove the docker image so it would rebuild. Works now, great work!