awslabs / amazon-kinesis-video-streams-producer-sdk-cpp

Amazon Kinesis Video Streams Producer SDK for C++ is for developers to install and customize for their connected camera and other devices to securely stream video, audio, and time-encoded data to Kinesis Video Streams.
Apache License 2.0
373 stars 334 forks source link

maximum fragment duration reached with high resolution video streaming #153

Closed laurenkemperman closed 5 years ago

laurenkemperman commented 5 years ago

Streaming video encoded with omxh264 encoder at bitrate 5120000. Set frame rate to be compatible with high definition 1920 by 1080 at 10 frames per second, and received maximum fragment duration error. Highest resolution where streaming worked without this error was 1280 by 720 at 15 frames per second.

zhiyua-git commented 5 years ago

Hi @laurenkemperman ,

What is the I frame interval you set for the encoder? To avoid this maximum fragment duration error, you would need to have at least one I frame every 10 seconds.

If you can send your log and video streaming use case to kinesis-video-support@amazon.com, we can provide further assistance.

-ZH

laurenkemperman commented 5 years ago

Hi,

The iframe interval has been set to 60. I am getting an error which states that there is no corresponding frame found. I will send the log and use case, thanks for your help!

Lauren

On Dec 4, 2018, at 4:53 PM, zhiyua-git notifications@github.com wrote:

Hi @laurenkemperman https://github.com/laurenkemperman ,

What is the I frame interval you set for the encoder? To avoid this maximum fragment duration error, you would need to have at least one I frame every 10 seconds.

If you can send your log and video streaming use case to kinesis-video-support@amazon.com mailto:kinesis-video-support@amazon.com, we can provide further assistance.

-ZH

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/issues/153#issuecomment-444273317, or mute the thread https://github.com/notifications/unsubscribe-auth/ApjycFwUVn77wvhyz7RBKxCmXZYMwOw9ks5u1u7zgaJpZM4ZBjNH.

MushMal commented 5 years ago

@laurenkemperman thanks for the info. It seems that you are producing 15 fps stream. Having key-int-max 60 means you will produce GoP size of 12 seconds which is above the current max fragment duration limit. Try setting key-int-max to a smaller value like 45 or have FPS increased to ensure the fragment duration is less than 10 seconds

unicornss commented 5 years ago

Closing the issue for now. Please reopen or contact kinesis-video-support@amazon.com if needed. Thanks

tstamper commented 3 years ago

This sounds inaccurate? how can GOP size of 60 with 15FPS produce an i-frame(keyframe) every 12 seconds time duration? It sounds like its 5FPS not 15FPS. Was that a typo?

MushMal commented 3 years ago

Yes indeed, 5 fps. The issue is again, you either have a low fps or your encoder blocks