Compare commits
	
		
			13 Commits
		
	
	
		
			add-cq-con
			...
			bdcdb2e8e5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| bdcdb2e8e5 | |||
| 356caf37fd | |||
| 8483a37bae | |||
| 940ca6d751 | |||
| 9848e0de9f | |||
| de17b72171 | |||
| c92e017680 | |||
| 4b8b0e4888 | |||
| b24c0e4ef7 | |||
| ae2c910f20 | |||
| ee56666c33 | |||
| 35ffb74383 | |||
| 84cc3a58cd | 
							
								
								
									
										35
									
								
								dist/main.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								dist/main.js
									
									
									
									
										vendored
									
									
								
							| @ -146,12 +146,12 @@ function buildInitOptions() { | |||||||
| async function vodBuilder(params) { | async function vodBuilder(params) { | ||||||
|     const { resolution, fps, streamNum, inputBitrate } = params; |     const { resolution, fps, streamNum, inputBitrate } = params; | ||||||
|     const streamSuffix = streamNum == undefined ? '' : `:${streamNum}`; |     const streamSuffix = streamNum == undefined ? '' : `:${streamNum}`; | ||||||
|     // let targetBitrate = getTargetBitrate(resolution, fps); |     //let targetBitrate = getTargetBitrate(resolution, fps); | ||||||
|     let targetBitrate = inputBitrate; |     let targetBitrate = inputBitrate; | ||||||
|     let shouldInitVaapi = (streamNum == undefined || streamNum <= latestStreamNum); |     let shouldInitVaapi = (streamNum == undefined || streamNum <= latestStreamNum); | ||||||
|     // if (targetBitrate > inputBitrate) { |     //if (targetBitrate > inputBitrate) { | ||||||
|     //    targetBitrate = inputBitrate; |     //    targetBitrate = inputBitrate; | ||||||
|     // } |     //} | ||||||
|     logger.info(`Building encoder options, received ${JSON.stringify(params)}`); |     logger.info(`Building encoder options, received ${JSON.stringify(params)}`); | ||||||
|     if (shouldInitVaapi && streamNum != undefined) { |     if (shouldInitVaapi && streamNum != undefined) { | ||||||
|         latestStreamNum = streamNum; |         latestStreamNum = streamNum; | ||||||
| @ -163,12 +163,14 @@ async function vodBuilder(params) { | |||||||
|         inputOptions: shouldInitVaapi ? buildInitOptions() : [], |         inputOptions: shouldInitVaapi ? buildInitOptions() : [], | ||||||
|         outputOptions: [ |         outputOptions: [ | ||||||
|             `-preset ${pluginSettings.vodQuality}`, |             `-preset ${pluginSettings.vodQuality}`, | ||||||
|             // `-b:v${streamSuffix} ${targetBitrate}`, |             //`-b:v${streamSuffix} ${targetBitrate}`, | ||||||
|             // `-bufsize ${targetBitrate * 2}`, |             `-b:v${streamSuffix} 0`, | ||||||
|             //`-crf 21`, // increased 19 to 21, file size massive |             //`-bufsize ${targetBitrate * 2}`, | ||||||
|             `-profile:v${streamSuffix} high`, |             `-profile:v${streamSuffix} high`, | ||||||
|             `-cq 21`, |             `-cq 24`, | ||||||
|             `-c:v${streamSuffix} h264_nvenc` |             `-rc:v vbr`, | ||||||
|  |             `-c:v${streamSuffix} h264_nvenc`, | ||||||
|  |             `-bf 4` | ||||||
|         ] |         ] | ||||||
|     }; |     }; | ||||||
|     logger.info(`EncoderOptions: ${JSON.stringify(options)}`); |     logger.info(`EncoderOptions: ${JSON.stringify(options)}`); | ||||||
| @ -180,9 +182,9 @@ async function liveBuilder(params) { | |||||||
|     // let targetBitrate = getTargetBitrate(resolution, fps); |     // let targetBitrate = getTargetBitrate(resolution, fps); | ||||||
|     let targetBitrate = inputBitrate; |     let targetBitrate = inputBitrate; | ||||||
|     let shouldInitVaapi = (streamNum == undefined || streamNum <= latestStreamNum); |     let shouldInitVaapi = (streamNum == undefined || streamNum <= latestStreamNum); | ||||||
|     // if (targetBitrate > inputBitrate) { |     //if (targetBitrate > inputBitrate) { | ||||||
|     //     targetBitrate = inputBitrate; |     //     targetBitrate = inputBitrate; | ||||||
|     // } |     //} | ||||||
|     logger.info(`Building encoder options, received ${JSON.stringify(params)}`); |     logger.info(`Building encoder options, received ${JSON.stringify(params)}`); | ||||||
|     if (shouldInitVaapi && streamNum != undefined) { |     if (shouldInitVaapi && streamNum != undefined) { | ||||||
|         latestStreamNum = streamNum; |         latestStreamNum = streamNum; | ||||||
| @ -194,13 +196,16 @@ async function liveBuilder(params) { | |||||||
|         inputOptions: shouldInitVaapi ? buildInitOptions() : [], |         inputOptions: shouldInitVaapi ? buildInitOptions() : [], | ||||||
|         outputOptions: [ |         outputOptions: [ | ||||||
|             `-tune ${pluginSettings.liveQuality}`, |             `-tune ${pluginSettings.liveQuality}`, | ||||||
|             // `-r:v${streamSuffix} ${fps}`, |             `-r:v${streamSuffix} ${fps}`, | ||||||
|             `-profile:v${streamSuffix} high`, |             `-profile:v${streamSuffix} high`, | ||||||
|             `-c:v${streamSuffix} h264_nvenc`, |             `-c:v${streamSuffix} h264_nvenc`, | ||||||
|             `-cq 21` |             `-cq 24`, | ||||||
|             // `-g:v${streamSuffix} ${fps * 2}`, |             `-g:v${streamSuffix} ${fps * 2}`, | ||||||
|             // `-b:v${streamSuffix} ${targetBitrate}`, |             //`-b:v${streamSuffix} ${targetBitrate}`, | ||||||
|             // `-bufsize ${targetBitrate * 2}`, |             `-b:v${streamSuffix} 0`, | ||||||
|  |             //`-bufsize ${targetBitrate * 2}`, | ||||||
|  |             `-rc:v vbr`, | ||||||
|  |             `-bf 4` | ||||||
|         ] |         ] | ||||||
|     }; |     }; | ||||||
|     logger.info(`EncoderOptions: ${JSON.stringify(options)}`); |     logger.info(`EncoderOptions: ${JSON.stringify(options)}`); | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|     "name": "peertube-plugin-nctv-nvenc-transcode", |     "name": "peertube-plugin-nctv-nvenc-transcode", | ||||||
|     "version": "1.0.7", |     "version": "1.1.0", | ||||||
|     "license": "MIT", |     "license": "MIT", | ||||||
|     "description": "Plugin that adds transcode profiles which use NVIDIA NVENC for hardware acceleration", |     "description": "Plugin that adds transcode profiles which use NVIDIA NVENC for hardware acceleration", | ||||||
|     "engine": { |     "engine": { | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user