damus icon indicating copy to clipboard operation
damus copied to clipboard

self hosted Blossom video does not load

Open alltheseas opened this issue 1 year ago • 5 comments

What happens Blossom hosted mp4 video does not load in damus. Amethyst users report works fine

https://damus.io/nevent1qqsdnaac4zgcrnacdfpfwncq0egkhu806ajevwchs40va2ulha68yvg2yvkwp

alltheseas avatar May 27 '24 19:05 alltheseas

Mp4 Link does not work in browser

alltheseas avatar May 27 '24 19:05 alltheseas

@0xtrr advises

The Blossom spec requires blossom server implementations to accept a file extension on the end of the hash in the url

"The endpoint MUST accept an optional file extension in the URL. ie. .pdf, .png, etc"

https://github.com/hzrd149/blossom/blob/master/buds/01.md#get-sha256---get-blob

https://damus.io/nevent1qqsf59vewdr50fmuy0s6zheywsdg0g0ccfxlhzl5levehqkjalyzgsc5ntwq6

alltheseas avatar May 27 '24 20:05 alltheseas

Mp4 Link does not work in browser

The video works perfectly well in my Brave web browser on my Macbook Pro.

The URL:

https://blossom.oxtr.dev/f1393991c1a242f14b934eab1af9df00e828a532b94e88d24bd811e15abbc7ae.mp4

0xtrr avatar May 27 '24 20:05 0xtrr

On Mon, May 27, 2024 at 12:45:02PM GMT, alltheseas wrote:

Mp4 Link does not work in browser

works for me

jb55 avatar May 27 '24 21:05 jb55

On Mon, May 27, 2024 at 02:05:16PM GMT, William Casarin wrote:

On Mon, May 27, 2024 at 12:45:02PM GMT, alltheseas wrote:

Mp4 Link does not work in browser

works for me

(in the browser)

jb55 avatar May 27 '24 21:05 jb55

https://damus.io/nevent1qqs85fqs8wztrdap48awy3hqpwrh6a5htmt44k4jjcrr6q687l80rfqpramhxue69uhkzarvv9ejumn0wd68ytnvv9hxgtmfdemx76trv4eszyrhwden5te0dehhxarj9ekxzmnyqy2hwumn8ghj7etyv4hzumn0wd68ytnvv9hxgqgcwaehxw309aex2mrp0yhxummnwa5x2un99e3k7mgpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzpvkkwr098vnkj8qvxsqzykm9cddzd5rqjw7vg86gllr3uzg8l822hhzzjm

Damus still won’t play videos served from my Blossom server. Do you know why? Anything I can help with?

alltheseas avatar Sep 08 '24 16:09 alltheseas

@jb55 advises

Guessing its not encoded with the right pixel format -pix_fmt yuv420p with baseline profile. Thats the most common reason videos don’t play.

@0xtrr is this a your server fix, or is it an upstream blossom server fix?

alltheseas avatar Sep 08 '24 16:09 alltheseas

cc @hzrd149

alltheseas avatar Sep 08 '24 16:09 alltheseas

It has nothing to do with the Blossom protocol or the server implementation, it's just how the video has been encoded in the first place. I'm no expert on file containers or encodings but I find it odd that it's playable everywhere else but not on iPhone.

I don't know if this helps but for this particular video, I downloaded it from Twitter using yt-dlp with the following command:

yt-dlp -f http-832 -o "%(id)s.%(ext)s" https://x.com/Cobratate/status/1832295110521881065

Available formats was:

ID                     EXT RESOLUTION │   FILESIZE   TBR PROTO │ VCODEC       VBR ACODEC      ABR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────
hls-audio-32000-Audio  mp4 audio only │ ~136.41KiB   32k m3u8  │ audio only       unknown     32k Audio
hls-audio-64000-Audio  mp4 audio only │ ~272.83KiB   64k m3u8  │ audio only       unknown     64k Audio
hls-audio-128000-Audio mp4 audio only │ ~545.66KiB  128k m3u8  │ audio only       unknown    128k Audio
http-288               mp4 480x270    │ ≈  1.20MiB  288k https │ unknown          unknown
hls-192                mp4 480x270    │ ~821.54KiB  193k m3u8  │ avc1.4D4015 193k video only
http-832               mp4 640x360    │ ≈  3.46MiB  832k https │ unknown          unknown
hls-311                mp4 640x360    │ ~  1.30MiB  312k m3u8  │ avc1.4D401E 312k video only
http-2176              mp4 1280x720   │ ≈  9.06MiB 2176k https │ unknown          unknown
hls-638                mp4 1280x720   │ ~  2.66MiB  638k m3u8  │ avc1.640020 638k video only

0xtrr avatar Sep 08 '24 16:09 0xtrr

@fishcakeday do you have guidance?

alltheseas avatar Sep 08 '24 16:09 alltheseas

this is a video encoding issue, there's not much we can do on our end for videos which are not encoded for maximum compatibility

jb55 avatar Sep 08 '24 23:09 jb55