Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: CasparCG/server
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.4.2-stable
Choose a base ref
...
head repository: CasparCG/server
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 7,575 additions and 5,039 deletions.
  1. +9 −0 .editorconfig
  2. +78 −18 .github/workflows/linux-system.yml
  3. +0 −56 .github/workflows/linux.yml
  4. +2 −1 .github/workflows/windows.yml
  5. +4 −0 .gitignore
  6. +33 −14 BUILDING.md
  7. +105 −13 CHANGELOG.md
  8. +4 −35 README.md
  9. +41 −33 src/CMakeLists.txt
  10. +19 −39 src/CMakeModules/Bootstrap_Linux.cmake
  11. +63 −42 src/CMakeModules/Bootstrap_Windows.cmake
  12. +1 −1 src/CMakeModules/CasparCG_Util.cmake
  13. +0 −76 src/CMakeModules/FindFreeImage.cmake
  14. +0 −16 src/CMakeModules/patches/cef117.patch
  15. +38 −0 src/CMakeSettings.json
  16. +4 −0 src/accelerator/CMakeLists.txt
  17. +0 −1 src/accelerator/StdAfx.h
  18. +12 −5 src/accelerator/accelerator.cpp
  19. +6 −2 src/accelerator/accelerator.h
  20. +132 −228 src/accelerator/ogl/image/image_kernel.cpp
  21. +8 −1 src/accelerator/ogl/image/image_kernel.h
  22. +124 −67 src/accelerator/ogl/image/image_mixer.cpp
  23. +16 −5 src/accelerator/ogl/image/image_mixer.h
  24. +49 −48 src/accelerator/ogl/image/shader.frag
  25. +2 −0 src/accelerator/ogl/util/buffer.cpp
  26. +1 −1 src/accelerator/ogl/util/buffer.h
  27. +64 −93 src/accelerator/ogl/util/device.cpp
  28. +3 −2 src/accelerator/ogl/util/device.h
  29. +55 −0 src/accelerator/ogl/util/matrix.cpp
  30. +44 −0 src/accelerator/ogl/util/matrix.h
  31. +20 −4 src/accelerator/ogl/util/shader.cpp
  32. +2 −0 src/accelerator/ogl/util/shader.h
  33. +41 −23 src/accelerator/ogl/util/texture.cpp
  34. +8 −6 src/accelerator/ogl/util/texture.h
  35. +449 −0 src/accelerator/ogl/util/transforms.cpp
  36. +71 −0 src/accelerator/ogl/util/transforms.h
  37. +0 −1 src/common/CMakeLists.txt
  38. +2 −3 src/common/assert.h
  39. +16 −0 src/common/bit_depth.h
  40. +1 −0 src/common/compiler/vs/disable_silly_warnings.h
  41. +15 −8 src/common/env.cpp
  42. +0 −15 src/common/forward.h
  43. +3 −2 src/common/gl/gl_check.h
  44. +7 −0 src/common/memory.h
  45. +5 −4 src/common/memshfl.h
  46. +1 −1 src/common/os/linux/filesystem.cpp
  47. +2 −1 src/common/ptree.h
  48. +26 −27 src/common/stdafx.h
  49. +4 −0 src/core/CMakeLists.txt
  50. +2 −2 src/core/StdAfx.h
  51. +0 −170 src/core/consumer/frame_consumer.cpp
  52. +1 −35 src/core/consumer/frame_consumer.h
  53. +198 −0 src/core/consumer/frame_consumer_registry.cpp
  54. +80 −0 src/core/consumer/frame_consumer_registry.h
  55. +36 −12 src/core/consumer/output.cpp
  56. +5 −3 src/core/consumer/output.h
  57. +18 −3 src/core/diagnostics/osd_graph.cpp
  58. +2 −2 src/core/frame/draw_frame.cpp
  59. +5 −5 src/core/frame/frame.cpp
  60. +4 −0 src/core/frame/frame_factory.h
  61. +1 −98 src/core/frame/frame_transform.cpp
  62. +6 −6 src/core/frame/frame_transform.h
  63. +48 −13 src/core/frame/geometry.cpp
  64. +17 −3 src/core/frame/geometry.h
  65. +26 −10 src/core/frame/pixel_format.h
  66. +28 −24 src/core/fwd.h
  67. +3 −2 src/core/mixer/audio/audio_mixer.h
  68. +10 −1 src/core/mixer/image/image_mixer.h
  69. +24 −10 src/core/mixer/mixer.cpp
  70. +7 −3 src/core/mixer/mixer.h
  71. +16 −13 src/core/module_dependencies.h
  72. +0 −1 src/core/producer/cg_proxy.cpp
  73. +2 −1 src/core/producer/color/color_producer.cpp
  74. +0 −198 src/core/producer/frame_producer.cpp
  75. +0 −24 src/core/producer/frame_producer.h
  76. +225 −0 src/core/producer/frame_producer_registry.cpp
  77. +65 −0 src/core/producer/frame_producer_registry.h
  78. +35 −22 src/core/producer/route/route_producer.cpp
  79. +28 −11 src/core/producer/stage.cpp
  80. +3 −2 src/core/producer/stage.h
  81. +1 −0 src/core/producer/transition/sting_producer.cpp
  82. +6 −2 src/core/producer/transition/transition_producer.cpp
  83. +7 −2 src/core/video_channel.cpp
  84. +2 −1 src/core/video_format.cpp
  85. +5 −7 src/modules/artnet/CMakeLists.txt
  86. +9 −13 src/modules/artnet/consumer/artnet_consumer.cpp
  87. +3 −1 src/modules/artnet/consumer/artnet_consumer.h
  88. +7 −9 src/modules/bluefish/CMakeLists.txt
  89. +1 −1 src/modules/bluefish/StdAfx.h
  90. +10 −3 src/modules/bluefish/consumer/bluefish_consumer.cpp
  91. +7 −5 src/modules/bluefish/consumer/bluefish_consumer.h
  92. +19 −17 src/modules/bluefish/producer/bluefish_producer.cpp
  93. +10 −12 src/modules/decklink/CMakeLists.txt
  94. +26 −1 src/modules/decklink/consumer/config.cpp
  95. +14 −1 src/modules/decklink/consumer/config.h
  96. +251 −32 src/modules/decklink/consumer/decklink_consumer.cpp
  97. +7 −5 src/modules/decklink/consumer/decklink_consumer.h
  98. +64 −20 src/modules/decklink/consumer/frame.cpp
  99. +8 −2 src/modules/decklink/consumer/frame.h
  100. +4 −3 src/modules/decklink/decklink_api.h
  101. +182 −51 src/modules/decklink/producer/decklink_producer.cpp
  102. +9 −11 src/modules/ffmpeg/CMakeLists.txt
  103. +0 −1 src/modules/ffmpeg/StdAfx.h
  104. +42 −14 src/modules/ffmpeg/consumer/ffmpeg_consumer.cpp
  105. +7 −5 src/modules/ffmpeg/consumer/ffmpeg_consumer.h
  106. +5 −0 src/modules/ffmpeg/defines.h
  107. +1 −2 src/modules/ffmpeg/ffmpeg.cpp
  108. +2 −3 src/modules/ffmpeg/producer/av_input.cpp
  109. +87 −26 src/modules/ffmpeg/producer/av_producer.cpp
  110. +3 −1 src/modules/ffmpeg/producer/av_producer.h
  111. +13 −16 src/modules/ffmpeg/producer/ffmpeg_producer.cpp
  112. +142 −56 src/modules/ffmpeg/util/av_util.cpp
  113. +18 −3 src/modules/ffmpeg/util/av_util.h
  114. +5 −11 src/modules/flash/CMakeLists.txt
  115. +1 −1 src/modules/flash/producer/FlashAxContainer.h
  116. +3 −3 src/modules/flash/producer/flash_producer.cpp
  117. +1 −1 src/modules/flash/util/swf.cpp
  118. +5 −20 src/modules/html/CMakeLists.txt
  119. +10 −7 src/modules/html/html.cpp
  120. +5 −10 src/modules/html/html.h
  121. +7 −11 src/modules/html/producer/html_cg_proxy.cpp
  122. +1 −2 src/modules/html/producer/html_cg_proxy.h
  123. +4 −2 src/modules/html/producer/html_producer.cpp
  124. +36 −0 src/modules/html/util.h
  125. +12 −16 src/modules/image/CMakeLists.txt
  126. +87 −37 src/modules/image/consumer/image_consumer.cpp
  127. +6 −5 src/modules/image/consumer/image_consumer.h
  128. +0 −8 src/modules/image/image.cpp
  129. +0 −1 src/modules/image/image.h
  130. +41 −119 src/modules/image/producer/image_producer.cpp
  131. +19 −25 src/modules/image/producer/image_scroll_producer.cpp
  132. +84 −0 src/modules/image/util/image_converter.cpp
  133. +34 −0 src/modules/image/util/image_converter.h
  134. +105 −57 src/modules/image/util/image_loader.cpp
  135. +4 −5 src/modules/image/util/image_loader.h
  136. +6 −14 src/modules/newtek/CMakeLists.txt
  137. +13 −2 src/modules/newtek/consumer/newtek_ndi_consumer.cpp
  138. +5 −2 src/modules/newtek/consumer/newtek_ndi_consumer.h
  139. +606 −602 src/modules/newtek/interop/Processing.NDI.DynamicLoad.h
  140. +79 −75 src/modules/newtek/interop/Processing.NDI.Find.h
  141. +172 −182 src/modules/newtek/interop/Processing.NDI.FrameSync.h
  142. +119 −119 src/modules/newtek/interop/Processing.NDI.Lib.cplusplus.h
  143. +159 −159 src/modules/newtek/interop/Processing.NDI.Lib.h
  144. +211 −208 src/modules/newtek/interop/Processing.NDI.Recv.ex.h
  145. +287 −278 src/modules/newtek/interop/Processing.NDI.Recv.h
  146. +75 −74 src/modules/newtek/interop/Processing.NDI.Routing.h
  147. +145 −140 src/modules/newtek/interop/Processing.NDI.Send.h
  148. +39 −39 src/modules/newtek/interop/Processing.NDI.compat.h
  149. +230 −219 src/modules/newtek/interop/Processing.NDI.deprecated.h
  150. +383 −374 src/modules/newtek/interop/Processing.NDI.structs.h
  151. +207 −172 src/modules/newtek/interop/Processing.NDI.utilities.h
  152. +1 −0 src/modules/newtek/newtek.cpp
  153. +6 −3 src/modules/newtek/producer/newtek_ndi_producer.cpp
  154. +5 −2 src/modules/newtek/util/ndi.cpp
  155. +4 −7 src/modules/oal/CMakeLists.txt
  156. +22 −10 src/modules/oal/consumer/oal_consumer.cpp
  157. +7 −5 src/modules/oal/consumer/oal_consumer.h
  158. +5 −11 src/modules/screen/CMakeLists.txt
  159. +24 −2 src/modules/screen/consumer/screen_consumer.cpp
  160. +8 −6 src/modules/screen/consumer/screen_consumer.h
  161. +19 −6 src/protocol/amcp/AMCPCommandsImpl.cpp
  162. +3 −3 src/protocol/amcp/amcp_command_context.h
  163. +5 −5 src/protocol/osc/oscpack/OscOutboundPacketStream.cpp
  164. +4 −4 src/protocol/osc/oscpack/OscOutboundPacketStream.h
  165. +99 −52 src/shell/CMakeLists.txt
  166. +10 −3 src/shell/casparcg.config
  167. +1 −3 src/shell/casparcg_auto_restart.bat
  168. +23 −0 src/shell/main.cpp
  169. +33 −8 src/shell/server.cpp
  170. +2 −2 src/shell/windows_specific.cpp
  171. +3 −6 tools/linux/Dockerfile
  172. +0 −2 tools/linux/build-in-docker
  173. +30 −0 tools/linux/deb/INSTALLING
  174. +8 −0 tools/linux/deb/ubuntu-jammy/debian/.gitignore
  175. +3 −0 tools/linux/deb/ubuntu-jammy/debian/casparcg-server-beta.docs
  176. +3 −0 tools/linux/deb/ubuntu-jammy/debian/casparcg-server-beta.install
  177. +1 −0 tools/linux/deb/ubuntu-jammy/debian/casparcg-server-beta.manpages
  178. +13 −0 tools/linux/deb/ubuntu-jammy/debian/casparcg.txt2man
  179. +49 −0 tools/linux/deb/ubuntu-jammy/debian/control
  180. +174 −0 tools/linux/deb/ubuntu-jammy/debian/copyright
  181. +2 −0 tools/linux/deb/ubuntu-jammy/debian/gbp.conf
  182. +3 −0 tools/linux/deb/ubuntu-jammy/debian/patches/README
  183. 0 tools/linux/deb/ubuntu-jammy/debian/patches/series
  184. +19 −0 tools/linux/deb/ubuntu-jammy/debian/rules
  185. +1 −0 tools/linux/deb/ubuntu-jammy/debian/source/format
  186. +4 −0 tools/linux/deb/ubuntu-jammy/debian/upstream/metadata
  187. +10 −0 tools/linux/deb/ubuntu-jammy/debian/watch
  188. +8 −0 tools/linux/deb/ubuntu-noble/debian/.gitignore
  189. +3 −0 tools/linux/deb/ubuntu-noble/debian/casparcg-server-beta.docs
  190. +3 −0 tools/linux/deb/ubuntu-noble/debian/casparcg-server-beta.install
  191. +1 −0 tools/linux/deb/ubuntu-noble/debian/casparcg-server-beta.manpages
  192. +13 −0 tools/linux/deb/ubuntu-noble/debian/casparcg.txt2man
  193. +49 −0 tools/linux/deb/ubuntu-noble/debian/control
  194. +174 −0 tools/linux/deb/ubuntu-noble/debian/copyright
  195. +2 −0 tools/linux/deb/ubuntu-noble/debian/gbp.conf
  196. +3 −0 tools/linux/deb/ubuntu-noble/debian/patches/README
  197. 0 tools/linux/deb/ubuntu-noble/debian/patches/series
  198. +19 −0 tools/linux/deb/ubuntu-noble/debian/rules
  199. +1 −0 tools/linux/deb/ubuntu-noble/debian/source/format
  200. +4 −0 tools/linux/deb/ubuntu-noble/debian/upstream/metadata
  201. +10 −0 tools/linux/deb/ubuntu-noble/debian/watch
  202. +15 −2 tools/linux/install-dependencies
  203. +0 −2 tools/linux/launch-interactive
  204. +3 −3 tools/windows/build.bat
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -7,3 +7,12 @@ indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.diff]
trim_trailing_whitespace = false

