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
|
||||
} from '../../typings/models'
|
||||
import * as Bluebird from 'bluebird'
|
||||
import { Op } from 'sequelize'
|
||||
|
||||
enum ScopeNames {
|
||||
FULL = 'FULL'
|
||||
|
@ -115,7 +116,19 @@ export const unusedActorAttributesForAPI = [
|
|||
},
|
||||
{
|
||||
fields: [ 'preferredUsername', 'serverId' ],
|
||||
unique: true
|
||||
unique: true,
|
||||
where: {
|
||||
serverId: {
|
||||
[Op.ne]: null
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
fields: [ 'preferredUsername' ],
|
||||
unique: true,
|
||||
where: {
|
||||
serverId: null
|
||||
}
|
||||
},
|
||||
{
|
||||
fields: [ 'inboxUrl', 'sharedInboxUrl' ]
|
||||
|
|
|
@ -15,7 +15,7 @@ export enum VideoResolution {
|
|||
*
|
||||
* Sources for individual quality levels:
|
||||
* 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) {
|
||||
switch (resolution) {
|
||||
|
@ -25,28 +25,28 @@ function getBaseBitrate (resolution: VideoResolution) {
|
|||
|
||||
case VideoResolution.H_240P:
|
||||
// quality according to Google Live Encoder: 300 - 700 Kbps
|
||||
// Quality according to YouTube Video Info: 186 Kbps
|
||||
return 250 * 1000
|
||||
// Quality according to YouTube Video Info: 285 Kbps
|
||||
return 320 * 1000
|
||||
|
||||
case VideoResolution.H_360P:
|
||||
// quality according to Google Live Encoder: 400 - 1,000 Kbps
|
||||
// Quality according to YouTube Video Info: 480 Kbps
|
||||
return 500 * 1000
|
||||
// Quality according to YouTube Video Info: 700 Kbps
|
||||
return 780 * 1000
|
||||
|
||||
case VideoResolution.H_480P:
|
||||
// quality according to Google Live Encoder: 500 - 2,000 Kbps
|
||||
// Quality according to YouTube Video Info: 879 Kbps
|
||||
return 900 * 1000
|
||||
// Quality according to YouTube Video Info: 1300 Kbps
|
||||
return 1500 * 1000
|
||||
|
||||
case VideoResolution.H_720P:
|
||||
// quality according to Google Live Encoder: 1,500 - 4,000 Kbps
|
||||
// Quality according to YouTube Video Info: 1752 Kbps
|
||||
return 1750 * 1000
|
||||
// Quality according to YouTube Video Info: 2680 Kbps
|
||||
return 2800 * 1000
|
||||
|
||||
case VideoResolution.H_1080P:
|
||||
// quality according to Google Live Encoder: 3000 - 6000 Kbps
|
||||
// Quality according to YouTube Video Info: 3277 Kbps
|
||||
return 3300 * 1000
|
||||
// Quality according to YouTube Video Info: 5081 Kbps
|
||||
return 5800 * 1000
|
||||
|
||||
case VideoResolution.H_4K: // fallthrough
|
||||
default:
|
||||
|
|
Loading…
Reference in a new issue