

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Kinesis Video Streams 문제 해결
<a name="troubleshooting"></a>

다음 정보를 사용하여 Amazon Kinesis Video Streams에서 발생하는 일반적인 문제를 해결합니다.

**Topics**
+ [일반 문제](#troubleshooting-general)
+ [API 문제](#troubleshooting-api)
+ [HLS 문제](#troubleshooting-hls)
+ [Java 문제](#troubleshooting-java)
+ [생산자 라이브러리 문제](#troubleshooting-producer)
+ [스트림 구문 분석기 라이브러리 문제](#troubleshooting-parser)
+ [네트워크 문제](#troubleshooting-network)

## 일반 문제
<a name="troubleshooting-general"></a>

이 섹션에서는 Kinesis Video Streams 작업 시 발생할 수 있는 일반적인 문제를 설명합니다.

**Topics**
+ [너무 긴 지연 시간](#troubleshooting-general-latency)

### 너무 긴 지연 시간
<a name="troubleshooting-general-latency"></a>

지연 시간은 Kinesis Video Streams 서비스로 전송되는 조각의 지속 시간으로 인해 발생할 수 있습니다. 생산자와 서비스 사이의 지연 시간을 줄이는 한 가지 방법은 조각 지속 시간을 단축하도록 미디어 파이프라인을 구성하는 것입니다.

각 조각에서 전송되는 프레임 수를 줄이려면에서 `kinesis_video_gstreamer_sample_app.cpp`다음 값을 줄입니다.

```
g_object_set(G_OBJECT (data.encoder), "bframes", 0, "key-int-max", {{45}}, "bitrate", 512, NULL);
```

**참고**  
비디오 렌더링의 내부 구현으로 인해 Mozilla Firefox 브라우저의 지연 시간이 더 깁니다.

## API 문제
<a name="troubleshooting-api"></a>

이 섹션에서는 Kinesis Video Streams 작업 시 발생할 수 있는 API 문제를 설명합니다.

**Topics**
+ [오류: "알 수 없는 옵션"](#troubleshooting-api-unknown-options)
+ [오류: "Unable to determine service/operation name to be authorized"(권한을 부여할 서비스/작업 이름을 확인할 수 없음)](#troubleshooting-api-name-auth)
+ [오류: "Failed to put a frame in the stream"(스트림에 프레임을 넣지 못했음)](#troubleshooting-api-putframe)
+ [오류: "Service closed connection before final AckEvent was received"(최종 AckEvent를 수신하기 전에 서비스가 연결을 종료함)](#troubleshooting-api-closeconnection)
+ [오류: "STATUS\_STORE\_OUT\_OF\_MEMORY"](#troubleshooting-api-storeoutofmemory)
+ [오류: "자격 증명은 유효한 리전으로 범위가 지정되어야 합니다."](#troubleshoot-api-credential)

### 오류: "알 수 없는 옵션"
<a name="troubleshooting-api-unknown-options"></a>

`GetMedia` 및 `GetMediaForFragmentList`가 다음 오류로 인해 실패할 수 있습니다.

```
Unknown options: <filename>.mkv
```

이 오류는 `output` 유형 AWS CLI 으로를 구성한 경우 발생합니다`json`. 기본 출력 유형() AWS CLI 으로를 재구성합니다`none`. 구성에 대한 자세한 내용은 *AWS CLI 명령* AWS CLI참조의 [구성을](https://docs.aws.amazon.com/cli/latest/reference/configure) 참조하세요.

### 오류: "Unable to determine service/operation name to be authorized"(권한을 부여할 서비스/작업 이름을 확인할 수 없음)
<a name="troubleshooting-api-name-auth"></a>

`GetMedia`가 다음 오류로 인해 실패할 수 있습니다.

```
Unable to determine service/operation name to be authorized
```

이 오류는 엔드포인트가 제대로 지정되지 않은 경우 발생할 수 있습니다. 엔드포인트를 가져올 때는 `GetDataEndpoint` 호출할 API에 따라 호출에 다음 파라미터를 포함해야 합니다.

```
--api-name GET_MEDIA
--api-name PUT_MEDIA
--api-name GET_MEDIA_FOR_FRAGMENT_LIST
--api-name LIST_FRAGMENTS
```

### 오류: "Failed to put a frame in the stream"(스트림에 프레임을 넣지 못했음)
<a name="troubleshooting-api-putframe"></a>

`PutMedia`가 다음 오류로 인해 실패할 수 있습니다.

```
Failed to put a frame in the stream
```

이 오류는 서비스에서 연결 또는 권한을 사용할 수 없는 경우 발생할 수 있습니다. 에서 다음을 실행 AWS CLI하고 스트림 정보를 검색할 수 있는지 확인합니다.

```
aws kinesisvideo describe-stream --stream-name {{StreamName}} --endpoint {{https://ServiceEndpoint.kinesisvideo.region.amazonaws.com}}
```

호출이 실패[하면 AWS CLI 오류 문제 해결을 참조하세요](https://docs.aws.amazon.com/cli/latest/userguide/troubleshooting.html).

### 오류: "Service closed connection before final AckEvent was received"(최종 AckEvent를 수신하기 전에 서비스가 연결을 종료함)
<a name="troubleshooting-api-closeconnection"></a>

`PutMedia`가 다음 오류로 인해 실패할 수 있습니다.

```
com.amazonaws.SdkClientException: Service closed connection before final AckEvent was received
```

이 오류는 `PushbackInputStream`이 올바로 구현되지 않을 경우 발생할 수 있습니다. `unread()` 메서드가 올바르게 구현되었는지 확인합니다.

### 오류: "STATUS\_STORE\_OUT\_OF\_MEMORY"
<a name="troubleshooting-api-storeoutofmemory"></a>

`PutMedia`가 다음 오류로 인해 실패할 수 있습니다.

```
The content store is out of memory.
```

이 오류는 콘텐츠 스토어가 충분한 크기로 할당되지 않을 때 나타납니다. 콘텐츠 스토어 크기를 늘리려면 `StorageInfo.storageSize` 값을 증가시킵니다. 자세한 내용은 [StorageInfo](producer-reference-structures-producer.md#producer-reference-structures-producer-storageinfo) 단원을 참조하십시오.

### 오류: "자격 증명은 유효한 리전으로 범위가 지정되어야 합니다."
<a name="troubleshoot-api-credential"></a>

이 오류는 서명 리전이 엔드포인트 리전과 일치하지 않는 경우에 발생합니다.

예를 들어를 서명 리전`us-west-2`으로 지정하지만 `kinesisvideo.us-east-1.amazonaws.com` (`us-east-1`) 엔드포인트에 연결하려고 하면이 오류가 발생합니다.

[kvssink](examples-gstreamer-plugin.md)와 같은 일부 애플리케이션에서 리전 폴백 체인은 기본적으로 로 설정됩니다`us-west-2`. 사용 중인 애플리케이션에 따라 리전을 올바르게 설정했는지 확인합니다.

## HLS 문제
<a name="troubleshooting-hls"></a>

비디오 스트림이 올바르게 재생되지 않는 경우 섹션을 참조하세요[HLS 문제 해결](hls-playback.md#how-hls-ex1-ts).

## Java 문제
<a name="troubleshooting-java"></a>

이 섹션에서는 Kinesis Video Streams 작업 시 발생하는 일반적인 Java 문제를 해결하는 방법을 설명합니다.

**Topics**
+ [Java 로그 활성화](#troubleshooting-java-log)

### Java 로그 활성화
<a name="troubleshooting-java-log"></a>

Java 샘플 및 라이브러리 문제를 해결하려면 디버그 로그를 활성화하고 검사하는 것이 좋습니다. 디버그 로그를 활성화하려면 다음을 수행합니다.

1. `log4j`을 `pom.xml` 노드에 있는 ```dependencies` 파일에 추가합니다.

   ```
   <dependency>
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
       <version>1.2.17</version>
   </dependency>
   ```

1. `target/classes` 디렉터리에 다음 콘텐츠로 `log4j.properties`라는 파일을 생성합니다.

   ```
   # Root logger option
   log4j.rootLogger=DEBUG, stdout
   
   # Redirect log messages to console
   log4j.appender.stdout=org.apache.log4j.ConsoleAppender
   log4j.appender.stdout.Target=System.out
   log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
   log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
   
   log4j.logger.org.apache.http.wire=DEBUG
   ```

그러면 디버그 로그가 IDE 콘솔로 인쇄됩니다.

## 생산자 라이브러리 문제
<a name="troubleshooting-producer"></a>

이 단원에서는 [Kinesis Video Streams에 업로드](producer-sdk.md) 사용 시 발생할 수 있는 문제에 대해 설명합니다.

**Topics**
+ [생산자 SDK를 컴파일할 수 없음](#troubleshooting-producer-compile)
+ [비디오 스트림이 콘솔에 나타나지 않음](#troubleshooting-producer-console)
+ [오류: "GStreamer 데모 애플리케이션을 사용하여 데이터를 스트리밍할 때 "요청에 포함된 보안 토큰이 잘못되었음"](#troubleshooting-producer-general-securitytoken)
+ [오류: "Kinesis 비디오 클라이언트에 프레임을 제출하지 못 함"](#troubleshooting-producer-failed-frame-client)
+ [OS X에 "스트리밍 중지됨, 이유가 협상되지 않음" 메시지와 함께 GStreamer 애플리케이션이 중지됨](#troubleshooting-producer-failed-stream-osx)
+ [오류: Raspberry Pi 기반으로 GStreamer 데모에서 Kinesis 비디오 클라이언트를 만들 때 "힙 할당에 실패했음"](#troubleshooting-producer-raspberrypi-heap)
+ [오류: Raspberry Pi 기반으로 GStreamer 데모를 실행하는 동안 "잘못된 명령"](#troubleshooting-producer-raspberrypi-illegalinstruction)
+ [카메라가 Raspberry Pi에서 로드하지 못함](#troubleshooting-producer-raspberrypi-camera)
+ [macOS High Sierra에서 카메라를 찾을 수 없음](#troubleshooting-producer-sierra-camera)
+ [macOS High Sierra에서 컴파일 시 jni.h 파일을 찾을 수 없음](#troubleshooting-producer-sierra-compile)
+ [GStreamer 데모 애플리케이션 실행 시 Curl 오류 발생](#troubleshooting-producer-curl)
+ [Raspberry Pi에서 런타임 시 타임스탬프/범위 어설션](#troubleshooting-producer-raspberrypi-timestamp-assert)
+ [Raspberry Pi에서 gst\_value\_set\_fraction\_range\_full에 어설션](#troubleshooting-producer-raspberrypi-gst-assert)
+ [Android에서 STATUS\_MKV\_INVALID\_ANNEXB\_NALU\_IN\_FRAME\_DATA(0x3200000d) 오류 발생](#troubleshooting-producer-android-invalid-annexb)
+ [최대 조각 지속 시간에 도달했습니다 오류](#troubleshooting-producer-maxfragmentduration)
+ [IoT 권한 부여를 사용할 때 "Invalid thing name passed(잘못된 이름이 전달되었습니다)" 오류 발생](#troubleshooting-producer-thingname)

### 생산자 SDK를 컴파일할 수 없음
<a name="troubleshooting-producer-compile"></a>

필요한 라이브러리가 경로에 있는지 확인합니다. 이를 확인하려면 다음 명령을 사용합니다.

```
env | grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=/home/local/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib
```

### 비디오 스트림이 콘솔에 나타나지 않음
<a name="troubleshooting-producer-console"></a>

콘솔에 비디오 스트림을 표시하려면 AvCC 형식으로 H.264를 사용하여 인코딩해야 합니다. 스트림이 보이지 않으면 다음을 확인합니다.
+ 기존 스트림이 Annex-B 형식에 있으면 [NAL 적응 플래그](producer-reference-nal.md)는 `NAL_ADAPTATION_ANNEXB_NALS | NAL_ADAPTATION_ANNEXB_CPD_NALS`로 설정됩니다. 이는 `StreamDefinition` 생성자의 기본값입니다.
+ 코덱 프라이빗 데이터를 올바르게 제공하고 있습니다. H.264의 경우 SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set)입니다. 미디어 원본에 따라 이 데이터를 별도로 미디어 원본에서 검색하거나 프레임에 인코딩할 수 있습니다.

  초기 스트림은 다음 형식이며 `Ab`가 Annex-B 시작 코드(001 혹은 0001)입니다.

  ```
  Ab(Sps)Ab(Pps)Ab(I-frame)Ab(P/B-frame) Ab(P/B-frame)…. Ab(Sps)Ab(Pps)Ab(I-frame)Ab(P/B-frame) Ab(P/B-frame)
  ```

  스트림에 H.264가 SPS 및 PPS로 있는 경우 CPD(Codec Private Data)를 AvCC 형식으로 조정할 수 있습니다. 미디어 파이프라인이 CPD를 별도로 제공하지 않는 한 애플리케이션은 첫 번째 Idr 프레임(SPS 및 PPS를 포함해야 함)을 찾아 프레임에서 CPD를 추출하고, 두 NALUs(Ab(Sps)Ab(Pps))를 추출하여의 CPD에 설정할 수 있습니다`StreamDefinition`.

### 오류: "GStreamer 데모 애플리케이션을 사용하여 데이터를 스트리밍할 때 "요청에 포함된 보안 토큰이 잘못되었음"
<a name="troubleshooting-producer-general-securitytoken"></a>

이 오류가 발생하면 자격 증명에 문제가 있는 것입니다. 다음을 확인합니다.
+ 임시 자격 증명을 사용하는 경우 세션 토큰을 지정해야 합니다.
+ 임시 자격 증명이 만료되지 않았는지 확인합니다.
+ 적절한 권한이 설정되어 있는지 확인합니다.
+ macOS에서 키체인에 자격 증명이 캐시되어 있지 않은지 확인합니다.

### 오류: "Kinesis 비디오 클라이언트에 프레임을 제출하지 못 함"
<a name="troubleshooting-producer-failed-frame-client"></a>

이 오류가 발생하면 타임스탬프가 소스 스트림에 제대로 설정되지 않은 것입니다. 다음을 시도해 보세요.
+ 최신 SDK 샘플을 사용합니다. 문제를 해결하는 업데이트가 있을 수 있습니다.
+ 고품질 스트림을 더 높은 비트레이트로 설정하고 카메라가 지원하는 경우 소스 스트림의 지터를 수정합니다.

### OS X에 "스트리밍 중지됨, 이유가 협상되지 않음" 메시지와 함께 GStreamer 애플리케이션이 중지됨
<a name="troubleshooting-producer-failed-stream-osx"></a>

다음 메시지와 함께 OS X에서 스트리밍이 중단될 수 있음:

```
Debugging information: gstbasesrc.c(2939): void gst_base_src_loop(GstPad *) (): /GstPipeline:test-pipeline/GstAutoVideoSrc:source/GstAVFVideoSrc:source-actual-src-avfvide:
streaming stopped, reason not-negotiated (-4)
```

이에 대한 가능한 해결 방법은의 `gst_caps_new_simple` 호출에서 프레임 속도 파라미터를 제거하는 것입니다`kinesis_video_gstreamer_sample_app.cpp`.

```
GstCaps *h264_caps = gst_caps_new_simple("video/x-h264",
                                             "profile", G_TYPE_STRING, "baseline",
                                             "stream-format", G_TYPE_STRING, "avc",
                                             "alignment", G_TYPE_STRING, "au",
                                             "width", GST_TYPE_INT_RANGE, 320, 1920,
                                             "height", GST_TYPE_INT_RANGE, 240, 1080,
                                             {{"framerate", GST_TYPE_FRACTION_RANGE, 0, 1, 30, 1,}}
                                             NULL);
```

### 오류: Raspberry Pi 기반으로 GStreamer 데모에서 Kinesis 비디오 클라이언트를 만들 때 "힙 할당에 실패했음"
<a name="troubleshooting-producer-raspberrypi-heap"></a>

GStreamer 샘플 애플리케이션이 시스템에서 사용할 수 없는 512MB RAM을 할당하려고 합니다. `KinesisVideoProducer.cpp`에서 다음 값을 줄임으로써 이 할당을 줄일 수 있습니다.

```
device_info.storageInfo.storageSize = {{512}} * 1024 * 1024;
```

### 오류: Raspberry Pi 기반으로 GStreamer 데모를 실행하는 동안 "잘못된 명령"
<a name="troubleshooting-producer-raspberrypi-illegalinstruction"></a>

GStreamer 데모를 실행할 때 다음 오류가 발생하면 디바이스의 올바른 버전에 맞게 애플리케이션을 컴파일했는지 확인합니다. (예: Raspberry Pi 2에서를 실행할 때 Raspberry Pi 3에 대해 컴파일하지 않는지 확인합니다.)

```
INFO - Initializing curl.
Illegal instruction
```

### 카메라가 Raspberry Pi에서 로드하지 못함
<a name="troubleshooting-producer-raspberrypi-camera"></a>

카메라가 로드되었는지 확인하려면 다음을 실행합니다.

```
ls /dev/video*
```

아무 것도 없으면 다음을 실행합니다.

```
vcgencmd get_camera
```

출력은 다음과 비슷하게 보여야 합니다.

```
supported=1 detected=1
```

드라이버가 카메라를 감지하지 못하면 다음을 수행합니다.

1. 실제 카메라 설정을 확인하고 올바르게 연결되었는지 확인하십시오.

1. 다음을 실행하여 펌웨어를 업그레이드합니다.

   ```
   sudo rpi-update
   ```

1. 디바이스를 다시 시작합니다.

1. 다음을 실행하여 드라이버를 로드합니다.

   ```
   sudo modprobe bcm2835-v4l2
   ```

1. 카메라가 감지되었는지 확인합니다.

   ```
   ls /dev/video*
   ```

### macOS High Sierra에서 카메라를 찾을 수 없음
<a name="troubleshooting-producer-sierra-camera"></a>

macOS High Sierra에서 두 대 이상의 카메라를 사용할 수 있는 경우 데모 애플리케이션이 카메라를 찾을 수 없습니다.

### macOS High Sierra에서 컴파일 시 jni.h 파일을 찾을 수 없음
<a name="troubleshooting-producer-sierra-compile"></a>

이 오류를 해결하려면 설치한 Xcode를 최신 버전으로 업데이트합니다.

### GStreamer 데모 애플리케이션 실행 시 Curl 오류 발생
<a name="troubleshooting-producer-curl"></a>

GStreamer 데모 애플리케이션 실행 시 발생한 curl 오류를 실행하려면 [이 인증서 파일](https://www.amazontrust.com/repository/SFSRootCAG2.pem)을 `/etc/ssl/cert.pem`으로 복사합니다.

### Raspberry Pi에서 런타임 시 타임스탬프/범위 어설션
<a name="troubleshooting-producer-raspberrypi-timestamp-assert"></a>

런타임 시 타임스탬프 범위 어설션이 발생하면 펌웨어를 업데이트하고 디바이스를 다시 시작합니다.

```
sudo rpi-update 
$ sudo reboot
```

### Raspberry Pi에서 gst\_value\_set\_fraction\_range\_full에 어설션
<a name="troubleshooting-producer-raspberrypi-gst-assert"></a>

`uv4l` 서비스가 실행 중인 경우 다음 어설션이 나타납니다.

```
gst_util_fraction_compare (numerator_start, denominator_start, numerator_end, denominator_end) < 0' failed
```

이 경우 `uv4l` 서비스를 중지하고 애플리케이션을 다시 시작합니다.

### Android에서 STATUS\_MKV\_INVALID\_ANNEXB\_NALU\_IN\_FRAME\_DATA(0x3200000d) 오류 발생
<a name="troubleshooting-producer-android-invalid-annexb"></a>

[NAL 적응 플래그](producer-reference-nal.md)가 미디어 스트림에 대해 부정확할 경우 다음 오류가 나타납니다.

```
putKinesisVideoFrame(): Failed to put a frame with status code 0x3200000d
```

이 오류가 발생하면 해당 미디어(예: `NAL_ADAPTATION_ANNEXB_CPD_NALS`)에 정확한 `.withNalAdaptationFlags` 플래그를 제공하십시오. 이 플래그를 [Android](producer-sdk-android.md)의 다음 행에 제공합니다.

[ https://github.com/awslabs/aws-sdk-android-samples/blob/master/AmazonKinesisVideoDemoApp/src/main/java/com/amazonaws/kinesisvideo/demoapp/fragment/StreamConfigurationFragment.java\#L169](https://github.com/awslabs/aws-sdk-android-samples/blob/master/AmazonKinesisVideoDemoApp/src/main/java/com/amazonaws/kinesisvideo/demoapp/fragment/StreamConfigurationFragment.java#L169)

### 최대 조각 지속 시간에 도달했습니다 오류
<a name="troubleshooting-producer-maxfragmentduration"></a>

이 오류는 스트림의 미디어 조각이 최대 조각 기간 한도를 초과할 때 발생합니다. [미디어 및 아카이빙된 미디어 API 서비스 할당량](limits.md#limits-akv-data) 섹션의 최대 조각 기간 제한을 참조하세요.

이 문제를 해결하려면 다음과 같이 해 보십시오.
+ 웹캠/USB 카메라를 사용하는 경우, 다음 중 하나를 수행하십시오.
  + 키 프레임 기반 조각화를 사용하는 경우 10초 이내에 키 프레임을 제공하도록 인코더를 설정합니다.
  + 키 프레임 기반 조각화를 사용하지 않는 경우에서 스트림을 정의할 때 최대 조각 기간 제한을 10초 미만의 값으로 [코드 작성 및 검사](producersdk-cpp-write.md)설정합니다.
  + GStreamer 파이프라인에서 소프트웨어 인코더(예: x264)를 사용하는 경우 key-int-max 속성을 10초 이내에 값으로 설정할 수 있습니다. 예를 들어, 2초마다 키 프레임을 활성화하려면 fps를 30으로 설정하여 key-int-max를 60으로 설정합니다.
+ RPI 카메라를 사용하는 경우 키프레임 간격 속성을 10초 미만으로 설정합니다.
+ IP(RTSP) 카메라를 사용하는 경우 GOP 크기를 60으로 설정합니다.

### IoT 권한 부여를 사용할 때 "Invalid thing name passed(잘못된 이름이 전달되었습니다)" 오류 발생
<a name="troubleshooting-producer-thingname"></a>

권한 부여에 IoT 자격 증명을 사용할 때이 오류(`HTTP Error 403: Response: {"message":"Invalid thing name passed"}`)를 방지하려면 `stream-name` ( `kvssink` 요소의 필수 파라미터) 값이 값과 동일한지 확인합니다`iot-thingname`. 자세한 내용은 [GStreamer 요소 파라미터 참조](examples-gstreamer-plugin-parameters.md) 단원을 참조하십시오.

## 스트림 구문 분석기 라이브러리 문제
<a name="troubleshooting-parser"></a>

이 단원에서는 [파서 라이브러리를 사용하여 스트리밍](parser-library.md) 사용 시 발생할 수 있는 문제에 대해 설명합니다.

**Topics**
+ [스트림에서 단일 프레임에 액세스할 수 없음](#troubleshooting-parser-frame)
+ [조각 디코딩 오류](#troubleshooting-parser-fragment)

### 스트림에서 단일 프레임에 액세스할 수 없음
<a name="troubleshooting-parser-frame"></a>

소비자 애플리케이션의 스트리밍 소스에서 단일 프레임에 액세스하려면 스트림에 올바른 코덱 프라이빗 데이터가 포함되어 있는지 확인합니다. 스트림의 데이터 형식에 대한 자세한 내용은 [데이터 모델](how-data.md) 단원을 참조하십시오.

코덱 프라이빗 데이터를 사용하여 프레임에 액세스하는 방법을 알아보려면 GitHub 웹사이트에서 다음 테스트 파일을 참조하십시오. [KinesisVideoRendererExampleTest.java](https://github.com/aws/amazon-kinesis-video-streams-parser-library/blob/master/src/test/java/com/amazonaws/kinesisvideo/parser/examples/KinesisVideoRendererExampleTest.java)

### 조각 디코딩 오류
<a name="troubleshooting-parser-fragment"></a>

조각이 브라우저에서 지원하는 H.264 형식 및 레벨로 올바르게 인코딩되지 않은 경우 콘솔에서 스트림을 재생할 때 다음 오류가 표시될 수 있습니다.

```
Fragment Decoding Error
There was an error decoding the video data. Verify that the stream contains valid H.264 content
```

이 경우 다음을 확인합니다.
+ 프레임의 해상도는 코덱 프라이빗 데이터에 지정된 해상도와 일치합니다.
+ 인코딩 프레임의 H.264 프로필 및 레벨은 코덱 프라이빗 데이터에 지정된 프로필 및 레벨과 일치합니다.
+ 브라우저는 프로필/레벨 조합을 지원합니다. 최신 브라우저는 모든 프로필 및 레벨 조합을 지원합니다.
+ 타임스탬프는 정확하고 순서가 올바르며 중복 타임스탬프가 생성되지 않습니다.
+ 애플리케이션이 H.264 형식을 사용하여 프레임 데이터를 인코딩하고 있습니다.

## 네트워크 문제
<a name="troubleshooting-network"></a>

"연결 제한 시간" 또는 "연결 실패"와 같은 연결 오류가 표시되면 Kinesis Video Streams에 연결을 시도할 때 네트워킹 설정의 IP 주소 범위 제한 때문일 수 있습니다.

설정에 Kinesis Video Streams에 대한 IP 주소 범위 제한이 있는 경우 Kinesis Video Streams [IP 주소 범위를](https://ip-ranges.amazonaws.com/ip-ranges.json) 허용 목록에 추가하도록 네트워크 구성을 업데이트합니다.

**중요**  
IP 범위 목록은 Kinesis Video Streams IP 주소의 전체 목록이 아닙니다. 표시되는 IP 주소 범위를 포함하고 시간이 지남에 따라 IP 주소가 변경될 수 있다는 점에 유의하세요.

자세한 내용은 [AWS IP 범위를](https://docs.aws.amazon.com//vpc/latest/userguide/aws-ip-ranges.html) 참조하세요. IP 범위가 변경될 때 알림을 받으려면 [구독 절차를](https://docs.aws.amazon.com//vpc/latest/userguide/aws-ip-ranges.html#subscribe-notifications) 따르세요.