Comments (8)
Update: I attempted to force HLS transcoding via the Administration interface, with success. However, the subsequent move to object storage failed.
Peertube job list showed it as DELAYED initially, but now shows it as FAILED. The logs for the job shows the following info:
Job: 84 Type: move-to-object-storage Processed on 7/10/24, 2:14:42.681 PM Finished on 7/10/24, 2:14:43.002 PM{ "videoUUID": "c14ae3f5-b44c-4547-b3b7-7a4be1fca095", "isNewVideo": false, "previousVideoState": 2 }TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received null at new NodeError (node:internal/errors:405:5) at validateString (node:internal/validators:162:11) at join (node:path:1175:7) at updateTorrentMetadata (file:///var/www/peertube/versions/peertube-v6.1.0/dist/core/helpers/webtorrent.js:101:28) at onFileMoved (file:///var/www/peertube/versions/peertube-v6.1.0/dist/core/lib/job-queue/handlers/move-to-object-storage.js:62:11) at moveWebVideoFiles (file:///var/www/peertube/versions/peertube-v6.1.0/dist/core/lib/job-queue/handlers/move-to-object-storage.js:41:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async moveToJob (file:///var/www/peertube/versions/peertube-v6.1.0/dist/core/lib/job-queue/handlers/shared/move-video.js:19:13) at async Object.processMoveToObjectStorage [as move-to-object-storage] (file:///var/www/peertube/versions/peertube-v6.1.0/dist/core/lib/job-queue/handlers/move-to-object-storage.js:16:5) at async Object.wrapPromiseFun (file:///var/www/peertube/versions/peertube-v6.1.0/dist/core/lib/plugins/hooks.js:8:24) at async Worker.processJob (/var/www/peertube/versions/peertube-v6.1.0/node_modules/bullmq/dist/cjs/classes/worker.js:395:28) at async Worker.retryIfFailed (/var/www/peertube/versions/peertube-v6.1.0/node_modules/bullmq/dist/cjs/classes/worker.js:584:24)
from peertube.
Hi,
Can you paste a video URL example?
from peertube.
The following is a video that I forced HLS Transcode, but which failed moving to object storage:
https://peertube.anon-kenkai.com/w/pSnVKiGdLHcr6F2TycZgvg
This is another video stuck on Awaiting Transcoding:
https://peertube.anon-kenkai.com/w/ornoFWrVpFiZXcocyjHkrT
Here is a video that I haven't done anything to, it just won't play (and appears not to exist in object storage):
https://peertube.anon-kenkai.com/w/sJqeUW79rkYFx5ubLbatPm
...for reference, this is a video uploaded after upgrading to 6.1.0 which plays normally and exists in object storage:
https://peertube.anon-kenkai.com/w/4FpqkEbGtWJSYWdX1oYMYy
...and lastly here's an old video stored locally on the PeerTube server which also plays normally:
https://peertube.anon-kenkai.com/w/sjN7JJmuT6c7N7Cs2RYZGK
from peertube.
As an addendum, I tried using CLI commands from /var/www/peertube/peertube-latest as described in the docs here, but it only recreated the job which failed again with the same error.
Right now, I'm in the odd position where two videos on my server are perfectly playable, but they don't count as "Published", and as such don't appear in the Local Videos or Channels view. They seem to be stuck in limbo, either "Awaiting Transcoding" that never comes, or else being stuck at "Move to Object Storage Failed", and thus not counting as published either.
I do wonder if disabling object storage in production.yaml and then replacing the video files might force the transcoded videos to be stored locally and published, at which point I could re-enable object storage and use the CLI to move them back over. I hope it doesn't come to that, but I can do it if I have to.
from peertube.
Further followup: After seeing this comment from @Chocobozzz in #4659 , I was able to go into the database and revert videos stuck in "Move to External Storage Failed" to local storage and the video now displays in Local Videos without issue. Later today, I'll be attempting to move it to object storage via the CLI and see if it produces the same error as before.
from peertube.
From what I see in your videos metadata the web video is missing a torrent file (this situation should not happen, it's the reason of the error).
This case should now be correctly handled by c5fa9fe
To fix your issue, try to run HLS transcoding and web video transcoding on all your videos. If you don't need/want the web video version, then just run HLS transcoding and remove the web video version from the web interface
from peertube.
From what I see in your videos metadata the web video is missing a torrent file (this situation should not happen, it's the reason of the error).
This case should now be correctly handled by c5fa9fe
To fix your issue, try to run HLS transcoding and web video transcoding on all your videos. If you don't need/want the web video version, then just run HLS transcoding and remove the web video version from the web interface
Thankfully, this seems to work, though it seems very finicky about the order of operations. If I do HLS transcoding without doing web video first, the move to object storage encounters errors again.
For anybody experiencing my bizarre edge case in future, the best course of action seems to be:
- Enable video re-uploads in settings
- Edit the video, and use "Replace video file" to reupload a backup of the original. Ignore the error it throws up when the download completes
- Go to Administration > Overview > Videos and find the video in question
- Choose "Run web video transcoding" and let it finish.
- Then "Run HLS Transcoding"
- Videos should upload to object storage as expected without error
- Optionally, delete Web videos when it's all done.
Thank you @Chocobozzz for the assist. The mystery of why the files vanished from object storage in the first place remains unsolved and will haunt me to the day I die, but at least I can fix things now.
from peertube.
Closing as solved.
from peertube.
Related Issues (20)
- Offloading bandwidth from ISP HOT 1
- Middle-click on «terms» opens an invalid page. HOT 1
- Configuration for max FPS HOT 2
- "Error: Output format mp4 is not available" causing transcoding failures HOT 2
- Sign-in with nodebb HOT 1
- Content review and moderation via external service or AI.
- Remove / Replace 'Maybe Later' message from Support modal HOT 1
- [Object Storage] HLS video in Object Storage missing master streaming playlist and SHA256.json file HOT 4
- Use only html5 video player? HOT 1
- Error start peertube docker ARM v6.2.0 HOT 5
- Time-stamped comments and annotations HOT 4
- Optimize the performance of /api/v1/videos/<videoid>/transcoding
- Remote runner stuck after socket disconnect HOT 8
- Failing to install 6.2.0 on Alpine Linux HOT 3
- Vultr S3 doesn't play video after transcoding???? HOT 1
- Unlimited Permanent Lives? HOT 2
- Peertube 6.2.0 is speaking half french and half english HOT 1
- Add ability for admins to remove the "Friendly reminder" at the bottom entirely. HOT 1
- Unknown InfoHash error in Tracker causes Websocket /tracker/socket to be unavailable for connection HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from peertube.