nkoehler / mat-video

:tv: mat-video is an Angular 8/9+ video player using Material!
https://nkoehler.github.io/mat-video/
MIT License
91 stars 45 forks source link

AVI Files #13

Closed jgwinner closed 5 years ago

jgwinner commented 5 years ago

Bug, feature request, or proposal:

Probably a feature request

What is the current behavior?

AVI files don't play. If you try, you get an error:

Cannot play media. No decoders for requested formats: video/x-msvideo

What is the expected behavior?

AVI files would play.

What are the steps to reproduce?

Take a file that the Linux app "Motion" creates (default) and try to play it.

What is the use-case or motivation for changing an existing behavior?

AVI files have been around longer than Linux. While AVI files certainly have limitations, they are fairly common.

Which versions of Angular, Material, OS, TypeScript, browsers are affected?

Firefox (current), Angular 7. More or less up to date as of last week.

jgwinner commented 5 years ago

Interestingly enough, I thought I was doing MPEG:

mp4 - MPEG-4 Part 14 H264 encoding

mkv - Matroska H264 encoding

hevc - H.265 / HEVC (High Efficiency Video Coding)

ffmpeg_video_codec mpeg4

I double checked the code, and found this out:

mpeg4 or msmpeg4 - gives you files with extension .avi

This isn't a "Motion" problem, I could probably change the format as it's a fairly closed system, but it did seem to me that avi was a common format. Thought I'd check.

nkoehler commented 5 years ago

The HTML5 browser spec only supports MP4 as the container for H264 encoding. It seems like your stream is correct, but try changing the container to MP4 as AVI is unsupported by HTML5.

The full list of supported formats can be found on MDN and W3Schools

If you intend to play AVI files, you will need a server to transcode them which is very expensive.

Closing this issue.