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 Risposte
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
con risposta 2 anni fa
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
con risposta 2 anni fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande