Comments (4)
Hi, thanks for reaching out sp3ctum. This is an issue related to the flutter_vlc_player
plugin I'm using -- seeking in a YouTube stream is very finicky. Sometimes it works, and sometimes, it's really weird. I'm not really sure I can do anything about this unless I migrate the app to another player.
I've found that by sticking to flutter_vlc_player
, I can provide full HEVC support and can support any kind of video that users can throw at, with the trade-off that there are some player behaviors that I can't really debug myself.
Before I ported the app to use VLC, you could actually use the player in portrait mode and you wouldn't be restricted in landscape mode. So it's less buggy, I restrict the player in landscape. In this case, I believe only the flutter_vlc_player
plugin I'm using can actually mux together YouTube's high quality audio and video which is split into two streams rather than in one muxed file.
This results in some unspecified behavior towards the end of a video and really weird seeking. It's a tradeoff I must deal with for the moment, and I've decided it's something most users can live with rather than being restricted to a poor quality YouTube video only in 360p or so. For now, I advise users not to trust seeks too much when streaming video.
Thanks again for the bug report, I really appreciate it. I will continue to investigate what I can do about this. I will leave this issue open as it is a legitimate concern.
from jidoujisho.
I have recently released 0.12.4 as a quick mitigation for this issue. I now mix muxed and demuxed YouTube streams. You may find muxed YouTube streams marked as (seek friendly)
in the quality menu. If you use those options, the video should buffer and seek properly.
I've found great success using these on more than an hour long videos (which I've found are typically problematic) where attempting to seek will return you to the beginning of the video. Muxed streams are very compatible with the player but are limited to 720p at the maximum quality however, so please be advised.
I think this is a pretty solid temporary solution while I get to the heart of the matter.
from jidoujisho.
Tested that release today with a couple of videos, seems to work nicely. It's a huge improvement, thank you 👍
from jidoujisho.
After letting this issue stay open for months, I believe this is a deeply rooted VLC issue with the --input-slave
parameter (documentation for that can be found here) that I use to mux individual video and audio streams from YouTube which is needed for higher resolutions. It seems that some codecs just do not work well with VLC, so I have applied a filter which makes only AVC1 video streams and audio only streams mux together for unmuxed streams to ensure compatibility.
I will keep the seek friendly tags for now and will consider a next point of action after seeing how compatibility goes after this change which I implemented in the 0.25.1 hotfix and may drop them at a later version. For compatibility purposes, I'll keep the seek friendly tags as the muxed streams are basically guaranteed to work very well. And maybe, at a later date if everything is basically working great, I will drop those tags.
As this is not really an issue with the app and this version of VLC that comes bundled with the video player package I use is all I can work with, making sure that it's as compatible as it can be with the codecs I feed into it is the best I can do. And from what I've tested with, there is a very significant improvement to seekability in highest resolution streams, so I am finally closing this issue. Sorry for the long wait.
from jidoujisho.
Related Issues (20)
- Video player turning black after switching between apps HOT 2
- Can I use a third-party HTTP API to translate the text? HOT 1
- Crash/Black Screen on launch after leaving app
- Issues with using newlines HOT 3
- Unable to Open Local Media HOT 1
- Insufficient performance in parsing long video's subtitles and somehow a correlation to timestamps not saving properly ( my layman's recount of this issue) HOT 3
- "Dictionary import failed"
- [Feature Request] Sentence Furigana Field
- Subtitles not passed when watching from Jellyfin HOT 2
- DecoderCallback is not recognized in Flutter? HOT 3
- Some frequency lists seem to be broken.
- Some pitch dictionaries do not import properly. HOT 1
- Duplicated JMDict tags HOT 1
- The card exporter works for some, but not for other words. HOT 1
- Issue with Loading Mokuro HTML Files in jidoujisho HOT 5
- Is there a way to automatically put sentence/image at the front of the anki card when sentence mining? HOT 3
- Yomitan Format HOT 1
- Unable to export cards to AnkiDroid 2.17.5 HOT 7
- App will not load HOT 5
- Add audio controls like asbplayer since generated subtitles can get mis-sync
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jidoujisho.