AWS Elemental Convert - Error video 360 degree when stream with media convert job of ouput HLS group

0

Hi everyone, I'm new to using AWS Elemental Convert for stream video 360 degree.

Requirement

I want to stream video 360 degree to m3u8 file (HLS group output) for video on demand.

I'm using follow libraries for play video 360 degree:

  1. Player videojs
  2. Play video 360 degree with videojs-vr
  3. Video on demand play HLS, m3u8 file using videojs http streaming

Problem

My output hlsUrl video has error after my media convert job complete. There are 2 black holes in the video. Details in images follow:

Image 1: https://pasteboard.co/AEvThY13xNbL.png

Image 2: https://pasteboard.co/hiZ0K9GBNFG1.png

Here is my hls video ouput: https://d298o70x5o76sk.cloudfront.net/bdca8d62-ae03-4793-881a-b4231811268f/hls/02b9502b-3a9b-42a6-926a-e7cc5e17bb4d.m3u8

Expected

My video 360 degree (m3u8) file, play with no black holes in video.

My encoding job config

https://gist.github.com/decodedmrq/d4f32745476da7dadc20b13064489276

Thanks for your support.

Best Regards,

2 Antworten
1

One thing I notice looking at your .m3u8 file is that your encoded video has an aspect ratio of 16:9. That aspect ratio isn't appropriate for 360 degree video. 360 degree video must be captured and encoded in an aspect ratio of 2:1 (which is equivalent to 360 degrees by 180 degrees.) This is also referred to as an "equirectangular" ratio. When your 360 video player attempts to play back a video that was not encoded at a 2:1 resolution it is forced to fill in the gaps with black.

Confirm that your source video is captured at a 2:1 resolution and that your encoding settings also target 2:1 resolutions.

profile pictureAWS
Kris
beantwortet vor 2 Jahren
0

Many thanks Kris,

After I changed encoding settings 1280x720 (16:9) to 1440x720 (2:1), it works perfectly.

My output video **not appear 2 black holes ** in movie. SOLVED

But when I stream video with quality greater than 2K, resolution is 2160x1080(2:1) or other quality 2K - 2560 x 1440 (16:9), 4K - 3840x2160 (16:9), 8K - 7680 × 4320(16:9)

The one thing I am having trouble with is embedding it into a web page to support both Safari and Chrome (I'm using video player (VideoJS) to play HLS video)

I do see an issue where the HLS index file doesn't load the movie automatically, but it just plays audio.

I have to refresh the page to see the whole video. Any ideas why?

Here is my ouput codec setting:

----Video codec----
Video codec: HEVC (H.265)
Width x Height: 2160 x 1080 (2:1)
Rate control mode: QVBR
Quality tuning level: Single pass HQ
Max bitrate (bits/s): 8500000
QVBR quality level: 9
----Frame rate----
Frame rate: 30
----Aspect ratio----
Pixel aspect ratio(1.0): 1 / 1
----Buffer----
HRD buffer size (bits) : 21250000
HRD buffer initial fill %: 90
----GOP structure----
GOP mode control: Specified seconds
GOP size: 3
B frames between reference frames: 5
Closed GOP cadence: 1
Number of reference frames: 3
GOP reference B-Frame: Enabled
Dynamic Sub-GOP: Adaptive
Scene change detection: Enabled
Min I-Interval: 0
----Codec details----
Profile: Main/High
Level: Auto
Color metadata: Insert
Alternate transfer function SEI: Enabled
Slices: 1
Tiles: Enabled
Unregistered SEI: Disbled
Adaptive quantization: High
Spatial Adaptive Quantization: Enabled
Temporal Adaptive Quantization: Enabled 
Flicker Adaptive Quantization: Enabled

Thanks for your support

adamlle
beantwortet vor 2 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen