3 ms·
So, the JavaScript audio/video APIs already available in the browser are fully competent to build any kind of media player. The major limitation is that media
by austin-cheney 2y ago
So, the JavaScript audio/video APIs already available in the browser are fully competent to build any kind of media player. The major limitation is that media players reliant on the browser APIs are limited to the codecs and containers supported by the browsers, which turns out to be a huge limitation.
A media library written for WASM with supplied codecs would not have that limitation, such that you could have an equivalent to VLC directly in a browser supporting immediate playback of any video/audio codec/container supplied in the WASM payload. The major advantage of a browser based application versus a desktop app is immediate playback of media via hyperlink without the soul crushing limitations Apple imposes on iOS.
- gp 2y agoDo you have a recommendation for having frame by frame control of a file? I am trying to synchronize multiple video files that have uneven framerates. I have separate metadata containing the frame timing. The video files are .ts (mpeg stream) files.
- austin-cheney 2y agoHere is the media player I wrote in JavaScript: https://github.com/prettydiff/mp3-master-list/blob/master/lib/browser.ts https://github.com/prettydiff/mp3-master-list/blob/master/li... I suspect there exist filters in the browser APIs to adjust play back timing and rate. I have not attempted to modify the media in that way myself but I did see API filters to alter stero panning, tonal quality, wave shape, biquad, delay, and more.
- 1oooqooq 2y agowhat soul crushing limitations? only time i had to resort to those canvas/wasm hacks was to force autoplay video for advertisement, against all users best interest.
- austin-cheney 2y agoiOS imposes substantial limitations to compel app purchases through its app store or through its iTunes stores. I just wanted to listen to music I already have played from my phone while I do dishes. In my case I just wanted to have a media player that could play MP3s and feature a playlist dynamically populated from either the local device file system or, more ideally, from a shared network location. Restricted. There were some media apps that kind of, in a really shitty way, figured this out. Most of those apps, even when shitty, cost money from the app store. Fuck that stupidity. I wrote my own solution in JavaScript that executes in the browser and it does almost everything I want. The playlist data must be statically written into the browser page and cannot be dynamically populated from any file system because Apple disables that part of the browser's FileSystem API in browsers on iOS, though it executes correctly on desktop Safari. I then host the page from a shared network location so that I can access the same content in the same way on any device with access to the network. I adapted this home grown media player to execute video as well, but it can only play videos from codecs/containers already supported in the browser.
- 1oooqooq 2y agofeels like the solution to your problem is just to use android which while still being a loaned-not-owned device like iphones, you at least are allowed to run a true webbrowser when you install firefox from the fdroid store (not from play store) ... ok, i get your point. we are all clows.
- AndrewDucker 2y agoYou can absolutely install Firefox from the Play store