Ensure local actors preferredName don't already exist
Before applying this commit, check you don't have duplicates local actors in your database: select "preferredUsername" from actor where "serverId" is null group by "preferredUsername" having count(*) > 0 If you have some results, it seems you have duplicate channels/accounts. For every entry, you'll have to change the preferredUsername of the entry you want (so they are unique). The updated actors could have some federations issues. Sorry.
This commit is contained in:
parent
7b7d4e2a6a
commit
77e0851758
2 changed files with 25 additions and 12 deletions
|
@ -48,6 +48,7 @@ import {
|
||||||
MActorWithInboxes
|
MActorWithInboxes
|
||||||
} from '../../typings/models'
|
} from '../../typings/models'
|
||||||
import * as Bluebird from 'bluebird'
|
import * as Bluebird from 'bluebird'
|
||||||
|
import { Op } from 'sequelize'
|
||||||
|
|
||||||
enum ScopeNames {
|
enum ScopeNames {
|
||||||
FULL = 'FULL'
|
FULL = 'FULL'
|
||||||
|
@ -115,7 +116,19 @@ export const unusedActorAttributesForAPI = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fields: [ 'preferredUsername', 'serverId' ],
|
fields: [ 'preferredUsername', 'serverId' ],
|
||||||
unique: true
|
unique: true,
|
||||||
|
where: {
|
||||||
|
serverId: {
|
||||||
|
[Op.ne]: null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
fields: [ 'preferredUsername' ],
|
||||||
|
unique: true,
|
||||||
|
where: {
|
||||||
|
serverId: null
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fields: [ 'inboxUrl', 'sharedInboxUrl' ]
|
fields: [ 'inboxUrl', 'sharedInboxUrl' ]
|
||||||
|
|
|
@ -15,7 +15,7 @@ export enum VideoResolution {
|
||||||
*
|
*
|
||||||
* Sources for individual quality levels:
|
* Sources for individual quality levels:
|
||||||
* Google Live Encoder: https://support.google.com/youtube/answer/2853702?hl=en
|
* Google Live Encoder: https://support.google.com/youtube/answer/2853702?hl=en
|
||||||
* YouTube Video Info (tested with random music video): https://www.h3xed.com/blogmedia/youtube-info.php
|
* YouTube Video Info: youtube-dl --list-formats, with sample videos
|
||||||
*/
|
*/
|
||||||
function getBaseBitrate (resolution: VideoResolution) {
|
function getBaseBitrate (resolution: VideoResolution) {
|
||||||
switch (resolution) {
|
switch (resolution) {
|
||||||
|
@ -25,28 +25,28 @@ function getBaseBitrate (resolution: VideoResolution) {
|
||||||
|
|
||||||
case VideoResolution.H_240P:
|
case VideoResolution.H_240P:
|
||||||
// quality according to Google Live Encoder: 300 - 700 Kbps
|
// quality according to Google Live Encoder: 300 - 700 Kbps
|
||||||
// Quality according to YouTube Video Info: 186 Kbps
|
// Quality according to YouTube Video Info: 285 Kbps
|
||||||
return 250 * 1000
|
return 320 * 1000
|
||||||
|
|
||||||
case VideoResolution.H_360P:
|
case VideoResolution.H_360P:
|
||||||
// quality according to Google Live Encoder: 400 - 1,000 Kbps
|
// quality according to Google Live Encoder: 400 - 1,000 Kbps
|
||||||
// Quality according to YouTube Video Info: 480 Kbps
|
// Quality according to YouTube Video Info: 700 Kbps
|
||||||
return 500 * 1000
|
return 780 * 1000
|
||||||
|
|
||||||
case VideoResolution.H_480P:
|
case VideoResolution.H_480P:
|
||||||
// quality according to Google Live Encoder: 500 - 2,000 Kbps
|
// quality according to Google Live Encoder: 500 - 2,000 Kbps
|
||||||
// Quality according to YouTube Video Info: 879 Kbps
|
// Quality according to YouTube Video Info: 1300 Kbps
|
||||||
return 900 * 1000
|
return 1500 * 1000
|
||||||
|
|
||||||
case VideoResolution.H_720P:
|
case VideoResolution.H_720P:
|
||||||
// quality according to Google Live Encoder: 1,500 - 4,000 Kbps
|
// quality according to Google Live Encoder: 1,500 - 4,000 Kbps
|
||||||
// Quality according to YouTube Video Info: 1752 Kbps
|
// Quality according to YouTube Video Info: 2680 Kbps
|
||||||
return 1750 * 1000
|
return 2800 * 1000
|
||||||
|
|
||||||
case VideoResolution.H_1080P:
|
case VideoResolution.H_1080P:
|
||||||
// quality according to Google Live Encoder: 3000 - 6000 Kbps
|
// quality according to Google Live Encoder: 3000 - 6000 Kbps
|
||||||
// Quality according to YouTube Video Info: 3277 Kbps
|
// Quality according to YouTube Video Info: 5081 Kbps
|
||||||
return 3300 * 1000
|
return 5800 * 1000
|
||||||
|
|
||||||
case VideoResolution.H_4K: // fallthrough
|
case VideoResolution.H_4K: // fallthrough
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue