Comments (12)
ok I can see some glitch around t=10s while staying on the lowest level (using http://vhx-uploads-development.s3.amazonaws.com/charlietran/videos/8197/39380/200-dKzMBrZyBbxg-AetqyFD.m3u8 )
also other glitches are visible later on, around fragment boundaries.
this is not a regression from c0284ea, and this is not happening on IOS.
I am suspecting the following could give some clue on the root cause:
DEBUG:TS: partial AVC PES at end of segment
from flashls.
I confirm the issue is not linked to AES decryption.
I decrypted the playlist on my machine using a special tool and I got the same glitches while playing back the decrypted playlist.
then I tried concatenating all decrypted fragments into one unique fragment and played it back with flashls, issue is gone.
=> glitch should be related to reassembly issue of video PES packets splitted accross fragments. this case should be handled already but might be buggy.
Cheers,
Mangui
from flashls.
Thanks so much for confirming that, where in Flashls are split PES packets handled? I'll try to dig in deeper and look for the bug.
from flashls.
it is happening in TSDemuxer.as
I found the root cause. there are some AVC NAL Unit overlapping between segments.
basically when parsing the first AVC PES of second fragment, I can see some overflows. it means that first AVC PES of second fragment contains the end of the last NAL Unit of first fragment.
this is checked here : https://github.com/mangui/flashls/blob/master/src/org/mangui/hls/demux/TSDemuxer.as#L300-L304
but last video tag is null at that time, as the demux is reinstanciated between fragments.
I am reviewing the demuxer logic to be able to handle such kind of case.
Cheers,
Mangui
from flashls.
Hi @charlietran, you might recheck your stream with flashls/master
from flashls.
this should work fine when staying on same level, but there are still issues when switching levels.
from flashls.
also there is still an audio glitch while staying on same level
basically my commit just fix the video glitch while staying on same level
from flashls.
audio glitch issue should be fixed now.
some issues are remaining when seeking/switching level. i am checking what is going on
from flashls.
Hi @charlietran
seeking should work fine now. however there are still video glitches when switching levels. but i dont think this could be fixed.
if a video frame is splitted across two segments and level switching is occuring, there will anyway be artifacts or video frame loss.
but now, flashls should be more robust to bad segmentation when staying on same level.
Cheers,
Mangui
from flashls.
amazing, thanks @mangui! is there any way to prevent video frames being
split? the way I'm segmenting right now is every 10s with keyframes every
2s, which i figured would prevent frames from being split like this.
On Thu, Jul 31, 2014 at 12:56 PM, Guillaume du Pontavice <
[email protected]> wrote:
Hi @charlietran https://github.com/charlietran
seeking should work fine now. however there are still video glitches when
switching levels. but i dont think this could be fixed.
if a video frame is splitted across two segments and level switching is
occuring, there will anyway be artifacts or video frame loss.but now, flashls should be more robust to bad segmentation when staying on
same level.
Cheers,
Mangui—
Reply to this email directly or view it on GitHub
#31 (comment).
from flashls.
you need to use a good segmenter ... yours seems broken.
on my side I use ffmpeg internal segmenter. it works quite well.
from flashls.
Closing this, the fixes have made streaming MUCH better. We'll look into our segmenter, thanks again.
from flashls.
Related Issues (20)
- Can this flash plugin support videojs version 6?
- probe fragment type fails on encrypted audio only .m4a files
- how to disabled auto level?
- Set custom referer and useragent
- I build an app with "adobe air", flashls support ios ? HOT 1
- Mute stream?
- CEA-608/EIA-608 Closed-captions are not getting rendered in v0.4.4.24 HOT 2
- video playback stutters in a specific scenario with alternative audio playlist
- setting new AudioTrack HOT 1
- Audio Track switch in FlashHls HOT 16
- What is relation between releases? HOT 2
- Video is buffering (or freezes) after Audio Track change HOT 1
- Any plan to support Subtitles in the official release? HOT 1
- M3u8 Not Playing after first ts segment
- Downloaded .ts (AES-128) doesn't play, probably still encrypted
- How to retrieve id3 tags through opencv
- how can i set query string on ts request?
- Issue with ABR switching to highest variant available HOT 1
- flashls doesn't play stream with AES-128 Encryption. It tries to load only the first segment HOT 2
- Subtitles are missing...
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 flashls.