You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
License update: KVS SDK and GStreamer kvssink plugin are under Apache 2.0 license now.
C-Producer - New feature
Language level is C89. It should work for all GCC versions, tested minimum GCC version is 4.1.
The Kinesis Video Streams C producer library wraps kinesis-video-pic (Platform Independent Code) with additional layer of API that allows scenario and platform-specific callbacks and events.
Callbacks for sample retry logic implementation are now supported through C Producer
CPP Producer - Updates
Language level is C++11 instead of C++14. Required minimum GCC version is 4.8.
Kinesis Video Producer CPP (kinesis-video-producer directory) is now revised to a wrapper of C Producer SDK which interfaces with the Platform Independent Repository (PIC, kinesis-video-pic directory).
Platform Independent Code - New functionality
Automatic CPD (codec private data) extraction from the stream
Reset stream and reset connection functionality in PIC - In case of unrecoverable errors users can simply call reset stream; internally SDK will free & create the stream.
Log level supported in PIC. It can be set in member variable of DeviceInfo.ClientInfo.
Platform Independent Code - Bug Fixes
Skip over error fragments - SDK will continue skip any invalid fragments are ingested through SDK earlier and continue streaming with valid ingested fragments. It will not just loop back and keep resending the broken fragment now.
All unit tests (pic_test, cproducer_test, producer_test) are at C++11 level. Required minimum GCC version is 4.8.
Please note the following changes if you have customized the SDK for your integration and not using samples directly.
Changes to utility functions:
RotatingStaticCredentialProvider is removed from C++ producer. Customer can use StaticCredentialProvider instead.
CredentialProviderUtil and SerializedCredentials are removed from C++ producer.
Following functions are removed from DefaultCallbackProvider: sleepUntilWithTimeCallback, shutdownStream, notifyResult, getControlPlaneUri, safeFreeBuffer, getStreamStatusFromString.
Changes to the object model:
Following attributes have been added: Version number is added to TrackInfo, Frame, StreamDescription, DeviceInfo, StreamInfo.
Following attributes have been removed: certPath is removed from DeviceInfo in PIC.
Copy file name to clipboardExpand all lines: README.md
+44
Original file line number
Diff line number
Diff line change
@@ -17,14 +17,32 @@ Amazon Kinesis Video Streams Producer SDK for C/C++ makes it easy to build an on
17
17
Amazon Kinesis Video Streams Producer SDK for C/C++ contains the following sub-directories/projects:
18
18
* kinesis-video-pic - The Platform Independent Codebase which is the basic building block for the C++/Java producer SDK. The project includes multiple sub-projects for each sub-component with unit tests.
19
19
* kinesis-video-producer - The C++ Producer SDK with unit test.
20
+
* kinesis-video-c-producer - The C Producer SDK with unit test.
20
21
* kinesis-video-producer-jni - The C++ wrapper for JNI to expose the functionality to Java/Android.
21
22
* kinesis-video-gst-demo - C++ GStreamer sample application (for webcam, USB camera and RTSP) .
22
23
* kinesis-video-gstreamer-plugin - GStreamer plugin sink element (kvssink) and demo application.
23
24
***kinesis-video-native-build** - Native build directory with a build script for **Mac OS/Linux/Raspberry PI/Windows**. This is the directory that will contain the artifacts **(executable binaries)** and JNI libraries after the build.
24
25
* This should be your **current working directory** for running the install-scripts.
25
26
26
27
----
28
+
### Supported Platforms
29
+
----
30
+
Kinesis Video Streams Producer SDK was tested on following platforms:
31
+
```
32
+
Ubuntu 16
33
+
Ubuntu 17
34
+
Ubuntu 18
35
+
Raspberry Raspbian
36
+
MacOS El Captian
37
+
MacOS Sierra
38
+
MacOS High Sierra
39
+
Windows 7 Enterprise
40
+
Windows 10 Enterprise
41
+
Windows Server 2012 R2
42
+
Windows Server 2016
43
+
```
27
44
45
+
----
28
46
### Build and install Kinesis Video Streams Producer SDK and sample applications
29
47
----
30
48
There are few build-time tools/dependencies which need to be installed in order to compile the core producer SDK libraries and the sample applications. Sample applications are provided to demonstrate _**how to send video**_ from **webcam**, **USB camera**, or **IP camera** (RTSP).
@@ -50,6 +68,32 @@ This library is licensed under the Apache License, 2.0.
50
68
----
51
69
### Release notes
52
70
71
+
#### Release 2.0.0 (9th Jul 2019)
72
+
* License update: KVS SDK and GStreamer kvssink plugin are under Apache 2.0 license now.
73
+
* C-Producer - New feature
74
+
* Language level is C89. It should work for all GCC versions, tested minimum GCC version is 4.1.
75
+
* The Kinesis Video Streams C producer library wraps kinesis-video-pic (Platform Independent Code) with additional layer of API that allows scenario and platform-specific callbacks and events.
76
+
* Callbacks for sample retry logic implementation are now supported through C Producer
77
+
* CPP Producer - Updates
78
+
* Language level is C++11 instead of C++14. Required minimum GCC version is 4.8.
79
+
* Kinesis Video Producer CPP (kinesis-video-producer directory) is now revised to a wrapper of C Producer SDK which interfaces with the Platform Independent Repository (PIC, kinesis-video-pic directory).
80
+
* Platform Independent Code - New functionality
81
+
* Automatic CPD (codec private data) extraction from the stream
82
+
* Reset stream and reset connection functionality in PIC - In case of unrecoverable errors users can simply call reset stream; internally SDK will free & create the stream.
83
+
* Log level supported in PIC. It can be set in member variable of DeviceInfo.ClientInfo.
84
+
* Platform Independent Code - Bug Fixes
85
+
* Skip over error fragments - SDK will continue skip any invalid fragments are ingested through SDK earlier and continue streaming with valid ingested fragments. It will not just loop back and keep resending the broken fragment now.
86
+
* All unit tests (pic_test, cproducer_test, producer_test) are at C++11 level. Required minimum GCC version is 4.8.
87
+
88
+
* Please note the following changes if you have customized the SDK for your integration and not using samples directly.
89
+
* Changes to utility functions:
90
+
* RotatingStaticCredentialProvider is removed from C++ producer. Customer can use StaticCredentialProvider instead.
91
+
* CredentialProviderUtil and SerializedCredentials are removed from C++ producer.
92
+
* Following functions are removed from DefaultCallbackProvider: sleepUntilWithTimeCallback, shutdownStream, notifyResult, getControlPlaneUri, safeFreeBuffer, getStreamStatusFromString.
93
+
* Changes to the object model:
94
+
* Following attributes have been added: Version number is added to TrackInfo, Frame, StreamDescription, DeviceInfo, StreamInfo.
95
+
* Following attributes have been removed: certPath is removed from DeviceInfo in PIC.
96
+
53
97
#### Release 1.7.9 (13th Mar 2019)
54
98
* Fix memory leak in kinesis_video_gstreamer_audio_video_sample_app.
* (Skip this if you installed gstreamer using apt-get) The `gst-launch-1.0` and `gst-inspect-1.0` binaries are built inside the folder `<YourSdkFolderPath>/kinesis-video-native-build/downloads/local/bin`. You can either run the following commands from that folder using `./gst-launch-1.0` or you can include that in your **PATH** environment variable using the following export command and run `gst-launch-1.0`
150
+
* (Skip this if you installed GStreamer using `apt-get`) The `gst-launch-1.0` and `gst-inspect-1.0` binaries are built inside the folder `<YourSdkFolderPath>/kinesis-video-native-build/downloads/local/bin`. You can either run the following commands from that folder using `./gst-launch-1.0` or you can include that in your **PATH** environment variable using the following export command and run `gst-launch-1.0`
Refer the **README.md** file in the *docker_native_scripts* folder for running the build and RTSP demo application within Docker container.
332
338
339
+
### How to run sample applications for sending H264 video files to KVS
340
+
341
+
The sample application `kinesis_video_cproducer_video_only_sample` sends h264 video frames inside the folder `kinesis-video-c-producer/samples/h264SampleFrames` to KVS.
342
+
The following command sends the video frames in a loop for ten seconds to KVS.
For additional examples on using Kinesis Video Streams Java SDK and Kinesis Video Streams Parsing Library refer:
@@ -339,14 +354,23 @@ For additional examples on using Kinesis Video Streams Java SDK and Kinesis Vid
339
354
##### [Kinesis Video Streams Android SDK](https://github.com/awslabs/aws-sdk-android-samples/tree/master/AmazonKinesisVideoDemoApp)
340
355
----
341
356
342
-
##### Running C++ Unit tests
357
+
##### Running C++ unit tests
343
358
344
-
The executable for **unit tests** will be built in `./start` inside the `kinesis-video-native-build` directory. Launch it and it will run the unit test and kick off dummy frame streaming.
359
+
**Note:** Please set the [credentials](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/install-instructions-linux.md#setting-credentials-in-environment-variables) before running the unit tests.
360
+
361
+
The executable for **unit tests** will be built as `./producer_test` inside the `kinesis-video-native-build` directory. Launch it and it will run the unit test and kick off dummy frame streaming.
362
+
363
+
##### Running C unit tests
364
+
365
+
The executable for **unit tests** will be built as `./cproducer_test` inside the `kinesis-video-native-build` directory.
366
+
367
+
##### Running PIC unit tests
368
+
369
+
The executable for **unit tests** will be built as `./pic_test` inside the `kinesis-video-native-build` directory.
345
370
346
371
##### Enabling verbose logs
347
372
Define `HEAP_DEBUG` and `LOG_STREAMING` C-defines by uncommenting the appropriate lines in CMakeList.txt in the kinesis-video-native-build directory.
348
373
349
-
350
374
----
351
375
##### How to configure logging for producer SDK sample applications.
Refer the **README.md** file in the *docker_native_scripts* folder for running the build and **RTSP sample application** to start streaming from **IP camera** within Docker container.
221
221
222
+
### How to run sample applications for sending H264 video files to KVS
223
+
224
+
The sample application `kinesis_video_cproducer_video_only_sample` sends h264 video frames inside the folder `kinesis-video-c-producer/samples/h264SampleFrames` to KVS.
225
+
The following command sends the video frames in a loop for ten seconds to KVS.
226
+
you can run `./kinesis_video_cproducer_video_only_sample YourStreamName 10`
For additional examples on using Kinesis Video Streams Java SDK and Kinesis Video Streams Parsing Library refer:
224
235
@@ -228,7 +239,19 @@ For additional examples on using Kinesis Video Streams Java SDK and Kinesis Vid
228
239
-----
229
240
230
241
##### Running C++ Unit tests
231
-
The executable for **unit tests** will be built in `./start` inside the `kinesis-video-native-build` directory. Launch it and it will run the unit test and kick off dummy frame streaming.
242
+
243
+
**Note:** Please set the [credentials](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/install-instructions-macos.md#setting-credentials-in-environment-variables) before running the unit tests.
244
+
245
+
The executable for **unit tests** will be built as `./producer_test` inside the `kinesis-video-native-build` directory. Launch it and it will run the unit test and kick off dummy frame streaming.
246
+
247
+
##### Running C unit tests
248
+
249
+
The executable for **unit tests** will be built as `./cproducer_test` inside the `kinesis-video-native-build` directory.
250
+
251
+
##### Running PIC unit tests
252
+
253
+
The executable for **unit tests** will be built as `./pic_test` inside the `kinesis-video-native-build` directory.
254
+
232
255
233
256
##### Enabling verbose logs
234
257
Define `HEAP_DEBUG` and `LOG_STREAMING` C-defines by uncommenting the appropriate lines in CMakeList.txt in the kinesis-video-native-build directory.
0 commit comments