Comments (9)
I believe there is a problem with parsing HEVC with slices in TS, at least some hardware encoders. I think I've seen something similar previously using Nvidia encoded HEVC with slices turned on. From what I recall repackaging the input as fMP4 didn't have an issue so there was something specific in the interaction of TS + HEVC with slices. Turning off slices in the encoder by using a different preset also didn't have any issues. But I never had a chance to dig into it beyond that.
A file to reproduce the problem would really help though.
from shaka-packager.
from shaka-packager.
See the linked sample, @cosmin
from shaka-packager.
Confirm you have access to the media sample.
from shaka-packager.
@Brainiarc7 unfortunately I was traveling last week with minimal connectivity and I was not able to download the file. I tried a couple of times but it eventually timed out before the download completed (as the file was a few hundred MB). I'm back to proper internet but the download link has expired. Could you please re-share it?
from shaka-packager.
Here goes, @cosmin . Thank you!
from shaka-packager.
@Brainiarc7 thank you, I was able to download the sample and can repro the problem locally. I'll follow up once I determine what the problem is.
from shaka-packager.
Ok, doing a little digging through the debugger I believe the problem lies within EsParserH26x::EmitFrame
It pops the current_timing_desc
from timing_desc_list_
which works for the single slice per frame case, however when multiple slices are being used the TimingDesc
has already been consumed it ends up returning false in the
if (current_timing_desc.pts == kNoTimestamp)
return false;
which then results in the errors seen
es_parser_h26x.cc:276] Failure while parsing Mpeg2TS: EmitFrame(current_access_unit_position_, next_access_unit_position_ - current_access_unit_position_, current_video_slice_info_.is_key_frame, current_video_slice_info_.pps_id)
es_parser_h26x.cc:255] Failure while parsing Mpeg2TS: EmitCurrentAccessUnit()
from shaka-packager.
I believe this might require some structural changes to es_parser_h26x.cc
to handle the case of multiple slices per access unit before calling EmitFrame.
from shaka-packager.
Related Issues (20)
- Logging no longer works? HOT 10
- HLS: Ignore unknown or unsupported system ID: 9A04F07998404286AB92E65BE0885F95 HOT 2
- Overall project status HOT 4
- Players stop reproducing the segments after some time. HOT 1
- Warning: "Insufficient bits in bitstream for given AVC profile" HOT 2
- How to use shaka packager from go lang? HOT 3
- Deploying version 3.0.0 HOT 1
- Queries on: Fixed position and style formatting for EBU-TT-D subtitles HOT 2
- Flaky build failure on Windows (shared library configuration) HOT 2
- CMake version on arm64 workers is too old HOT 4
- Shaka hangs on http upload if curl does not read upload cache HOT 1
- Incorrect teletext to vtt subtitle timing HOT 3
- Restore support for legacy FairPlay PSSH HOT 6
- [DASH] Duplicated Representation id when --force_cl_index + passthrough TTML inputs HOT 1
- [minor] Fix the version number in the docker build HOT 5
- Packager fails to remove old media segments if both HLS and DASH is being used for LIVE segmentation
- SEGV on input MP4A file HOT 1
- NPM packages broken before v3.0.3
- Not support VVC/H.266 codec 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 shaka-packager.