Skip to content
This repository was archived by the owner on Jul 22, 2025. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
258 commits
Select commit Hold shift + click to select a range
56e9509
Add missing step to configure nginx with https and updated
U1X6WK Jan 10, 2020
c3e8e74
Update Immersive_Video_Delivery_360SCVP.md
hzhan80 Jan 10, 2020
dc3ce6e
Merge branch 'master' of https://github.com/OpenVisualCloud/Immersive…
U1X6WK Jan 10, 2020
1f5246f
Add description about owt-linux-player and improve doc
daijh Jan 10, 2020
91dbd9a
Modified server run script of OMAF-Sample.
Stephanie-Qi Jan 10, 2020
28cf3e0
Merge pull request #2 from Stephanie-Qi/upstream
U1X6WK Jan 10, 2020
57bb05e
Updated OMAF-Sample documentaion.
U1X6WK Jan 10, 2020
1c27cf1
Merge pull request #3 from OpenVisualCloud/upstream
luoying1234 Jan 10, 2020
81cc033
Modify 8k Sample video.
luoying1234 Jan 12, 2020
e684dc3
Merge pull request #4 from luoying1234/upstream
U1X6WK Jan 13, 2020
6d5b20a
Update README.md
yanyings Jan 13, 2020
ee4c4fc
Update README.md
yanyings Jan 13, 2020
cac8d51
Fix WebRTC player doc and update 8k stream in docker compose
daijh Jan 13, 2020
e5beb51
Fix document
daijh Jan 16, 2020
1c7d433
[OmafDashAccess]
luoying1234 Jan 16, 2020
0724e5a
Merge pull request #5 from luoying1234/upStream
Stephanie-Qi Jan 16, 2020
77880f4
Fix document
daijh Jan 16, 2020
0d5f561
add android webrtc build support
inteltiger Jan 20, 2020
cdaaee3
minor fix for debug build
inteltiger Jan 20, 2020
7b92d5f
Merge pull request #6 from inteltiger/master
yanyings Jan 21, 2020
a2c5a59
add lib allocate RectangularRegionWisePacking memory support
inteltiger Feb 5, 2020
bbe7e17
Add missing prebuild steps for server and client in Getting Started G…
Feb 11, 2020
b4ad278
Merge pull request #8 from OpenVisualCloud/upstream
hzhan80 Feb 11, 2020
c4125df
Log WebRTC player fps
daijh Feb 17, 2020
8c04558
Merge pull request #9 from daijh/log-webrtc-player-fps
yanyings Feb 17, 2020
b02a86a
Update build scripts:
Feb 18, 2020
2fd6d37
Merge pull request #10 from OpenVisualCloud/upstream
hzhan80 Feb 18, 2020
3ebead3
Fix server deploy error and modified scripts.
Feb 18, 2020
d9af5f1
Merge pull request #11 from OpenVisualCloud/upstream
hzhan80 Feb 19, 2020
e029311
Merge pull request #7 from inteltiger/master
yanyings Feb 19, 2020
860405e
Fix the patch path error when compiling ffmpeg.
Feb 19, 2020
35f62d1
Merge pull request #12 from OpenVisualCloud/upstream
hzhan80 Feb 19, 2020
36646ea
Enable checks and modifiy build scripts.
Feb 25, 2020
6fe0abb
Add travis file for CI build
GaofengZzz Feb 26, 2020
4c3706b
Merge pull request #14 from OpenVisualCloud/upstream
hzhan80 Feb 26, 2020
c92c219
Merge pull request #15 from GaofengZzz/patch-1
U1X6WK Feb 26, 2020
6d4a009
Fix build fail issue.
Feb 26, 2020
a350ba9
Merge pull request #16 from OpenVisualCloud/upstream
hzhan80 Feb 28, 2020
23082c3
Fix client dependency download fail issue.
U1X6WK Feb 28, 2020
92f49c7
Merge pull request #17 from OpenVisualCloud/upstream
hzhan80 Mar 2, 2020
966d919
Fix Travis CI build fail issue.
U1X6WK Mar 2, 2020
985a649
Merge pull request #18 from OpenVisualCloud/upstream
luoying1234 Mar 2, 2020
c1b4a6f
Add missing script to install thrift.
U1X6WK Mar 6, 2020
dda659f
Merge pull request #20 from OpenVisualCloud/kx_upstream
luoying1234 Mar 6, 2020
fd4dfc7
fix build_webrtc_linux_client_sdk.sh silent fail on 2nd run
inteltiger Feb 22, 2020
7eab531
Merge pull request #13 from inteltiger/master
daijh Mar 10, 2020
c0c8be3
[Build] Optimize build process.
U1X6WK Mar 12, 2020
f251b47
Merge pull request #21 from OpenVisualCloud/scripts_typo
hzhan80 Mar 17, 2020
25b6385
[Documentation] Add nginx setup example documentation.
U1X6WK Mar 17, 2020
3e567c7
Merge pull request #22 from OpenVisualCloud/nginx_update
hzhan80 Mar 17, 2020
bccb613
add three variables(high resolution region number, low resolution str…
yanyings Mar 17, 2020
bc7f874
Merge pull request #23 from OpenVisualCloud/360SCVP_update
yanyings Mar 18, 2020
c4c6173
using timestamp to track frame, especially in the E_MERGE_AND_VIEWPOR…
yanyings Mar 24, 2020
0e5666d
Merge pull request #24 from OpenVisualCloud/update
yanyings Mar 24, 2020
649757c
1.fix the RWPK info wrong issue 2. modify the parser function code
yanyings Apr 8, 2020
6097c24
Merge pull request #25 from OpenVisualCloud/update
yanyings Apr 9, 2020
05480a8
Reduce thread count to reduce latency
daijh Apr 10, 2020
c23c5a4
Merge pull request #26 from daijh/Optimize-decoding-latency
daijh Apr 10, 2020
70e5a91
Fix openssl install broken
daijh Apr 13, 2020
dd8462d
Merge pull request #27 from daijh/fix-openssl-install
daijh Apr 13, 2020
7b67eaf
Parse rwpk before decoding
daijh Apr 16, 2020
b9acd1b
Merge pull request #28 from daijh/parse-rwpk-before-decoding
daijh Apr 17, 2020
e4b14a5
Optimize CI process.
U1X6WK Apr 23, 2020
a94a6d2
Correction before mp4vr replace.
U1X6WK Apr 21, 2020
9741b2b
mp4vr library replacement.
U1X6WK Apr 20, 2020
b9b3977
Updated server and client packages. Package install failed due to pre…
U1X6WK Apr 20, 2020
ee461af
Fix klockwork issues introduced by isolib replacement
U1X6WK Apr 20, 2020
1beb291
Update systime calculate functions and fix typeid Werror issue in ndk…
U1X6WK Apr 20, 2020
828616a
Further fix klockwork issues introduced by isolib replacement.
U1X6WK Apr 20, 2020
5b31cd6
Fix unreachable codes issues in klockwork scan
U1X6WK Apr 20, 2020
e119d64
Replace 'auto' with actual data type in BoxBlockAccess.
U1X6WK Apr 20, 2020
df1314a
Add trace library and collect frame size and segment size in VROmafPa…
U1X6WK Apr 20, 2020
512faff
Add collection of downloaded segment size in OmafDashAccess.
U1X6WK Apr 20, 2020
193c57a
Fix incompatible issues in clang compiler.
U1X6WK Apr 20, 2020
631cbc7
Enable android ndk compiler in client.
U1X6WK Apr 20, 2020
07f6af7
Add shell script to generate server bandwidth data summary report.
U1X6WK Apr 20, 2020
4213318
Update CI build process.
U1X6WK Apr 20, 2020
70558d8
Add shell script to generate client bandwidth data summary report.
U1X6WK Apr 20, 2020
0ebcc30
Add android JNIOmafDashAccess project.
U1X6WK Apr 20, 2020
d57726c
Add USE_ANDROID_NDK option in CMakeLists.txt.
U1X6WK Apr 20, 2020
ed6cab6
Fix protexIP issues in net_parse_date function.
U1X6WK Apr 21, 2020
f213a43
Fix incorrect numerical comparison and time calculation in bandwidth …
U1X6WK Apr 21, 2020
3ccbc1d
Add mesa driver package to fix black window issue.
U1X6WK Apr 21, 2020
d97d7eb
Add trace information in motion to high quality profiling.
U1X6WK Apr 21, 2020
e31efe9
Add shell script to generate motion to high quality time cost.
U1X6WK Apr 21, 2020
725e041
Add viewport setting options in ffmpeg and modify packed bitrate calc…
U1X6WK Apr 21, 2020
da6741c
Add motion to high quality auto test option.
U1X6WK Apr 21, 2020
37855ca
Update deploy process and Dockerfile for server.
U1X6WK Apr 29, 2020
435e1fd
Modify motion to high quality script.
U1X6WK Apr 21, 2020
aa64033
Fix klocwork issues.
U1X6WK Apr 21, 2020
f8d8512
Fix issue VCD-1584.
U1X6WK Apr 21, 2020
a2064f8
Optimize tiles selection based on viewport.
U1X6WK Apr 21, 2020
f15b67f
Add the timestamp(id) in the SEI to track frame.
U1X6WK Apr 21, 2020
9c46c87
Update in init step.
U1X6WK Apr 21, 2020
4fafa5f
Add viewport predict plugin.
U1X6WK Apr 21, 2020
6b37c68
Add viewport predict plugin load class.
U1X6WK Apr 21, 2020
83c4c3a
Enable viewport predict in client.
U1X6WK Apr 21, 2020
4aa3c9f
Add the E_VIEWPORT_ONLY to support the dashaccess.
U1X6WK Apr 21, 2020
48c6fa7
Correct the raw & pitch according the standard.
U1X6WK Apr 21, 2020
4be0715
Fix bug VCD-1583 to correct viewport selection in 360SCVP.
U1X6WK Apr 21, 2020
bfafb15
Update mthq script.
U1X6WK Apr 21, 2020
3b2705e
Modify the calculation of motion changed times.
U1X6WK Apr 21, 2020
8893903
Fix bug VCD-1377 for issue that mp4 files don't update after a period…
U1X6WK Apr 21, 2020
ca6f343
Updates in 360SCVP viewport implementation.
U1X6WK Apr 23, 2020
35ccb4b
Add VR OMAF packing plugin.
U1X6WK Apr 26, 2020
b26d3dd
Enable viewport predict plugin in OmafDashAccess using linear regress…
U1X6WK Apr 27, 2020
03948bb
Remove hard-coded FOV setting in player and fix Klocwork issue.
U1X6WK Apr 27, 2020
549c2cb
Update README.md in JNIOmafDashAccess and add make_android.sh script.
luoying1234 Apr 28, 2020
e0411de
Undo the patch process after installation of ffmpeg for client, assum…
U1X6WK Apr 30, 2020
4c2b622
Enable later binding support 1. add judgement before extractor tracks…
ChenXiaomin0306 Apr 30, 2020
db937ea
Fix library link error for server and client
U1X6WK May 6, 2020
b8f2cd1
Update install_lttng.sh
U1X6WK May 7, 2020
8f12492
Modifiy OMAF packing plugin and distributed encoder.
U1X6WK May 18, 2020
4dbbf08
Add tile tracks selection based on viewport for later binding 1. add …
ChenXiaomin0306 May 19, 2020
e90f18b
Enable later binding support in OmafDashAccess 1. enable non-extracto…
ChenXiaomin0306 Jun 4, 2020
466ec03
Segment fault issue with frames less than 15
U1X6WK Jun 4, 2020
65c86bd
Modify mpd file
U1X6WK Jun 5, 2020
5ce5110
Enable lttng option in VROmafPacking
U1X6WK Jun 10, 2020
246d20b
Enable lttng option in client
U1X6WK Jun 11, 2020
4697576
Modify RWPK calculation for two resolutions scenario
ChenXiaomin0306 Jun 15, 2020
bae970c
Add new API for getting selected tiles according to timely changed vi…
ChenXiaomin0306 Jun 15, 2020
9873695
Refine player for later-binding support. 1. Refine file structure. 2.…
luoying1234 Jun 15, 2020
7176ad6
Update distributed encoeder
U1X6WK Jun 16, 2020
1bf884a
Fix several bugs for later binding function 1. move tiles stitching o…
ChenXiaomin0306 Jun 16, 2020
761e0ca
Update patch for ffmpeg plugins
U1X6WK Jun 16, 2020
3a3e157
Change segment start number from 0 to 1 for MPD Accordingly, the segm…
ChenXiaomin0306 Jun 17, 2020
cdb2f8f
Update Jna interface and structures. 1. Add later-binding support. 2.…
luoying1234 Jun 16, 2020
7951331
Fix error issue when enable_extractor flag is true but there is no ex…
luoying1234 Jun 17, 2020
d88d29c
Fix green line issue in render. Use frame->stride param as the input …
luoying1234 Jun 17, 2020
d146d93
Add detach operation in OmafSegment destructor
ChenXiaomin0306 Jun 18, 2020
81988bc
Fix several bugs in player. 1. Avoid wild pointer in Render Target. 2…
luoying1234 Jun 19, 2020
fd8714c
Update Dockerfile and demo commands
U1X6WK Jun 18, 2020
7518baa
OMAF dash access demuxer update
U1X6WK Jun 18, 2020
c3439ac
Fix memory leak issue in OmafDashAccess Meanwhile, add copy of 360SCV…
ChenXiaomin0306 Jun 19, 2020
7a1334e
Fix exit error in multipule encoder situation
U1X6WK Jun 24, 2020
ad9ec81
Updates and modifications
U1X6WK Jun 24, 2020
452d9e6
Fix server docker deploy error
U1X6WK Jun 28, 2020
9474939
Fix incorrect usage of un-initialized variable
ChenXiaomin0306 Jun 29, 2020
c8115bc
add the cubemap feature
yanyings Jun 24, 2020
57391dd
Fix memory leak issue 1. add memory deletion in destroy function for …
ChenXiaomin0306 Jun 29, 2020
ef7723f
Update to fix server segment fault issue
U1X6WK Jun 30, 2020
1d68f18
Fix Klocwork issues.
luoying1234 Jun 30, 2020
d5e2d33
Fix several klocwork issues.
luoying1234 Jul 2, 2020
6883fd3
Correct render position in ERP mesh.
luoying1234 Jul 3, 2020
7aac342
Add cube map support in player. 1. Implement cube map mesh class. 2. …
luoying1234 Jul 3, 2020
08d8dcf
Add more tiles selected when pitch is not located in equatorial area.
luoying1234 Jul 6, 2020
81b1716
Optimize region selection in south area.
luoying1234 Jul 7, 2020
1b0386f
Fix testMainEncoder case issue
U1X6WK Jul 9, 2020
fa073ce
Shared memory and LocalWorkSession update
U1X6WK Jul 10, 2020
e4e5e39
Enbale targetSocket in SVT-HEVC
U1X6WK Jul 10, 2020
e56bda4
Modify face index for selected tiles when source is from cubemap proj…
ChenXiaomin0306 Jul 10, 2020
689d7c3
Fix incorrect tiles stitching due to mismatched PTS
ChenXiaomin0306 Jul 13, 2020
5dddb57
Modify max tile number selection in genViewport_Init.
luoying1234 Jul 13, 2020
6e27d7c
Update for cubemap tile select
U1X6WK Jul 13, 2020
96bd676
Add Cubemap support for later binding path
ChenXiaomin0306 Jul 13, 2020
d7a722c
Add StreamDumped option in configure file in debug mode.
luoying1234 Jul 14, 2020
d3b8f3c
Add Cubemap support for later binding path 1. change unreasonable pro…
ChenXiaomin0306 Jul 14, 2020
e78d06f
Fix VCD-1949:send packet failed with PPS out of range. 1. Fix incorre…
luoying1234 Jul 14, 2020
67d8976
Add safestringlib as an external library to fix klocwork issues. 1. A…
luoying1234 Jul 10, 2020
e4dfb52
Optimize LocalWorkSession pipeline
U1X6WK Jul 16, 2020
1a90f8f
Add 'quicksin' auto-test mode in testMotionOption.
luoying1234 Jul 16, 2020
de83bf7
Add thread mutex lock/unlock operation to handle frames list to be pa…
ChenXiaomin0306 Jul 17, 2020
f2d81a3
Supplement for LocalWorkSession synchronous frame sending
U1X6WK Jul 17, 2020
bd22ae4
Fix black frame issue when rendering first few frames.
luoying1234 Jul 17, 2020
bbcb33c
merge dash access enhancement 1. use curl mutli-handler to paraller d…
yzhou51 Jul 20, 2020
3b00d18
Use safe string lib functions for memcpy and memset
dahanhan Jul 20, 2020
44ef267
Fix klocwork issues.
luoying1234 Jul 21, 2020
137add4
Change printf to glog routines
dahanhan Jul 21, 2020
a5f9a1f
Fixed a typo of calling memset_s() in test code
dahanhan Jul 21, 2020
b4f1e87
Shared memory allocation mode adjustment
U1X6WK Jul 22, 2020
a9b1c38
Fix face information uninitialized issue for extractor track generation
ChenXiaomin0306 Jul 22, 2020
4588a3d
Add VROmafPacking library handle check before operation
ChenXiaomin0306 Jul 22, 2020
88d23f3
Change memmove() to safe functions
dahanhan Jul 22, 2020
6cb9088
Use std::mutex to replace pthread_mutex_xxx. Add invalid iterator che…
luoying1234 Jul 23, 2020
bd0606e
Fix thread exit error
U1X6WK Jul 23, 2020
5720a16
add nullptr check in parsing xml file.
luoying1234 Jul 23, 2020
80400e1
Update CMakeList and Dockerfile to support safe string functions.
dahanhan Jul 23, 2020
1725e29
Add link to safe string functions in test build bash
dahanhan Jul 24, 2020
5d7b952
Add link of libglog for test build
dahanhan Jul 24, 2020
f14561a
Fix klockwork issues 1. replace memcpy/memset/memcmp with safe versio…
ChenXiaomin0306 Jul 27, 2020
f5314e8
Add nullptr check and fix possible memory leak issues.
luoying1234 Jul 28, 2020
b60aa0e
Add copy constructor and operator= overloading and valid value check.
luoying1234 Jul 28, 2020
d35a471
Remove useless log infos and fix klocwork issues.
luoying1234 Jul 29, 2020
046fd17
Fix a mem copy error in an overlapped src/dst address
dahanhan Jul 29, 2020
47d263e
Remove Glog Wrapper object in this module. Should use the main thread…
dahanhan Jul 29, 2020
9c837de
Fix null ptr issues.
luoying1234 Jul 30, 2020
69d3237
Fix boundary checks and possible memory leaks
U1X6WK Jul 28, 2020
a533f94
Adjust the starting extractor track searching method in extractor tra…
ChenXiaomin0306 Jul 30, 2020
4b91ca8
Add null ptr check, array size limit and initialization to avoid secu…
dahanhan Jul 29, 2020
0a273ab
Add timeout strategy in getting packet in dash media source. Disable …
luoying1234 Jul 30, 2020
a6ec0cc
Add copy constructor and operator operation for some classes to avoid…
ChenXiaomin0306 Jul 31, 2020
becf0fd
Optimize thread lock mechanism
U1X6WK Jul 31, 2020
1c91eae
Fix resource lost issue in mutex.
luoying1234 Jul 31, 2020
ed6c754
Initialization and definition issue fix
U1X6WK Jul 31, 2020
9f7ad22
Update resource lost issue fix.
luoying1234 Jul 31, 2020
ed69ef9
Add over-time frames dropping strategy in Player class.
luoying1234 Aug 3, 2020
446ffab
Fix code vulnerabilties casued by local variables
U1X6WK Aug 4, 2020
bb558ad
Fixed Klocwork issues
dahanhan Jul 31, 2020
983512c
Fix possible memory leak and resource lost issue.
luoying1234 Aug 5, 2020
8669067
Fix klockwork issues in isolib
ChenXiaomin0306 Aug 5, 2020
0ac19dd
modify CHANGELOG.md, add FFMPEG plugins document
hzhan80 Aug 3, 2020
d13be6f
Fix local variable address returning issue in class constructor
ChenXiaomin0306 Aug 5, 2020
d791f6e
Fix mutex resource lost issue
ChenXiaomin0306 Aug 5, 2020
acb758a
Remove unused member variable and move thread mutex from VideoStream …
ChenXiaomin0306 Aug 6, 2020
95443a6
Fix render crash issue in ERP path. 1. Add an additional tile when se…
luoying1234 Aug 6, 2020
c186300
Fix mismatched memory allocation/freeing operation and possible memor…
ChenXiaomin0306 Aug 6, 2020
7cabc75
Fix the suspicious dereference issue of pointer and issue that local …
ChenXiaomin0306 Aug 6, 2020
ea59b26
Move the thread mutex from MediaStream to VideoStream
ChenXiaomin0306 Aug 6, 2020
9c3a9a1
Fix the issue of thread mutex resource lost because of local variable
ChenXiaomin0306 Aug 6, 2020
b9ecd80
Add Cubemap support in plugins
U1X6WK Aug 6, 2020
5a223c9
Update documents for VROmafPacking library and OmafDashAccess library
ChenXiaomin0306 Aug 6, 2020
e42ae74
Update scripts and CMakeLists.txt for android compile in client.
luoying1234 Aug 6, 2020
33401a7
Memory copy upgrade and fix abort issue
U1X6WK Aug 7, 2020
4e94bc1
Correct PTS for each parsed sample and fix memory leak when changing …
ChenXiaomin0306 Aug 7, 2020
fe55dfb
Add tile width/height check to align with 64 in distributed encoder p…
U1X6WK Aug 10, 2020
4c303f2
Regularly update Jna interfaces and structures.
luoying1234 Aug 10, 2020
b547474
Update documents for 360scvp library.
luoying1234 Aug 10, 2020
d5f0327
Update document for RefPlayer. Remove decoderType/contextType/useDMAB…
luoying1234 Aug 10, 2020
5830379
Update documentation and scripts for OMAF-Sample
U1X6WK Aug 10, 2020
50a37f4
Correct render interval time to fix memory growth issue.
luoying1234 Aug 11, 2020
c18a999
Fix PTS matching issue for selected tiles stitching in later binding …
ChenXiaomin0306 Aug 13, 2020
e9f23ed
Add time out check when waiting for available media packet
ChenXiaomin0306 Aug 13, 2020
7bbbc8c
Add minimum output log level option.
luoying1234 Aug 13, 2020
3ff0159
Fix travis failure and update getting start documentation
U1X6WK Aug 14, 2020
86da0e5
Fix node-gyp version
daijh Aug 14, 2020
b509b7d
Update doc
daijh Aug 14, 2020
e0436a1
Fix crash issue when downloading init segments failed. Add init timeo…
luoying1234 Aug 13, 2020
2a5b581
Modifiy README to link to latest release
U1X6WK Aug 14, 2020
3eb1636
Merge pull request #33 from daijh/fix-node-gyp-version
yanyings Aug 14, 2020
dbde50e
Merge pull request #34 from daijh/update-doc
yanyings Aug 14, 2020
30f7ea7
Update release badge version in README
U1X6WK Aug 14, 2020
c2d7289
Update owt-deps-webrtc to fix data channel issue.
daijh Sep 17, 2020
151f0e1
Implement rtcp fov feedback
daijh Sep 30, 2020
c3bb22f
Merge pull request #36 from daijh/rtcp-fov-fb
daijh Oct 9, 2020
87efca9
Sync OVC dockerfile template
daijh Oct 10, 2020
20642fb
Merge pull request #37 from daijh/sync-ovc-dockerfile-template
yanyings Oct 10, 2020
9f603b0
Update doc
daijh Oct 13, 2020
a6b6ffd
1. Clean obsolete code
daijh Oct 16, 2020
d5435e7
Merge pull request #39 from daijh/dev
yanyings Oct 16, 2020
3453c7e
Fix owt-server versoin
daijh Oct 27, 2020
4bf169c
Fix webrtc player deps build
daijh Oct 15, 2020
4dbd65b
fix duplicated return and other warnings reported by compiler
inteltiger Aug 27, 2020
ef5fdb2
Update Dockerfile
daijh Nov 10, 2020
f0afec3
Update Dockerfile for 360SCVP v1.2.0
daijh Nov 16, 2020
4b79322
Update WebRTC media source to new player
daijh Nov 19, 2020
8bdb20e
Merge pull request #43 from daijh/webrtc-new-player
yanyings Nov 19, 2020
3611bf0
Fix webrtc media source tile number
daijh Nov 20, 2020
10d1b84
Control server glog level
daijh Nov 20, 2020
e2ae43e
Merge pull request #41 from inteltiger/fix-compiler-warning
yanyings Nov 30, 2020
c6003f8
[do not submit] [IM360-166] temp skip safestring and glog lib
inteltiger Nov 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.vscode
build
FFmpeg
player/360SCVPAPI.h
player/MediaSource/360SCVPAPI.h
player/MediaSource/OmafDashAccessApi.h
player/OmafStructure.h
player/data_type.h
player/error.h
player/ns_def.h
36 changes: 36 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
language: generic
os: linux
dist: bionic

env:
global:
- DOCKER_CACHE_FILE=/home/travis/docker/cache.tar.gz
- DOCKER_REPOSITORY=immersive
- DOCKER_TAG=ci

cache:
directories:
- /home/travis/docker/

before_install:
- | # Load docker image.
if [ -f ${DOCKER_CACHE_FILE} ]; then
gunzip -c ${DOCKER_CACHE_FILE} | sudo docker load || true
fi

install:
- | # Build docker image from cache or from scratch.
if [ -f ${DOCKER_CACHE_FILE} ]; then
sudo docker build --cache-from ${DOCKER_REPOSITORY}:${DOCKER_TAG} -t ${DOCKER_REPOSITORY}:${DOCKER_TAG} -f src/external/dockerfile src/external
else
sudo docker build -t ${DOCKER_REPOSITORY}:${DOCKER_TAG} -f src/external/dockerfile src/external
fi

script:
- sudo docker run -it -v `pwd`:`pwd` -w `pwd` ${DOCKER_REPOSITORY}:${DOCKER_TAG} bash -c 'cd src/external && ./build.sh ci && ./build.sh test && ./run_test.sh'
- | # Save built image to Travis cache directory only if not a pull request.
if [ ${TRAVIS_PULL_REQUEST} == "false" ]; then
mkdir -p $(dirname ${DOCKER_CACHE_FILE})
sudo docker save $(docker history -q ${DOCKER_REPOSITORY}:${DOCKER_TAG} | grep -v '<missing>') ${DOCKER_REPOSITORY}:${DOCKER_TAG} | gzip > ${DOCKER_CACHE_FILE}
echo "Saved cache successfuly"
fi
44 changes: 23 additions & 21 deletions OMAF-Sample/README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
## Introduction
The Immersive Video Delivery OMAF Sample provides a quick trial to setup E2E OMAF-Compliant 360 video streaming. OMAF 360 Video streaming sample can support both VOD and Live streaming for 4K and 8K contents.

## Software Requirements
## Software Requirements

- Server OS : CentOS Linux release<br>7.6.1810 (Core)
- Server OS : CentOS Linux release 7.6.1810 (Core)
- Client OS : Ubuntu 18.04 LTS
- Docker version : 1.13.1

Expand All @@ -22,51 +22,53 @@
- Server :
```bash
cd OMAF-Sample/server && ./deploy.sh <proxy> # Proxy config is optional.
docker image ls # Created an image. [REPOSITORY:immersive_server, TAG:v0.1]
docker image ls # Created an image. [REPOSITORY:immersive_server, TAG:v1]
```

- Client :

```bash
cd OMAF-Sample/client && ./deploy.sh
cd package # Copy the packages to any client machine to install.
sudo dpkg -i immersive-client-1.0.0-1.el7_amd64.deb
```

## How To Run (HTTPS)

- Server :

```bash
docker run -p 5000:443 -p 5001:8080 -it immersive_server:v0.1 bash # Map the port.
/usr/local/nginx/sbin/nginx # Start nginx.
cd Sample-Videos && ./run.sh <RES> <TYPE> # <RES>:[4k,8k] <TYPE>:[LIVE,VOD]
docker run --privileged -p 5000:443 -p 5001:8080 -it immersive_server:v1 bash # Map the port.
cd /usr/local/nginx/conf/
./configure.sh CN Shanghai A B C D [email protected] # './configure.sh -h' for details.
/usr/local/nginx/sbin/nginx # Start nginx.
cd /home/immersive/Sample-Videos && ./run.sh <RES> <TYPE> # <RES>:[4K,8K] <TYPE>:[LIVE,VOD]
# Press 'q' button to quit.
```

- Client :
For details in FFmpeg plugins' parameters, refer to the [FFmpeg usage doc](../src/doc/Immersive_Video_Delivery_FFmpeg_usage.md).

- Client :
```bash
sudo su
cd /usr/bin/immersive/
export LD_LIBRARY_PATH=/usr/lib64/immersive-client:$LD_LIBRARY_PATH
vim config.xml # Set up configuration, details as following table
./render # Press 's' button to start
cd Immersive-Video-Sample/src/build/client/player
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
vim config.xml # Set up configuration, details in following table.
./render
```
**Config.xml**
| Parameters | Descriptions | Examples |

| Parameters | Descriptions | Examples |
| :----:| :----: | :----: |
| windowWidth | The width of render window | 960 for 4k, 1920 for 8k |
| windowWidth | The width of render window | 960 for 4k, 1920 for 8k |
| windowHeight | The height of render window | 960 for 4k, 1920 for 8k |
| url | The resource URL path | Remote URL |
| sourceType | Source type | 0 is for Dash Source |
| decoderType | FFmpeg Decoder type | 0 is for software decoder |
| contextType | OpenGL context type | 0 is for glfw |
| useDMABuffer | DMA Buffer flag | 0 means no DMA buffer |
| enableExtractor | extractor track path or later binding path | 1 is for extractor track and 0 is for later binding |
| viewportHFOV | Viewport horizon FOV degree | 80 |
| viewportVFOV | Viewport vertical FOV degree | 80 |
| viewportWidth | Viewport width | 960 for 4k, 1920 for 8k |
| viewportHeight | Viewport height | 960 for 4k, 1920 for 8k |
| cachePath | Cache path | /tmp/cache |
| cachePath | Cache path | /home/media/cache |
| predict | viewport prediction plugin | 0 is disable and 1 is enable |

- **Note** : So far, some parameters settings are limited. URL need to be a remote dash source URL, example : `https://172.18.0.2:5000`. The parameter sourceType must set to 0, which represents dash source. The parameter decoderType must set to 0, which stands for FFmpeg software decoder. The parameter contextType need to be 0, which represents glfw context. And useDMABuffer flag should be set to 0.
- **Note** : So far, some parameters settings are limited. URL need to be a remote dash source URL, choose `./run.sh 8K LIVE` for example : `https://xxx.xxx.xxx.xxx:5000/LIVE8K/Test.mpd`. The parameter sourceType must set to 0, which represents dash source. The parameter decoderType must set to 0, which stands for FFmpeg software decoder. The parameter contextType need to be 0, which represents glfw context. And useDMABuffer flag should be set to 0.
Empty file removed OMAF-Sample/client/.gitkeep
Empty file.
3 changes: 1 addition & 2 deletions OMAF-Sample/client/deploy.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/bin/bash -ex
cd ../../src/external
./build_client.sh
./fpm.sh 1.0.0
./build.sh client y
Empty file removed OMAF-Sample/server/.gitkeep
Empty file.
157 changes: 91 additions & 66 deletions OMAF-Sample/server/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,24 +1,46 @@
FROM centos:7.6.1810

RUN if [ -n "${HTTP_PROXY}" ] ; then \
echo "proxy=${HTTP_PROXY}" >> /etc/yum.conf && \
echo "http_proxy=${HTTP_PROXY}" >> /etc/wgetrc && \
echo "https_proxy=${HTTP_PROXY}" >> /etc/wgetrc ; \
RUN if [ -n "${http_proxy}" ] ; then \
echo "proxy=${http_proxy}" >> /etc/yum.conf && \
echo "http_proxy=${http_proxy}" >> /etc/wgetrc && \
echo "https_proxy=${https_proxy}" >> /etc/wgetrc ; \
fi

RUN yum install -y -q openssl centos-release-scl scl-utils gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel patch autoconf libtool automake libcurl-devel wget git -y && \
rm -rf /var/cache/yum/* && \
if [ -n "${HTTP_PROXY}" ]; then \
git config --global http.proxy ${HTTP_PROXY} && \
git config --global https.proxy ${HTTP_PROXY} ; \
fi

RUN yum install -y yum install devtoolset-7-gcc* libevent-devel.x86_64 openssl-devel bc numactl -y && \
rm -rf /var/cache/yum/*

WORKDIR /home/immersive
ARG WORKDIR=/home/immersive

# Install denpendency
RUN yum install -y centos-release-scl-rh && \
yum install -y wget git bzip2 xz sudo devtoolset-7-gcc* && \
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm && \
rpm -Uvh epel-release*rpm && \
yum install -y openssl centos-release-scl scl-utils gmp gmp-devel && \
yum install -y mpfr mpfr-devel libmpc libmpc-devel patch autoconf && \
yum install -y libtool automake libcurl-devel libxml2-devel && \
yum install -y libevent-devel.x86_64 openssl-devel bc redhat-lsb && \
yum install -y libXrandr libXrandr-devel libXinerama libXinerama-devel && \
yum install -y libXcursor libXcursor-devel libXi libXi-devel glm-devel && \
yum install -y mesa-libGL mesa-libGL-devel mesa-libGLU && \
yum install -y mesa-libGLU-devel mesa-libGLES-devel mesa-libEGL-devel && \
yum install -y SDL2 SDL2-devel libcurl4-openssl-dev libglfw3 && \
yum install -y libXv-devel glfw glfw-devel xz-devel lzma -y && \
yum install -y uuid.x86_64 uuid-devel.x86_64 popt-devel.x86_64 -y && \
yum install -y numactl.x86_64 numactl-devel.x86_64 numactl-libs.x86_64 -y && \
rm -rf /var/cache/yum/* && rm -rf * && \
if [ -n "${http_proxy}" ]; then \
git config --global http.proxy ${http_proxy} && \
git config --global https.proxy ${https_proxy} ; \
fi

RUN yum -y install rh-ruby23 rh-ruby23-ruby-devel rh-ruby23-rubygem* && \
source /opt/rh/rh-ruby23/enable && \
yum -y install rpm-build && \
if [ -n "${http_proxy}" ]; then \
gem install -p ${http_proxy} fpm ; \
else \
gem install fpm ; \
fi

# Build zlib
ARG ZLIB_VER=1.2.11
ARG ZILB_REPO=http://zlib.net/zlib-${ZLIB_VER}.tar.gz
Expand Down Expand Up @@ -53,20 +75,6 @@ RUN wget -O - ${YASM_REPO} | tar xz && \
make install && \
cd ${WORKDIR} && rm -rf ./*

# Build libxml2
ARG LIBXML2_VER=2.9.6
ARG LIBXML2_REPO=http://www.xmlsoft.org/sources/libxml2-${LIBXML2_VER}.tar.gz
RUN wget -O - ${LIBXML2_REPO} | tar xz && \
cd libxml2-${LIBXML2_VER} && \
source /opt/rh/devtoolset-7/enable && \
././configure --with-python=no && \
make -j$(nproc) && \
make install && \
cd ${WORKDIR} && rm -rf ./*

RUN yum install -y xz && \
rm -rf /var/cache/yum/*

# Build CURL
ARG CURL_VER=7.66.0
ARG CURL_REPO=https://curl.haxx.se/download/curl-${CURL_VER}.tar.xz
Expand All @@ -78,8 +86,6 @@ RUN wget ${CURL_REPO} && \
./configure --with-darwinssl && \
make -j$(nproc) && \
make install && \
cd /usr/local/include/libxml2 && \
mv libxml ../ && \
cd ${WORKDIR} && rm -rf ./*

# Install BOOST
Expand Down Expand Up @@ -113,19 +119,29 @@ RUN git clone https://github.com/google/glog.git && \
make install && \
cd ${WORKDIR} && rm -rf ./glog

# Install lttng
RUN source /opt/rh/devtoolset-7/enable && \
wget -c https://lttng.org/files/urcu/userspace-rcu-latest-0.11.tar.bz2 && \
tar -xjf userspace-rcu-latest-0.11.tar.bz2 && \
cd userspace-rcu-0.11.* && \
./configure && \
make -j $(nproc) && \
make install && ldconfig && \
cd ../ && rm -rf userspace-rcu-0.11.* && \
wget -c http://lttng.org/files/lttng-ust/lttng-ust-latest-2.11.tar.bz2 && \
tar -xjf lttng-ust-latest-2.11.tar.bz2 && \
cd lttng-ust-2.11.* && \
./configure --disable-man-pages && \
make -j $(nproc) && \
make install && ldconfig && \
cd ../ && rm -rf lttng-ust-2.11.*

# Copy source
COPY ./src ${WORKDIR}

# Install openHEVC
RUN git clone https://github.com/OpenHEVC/openHEVC.git && \
cd openHEVC && \
source /opt/rh/devtoolset-7/enable && \
git checkout ffmpeg_update && \
patch -p1 < ../external/ffmpeg_update_add_circle_list_for_to_free_frame.patch && \
./configure --libdir=/usr/lib64 --disable-sdl2 && \
make -j `nproc` && \
make install && \
cd ${WORKDIR} && rm -rf ./openHEVC
COPY src/ffmpeg/dependency/*.so /usr/local/lib/
COPY src/ffmpeg/dependency/*.pc /usr/local/lib/pkgconfig/
COPY src/ffmpeg/dependency/*.h /usr/local/include/
COPY src/ffmpeg/dependency/WorkerServer /root

# Install Thrift
ARG THRIFT_VER=0.12.0
Expand All @@ -140,23 +156,6 @@ RUN wget -O - ${THRIFT_REPO} | tar xz && \
make install && \
cd ${WORKDIR} && rm -rf ./thrift-${THRIFT_VER}*

# Install OMAF
RUN git clone https://github.com/nokiatech/omaf.git && \
ln -s ${PWD}/omaf/Mp4/srcs ${PWD}/OmafDashAccess/mp4lib && \
cd omaf && \
source /opt/rh/devtoolset-7/enable && \
patch -p1 < ../external/nokia_omaf_patch_for_extrator_reader.diff && \
cd Mp4/srcs && \
mkdir build && \
cd build && \
cmake .. && \
make -j`nproc` && \
cp -r ../api/streamsegmenter ../../../../VROmafPacking/ && \
cp lib/libstreamsegmenter_static_fpic.a /usr/local/lib/ && \
cp lib/libstreamsegmenter_static.a /usr/local/lib/ && \
cp lib/libmp4vr_static_fpic.a /usr/local/lib/ && \
cp lib/libmp4vr_static.a /usr/local/lib/

# Install Server FFmpeg Dependency
RUN git clone https://github.com/FFmpeg/FFmpeg.git && \
cd FFmpeg && \
Expand All @@ -170,6 +169,17 @@ RUN git clone https://github.com/FFmpeg/FFmpeg.git && \
make install && \
cd ${WORKDIR} && rm -rf ./external/FFmpeg

# Install openHEVC
RUN git clone https://github.com/OpenHEVC/openHEVC.git && \
cd openHEVC && \
source /opt/rh/devtoolset-7/enable && \
git checkout ffmpeg_update && \
patch -p1 < ../external/ffmpeg_update_add_circle_list_for_to_free_frame.patch && \
./configure --libdir=/usr/lib64 --disable-sdl2 && \
make -j `nproc` && \
make install && \
cd ${WORKDIR} && rm -rf ./openHEVC

# Build Nginx
ARG NGINX_VER=1.13.1
ARG NGINX_REPO=http://nginx.org/download/nginx-${NGINX_VER}.tar.gz
Expand All @@ -183,21 +193,36 @@ RUN wget -O - ${NGINX_REPO} | tar xz && \
EXPOSE 443
EXPOSE 8080

# Build safe string lib
RUN git clone https://github.com/intel/safestringlib.git && \
cd safestringlib && \
source /opt/rh/devtoolset-7/enable && \
cmake . && \
make -j `nproc` -f Makefile && \
cp libsafestring_shared.so /usr/local/lib/ && \
mkdir -p /usr/local/include/safestringlib/ && \
cp ./include/* /usr/local/include/safestringlib/ && \
cd ${WORKDIR} && rm -rf ./safestringlib

# Configure And Run Nginx
COPY nginx_conf /usr/local/nginx/conf
COPY src/ffmpeg/dependency/*.so /usr/local/lib/
COPY src/ffmpeg/dependency/*.pc /usr/local/lib/pkgconfig/
COPY src/ffmpeg/dependency/*.h /usr/local/include/
COPY src/ffmpeg/dependency/WorkerServer /root

# Build Server
RUN mkdir build && cd build && \
RUN mkdir -p build/server && cd build/server && \
source /opt/rh/devtoolset-7/enable && \
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH && \
cmake -DCMAKE_BUILD_TYPE=Debug -DTARGET=server .. && \
cmake -DCMAKE_BUILD_TYPE=Release -DTARGET=server ../.. && \
make -j `nproc` && \
make install && \
mv ffmpeg/ffmpeg ../Sample-Videos && \
cd .. && rm -rf `ls | grep -v Sample-Videos`
mv ffmpeg/ffmpeg ../../Sample-Videos && \
cd ../.. && rm -rf `ls | grep -v Sample-Videos`

COPY run.sh ${WORKDIR}/Sample-Videos

# Unset proxy if necessary
RUN if [ -n "${http_proxy}" ]; then \
sed -i '$d' /etc/yum.conf && \
sed -i '1,$d' /etc/wgetrc && \
git config --global --unset http.proxy && \
git config --global --unset https.proxy ; \
fi
12 changes: 7 additions & 5 deletions OMAF-Sample/server/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,25 @@ cd ../..
cp -r src/360SCVP OMAF-Sample/server/src
cp -r src/external OMAF-Sample/server/src
cp -r src/ffmpeg OMAF-Sample/server/src
cp -r src/OmafDashAccess OMAF-Sample/server/src
cp -r src/player OMAF-Sample/server/src
cp -r src/utils OMAF-Sample/server/src
cp -r src/isolib OMAF-Sample/server/src
cp -r src/trace OMAF-Sample/server/src
cp -r src/plugins OMAF-Sample/server/src
cp -r src/VROmafPacking OMAF-Sample/server/src
cp -r src/OmafDashAccess OMAF-Sample/server/src
cp -r src/CMakeLists.txt OMAF-Sample/server/src
cp -r Sample-Videos OMAF-Sample/server/src
cd OMAF-Sample/server

cd OMAF-Sample/server
if [ $# = 0 ] ; then
docker build -t immersive_server:v0.1 .
docker build -t immersive_server:v1 .
elif [ $# = 1 ] ; then
if [ "$1" = "-h" ] ; then
parameters_usage
else
PROXY=$1
docker build -t immersive_server:v0.1 --build-arg HTTP_PROXY=${PROXY} --build-arg HTTPS_PROXY=${PROXY} .
echo 'case 1'
docker build -t immersive_server:v1 --build-arg http_proxy=${PROXY} --build-arg https_proxy=${PROXY} .
echo "PROXY:${PROXY}"
fi
else
Expand Down
Loading