Comments (4)
Thanks a lot.
from torrentstream-android.
which hints at video metadata sometimes being present at the end of the file.
That's exactly the reason.
from torrentstream-android.
Then how do you make sure that the required information is completely downloaded, I'm talking in terms of size, how do you make sure you've downloaded the all the required pieces, containing metadata info.
In case we are downloading them blindly, is there a way to know firsthand which pieces should be downloaded? So that we only download the required pieces.
Also I realize it is out of the scope for this question, but can you also provide a reference where I can further look into different video types which describes the end-of-file-meta-data behavior.
from torrentstream-android.
It's a bit of a guess. Most of the metadata (container information, like MP4 of MKV) should fit in the first and last few pieces because the majority of the file is just video. I built this mostly based on trial-and-error and looking at the video player implementations iirc. If you open a mp4 video in a webbrowser for example you'll see in the network inspector that it specifically requests the last part of the file as well. It probably depends on the video player that is used, which for me was mostly a LibVLC based client and actually just Chrome via some HTTP server (and eventually TorrentStreamServer) to make sure that the videos could be played on Chromecast-like devices.
I don't remember looking up the specifications of video formats, but you should be able to find them to see how the container formats actually work. Matroska (mkv) is here for example: https://matroska.org/technical/order/index.html
from torrentstream-android.
Related Issues (20)
- Download speed should be int HOT 1
- Question: Does it Seed as well as download? HOT 1
- bufferProgress does not finish HOT 2
- Resume and Pause function . HOT 1
- totrent streaming stops and further no video is streaming occurs HOT 6
- Error calling alert listener HOT 5
- Access to internal TorrentSessionManager HOT 2
- Doesn't work on Android 11 HOT 8
- Sample with working seekbar HOT 6
- How to get buffer progress when setInterestedBytes(long bytes) is used? HOT 1
- Stream via exo player HOT 3
- Need help regarding setInterestedBytes HOT 3
- some way to play video without download ? HOT 1
- Stream while downloading HOT 4
- How to get interested pieces first on seeking video player forward HOT 1
- ava.lang.UnsatisfiedLinkError: No implementation found for void com.frostwire.jlibtorrent.swig.libtorrent_jni.swig_module_init() HOT 1
- Please upgrade the library to jlibtorrent 1.2.16.0 HOT 3
- Progress stop in xx% and onStreamReady never come with some torrents HOT 3
- explore the files inside the torrent before downloading? HOT 6
- Seek to a particular position HOT 1
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 torrentstream-android.