Skip to content

Commit

Permalink
docs: add basic troubleshooting for transcoding
Browse files Browse the repository at this point in the history
Signed-off-by: Varun Patil <radialapps@gmail.com>
  • Loading branch information
pulsejet committed Oct 17, 2023
1 parent 4400307 commit 96776de
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 10 deletions.
32 changes: 22 additions & 10 deletions docs/hw-transcoding.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,6 @@ You can specify the image to build in the `docker-compose.yml` file.
...
```

### Logging

When running an external transcoder, the logs go to the container logs. You can view them using

```bash
docker compose logs -f go-vod # for docker-compose
docker logs -f <container-name> # if not using docker-compose
```

## Internal Transcoder

Memories ships with an internal transcoder binary that you can directly use. In this case, you must install the drivers and ffmpeg on the same host as Nextcloud, and Memories will automatically handling starting and communicating with go-vod. This is also the default setup when you enable transcoding without hardware acceleration.
Expand Down Expand Up @@ -213,9 +204,30 @@ environment:
- INSTALL_PACKAGES=libva|libva-intel-driver|intel-media-driver|mesa-va-gallium
```

## Troubleshooting

### Basic Steps

If you have trouble with trancoding, try the following steps:

1. Check the admin panel for any errors. It may be possible that Memories cannot connect to the transcoder or you have a go-vod version mismatch.

1. Check the JS console and the logs of the transcoder. See [below](#logging) for instructions.

1. The admin panel lists a few options that work around driver bugs. For instance, if your portrait videos are rotated on VA-API or your NVENC stream hangs, try enabling these workarounds.

1. If you are using the internal transcoder, make sure you are running a new enough version of ffmpeg (shown in the admin panel). Generally you would need at least ffmpeg v5.x for most modern hardware but many operating systems ship with v4.x. One troubleshooting step is to build ffmpeg and the hardware drivers from source.

### Logging

When using the internal transcoder, the logs go to `/tmp/go-vod/<instance-id>.log`, where `<instance-id` is a unique ID for your Nextcloud instance that can be found in `config.php`. You can view them as illustrated below.
When running an **external transcoder**, the logs go to the container's stdout. You can view them using

```bash
docker compose logs -f go-vod # for docker-compose
docker logs -f <container-name> # if not using docker-compose
```

When using the **internal transcoder**, the logs go to `/tmp/go-vod/<instance-id>.log`, where `<instance-id` is a unique ID for your Nextcloud instance that can be found in `config.php`. You can view them as illustrated below.

```bash
tail -f /tmp/go-vod/<instance-id>.log # bare metal
Expand Down
4 changes: 4 additions & 0 deletions docs/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@ occ memories:places-setup

If you get this error, it is likely that your database is not using the `utf8mb4` character set. Since the reverse geocoding database contains characters in various languages, it is necessary to use `utf8mb4` to store them. To fix this, you need to convert your database to use `utf8mb4`.

## Transcoding

Memories transcodes videos on the fly per-user. This saves space, but requires reasonably good hardware, preferably with hardware acceleration. Check the troubleshooting section [here](/hw-transcoding/#troubleshooting).

## Reset

If you want to completely reset Memories (e.g. for database trouble), uninstall it from the app store, then run the following SQL on your database to clean up any data.
Expand Down

0 comments on commit 96776de

Please sign in to comment.