Peertube: Videos don't play: Error in controller / Error: ENOENT: no such file or directory

Created on 24 May 2020  路  8Comments  路  Source: Chocobozzz/PeerTube

What happened?
Video doesn't start playing and shows the loading circle instead.

What do you expect to happen instead?
Video starts playing

Steps to reproduce:
I'm not sure as I did a couple of things, between playing a video successfully and noticing the issue.

  1. peertube works perfectly

  2. try to upload a very large video ~25GB three times, because it keeps failing

  3. request to follow another instance

  4. set trust_proxy in .env correctly

  5. notice that video don't start playing any more

Additional information

  • PeerTube version or URL: 2.1.1
  • Browser name/version: Firefox 76
  • NodeJS version: v10.19.0
  • Link to server log if useful (journalctl or /var/www/peertube/storage/logs/):
peertube_1  | [peertube.example.com:443] 2020-05-24 20:32:29.123 error: Cannot run hook filter:api.user.signup.allowed.result of plugin glavlit. {
peertube_1  |   "err": {
peertube_1  |     "stack": "TypeError: Cannot read property 'email' of undefined\n    at filterRegistration (/data/plugins/node_modules/peertube-plugin-glavlit/main.js:79:32)",
peertube_1  |     "message": "Cannot read property 'email' of undefined"
peertube_1  |   }
peertube_1  | }

peertube_1  | [peertube.example.com:443] 2020-05-24 20:32:30.516 error: Error in controller. {
peertube_1  |   "err": "Error: ENOENT: no such file or directory, stat '/app/storage/streaming-playlists/hls/10f97231-0e3d-4f47-a98e-1b40bb81e653/segments-sha256.json'"
peertube_1  | }

peertube_1  | [peertube.example.com:443] 2020-05-24 20:32:30.717 error: Error in controller. {
peertube_1  |   "err": "Error: ENOENT: no such file or directory, stat '/app/storage/streaming-playlists/hls/10f97231-0e3d-4f47-a98e-1b40bb81e653/master.m3u8'"
peertube_1  | }

peertube_1  | [peertube.example.com:443] 2020-05-24 20:32:31.050 error: Error in controller. {
peertube_1  |   "err": "Error: ENOENT: no such file or directory, stat '/app/storage/streaming-playlists/hls/10f97231-0e3d-4f47-a98e-1b40bb81e653/master.m3u8'"
peertube_1  | }

peertube_1  | [peertube.example.com:443] 2020-05-24 20:32:34.196 error: Error in controller. {
peertube_1  |   "err": "Error: EIO: i/o error, read"
peertube_1  | }

I'm running peertube as a docker comtainer on ubuntu 18.04

Question

All 8 comments

What is the output of ls /app/storage/streaming-playlists/hls/?

Also, do you have enough disk space on your device?

What is the output of ls /app/storage/streaming-playlists/hls/?

Nothing. The folder is empty.

There should be enough space left.

root@a93af63c4d2b:/app/storage/streaming-playlists/hls# df -h
Filesystem                    Size  Used Avail Use% Mounted on
rpool/data/subvol-100-disk-0  150G   97G   54G  65% /

ok, I added streaming_playlists: '../data/streaming-playlists' to the config/production.yml. But, if I understand correctly, there were files in /app/storage/streaming-playlists/hls/ that are now gone, because the folder was not persistent. Can I get them back, maybe regenerate them in a way? The videos themselves are still in /data/videos
Edit: To clarify, I did not check the bug before, but applied the change just now

Can I get them back, maybe regenerate them in a way? The videos themselves are still in /data/videos

You could find the files in the old containers if you did not deleted them. You can also re generate HLS files using https://docs.joinpeertube.org/#/maintain-tools?id=create-transcoding-jobjs

(See also https://github.com/Chocobozzz/PeerTube/issues/2778 to use the CLI in the docker container)

Thank you, that does the trick. The old container got deleted, but regenerating the HLS files works. Is there a way to do that for every video with a single command?

No sorry, you'll have to use the REST API

Hello !
I just updated Peertube instance name from peertube-v2.2.0 to peertube-v2.4.0.
What happened?
The video does not start playing and displays the loading circle.

Link to server log if useful (journalctl or / var / www / peertube / storage / logs /):
{"err": "Error: ENOENT: no such file or directory, stat '/var/www/peertube/storage/streaming-playlists /hls

It seems that the video is not encoded.
Media: 015c9e01-6067-46a2-b8a3-9ce89a01e0b4

Listing the "storage /streaming-playlists" directory
015c9e01-6067-46a2-b8a3-9ce89a01e0b4-480-fragmented.mp4
015c9e01-6067-46a2-b8a3-9ce89a01e0b4-720-fragmented.mp4
480.m3u8
720.m3u8
master.m3u8
segments-sha256.json

Listing the directory after "storage /videos" encoding
We don't have a video file in the form:
015c9e01-6067-46a2-b8a3-9ce89a01e0b4.mp4

Thank you in advance for your feedback

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tcitworld picture tcitworld  路  3Comments

kabo picture kabo  路  3Comments

NoraCodes picture NoraCodes  路  3Comments

conferences-gesticulees picture conferences-gesticulees  路  3Comments

roipoussiere picture roipoussiere  路  3Comments