|
11 | 11 |
|
12 | 12 | ## Installation |
13 | 13 |
|
14 | | -### From Source |
| 14 | +### Setup |
15 | 15 |
|
16 | 16 | Prerequisites: |
17 | 17 | * CMake 3.20+ |
18 | 18 | * C++ Compiler (Clang/GCC/MSVC) |
19 | 19 | * OBS Studio development libraries (libobs) |
20 | | -* MoQ implementation from [kixelated/moq](https://github.com/kixelated/moq) (required for building the `moq` library) |
21 | | -* Fork of OBS-Studio from [brianmed/obs-studio](https://github.com/brianmed/obs-studio) to enable the MoQ service in the OBS Studio UI. |
| 20 | +* [Fork of OBS-Studio](https://github.com/brianmed/obs-studio) just to show MoQ in the UI. |
22 | 21 |
|
23 | | -1. Clone the repository: |
| 22 | +1. Clone the repos: |
24 | 23 | ```bash |
25 | | - git clone https://github.com/qualabs/obs-moq.git |
26 | | - cd obs-moq |
| 24 | + git clone https://github.com/moq-dev/obs.git moq-obs |
| 25 | + git clone https://github.com/brianmed/obs-studio.git obs-studio |
| 26 | + |
| 27 | + # optional: for local moq development |
| 28 | + git clone https://github.com/moq-dev/moq.git moq |
27 | 29 | ``` |
28 | 30 |
|
29 | | -2. (temporary) Clone the moq repository if you haven't already: |
| 31 | +2. Build the OBS fork: |
30 | 32 | ```bash |
31 | | - git clone https://github.com/kixelated/moq.git ../moq |
| 33 | + cd obs-studio |
| 34 | +
|
| 35 | + # Replace with your platform |
| 36 | + cmake --preset macos |
| 37 | + cmake --build --preset macos |
32 | 38 | ``` |
33 | 39 |
|
34 | | -3. Configure the project with CMake: |
| 40 | +3. Configure the plugin: |
35 | 41 | ```bash |
36 | | - just setup ../moq |
| 42 | + cd moq-obs |
37 | 43 |
|
38 | | - # Alternatively: |
39 | | - cmake --preset macos -DMOQ_LOCAL=../moq |
| 44 | + just setup |
| 45 | +
|
| 46 | + # optional: for local moq development |
| 47 | + just setup ../moq |
40 | 48 | ``` |
41 | 49 |
|
42 | | -4. Build the plugin: |
| 50 | +### Build |
| 51 | + |
| 52 | +1. Build the plugin: |
43 | 53 | ```bash |
44 | 54 | just build |
45 | | -
|
46 | | - # Alternatively: |
47 | | - cmake --build --preset macos |
48 | 55 | ``` |
49 | 56 |
|
50 | | -5. Install the plugin to your OBS Studio plugins directory. |
| 57 | +2. Copy the plugin to the OBS Studio plugins directory: |
51 | 58 | ```bash |
52 | 59 | # macOS |
| 60 | +cp -a build_macos/RelWithDebInfo/obs-moq.plugin ../obs-studio/build_macos/frontend/RelWithDebInfo/OBS.app/Contents/PlugIns/ |
| 61 | +
|
| 62 | +# eventually, without the fork: |
53 | 63 | cp -a build_macos/RelWithDebInfo/obs-moq.plugin ~/Library/Application\ Support/obs-studio/plugins/ |
54 | 64 | ``` |
55 | 65 |
|
56 | | -5a. Or if you're building against a local obs-studio checkout: |
| 66 | +3. Run OBS Studio with some extra logging for debugging. |
57 | 67 | ```bash |
58 | | -cp -a build_macos/RelWithDebInfo/obs-moq.plugin ../obs-studio/build_macos/frontend/RelWithDebInfo/OBS.app/Contents/PlugIns/ |
59 | | -
|
60 | | -# Run OBS Studio with some extra logging for debugging. |
| 68 | +# macOS |
61 | 69 | RUST_LOG=debug RUST_BACKTRACE=1 OBS_LOG_LEVEL=debug ../obs-studio/build_macos/frontend/RelWithDebInfo/OBS.app/Contents/MacOS/OBS |
62 | 70 | ``` |
63 | 71 |
|
64 | 72 | ## Usage |
65 | 73 |
|
66 | 74 | 1. Open OBS Studio. |
67 | 75 | 2. Go to **Settings** > **Stream**. |
68 | | -3. In the **Service** dropdown, select **MoQ (Debug)**. |
| 76 | +3. In the **Service** dropdown, select **MoQ**. |
69 | 77 | 4. Enter your MoQ Server details: |
70 | | - * **Server:** The URL of your MoQ relay/server (e.g., `http://localhost:4433/anon`). |
71 | | - * **Key:** The stream path or key (e.g., `dev`). |
| 78 | + * For development (`just dev`): `http://localhost:4433/anon`. |
| 79 | + * For testing: `https://cdn.moq.dev/anon`. |
| 80 | +5. Enter the broadcast name/path: |
| 81 | + * For testing: `obs` or some unique string. |
| 82 | + * Watch it here: https://moq.dev/watch/?name=obs |
72 | 83 | 5. Configure your Output settings (Codecs, Bitrate) as desired. |
| 84 | + * Currently, only: `h264` and `aac` are supported. |
73 | 85 | 6. Start Streaming! |
74 | 86 |
|
75 | 87 | ## Supported Build Environments |
|
0 commit comments