init
This commit is contained in:
commit
f4e1e1a4f4
25
Dockerfile
Normal file
25
Dockerfile
Normal file
@ -0,0 +1,25 @@
|
||||
FROM ubuntu:24.04
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
libglvnd0 \
|
||||
libgl1 \
|
||||
libglx0 \
|
||||
libgles2 \
|
||||
libegl1 \
|
||||
libxcb1 \
|
||||
libx11-xcb1 \
|
||||
libxkbcommon-x11-0 \
|
||||
gstreamer1.0-tools \
|
||||
gstreamer1.0-plugins-base \
|
||||
gstreamer1.0-plugins-good \
|
||||
gstreamer1.0-plugins-bad \
|
||||
gstreamer1.0-plugins-ugly \
|
||||
gstreamer1.0-libav \
|
||||
libgstreamer1.0-dev \
|
||||
libgstreamer-plugins-base1.0-dev && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV DISPLAY=:0
|
||||
|
||||
CMD ["bash"]
|
||||
21
README.md
Normal file
21
README.md
Normal file
@ -0,0 +1,21 @@
|
||||
## Base info
|
||||
Here you can find simple gstreamer dockerfile and necessary scripts to work with GUI.
|
||||
Scripts will not work on windows directly. It is assumed that you will be using WSL for work.
|
||||
|
||||
Other way, would be using run.bat script as shown under this thread
|
||||
https://stackoverflow.com/questions/73092750/how-to-show-gui-apps-from-docker-desktop-container-on-windows-11
|
||||
|
||||
## Usage
|
||||
|
||||
1. Run build.sh script with container name: e.g.
|
||||
- `build.sh gstreamer-base`
|
||||
2. Run run.sh script with same container name: e.g.
|
||||
- `run.sh gstreamer-base`
|
||||
- if you're using Windows you can try (to be fair, I don't know much about powershell scripting, so this is generated by AI):
|
||||
- `run.ps1 -ContainerName gstreamer-base -Build`
|
||||
3. In opened bash verify that gui is opening correctly:
|
||||
- `gst-launch1.0 videotestsrc ! autovideoconvert ! autovideosink`
|
||||
|
||||
If video sink is not visible on the screen:
|
||||
1. Make sure that wsl2 is active.
|
||||
2. Make sure that WSLg is supported (should be built-in on windows 11)
|
||||
8
build.sh
Normal file
8
build.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "using: $(basename $0) <container name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker build -t $1 .
|
||||
29
run.ps1
Normal file
29
run.ps1
Normal file
@ -0,0 +1,29 @@
|
||||
param(
|
||||
[string]$ContainerName = "gui-app-container",
|
||||
[switch]$Build
|
||||
)
|
||||
|
||||
if ($Build) {
|
||||
Write-Host "Building Docker image: $ContainerName" -ForegroundColor Green
|
||||
docker build -t $ContainerName .
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "Build failed!" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$dockerCommand = @(
|
||||
"run", "-it", "--rm",
|
||||
"--name", $ContainerName,
|
||||
"-v", "/tmp/.X11-unix:/tmp/.X11-unix",
|
||||
"-v", "/run/desktop/mnt/wslg:/mnt/wslg",
|
||||
"-e", "DISPLAY=$DISPLAY",
|
||||
"-e", "WAYLAND_DISPLAY=wayland-0",
|
||||
"-e", "XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir"
|
||||
)
|
||||
|
||||
$dockerCommand += $ContainerName + " bash"
|
||||
|
||||
docker @dockerCommand
|
||||
Loading…
x
Reference in New Issue
Block a user