-import { registerTSPaths } from '../server/helpers/register-ts-paths'
-registerTSPaths()
-
+import { updateTorrentMetadata } from '@server/helpers/webtorrent'
+import { getServerActor } from '@server/models/application/application'
import { WEBSERVER } from '../server/initializers/constants'
-import { ActorFollowModel } from '../server/models/activitypub/actor-follow'
-import { VideoModel } from '../server/models/video/video'
-import { ActorModel } from '../server/models/activitypub/actor'
+import { initDatabaseModels } from '../server/initializers/database'
import {
getLocalAccountActivityPubUrl,
getLocalVideoActivityPubUrl,
getLocalVideoChannelActivityPubUrl,
getLocalVideoCommentActivityPubUrl
} from '../server/lib/activitypub/url'
-import { VideoShareModel } from '../server/models/video/video-share'
-import { VideoCommentModel } from '../server/models/video/video-comment'
import { AccountModel } from '../server/models/account/account'
+import { ActorModel } from '../server/models/actor/actor'
+import { ActorFollowModel } from '../server/models/actor/actor-follow'
+import { VideoModel } from '../server/models/video/video'
import { VideoChannelModel } from '../server/models/video/video-channel'
-import { VideoStreamingPlaylistModel } from '../server/models/video/video-streaming-playlist'
-import { initDatabaseModels } from '../server/initializers/database'
-import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent'
-import { getServerActor } from '@server/models/application/application'
+import { VideoCommentModel } from '../server/models/video/video-comment'
+import { VideoShareModel } from '../server/models/video/video-share'
run()
.then(() => process.exit(0))
console.log('Updating video and torrent files.')
- const localVideos = await VideoModel.listLocal()
- for (const localVideo of localVideos) {
- const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(localVideo.id)
+ const ids = await VideoModel.listLocalIds()
+ for (const id of ids) {
+ const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(id)
console.log('Updating video ' + video.uuid)
for (const file of video.VideoFiles) {
console.log('Updating torrent file %s of video %s.', file.resolution, video.uuid)
- await createTorrentAndSetInfoHash(video, video, file)
+ await updateTorrentMetadata(video, file)
+
+ await file.save()
}
- for (const playlist of video.VideoStreamingPlaylists) {
- playlist.playlistUrl = WEBSERVER.URL + VideoStreamingPlaylistModel.getHlsMasterPlaylistStaticPath(video.uuid)
- playlist.segmentsSha256Url = WEBSERVER.URL + VideoStreamingPlaylistModel.getHlsSha256SegmentsStaticPath(video.uuid, video.isLive)
+ const playlist = video.getHLSPlaylist()
+ for (const file of (playlist?.VideoFiles || [])) {
+ console.log('Updating fragmented torrent file %s of video %s.', file.resolution, video.uuid)
+
+ await updateTorrentMetadata(playlist, file)
- await playlist.save()
+ await file.save()
}
}
}