Add Intel GPU Encoding

This commit is contained in:
ibanezbass 2020-05-10 15:44:31 -05:00
parent 79c8857c73
commit 95f08c5592
4 changed files with 7 additions and 1 deletions

View file

@ -77,6 +77,9 @@ function startVideoProcess() {
} else if(encoding == "AMDVCE"){ //AMD Video Coding Engine
ffmpegVideoArgs = ["-probesize", "50M", "-hwaccel", "auto", "-f", "gdigrab", "-framerate", fps, "-video_size", screenWidth + "x" + screenHeight, "-offset_x", "0", "-offset_y", "0", "-draw_mouse", "1", "-i", "desktop", "-f", "h264", "-c:v", "h264_amf", "-usage", "1", "-rc", "cbr", "-vf", "scale=1280x720", "-pix_fmt", "yuv420p", "-b:v", quality + "M", "-minrate", quality - 3 + "M", "-maxrate", quality + "M", "-bufsize", (quality / (fps / 4)) + "M", "tcp://" + ip + ":2222"];
console.log("Using AMD Video Coding Engine");
} else if(encoding == "QSV"){
ffmpegVideoArgs = ["-probesize", "50M", "-hwaccel", "auto", "-f", "gdigrab", "-framerate", fps, "-video_size", screenWidth + "x" + screenHeight, "-offset_x", "0", "-offset_y", "0", "-draw_mouse", "1", "-i", "desktop", "-f", "h264", "-c:v", "h264_qsv", "-preset", "faster", "-profile", "baseline", "-vf", "scale=1280x720", "-pix_fmt", "yuv420p", "-b:v", quality + "M", "-minrate", quality - 3 + "M", "-maxrate", quality + "M", "-bufsize", (quality / (fps / 4)) + "M", "tcp://" + ip + ":2222"];
console.log("Using Intel QSV Encoding");
} else { //CPU Software Encoding
ffmpegVideoArgs = ["-probesize", "50M", "-hwaccel", "auto", "-f", "gdigrab", "-framerate", fps, "-video_size", screenWidth + "x" + screenHeight, "-offset_x", "0", "-offset_y", "0", "-draw_mouse", "1", "-i", "desktop", "-f", "h264", "-vf", "scale=1280x720", "-preset", "ultrafast", "-tune", "zerolatency", "-pix_fmt", "yuv420p", "-profile:v", "baseline", "-x264-params", "nal-hrd=cbr", "-b:v", quality + "M", "-minrate", quality - 3 + "M", "-maxrate", quality + "M", "-bufsize", (quality / 2) + "M", "tcp://" + ip + ":2222"];
console.log("Using CPU Encoding");

View file

@ -57,6 +57,7 @@
<a class="dropdown-item" href="javascript:setEncoding('CPU')">CPU</a>
<a class="dropdown-item" href="javascript:setEncoding('NVENC')">Nvidia Encoding</a>
<a class="dropdown-item" href="javascript:setEncoding('AMDVCE')">AMD Video Coding Engine</a>
<a class="dropdown-item" href="javascript:setEncoding('QSV')">Intel QuickSync</a>
</div>
</div>
</div>

View file

@ -94,6 +94,8 @@ function applyClientSettings() {
$("#encodingDrop").html("Encoding (Nvidia)");
} else if(clientSettings.encoding == "AMDVCE"){
$("#encodingDrop").html("Encoding (AMD)")
} else if(clientSettings.encoding == "QSV"){
$("#encodingDrop").html("Encoding (Intel)");
} else {
$("#encodingDrop").html("Encoding (CPU)");
clientSettings.encoding = "CPU";

View file

@ -138,7 +138,7 @@ function startStreamer(arg) {
if (arg.abxySwap) {
args.push("/abxySwap");
}
if (arg.encoding == "NVENC" || arg.encoding == "AMDVCE") {
if (arg.encoding == "NVENC" || arg.encoding == "AMDVCE" || arg.encoding == "QSV") {
args.push("/e");
args.push(arg.encoding);
}