Comments (6)
A workaround I found was to increase the number of frames between keyframes. It seems iOS likes a longer fragment length
Can modify with the key-int-max param in your pipeline
from amazon-kinesis-video-streams-producer-sdk-cpp.
HI @djhanove, thanks for sharing. Increasing the number of frames between keyframes will increase the fragment duration.
See the documentation for more information and troubleshooting tips: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/troubleshooting.html#troubleshooting-hls
from amazon-kinesis-video-streams-producer-sdk-cpp.
Hi @djhanove, can you please provide some more details as to how HLS playback is failing (are there any errors, is the HLS URL fetching successful, video player logs if possible), and what is the GetHLSStreamingSessionURL command properties are for the streams?
from amazon-kinesis-video-streams-producer-sdk-cpp.
Hi there,
The HLS URL is fetched successfully and playback tries to start but then results in the following black image.
I am using the baseline h-264 profile which is read correctly in the kinesis media player. No issues on android or web with the same pipeline.
The GetHLSStreamingSessionURL is configured below:
export async function GET(request: NextRequest, { params }: { params: { device_id: string } }) {
const deviceId = params.device_id;
const { searchParams } = new URL(request.url);
const livestreamMode = searchParams.get("mode");
const streamName = `xxxxxxx_${deviceId}_${livestreamMode === "thermal" ? "thermal" : "rgb"}`;
try {
const result = await new Promise((resolve, reject) => {
kvClient.getDataEndpoint(
{
StreamName: streamName,
APIName: "GET_HLS_STREAMING_SESSION_URL",
},
(err, data) => {
if (err) {
reject(err);
}
const kvArchived = new AWS.KinesisVideoArchivedMedia({
endpoint: data.DataEndpoint,
});
kvArchived.getHLSStreamingSessionURL(
{
StreamName: streamName,
PlaybackMode: "LIVE",
},
(err, data) => {
if (err || !data?.HLSStreamingSessionURL) {
reject(err);
} else {
resolve(data.HLSStreamingSessionURL);
}
},
);
},
);
});
return NextResponse.json({ url: result });
} catch (e) {
console.log("ERROR SERVER", e);
return NextResponse.json({ error: e.message }, { status: 400 });
}
}
from amazon-kinesis-video-streams-producer-sdk-cpp.
Can you please include what you were able to try from the above linked trouble shooting guide, and do you have any success using DASH instead of HLS on ios?
from amazon-kinesis-video-streams-producer-sdk-cpp.
Closing due to no response
from amazon-kinesis-video-streams-producer-sdk-cpp.
Related Issues (20)
- [BUG] HTTP Error 403 : Response: {"message":"Signature expired: 20231107T044734Z is now earlier than 20231107T045305Z (20231107T045805Z - 5 min.)"} HOT 1
- resolution 1920x1080 vs 640*480 HOT 1
- [QUESTION] H265 support needed HOT 1
- [QUESTION] Set retention to 0 hours and play video HOT 4
- [FEATURE] Writing frames to content store even before kinesis video stream initialization. HOT 2
- [BUG] Error received from element udpsrc0: Internal data stream error HOT 5
- [QUESTION] what inexpensive Kinesis Video Stream approved IP Camera can I use to prototype HOT 1
- [QUESTION] calculate_skew: delta - skew: 0:00:01.010868203 too big, reset skew Error HOT 1
- [QUESTION] All my frames are getting dropped I think and data upload rate is very low (rtsp H265 at 1020*1080) HOT 3
- [QUESTION] Gstreamer event/message for streaming/connection releated issues in KVS SDK HOT 2
- [QUESTION] kvs_gstreamer_sample hanging after "pad link successful" HOT 1
- compilation error on Ubuntu HOT 1
- Not able to access media on Media Playback on Kinesis Video Streamer
- [QUESTION] Raspberry Pi からの映像送信でエラーが発生
- I am getting this error while running: cmake -DBUILD_GSTREAMER_PLUGIN=TRUE .. HOT 4
- [BUG] Streaming h.265 video from RTSP HOT 5
- [BUG] HOT 1
- [BUG] Gst plugin kvssink is built as static library
- [FEATURE] Make log level in kvssink configurable. 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 amazon-kinesis-video-streams-producer-sdk-cpp.