Skip to content

Commit 686f25c

Browse files
authored
Update README.md
1 parent d7eb54d commit 686f25c

File tree

1 file changed

+20
-25
lines changed

1 file changed

+20
-25
lines changed

README.md

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,21 @@ This project shipped with two parts: **FFdynamic** library and applications buil
1717
-----------
1818
## An application *Interactive Live*
1919

20-
**Interactive Live** (Ial for short) is an application based on FFdynamic.
21-
Ial does multiple video and audio mixing, then streams it out. It could be run in phones or cloud servers.
22-
Here is an image got from an mobile app show its using scenario. Two streams are decoded, then mixed together and broadcast to audiences as one stream.
20+
**Interactive Live** (ial for short) is an application based on FFdynamic.
21+
Ial does multiple video and audio input mixing, then streams it out. It could be run on phones or cloud servers.
2322

24-
**Interactive Live** gives flexiable control over the mixing process (dynamical layout change, backgroup change, mute/unmute, etc..), shown in the Following gifs:
25-
26-
#### *Layout auto change or set to certain pattern during mixing broadcast by request*
27-
This picture shows auto layout change when a new stream joined in (from 2 cells to 3 cells); then manually set the layout to 4 and 9 cells. Changes are quite smooth, without any frozen or stuck.
23+
**Interactive Live** gives flexiable control over the mixing process (dynamical layout change, backgroup picture change, mute/unmute, etc..), shown in the Following gifs:
2824

2925
![Layout auto change or set as request](asset/layoutChange.gif)
26+
#### *Layout auto change or set to certain pattern during mixing by request*
27+
This picture shows, 1. auto layout change when a new stream joining in (from 2 cells to 3 cells); 2. layout changes to 4 and 9 cells by http requeset. Changes are quite smooth, without any frozen or stuck, due to audio/video sync message communication mechnism.
3028

31-
#### For more details, please refer to [the application](apps/interactiveLive/README.md)
29+
#### For more details(capacities, http apis, etc..), please refer to [the application](apps/interactiveLive/README.md)
3230

3331
-----------
3432
## *Dynamic Detect* example
3533

36-
This little project is a playgroud one can change object detector types at run time while reading video streams. Those detectors are loaded via OpenCV api. Models of *darknet* yolo3, *caffe* vgg-ssd, and *tensorflow* mobilenet-ssd (all in coco dataset) are tested. Here is an output stream gif, which run 2 detecors in parallle, draw boxes and texts when they locate interested objects.
34+
**Dynamic Detect** is a playgroud one can change object detector types at run time while reading online video streams or local files. Those detectors are loaded via OpenCV api. Models of *darknet* yolo3, *caffe* vgg-ssd, and *tensorflow* mobilenet-ssd (all in coco dataset) are tested. Here is an output stream gif, which run 2 detecors in parallle, draw boxes and texts when they locate interested objects.
3735

3836
![draw_detection](asset/dynaDetect.gif)
3937

@@ -95,7 +93,7 @@ Refer to [here](examplePlugin/README.md) for plugin source files.
9593
* boost, protobuf3 (optional, only for the application 'Interactive Live')
9694
- opencv (optional, if you would like to run plugin example)
9795

98-
protobuf3 is not well supports by some linux distributions' package manager, here is how to manually compile it(sudo required):
96+
protobuf3 is not well supports by some linux distributions' package manager, here is a manually compiling script (sudo required):
9997
```
10098
DIR=$(mktemp -d) && cd ${DIR} && \
10199
git clone https://github.com/protocolbuffers/protobuf.git && cd protobuf && \
@@ -105,15 +103,6 @@ make && make check && \
105103
sudo make install && sudo ldconfig
106104
```
107105

108-
### Build after install dependencies
109-
110-
``` sh
111-
Under FFdynamic folder:
112-
'sh build.sh' will build FFdynamic library (need sudo when install)
113-
Under app/interactiveLive folder:
114-
'sh build.sh' will build FFdynamic library and Ial program.
115-
```
116-
117106
#### For Ubuntu / CentOS
118107
Install FFmpeg as usal, then
119108

@@ -127,14 +116,20 @@ yum install -y glog-devel gflags-devel cmake3 boost-devel
127116
Install FFmpeg as usal, then
128117
brew install cmake glog gflags protobuf boost
129118

130-
#### Others
131-
iOS and Android build is not implemented, pull request is welcome.
119+
### `Docker build`
120+
To alleviate the build process, there is a [docker](tools/dockerlize/README.md) with all dependencies installed that you can play with.
121+
122+
### Build library and apps
132123

133-
#### Optional Installation - TODO
134-
* nvidia driver, cuda tookit, if you prefer using nvidia codec
124+
``` sh
125+
Under FFdynamic folder:
126+
'sh build.sh' will build FFdynamic library (need sudo if make install)
127+
Under app/interactiveLive folder:
128+
'sh build.sh' will build FFdynamic library and ial program.
129+
```
135130
136-
### `A docker build`
137-
To alleviate the build process, there is a [docker](tools/dockerlize/README.md) with all dependencies installed that you can play with.
131+
#### Optional Dependencies - TODO
132+
* nvidia driver, cuda tookit, if you prefer using nvidia codec
138133
139134
-----------------
140135
## `Contribution`

0 commit comments

Comments
 (0)