[*.patch]
trim_trailing_whitespace = false

[debian/rules]
indent_style = tab
96 changes: 78 additions & 18 deletions .github/workflows/linux-system.yml
Original file line number Diff line number Diff line change
@@ -11,38 +11,98 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
include:
- os: ubuntu-22.04
distribution: jammy
- os: ubuntu-24.04
distribution: noble

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4

- name: Setup environment
id: setup-env
run: |
ln -s tools/linux/deb/ubuntu-${{ matrix.distribution }}/debian ./
# Build a version number for this build
GH_REF="${GITHUB_REF##*/}"
GH_REF=$(echo "$GH_REF" | sed 's/[\/]/_/g' | sed 's/ /_/g')
VERSION_MAJOR=$(grep -oPi 'set\(CONFIG_VERSION_MAJOR \K\d+' src/CMakeLists.txt)
VERSION_MINOR=$(grep -oPi 'set\(CONFIG_VERSION_MINOR \K\d+' src/CMakeLists.txt)
VERSION_PATCH=$(grep -oPi 'set\(CONFIG_VERSION_BUG \K\d+' src/CMakeLists.txt)
BUILD_VERSION="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}~${GH_REF}-${{ matrix.distribution }}+${GITHUB_SHA:0:7}"
echo "BUILD_VERSION=$BUILD_VERSION" >> $GITHUB_OUTPUT
echo "Building as $BUILD_VERSION"
BUILD_FILENAME="casparcg-server-${BUILD_VERSION}"
echo "BUILD_FILENAME=$BUILD_FILENAME" >> $GITHUB_OUTPUT
# install some needed tooling
sudo apt-get update
sudo ./tools/linux/install-dependencies
sudo apt-get install -y libboost-all-dev \
libavcodec-dev \
libavformat-dev \
libavdevice-dev \
libavutil-dev \
libavfilter-dev \
libswscale-dev \
libpostproc-dev \
libswresample-dev
sudo apt-get -y install software-properties-common build-essential dpkg-dev debhelper devscripts
sudo add-apt-repository ppa:casparcg/ppa
# Put something in the changelog
export DEBEMAIL="builds@casparcg.com"
export DEBFULLNAME="CasparCG Builds"
dch -v "$BUILD_VERSION" --create -D ${{ matrix.distribution }} --package casparcg-server-beta "Build"
# Install build dependencies
sudo apt-get build-dep .
# update the control file to reference the current cef version
CASPARCG_CEF_VER=$(dpkg-query -W -f='${Version}' casparcg-cef-131)
sed -i "s/@CASPARCG_CEF_VER@/${CASPARCG_CEF_VER}/" debian/control
# Download required packages
cd ..
apt-get download casparcg-cef-131=$CASPARCG_CEF_VER
apt-get download casparcg-scanner
env:
CI: 1

