move file size limit to conig
This commit is contained in:
parent
74ec747840
commit
60ff45e224
4 changed files with 19 additions and 19 deletions
|
@ -33,6 +33,7 @@ ENABLE_CREATOR_REACTIONS=false
|
||||||
ENABLE_NO_SOURCE_CLAIMS=false
|
ENABLE_NO_SOURCE_CLAIMS=false
|
||||||
ENABLE_PREROLL_ADS=false
|
ENABLE_PREROLL_ADS=false
|
||||||
CHANNEL_STAKED_LEVEL_VIDEO_COMMENTS=4
|
CHANNEL_STAKED_LEVEL_VIDEO_COMMENTS=4
|
||||||
|
WEB_PUBLISH_SIZE_LIMIT_GB=4
|
||||||
CHANNEL_STAKED_LEVEL_LIVESTREAM=5
|
CHANNEL_STAKED_LEVEL_LIVESTREAM=5
|
||||||
|
|
||||||
# OG
|
# OG
|
||||||
|
|
|
@ -38,6 +38,7 @@ const config = {
|
||||||
ENABLE_NO_SOURCE_CLAIMS: process.env.ENABLE_NO_SOURCE_CLAIMS === 'true',
|
ENABLE_NO_SOURCE_CLAIMS: process.env.ENABLE_NO_SOURCE_CLAIMS === 'true',
|
||||||
ENABLE_PREROLL_ADS: process.env.ENABLE_PREROLL_ADS === 'true',
|
ENABLE_PREROLL_ADS: process.env.ENABLE_PREROLL_ADS === 'true',
|
||||||
CHANNEL_STAKED_LEVEL_VIDEO_COMMENTS: process.env.CHANNEL_STAKED_LEVEL_VIDEO_COMMENTS,
|
CHANNEL_STAKED_LEVEL_VIDEO_COMMENTS: process.env.CHANNEL_STAKED_LEVEL_VIDEO_COMMENTS,
|
||||||
|
WEB_PUBLISH_SIZE_LIMIT_GB: process.env.WEB_PUBLISH_SIZE_LIMIT_GB,
|
||||||
CHANNEL_STAKED_LEVEL_LIVESTREAM: process.env.CHANNEL_STAKED_LEVEL_LIVESTREAM,
|
CHANNEL_STAKED_LEVEL_LIVESTREAM: process.env.CHANNEL_STAKED_LEVEL_LIVESTREAM,
|
||||||
SIMPLE_SITE: process.env.SIMPLE_SITE === 'true',
|
SIMPLE_SITE: process.env.SIMPLE_SITE === 'true',
|
||||||
SHOW_ADS: process.env.SHOW_ADS === 'true',
|
SHOW_ADS: process.env.SHOW_ADS === 'true',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// @flow
|
// @flow
|
||||||
import { SITE_NAME } from 'config';
|
import { SITE_NAME, WEB_PUBLISH_SIZE_LIMIT_GB } from 'config';
|
||||||
import type { Node } from 'react';
|
import type { Node } from 'react';
|
||||||
import * as ICONS from 'constants/icons';
|
import * as ICONS from 'constants/icons';
|
||||||
import React, { useState, useEffect } from 'react';
|
import React, { useState, useEffect } from 'react';
|
||||||
|
@ -86,9 +86,8 @@ function PublishFile(props: Props) {
|
||||||
const SOURCE_UPLOAD = 'upload';
|
const SOURCE_UPLOAD = 'upload';
|
||||||
|
|
||||||
const RECOMMENDED_BITRATE = 6000000;
|
const RECOMMENDED_BITRATE = 6000000;
|
||||||
const TV_PUBLISH_SIZE_LIMIT: number = 4294967296;
|
const TV_PUBLISH_SIZE_LIMIT_BYTES = WEB_PUBLISH_SIZE_LIMIT_GB * 1073741824;
|
||||||
const TV_PUBLISH_SIZE_LIMIT_STR_GB = '4';
|
const TV_PUBLISH_SIZE_LIMIT_GB_STR = String(WEB_PUBLISH_SIZE_LIMIT_GB);
|
||||||
const PAGE_SIZE = 4;
|
|
||||||
|
|
||||||
const PROCESSING_MB_PER_SECOND = 0.5;
|
const PROCESSING_MB_PER_SECOND = 0.5;
|
||||||
const MINUTES_THRESHOLD = 30;
|
const MINUTES_THRESHOLD = 30;
|
||||||
|
@ -96,6 +95,16 @@ function PublishFile(props: Props) {
|
||||||
const MARKDOWN_FILE_EXTENSIONS = ['txt', 'md', 'markdown'];
|
const MARKDOWN_FILE_EXTENSIONS = ['txt', 'md', 'markdown'];
|
||||||
const sizeInMB = Number(size) / 1000000;
|
const sizeInMB = Number(size) / 1000000;
|
||||||
const secondsToProcess = sizeInMB / PROCESSING_MB_PER_SECOND;
|
const secondsToProcess = sizeInMB / PROCESSING_MB_PER_SECOND;
|
||||||
|
const ffmpegAvail = ffmpegStatus.available;
|
||||||
|
const [oversized, setOversized] = useState(false);
|
||||||
|
const [currentFile, setCurrentFile] = useState(null);
|
||||||
|
const [currentFileType, setCurrentFileType] = useState(null);
|
||||||
|
const [optimizeAvail, setOptimizeAvail] = useState(false);
|
||||||
|
const [userOptimize, setUserOptimize] = usePersistedState('publish-file-user-optimize', false);
|
||||||
|
const UPLOAD_SIZE_MESSAGE = __(
|
||||||
|
'%SITE_NAME% uploads are limited to %limit% GB. Download the app for unrestricted publishing.',
|
||||||
|
{ SITE_NAME, limit: TV_PUBLISH_SIZE_LIMIT_GB_STR }
|
||||||
|
);
|
||||||
|
|
||||||
const fileSelectorModes = [
|
const fileSelectorModes = [
|
||||||
{ label: __('Choose Replay'), actionName: SOURCE_SELECT, icon: ICONS.MENU },
|
{ label: __('Choose Replay'), actionName: SOURCE_SELECT, icon: ICONS.MENU },
|
||||||
|
@ -106,26 +115,16 @@ function PublishFile(props: Props) {
|
||||||
const hasLivestreamData = livestreamData && Boolean(livestreamData.length);
|
const hasLivestreamData = livestreamData && Boolean(livestreamData.length);
|
||||||
const showSourceSelector = isLivestreamClaim && hasLivestreamData;
|
const showSourceSelector = isLivestreamClaim && hasLivestreamData;
|
||||||
|
|
||||||
const ffmpegAvail = ffmpegStatus.available;
|
|
||||||
const [oversized, setOversized] = useState(false);
|
|
||||||
const [currentFile, setCurrentFile] = useState(null);
|
|
||||||
const [currentFileType, setCurrentFileType] = useState(null);
|
|
||||||
const [optimizeAvail, setOptimizeAvail] = useState(false);
|
|
||||||
const [userOptimize, setUserOptimize] = usePersistedState('publish-file-user-optimize', false);
|
|
||||||
const [fileSelectSource, setFileSelectSource] = useState(
|
const [fileSelectSource, setFileSelectSource] = useState(
|
||||||
IS_WEB && showSourceSelector ? SOURCE_SELECT : SOURCE_UPLOAD
|
IS_WEB && showSourceSelector ? SOURCE_SELECT : SOURCE_UPLOAD
|
||||||
);
|
);
|
||||||
// const [showFileUpdate, setShowFileUpdate] = useState(false);
|
// const [showFileUpdate, setShowFileUpdate] = useState(false);
|
||||||
const [selectedFileIndex, setSelectedFileIndex] = useState(null);
|
const [selectedFileIndex, setSelectedFileIndex] = useState(null);
|
||||||
|
const PAGE_SIZE = 4;
|
||||||
const [currentPage, setCurrentPage] = useState(1);
|
const [currentPage, setCurrentPage] = useState(1);
|
||||||
const totalPages =
|
const totalPages =
|
||||||
hasLivestreamData && livestreamData.length > PAGE_SIZE ? Math.ceil(livestreamData.length / PAGE_SIZE) : 1;
|
hasLivestreamData && livestreamData.length > PAGE_SIZE ? Math.ceil(livestreamData.length / PAGE_SIZE) : 1;
|
||||||
|
|
||||||
const UPLOAD_SIZE_MESSAGE = __(
|
|
||||||
'%SITE_NAME% uploads are limited to %limit% GB. Download the app for unrestricted publishing.',
|
|
||||||
{ SITE_NAME, limit: TV_PUBLISH_SIZE_LIMIT_STR_GB }
|
|
||||||
);
|
|
||||||
|
|
||||||
// Reset filePath if publish mode changed
|
// Reset filePath if publish mode changed
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (mode === PUBLISH_MODES.POST) {
|
if (mode === PUBLISH_MODES.POST) {
|
||||||
|
@ -284,7 +283,7 @@ function PublishFile(props: Props) {
|
||||||
<p className="help">
|
<p className="help">
|
||||||
{__(
|
{__(
|
||||||
'For video content, use MP4s in H264/AAC format and a friendly bitrate (under 5 Mbps) and resolution (720p) for more reliable streaming. %SITE_NAME% uploads are restricted to %limit% GB.',
|
'For video content, use MP4s in H264/AAC format and a friendly bitrate (under 5 Mbps) and resolution (720p) for more reliable streaming. %SITE_NAME% uploads are restricted to %limit% GB.',
|
||||||
{ SITE_NAME, limit: TV_PUBLISH_SIZE_LIMIT_STR_GB }
|
{ SITE_NAME, limit: TV_PUBLISH_SIZE_LIMIT_GB_STR }
|
||||||
)}{' '}
|
)}{' '}
|
||||||
<Button button="link" label={__('Upload Guide')} href="https://lbry.com/faq/video-publishing-guide" />
|
<Button button="link" label={__('Upload Guide')} href="https://lbry.com/faq/video-publishing-guide" />
|
||||||
</p>
|
</p>
|
||||||
|
@ -411,7 +410,7 @@ function PublishFile(props: Props) {
|
||||||
|
|
||||||
// @if TARGET='web'
|
// @if TARGET='web'
|
||||||
// we only need to enforce file sizes on 'web'
|
// we only need to enforce file sizes on 'web'
|
||||||
if (file.size && Number(file.size) > TV_PUBLISH_SIZE_LIMIT) {
|
if (file.size && Number(file.size) > TV_PUBLISH_SIZE_LIMIT_BYTES) {
|
||||||
setOversized(true);
|
setOversized(true);
|
||||||
showToast(__(UPLOAD_SIZE_MESSAGE));
|
showToast(__(UPLOAD_SIZE_MESSAGE));
|
||||||
updatePublishForm({ filePath: '', name: '' });
|
updatePublishForm({ filePath: '', name: '' });
|
||||||
|
|
|
@ -144,9 +144,8 @@ function PublishForm(props: Props) {
|
||||||
} else {
|
} else {
|
||||||
if (mode === PUBLISH_MODES.LIVESTREAM) {
|
if (mode === PUBLISH_MODES.LIVESTREAM) {
|
||||||
return enableLivestream;
|
return enableLivestream;
|
||||||
} else {
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue