• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patchH A D30-Oct-202032.6 KiB944922

README.mdH A D30-Oct-20202.2 KiB8560

master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patchH A D30-Oct-202032.7 KiB962943

n4.2.3-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patchH A D30-Oct-202032.8 KiB948926

n4.3.1-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patchH A D30-Oct-202032.7 KiB962943

README.md

1# SVT-VP9 ffmpeg plugin installation
2
3Assumes you have a bash (or similar) shell along with commands such as
4
5- git
6- cmake
7- make
8- pkg-config
9- cc
10
11If you do not have any of these, please consult your friendly web browser to determine what is the best way to get these on your system, else ask IT.
12
13If you are on windows, the recommended way to get these tools and build FFmpeg is through [msys2](https://www.msys2.org/). The way to get these specific tools will not be provided here though.
14
15If you are trying to compile FFmpeg using MSVC, please try to consult FFmpeg's [wiki page](https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC) about it.
16
17## Build and install SVT-VP9
18
19```bash
20git clone https://github.com/OpenVisualCloud/SVT-VP9.git
21cd SVT-VP9/Build
22# Adjust this line to add any other cmake related options
23cmake .. -DCMAKE_BUILD_TYPE=Release
24make -j $(nproc)
25sudo make install
26cd ..
27```
28
29## Enable SVT-VP9 plugin
30
31```bash
32# Adjust /usr/local to your chosen prefix
33export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
34export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig
35git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg
36cd ffmpeg
37```
38
39Which patch to apply will depend on which version of FFmpeg you are going to use.
40
41master:
42
43```bash
44git apply ../ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
45```
46
47n4.3.1 tag:
48
49```bash
50git checkout n4.3.1
51git apply ../ffmpeg_plugin/n4.3.1-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
52```
53
54n4.2.3 tag:
55
56```bash
57git checkout n4.2.3
58git apply ../ffmpeg_plugin/n4.2.3-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
59```
60
61n4.2.2 tag:
62
63```bash
64git checkout n4.2.2
65git apply ../ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
66```
67
68```bash
69./configure --enable-libsvtvp9
70make -j $(nproc)
71```
72
73## Verify
74
75Run basic tests to check if `libsvt_vp9` works
76
77```bash
78./ffmpeg -f lavfi -i testsrc=duration=1:size=1280x720:rate=30 -c:v libsvt_vp9 -rc 1 -b:v 10M -preset 1 -y test.ivf
79./ffmpeg -f lavfi -i testsrc=duration=1:size=1280x720:rate=30 -vframes 1000 -c:v libsvt_vp9 -y test.mp4
80```
81
82## Note
83
84These patches can be applied in any ordering permutation along with the other SVT encoders, there is no strict ordering
85