- name: Run build
run: |
# Perform build
debuild -b -uc -us
env:
CI: 1

- name: Collect artifacts
id: artifacts
run: |
mkdir -p dist
mv ../*.deb dist/
mkdir build
cd build
# collect some docs for the zip
cp README.md dist/
cp tools/linux/deb/INSTALLING dist/
cmake ../src -DUSE_STATIC_BOOST=OFF -DUSE_SYSTEM_FFMPEG=ON
make -j2
# check if a release branch, or master, or a tag
if [[ "${{ github.ref_name }}" == "master" || "${{ github.ref_name }}" == "2.3.x-lts" ]]
then
# Only proceed if we have an sftp password
if [ -n "${{ secrets.SFTP_PASSWORD }}" ]
then
zip -r "${{ steps.setup-env.outputs.BUILD_FILENAME }}.zip" dist
set -x
eval $(ssh-agent -s)
mkdir -v -m 700 $HOME/.ssh
ssh-keyscan -H ${{ secrets.SFTP_HOST }} > $HOME/.ssh/known_hosts
sshpass -p '${{ secrets.SFTP_PASSWORD }}' rsync -avvz --mkpath "${{ steps.setup-env.outputs.BUILD_FILENAME }}.zip" "${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }}:${{ secrets.SFTP_ROOT }}/${{ github.ref_name }}/${{ steps.setup-env.outputs.BUILD_FILENAME }}.zip"
fi
fi
env:
CI: 1

- uses: actions/upload-artifact@v4
with:
name: ${{ steps.setup-env.outputs.BUILD_FILENAME }}
path: dist
56 changes: 0 additions & 56 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -19,61 +19,5 @@ jobs:
- name: Run build
run: |
./tools/linux/build-in-docker
./tools/linux/extract-from-docker
env:
CI: 1

- name: Download media-scanner
uses: robinraju/release-downloader@v1.10
with:
repository: "casparcg/media-scanner"
latest: true
fileName: "*-linux-x64.zip"
tarBall: false
zipBall: false
out-file-path: "casparcg_server/media-scanner"
extract: true

- name: Tidy media-scanner download
shell: bash
run: |
rm casparcg_server/media-scanner/*.zip
mv casparcg_server/media-scanner/* casparcg_server/
rmdir casparcg_server/media-scanner
chmod +x casparcg_server/scanner
- name: Rename build
id: "rename-build"
shell: bash
run: |
TARGET=casparcg-server-${{ github.sha }}-ubuntu22.zip
zip -r "$TARGET" casparcg_server/
echo "artifactname=$TARGET" >> $GITHUB_OUTPUT
# check if a release branch, or master, or a tag
if [[ "${{ github.ref_name }}" == "master" || "${{ github.ref_name }}" == "2.3.x-lts" ]]
then
# Only proceed if we have an sftp password
if [ -n "${{ secrets.SFTP_PASSWORD }}" ]
then
echo "uploadname=$TARGET" >> $GITHUB_OUTPUT
fi
fi
- uses: actions/upload-artifact@v4
with:
name: upload-artifact
path: ${{ steps.rename-build.outputs.artifactname }}

- name: Copy single file to remote
uses: garygrossgarten/github-action-scp@v0.8.0
if: ${{ steps.rename-build.outputs.uploadname }}
with:
local: "${{ steps.rename-build.outputs.uploadname }}"
remote: "${{ secrets.SFTP_ROOT }}/${{ github.ref_name }}/${{ steps.rename-build.outputs.uploadname }}"
host: ${{ secrets.SFTP_HOST }}
username: ${{ secrets.SFTP_USERNAME }}
password: ${{ secrets.SFTP_PASSWORD }}
3 changes: 2 additions & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ on:

jobs:
build:
runs-on: windows-2019
runs-on: windows-2022

steps:
- uses: actions/checkout@v4
@@ -63,6 +63,7 @@ jobs:
- name: Copy single file to remote
uses: garygrossgarten/github-action-scp@v0.8.0
if: ${{ steps.rename-build.outputs.uploadname }}
timeout-minutes: 5
with:
local: "${{ steps.rename-build.outputs.uploadname }}"
remote: "${{ secrets.SFTP_ROOT }}/${{ github.ref_name }}/${{ steps.rename-build.outputs.uploadname }}"
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -14,3 +14,7 @@ casparcg_server

src/cmake-build-*
src/.idea

# debian build artifacts
/debian
/obj-*
47 changes: 33 additions & 14 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -20,35 +20,52 @@ You can figure out which files you need by looking at each of the `ExternalProje

# Windows

## Development using Visual Studio
## Building distributable

1. Install Visual Studio 2019.
1. Install Visual Studio 2022.

2. Install CMake (http://www.cmake.org/download/).
2. Install 7-zip (https://www.7-zip.org/).

3. `git clone --single-branch --branch master https://github.com/CasparCG/server casparcg-server-master`

4. `cd casparcg-server-master`

5. `mkdir build`
5. `.\tools\windows\build.bat`

6. Copy the `dist\casparcg_server.zip` file for distribution

## Development using Visual Studio

1. Install Visual Studio 2022.

6. `cd build`
3. `git clone --single-branch --branch master https://github.com/CasparCG/server casparcg-server-master`

7. `cmake -G "Visual Studio 16 2019" -A x64 ../src`
4. Open the cloned folder in Visual Studio.

8. Open `CasparCG Server.sln`
5. Build All and ensure it builds successfully

# Linux

## Building inside Docker
## Building on your system

We only officially support Ubuntu LTS releases, other distros may work but often run into build issues. We are happy to accept PRs to resolve these issues, but are unlikely to write fixes ourselves.

We currently document two approaches to building CasparCG. The recommended way is to use the `deb` packaging we have in the repository, but we only provide that for Ubuntu LTS releases.
Other deb based distros can work with some tweaks to one of those, other distros will need something else which is not documented here.

We also provide a script to produce a build in docker, but this is not recommended unless absolutely necessary. The resulting builds are often rather brittle depending on where they are used.

To perform a custom build, follow the Development steps below, and you may need to do some extra packaging steps, or install steps on the target systems.

### Building inside Docker

1. `git clone --single-branch --branch master https://github.com/CasparCG/server casparcg-server-master`
2. `cd casparcg-server-master`
3. `./tools/linux/build-in-docker`

If all goes to plan, a docker image `casparcg/server` has been created containing CasparCG Server.

## Extracting CasparCG Server from Docker
### Extracting CasparCG Server from Docker

1. `./tools/linux/extract-from-docker`

@@ -63,9 +80,9 @@ Before beginning, check the build options section below, to decide if you want t
1. `git clone --single-branch --branch master https://github.com/CasparCG/server casparcg-server-master`
2. `cd casparcg-server-master`
3. Install dependencies, this can be done with `sudo ./tools/linux/install-dependencies`
4. `mkdir build && cd build`
5. `cmake ../src`
6. If not using system ffmpeg, run `./_deps/ffmpeg-lib-src/ffmpeg/install-ffmpeg-dependencies` to install the dependencies needed by the ffmpeg build
4. If using system CEF (default & recommended), `sudo add-apt-repository ppa:casparcg/ppa` and `sudo apt-get install casparcg-cef-131-dev`
5. `mkdir build && cd build`
6. `cmake ../src` You can add any of the build options from below to this command
7. `make -j8`

If all goes to plan, a folder called 'staging' has been created with everything you need to run CasparCG server.
@@ -74,6 +91,8 @@ If all goes to plan, a folder called 'staging' has been created with everything

-DENABLE_HTML=OFF - useful if you lack CEF, and would like to build without that module.

-DUSE_STATIC_BOOST=OFF - (Linux only) link against shared version of Boost.
-DUSE_STATIC_BOOST=ON - (Linux only, default OFF) statically link against Boost.

-DUSE_SYSTEM_CEF=OFF - (Linux only, default ON) use the version of CEF from your OS. This expects to be using builds from https://launchpad.net/~casparcg/+archive/ubuntu/ppa

-DUSE_SYSTEM_FFMPEG - (Linux only) use the version of ffmpeg from your OS.
-DDIAG_FONT_PATH - Specify an alternate path/font to use for the DIAG window. On linux, this will often want to be set to an absolute path of a font
Loading