Any chance of including ffmpeg 2.6 encoding support, namely their nvenc implementation:
http://git.videolan.org/?p=ffmpeg.git;a=blob;f=RELEASE_NOTES;hb=release/2.6
https://twitter.com/rogerallen/status/574279347466436608
Since Nvidia actually helped with this I'm assuming that it would be better than what is currently being used, though I understand that ffmpeg's version only supports H264 encoding at the moment and not H265.
+ Reply to Thread
Results 1,531 to 1,560 of 2336
-
-
Will add support for nvenc through ffmpeg once https://github.com/jb-alvarado/media-autobuild_suite adds support for it.
(same for vpxenc high bit depth encoding)users currently on my ignore list: deadrats, Stears555, marcorocchini -
Small update media-autobuild_suite is planning to support ffmpegs nvenc wrapper in the furture, but Hybrid can't ship nvenc enabled ffmpeg binaries with it since those libraries can only be used in private builds. So once Hybrid does supports ffmpegs nvenc wrapper, you will have to replace the ffmpeg binary Hybrid comes with. (an I'll have to figure out a way to check whether ffmpeg was build with nvenc support or not)
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Cool, looking forward to testing it out. BTW, you are aware that your current attempts at including nvenc support do not work, right?
There seems to be a number of problems, including incorrect video card detection, during start up it says "found the following CUDA capable cards: Quadro 600" but I'm using a GTX960. Interestingly enough I used to use a Quadro 600 but I performed a clean install of those drivers, is it possible that there some registry entry somewhere that still references that card? How does Hybrid detect which card is installed?
Also, when I load up a file and try to switch from nvenc h264 to nvenc h265 a pop up come up that reads "NVEncModel doSet -> found no field: vui".
Lastly you seem to have the configuration options backwards, your app allows one to set 16 reference frames and 4 b frames for h265 but no b frames and 16 reference frames for h264. I know that you are using NVEncC.exe by rigaya, running NVEncC.exe --check-features > features.txt on the included binary results in the following:
Environment Info
OS : Windows 7 (x64)
CPU: AMD FX(tm)-8320 Eight-Core Processor
GPU: GeForce GTX 960 (8 EU) @ 1228 MHz (347.25)
RAM: Total 16360 MB / Used 3048 MB
List of available features.
Codec: H.264/AVC
Max Bframes 4
RC Modes 63
Field Encoding 1
MonoChrome 0
FMO 0
Quater-Pel MV 1
B Direct Mode 1
CABAC 1
Adaptive Transform 1
Max Temporal Layers 0
Hierarchial P Frames 0
Hierarchial B Frames 0
Max Level 51
Min Level 1
4:4:4 0
Max Width 4096
Max Height 4096
Dynamic Resolution Change 1
Dynamic Bitrate Change 1
Forced constant QP 0
Dynamic RC Mode Change 0
Subframe Readback 0
Constrained Encoding 0
Intra Refresh 1
Custom VBV Bufsize 1
Dynamic Slice Mode 1
Ref Pic Invalidiation 1
PreProcess 0
Async Encoding 1
Max MBs 65536
MAX MB per sec 983040
Lossless 1
Codec: H.265/HEVC
Max Bframes 0
RC Modes 63
Field Encoding 0
MonoChrome 0
Quater-Pel MV 1
B Direct Mode 0
Max Temporal Layers 0
Hierarchial P Frames 0
Hierarchial B Frames 0
Max Level 62
Min Level 1
4:4:4 0
Max Width 4096
Max Height 4096
Dynamic Resolution Change 1
Dynamic Bitrate Change 1
Forced constant QP 0
Dynamic RC Mode Change 0
Subframe Readback 0
Constrained Encoding 1
Intra Refresh 1
Custom VBV Bufsize 1
Dynamic Slice Mode 1
Ref Pic Invalidiation 1
PreProcess 0
Async Encoding 0
Max MBs 65536
MAX MB per sec 983040
Lossless 0
So it sees my video card correctly, and more importantly, it says that nvenc h264 support 4 b frames, not hevc.
For the record, his implementation seems to be rather pedestrian, he supports Adaptive Transform and B direct mode (it would be great if you added a gui ability to enable these options) but it doesn't support AQ nor Hierarchial P and B frames, nor 2 pass.
I don't understand why people that have chosen to write an encoder that leverages nvenc have chosen to support only a few of it's features and this goes for Stanley from Media Coder and the guy that made the Adobe plug in, if you're going to support the hardware then support the whole feature set, don't half ass it.
Lastly, in Hybrid's current state if you try and add a job that uses nvenc, the encode never starts, Hybrid just sits there. This is with the latest build available on your site.
Thanks for reading. -
"found the following CUDA capable cards: Quadro 600" but I'm using a GTX960. Interestingly enough I used to use a Quadro 600 but I performed a clean install of those drivers, is it possible that there some registry entry somewhere that still references that card? How does Hybrid detect which card is installed?
It checks HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Con trol\\Video
So it sees my video card correctly, and more importantly, it says that nvenc h264 support 4 b frames, not hevc.
Lastly, in Hybrid's current state if you try and add a job that uses nvenc, the encode never starts, Hybrid just sits there. This is with the latest build available on your site.
I don't understand why people that have chosen to write an encoder that leverages nvenc have chosen to support only a few of it's features and this goes for Stanley from Media Coder and the guy that made the Adobe plug in, if you're going to support the hardware then support the whole feature set, don't half ass it.
-> will look into the feature detection,...
Cu Selur
Ps.: send you a link to a test version which should: a. detect the GTX 960 and b. log some infos to the normal log about what features are detected when switching between h264&h265 in the NVEnc-TabLast edited by Selur; 12th Apr 2015 at 13:01.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Ok, the test version is actually worse than the official build, during startup it flashes a slew of popups that say the following:
NVEncModel doSet->found no field: levels
NVEncModel doSet->found no field: h265_maxBFrames
NVEncModel doSet->found no field: interlacing
NVEncModel doSet->found no field: h265_qpel
NVEncModel doSet->found no field: h265_maxWidth
NVEncModel doSet->found no field: h265_maxHeight
NVEncModel doSet->found no field: h265_cqp
NVEncModel doSet->found no field: h265_dynBitrateChange
NVEncModel doSet->found no field: h265_customVBV
NVEncModel doSet->found no field: h265_maxMB
NVEncModel doSet->found no field: h265_maxMBPS
And here's the log:
Hybrid: homepage
Forum: public forum
Regarding problems please read: needed infos
Donate: via PayPal
Current defaultOutputPath: is empty!
Set it under Config->Path
Found the following CUDA capable cards:
GeForce GTX 960
Quadro 600
NVENC adjusting to H.265 features:
NVEncModel doSet->found no field: levels
NVEncModel doSet->found no field: h265_maxBFrames
NVEncModel doSet->found no field: interlacing
NVEncModel doSet->found no field: h265_qpel
NVEncModel doSet->found no field: h265_maxWidth
NVEncModel doSet->found no field: h265_maxHeight
NVEncModel doSet->found no field: h265_cqp
NVEncModel doSet->found no field: h265_dynBitrateChange
NVEncModel doSet->found no field: h265_customVBV
NVEncModel doSet->found no field: h265_maxMB
NVEncModel doSet->found no field: h265_maxMBPS
Finished initialization, finished after 10.566s
NVENC adjusting to H.264 features:
supported Levels: : 1, 1b, 11, 12, 13, 2, 21, 22, 3, 31, 32, 4, 41, 42, 5, 51
max bFrames: 4
interlaced encoding: true
h264_qpel: true
mvPrecision: quarter pixel, half pixel, full pixel
h264_cabac: false
h264_maxWidth: 4096
h264_maxHeight: 4096
h264_cqp: false
encoding types: constant bitrate, variable bitrate
h264_customVBV: true
h264_maxMB: 65536
h264_maxMBPS: 983040
NVEncModel doSet->found no field: vui
NVENC adjusting to H.265 features:
NVEncModel doSet->found no field: levels
NVEncModel doSet->found no field: h265_maxBFrames
NVEncModel doSet->found no field: interlacing
NVEncModel doSet->found no field: h265_qpel
NVEncModel doSet->found no field: h265_maxWidth
NVEncModel doSet->found no field: h265_maxHeight
NVEncModel doSet->found no field: h265_cqp
NVEncModel doSet->found no field: h265_dynBitrateChange
NVEncModel doSet->found no field: h265_customVBV
NVEncModel doSet->found no field: h265_maxMB
NVEncModel doSet->found no field: h265_maxMBPS
NVEncModel doSet->found no field: vui
It still sees my old Quadro card but when i went into the registry key you mentioned I can find no reference to that card left over, as i said I did a clean install of the drivers and I manually deleted all entries related to video cards prior to installing the current drivers, is there any other place where Hybrid could be looking, something I have overlooked, like a previous temp folder?
Also your GUI is still backwards, it allows one to set b frames for h265 but not for h264 when it should be the other way around.
Let me know what other info you need. -
Hybrid looks under HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Con trol\\Video and checks there the "Device Description", if it detects the Quadro Card there should be a registry entry for it.
"NVEncModel doSet->found no field" -> damn made a typo
will send you anothe rlink in a few minutesusers currently on my ignore list: deadrats, Stears555, marcorocchini -
Please also click: "Config->Tools->Tools versions" and post the content of the second window. (can be copied using ctrl+c)
It should look something like:
Code:--------------------------- Info --------------------------- General infos: CUDA: true .Net 4+: true Avisnyth: true SubTile: true DGDecNV: true VFW decoders: VIDC.FFDS, VIDC.FPS1, VIDC.LAGS, vidc.012v, vidc.2vuy, vidc.P422, vidc.UYNV, vidc.V422, vidc.YUNV, vidc.YV12, vidc.a12v, vidc.auv2, vidc.cvid, vidc.cyuv, vidc.i420, vidc.iyuv, vidc.mrle, vidc.msvc, vidc.uyvy, vidc.v210, vidc.yuy2, vidc.yvu9, vidc.yvyu Disable tsMuxeR support: false FFmpeg supports: audio filter: true UT Video: true Avisynth: false FAAC: false FDKAac: false Lame: true LibAss: false LibBluray: true LibVo: true Vorbis: true ProRes support old: false MPlayer/Mencode supports: FAAC: false FDKAac: false Lame: false LAVC: false LibBluray: true MKVToolNix supports: HEVC (ROVI): false VPXEnc supports: VP9: true x264 supports: --fade-compensate X: false --opencl: true lavf/ffms: true QSVEnc supports: API version: 1.13 CQP: RCmode;Interlace;SceneChange;VUI;Trellis;bPyramid;+MultiBFrame;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv ICQ: RCmode;Interlace;SceneChange;VUI;Trellis;bPyramid;+MultiBFrame;extBRC;mbBRC;lookahead;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv LAICQ: RCmode;Interlace;VUI;Trellis;bPyramid;lookahead;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv VQP: RCmode;Interlace;SceneChange;VUI;Trellis;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv CBR: RCmode;Interlace;SceneChange;VUI;Trellis;bPyramid;+MultiBFrame;extBRC;mbBRC;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv AVBR: RCmode;Interlace;SceneChange;VUI;Trellis;bPyramid;+MultiBFrame;extBRC;mbBRC;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv VBR: RCmode;Interlace;SceneChange;VUI;Trellis;bPyramid;+MultiBFrame;extBRC;mbBRC;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv QVBR: RCmode;Interlace;SceneChange;VUI;Trellis;bPyramid;+MultiBFrame;extBRC;mbBRC;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv LA: RCmode;Interlace;VUI;Trellis;bPyramid;lookahead;MinMaxQuant;windowedBRC;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv LAHRD: RCmode;Interlace;VUI;Trellis;lookahead;MinMaxQuant;windowedBRC;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv VCM: RCmode;Interlace;SceneChange;VUI;Trellis;bPyramid;+MultiBFrame;extBRC;mbBRC;MinMaxQuant;Resize;Deinterlace;Denoise;DetailEnh.;ProcAmp.;ImageStab.;fpsConv NVEnc supports: h264_MAXB_4;h264_RCM_63;h264_QP;h264_BDM_1;h264_TL_0;h264_MAXL_51;h264_MINL_1;h264_MAXW_4096;h264_MAXH_4096;h264_DYNR;h264_DYNB;h264_IRE;h264_VBV;h264_SLICE;h264_REF;h264_ASYN;h264_MAXMB_65536;h264_MAXMBPS_983040;h264_LOSS;NO_H265 --------------------------- OK ---------------------------
Found the problem with the b-frames not getting enabled.users currently on my ignore list: deadrats, Stears555, marcorocchini -
Thanks for the test builds, there's good news and bad news: the good news is that all but one of those weird pop ups are gone. The bad news is that there are still some unresolved issues:
B frames is still not enabled for h264, the option is grey out, but it is enabled for h265. This was the case before, I think you may have misunderstood me when I tried to explain it earlier.
When you attempt to add a job where the option is set to encode with nvenc H265 a pop up appears that says "Maximal allowed width is 4096!" but this should not be showing up because I am testing with a 1080p source to a 1080p target. This error message does not show up with nvenc H264.
With nvenc H264, the encoding takes a while to begin and during the encode the progress indications in the header and the footer progress bar keeps flashing with alternating messages about audio encoding, a percentage, a bit rate and a frames per second, yet no audio is being encoded, the source was pure video and it was clear that it's referring to the video encoding process.
So the following corrections need to be made:
The gui should allow you to set B frames for H264.
When attempting to add an nvenc H265 job an error message saying that you are attempting to exceed 4k resolution should not be shown unless one actually was trying to exceed it.
The progress indications should not be flashing and should accurately reflect what is being encoded.
If you get the chance, prior to a fresh release, you should consider adding GUI options for all the features supported by rigaya, such as B direct for h264, adaptive transform for both H264 and H265, etc.
Thanks. -
adding GUI options for all the features supported by rigaya, such as B direct for h264, adaptive transform for both H264 and H265, etc.
running 'NVEncC --help' only shows:
Code:QSVEncC (x64) 1.33 by rigaya, build Apr 5 2015 14:56:03 based on Intel(R) Media SDK Encoding Sample 6,0,0,98947 avi reader: enabled avs reader: enabled vpy reader: enabled Usage: QSVEncC.exe [Options] -i <filename> -o <filename> input can be avi, avs, vpy, raw YUV or YUV4MPEG2(y4m) format. when raw(default), fps, input-res are also necessary. output format will be raw H.264/AVC ES. when output filename is set to "-", H.264/AVC ES output is thrown to stdout. Example: QSVEncC -i "<avsfilename>" -o "<outfilename>" avs2pipemod -y4mp "<avsfile>" | QSVEncC --y4m -i - -o "<outfilename>" Example for Benchmark: QSVEncC -i "<avsfilename>" --benchmark "<benchmark_result.txt>" Options: -h,-? --help show help -v,--version show version info -i,--input-file <filename> set input file name -o,--output-file <filename> set ouput file name Input formats (will be estimated from extension if not set.) --raw set input as raw format --y4m set input as y4m format --avi set input as avi format --avs set input as avs format --vpy set input as vpy format --vpy-mt set input as vpy format in multi-thread --nv12 set raw input as NV12 color format, if not specified YV12 is expected --tff set as interlaced, top field first --bff set as interlaced, bottom field first -f,--fps <int>/<int> or <float> video frame rate (frames per second) --input-res <int>x<int> input resolution --output-res <int>x<int> output resolution if different from input, uses vpp resizing if not set, output resolution will be same as input (no resize will be done). --crop <int>,<int>,<int>,<int> set crop pixels of left, up, right, bottom. --slices <int> number of slices, default 0 (auto) --sw use software encoding, instead of QSV (hw) --check-hw check if QuickSyncVideo is available --check-lib check lib API version installed --check-features check encode features --check-environment check environment info --disable-d3d disable using d3d surfaces --d3d use d3d9/d3d11 surfaces --d3d9 use d3d9 surfaces --d3d11 use d3d11 surfaces EncMode default: --cqp --cqp <int> or encode in Constant QP, default 24:26:27 <int>:<int>:<int> set qp value for i:p:b frame --vqp <int> or encode in Variable QP, default 24:26:27 <int>:<int>:<int> set qp value for i:p:b frame --la <int> set bitrate in Lookahead mode (kbps) --la-hrd <int> set bitrate in HRD-Lookahead mode (kbps) --icq <int> encode in Intelligent Const. Qualtiy mode default value: 23 --la-icq <int> encode in ICQ mode with Lookahead default value: 23 --cbr <int> set bitrate in CBR mode (kbps) --vbr <int> set bitrate in VBR mode (kbps) --avbr <int> set bitrate in AVBR mode (kbps) AVBR mode is only supported with API v1.3 --avbr-unitsize <int> avbr calculation period in x100 frames default 90 (= unit size 9000 frames) --qvbr <int> set bitrate in Quality VBR mode. --qvbr-q <int> or set quality used in qvbr mode. default: 23 --qvbr-quality <int> QVBR mode is only supported with API v1.11 --vcm <int> set bitrate in VCM mode (kbps) --la-depth <int> set Lookahead Depth, 10-100 --la-window-size <int> enables Lookahead Windowed Rate Control mode, and set the window size in frames. --max-bitrate <int> set max bitrate(kbps) -u,--quality <string> encode quality - best, higher, high, balanced(default) fast, faster, fastest --ref <int> reference frames for sw encoding default 0 (auto) -b,--bframes <int> number of sequential b frames default 3 (auto) --gop-len <int> (max) gop length, default 0 (auto) when auto, fps x 10 will be set. --(no-)open-gop enables open gop (default:off) --strict-gop force gop structure --(no-)scenechange enables scene change detection --level <string> set codec level, default auto --profile <string> set codec profile, default auto --sar <int>:<int> set Sample Aspect Ratio --bluray for H.264 bluray encoding --vpp-denoise <int> use vpp denoise, set strength --vpp-detail-enhance <int> use vpp detail enahancer, set strength --vpp-deinterlace <string> set vpp deinterlace mode enabled only when set --tff or --bff - none disable deinterlace - normal normal deinterlace - it inverse telecine - bob double framerate --vpp-image-stab <string> set image stabilizer mode - none, upscale, box --input-buf <int> buffer size for input (1-16) default hw: 3, sw: 1 --log <string> output log to file. settings below are only supported with API v1.3 --fullrange set stream as fullrange yuv --videoformat <string> undef, ntsc, component, pal, secam, mac default: undef --colormatrix <string> undef, auto, bt709, smpte170m, bt470bg smpte240m, YCgCo, fcc, GBR default: undef --colorprim <string> undef, auto, bt709, smpte170m, bt470m bt470bg, smpte240m, film default: undef --transfer <string> undef, auto, bt709, smpte170m, bt470m bt470bg, smpte240m, linear, log100, log316 default: undef settings below are only supported with API v1.6 --(no-)mbbrc enables per macro block rate control default: off --(no-)extbrc enables extended rate control default: off settings below are only supported with API v1.7 --trellis <string> set trellis mode used in encoding - auto(default), none, i, ip, all settings below are only supported with API v1.8 --(no-)i-adapt enables adaptive I frame insert (default:off) --(no-)b-adapt enables adaptive B frame insert (default:off) --(no-)b-pyramid enables B-frame pyramid reference (default:off) --lookahead-ds <string> set lookahead quality. - auto(default), fast, normal, slow settings below are only supported with API v1.9 --(no-)intra-refresh enables adaptive I frame insert --no-deblock disables H.264 deblock feature --qpmin <int> or set min QP, default 0 (= unset) <int>:<int>:<int> --qpmax <int> or set max QP, default 0 (= unset) <int>:<int>:<int> settings below are only supported with API v1.13 --mv-scaling set mv cost scaling - 0 set MV cost to be 0 - 1 set MV cost 1/8 of default - 2 set MV cost 1/4 of default - 3 set MV cost 1/2 of default --(no-)direct-bias-adjust lower usage of B frame Direct/Skip type Settings below are available only for software ecoding. --cavlc use cavlc instead of cabac --rdo use rate distortion optmization --inter-pred <int> set minimum block size used for --intra-pred <int> inter/intra prediction 0: auto(default) 1: 16x16 2: 8x8 3: 4x4 --mv-search <int> set window size for mv search default: 0 (auto) --mv-precision <int> set precision of mv search 0: auto(default) 1: full-pell 2: half-pell 3: quater-pell --benchmark <string> run in benchmark mode and write result in txt file --(no-)timer-period-tuning enable(disable) timer period tuning default: enabled
Regarding the other problem: I need a debug output to try to understand what's happening since I can't use hevc encoding here. (got no card which supports it)
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini -
^^^Um, I guess you didn't notice but when you ran NVEncC --help you received the output for:
QSVEncC (x64) 1.33 by rigaya, build Apr 5 2015 14:56:03
based on Intel(R) Media SDK Encoding Sample 6,0,0,98947
avi reader: enabled
avs reader: enabled
vpy reader: enabled
Usage: QSVEncC.exe [Options] -i <filename> -o <filename>
The other dead giveaway is that there's a cli switch for lookahead yet nvenc does not support such a feature, which is disappointing in and of itself, I guess they saved it for a future version.
Here's the output from NVencC --help
NVEncC (x64) 1.05 by rigaya, build Apr 5 2015 14:24:30
avi reader: disabled
avs reader: disabled
vpy reader: enabled
Usage: NVEncC.exe [Options] -i <input file> -o <output file>
Input can be raw YUV, YUV4MPEG2(y4m).
When Input is in raw format, fps, input-res is required.
Ouput format will be in raw H.264/AVC or H.265/HEVC ES.
Example:
NVEncC -i "<avsfilename>" -o "<outfilename>"
avs2pipemod -y4mp "<avsfile>" | NVEncC --y4m -i - -o "<outfilename>"
Options:
-h,-? --help print help
--help-ja print help in Japanese
--help-en print help in English
-v,--version print version info
--check-hw Check for NVEnc
--check-features Check for NVEnc Features
--check-environment Check for Environment Info
-i,--input <filename> set input filename
-o,--output <filename> set output filename
Input formats (auto detected from extension of not set)
--raw set input as raw format
--y4m set input as y4m format
--vpy set input as vpy format
--vpy-mt set input as vpy(mt) format
--input-res <int>x<int> set input resolution
--crop <int>,<int>,<int>,<int> crop pixels from left,top,right,bottom
-f,--fps <int>/<int> or <float> set framerate
-c,--codec <string> set ouput codec
h264 (or avc), h265 (or hevc)
--profile <string> set codec profile
H.264: baseline, main, high(ƒfƒtƒHƒ‹ƒg)
--level <string> set codec level
--sar <int>:<int> set SAR ratio
--dar <int>:<int> set DAR ratio
--cqp <int> or encode in Constant QP mode
<int>:<int>:<int> Default: <I>:<P>:<B>=<20>:<23>:<25>
--vbr <int> set bitrate for VBR mode (kbps)
--cbr <int> set bitrate for CBR mode (kbps)
Default: 7500 kbps
--max-bitrate <int> set Max Bitrate (kbps) / Default: 17500 kbps
--gop-len <int> set GOP Length / Default: 0 frames (auto)-b,--bframes <int> set B frames / Default 3 ƒtƒŒ[ƒ€
--ref <int> set Ref frames / Default 3 ƒtƒŒ[ƒ€
--mv-precision <string> set MV Precision / Default: Q-pel
Q-pel (High Quality)
half-pel
full-pel (Low Quality)n
H.264/AVC
--interlaced <string> interlaced encoding
tff, bff
--cabac use CABAC
--cavlc use CAVLC (no CABAC)
--(no-)deblock enable(disable) deblock filter
--fullrange set fullrange
--videoformat <string> undef, ntsc, component, pal, secam, mac
default: undef
--colormatrix <string> undef, auto, bt709, smpte170m, bt470bg
smpte240m, YCgCo, fcc, GBR
default: undef
--colorprim <string> undef, auto, bt709, smpte170m, bt470m
bt470bg, smpte240m, film
default: undef
--transfer <string> undef, auto, bt709, smpte170m, bt470m
bt470bg, smpte240m, linear, log100, log316
default: undef
H.265/HEVC
--cu-max <int> set max CU size
--cu-min <int> set min CU size
8, 16, 32 are avaliable
But you are correct, there doesn't seem to be any cli interface for enabling those options, maybe I'm misinterpreting the output from -check features, is that telling you what features the software supports or what features the hardware chip supports? I would have to think it's what features the software supports because it doesn't seem to be correct with regard to supported hardware features. -
Sorry, was discussing some QSVEnc stuff and mixed up the output.
-> Once there is a new cli feature in NVEncC I'll try to add it, but like you noticed, current NVEncC doesn't offer that much and afaik. everything should be covered by Hybrid atm.users currently on my ignore list: deadrats, Stears555, marcorocchini -
Hi,
in the advanced section of the x264 codec there is the possibility for import command lines or mediainfo encoding profile. In future versions of this wonderful software will be offered a similar function for import command lines or media info encoding profile with x265?. -
Those features are planed, but more like in 1/2-1 year or so since it doesn't make much sense while the command options x265 offers and the encoding profiles change every few month, atm. it seems like a bad time to implement such options.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
users currently on my ignore list: deadrats, Stears555, marcorocchini
-
Sorry if this has been covered before but I haven't found anything so far. I have an mkv file with a FLAC and an AAC file. I want to replace the FLAC with a WAV and the AAC to remain as is. I have got the system to replace the FLAC with a DTS (just to make sure I had set things up OK) but when I set to reencode as PCM the Job file does not contain any reencoding commands. (They are in the Audio job list however)
What am I doing wrong? (I haven't included a debug file because I am pretty certain that this is just a case of me missing some important point)
Win 7, v2015.04.06.1 Hybrid -
Update your Hybrid version and create a debug output of the job creation, post the debug output and I should be able to help.
-> see: http://www.selur.de/support on how to create a debug outputusers currently on my ignore list: deadrats, Stears555, marcorocchini -
I can reproduce the problem -> will fix
users currently on my ignore list: deadrats, Stears555, marcorocchini -
There's a couple of problems with the latest build, when you try to use hevc with mp4 you get a message that "your mp4box version seems to old to handle hevc", while you can now choose b frames with nvenc h265 you can no longer do so with nvenc h264, and nvenc hevc doesn't work, crashing with a message about incorrect parameters passed to the encoder.
-
Regarding MP4Box: Argh seems like the version output changed.
(MP4Box changed to a git repository and now the revision counter started with a low number,...)
as a small workaround: you can edit the 'toolInfos.xml' and change "0.5.2-DEV-rev378-g1144bf0-master" to "0.5.2-DEV-rev5378-g1144bf0-master"
Regarding NVEncC:
a. What is the output of 'NVEncC.exe --check-features' on your system?
b. What does the command line look like? (got no hevc capable NVIDIA card, so can't test here)
Cu SelurLast edited by Selur; 10th May 2015 at 23:38.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Ok, the test version you sent me works so far as mp4box is concerned but now there's a different issue, namely during initialization of the gui I see a pop up that says "Found no xml structure in C:\Users\MC\AppData\Roaming\hybrid\toolInfos.xml, at line 1: unexpected end of file", but the app starts up anyway.
The command line is:
NVEnc --y4m -i - --fps 29.97 --codec h265 --profile high --level 1 --sar 1:1 --vbr 12000 --max-bitrate 12500 --gop-len 0 --bframes 4 --ref 8 --mv-precision Q-pel --cu-max 32 --cu-min 8 --output OUTPUTFILE
And the output from NVEncC.exe --check-features is:
c:\Program Files\Hybrid>NVEncC.exe --check-features
Environment Info
OS : Windows 7 (x64)
CPU: AMD FX(tm)-8320 Eight-Core Processor
GPU: GeForce GTX 960 (8 EU) @ 1228 MHz (347.25)
RAM: Total 16376 MB / Used 2475 MB
List of available features.
Codec: H.264/AVC
Max Bframes 4
RC Modes 63
Field Encoding 1
MonoChrome 0
FMO 0
Quater-Pel MV 1
B Direct Mode 1
CABAC 1
Adaptive Transform 1
Max Temporal Layers 0
Hierarchial P Frames 0
Hierarchial B Frames 0
Max Level 51
Min Level 1
4:4:4 0
Max Width 4096
Max Height 4096
Dynamic Resolution Change 1
Dynamic Bitrate Change 1
Forced constant QP 0
Dynamic RC Mode Change 0
Subframe Readback 0
Constrained Encoding 0
Intra Refresh 1
Custom VBV Bufsize 1
Dynamic Slice Mode 1
Ref Pic Invalidiation 1
PreProcess 0
Async Encoding 1
Max MBs 65536
MAX MB per sec 983040
Lossless 1
Codec: H.265/HEVC
Max Bframes 0
RC Modes 63
Field Encoding 0
MonoChrome 0
Quater-Pel MV 1
B Direct Mode 0
Max Temporal Layers 0
Hierarchial P Frames 0
Hierarchial B Frames 0
Max Level 62
Min Level 1
4:4:4 0
Max Width 4096
Max Height 4096
Dynamic Resolution Change 1
Dynamic Bitrate Change 1
Forced constant QP 0
Dynamic RC Mode Change 0
Subframe Readback 0
Constrained Encoding 1
Intra Refresh 1
Custom VBV Bufsize 1
Dynamic Slice Mode 1
Ref Pic Invalidiation 1
PreProcess 0
Async Encoding 0
Max MBs 65536
MAX MB per sec 983040
Lossless 0
It seems that this guys nvenc app only supports a very limited subset of what nvenc is actually capable of, it doesn't support b frames for hevc, lossless or many other features.
For the next update you may want to expose b-frames, direct b, lossless, adaptive transform and async encoding for h264. -
about nvencc: I can only expose options for settings which are also available through the command line interface.
B-Frames should already be available.
about other settings:
Code:NVEncC (x86) 1.08 by rigaya, build Apr 29 2015 22:29:16 avi reader: disabled avs reader: enabled vpy reader: enabled Usage: NVEncC.exe [Options] -i <input file> -o <output file> Input can be avs, raw YUV, YUV4MPEG2(y4m). When Input is in raw format, fps, input-res is required. Ouput format will be in raw H.264/AVC or H.265/HEVC ES. Example: NVEncC -i "<avsfilename>" -o "<outfilename>" avs2pipemod -y4mp "<avsfile>" | NVEncC --y4m -i - -o "<outfilename>" Options: -h,-? --help print help --help-ja print help in Japanese --help-en print help in English -v,--version print version info --check-hw Check for NVEnc --check-features Check for NVEnc Features --check-environment Check for Environment Info -i,--input <filename> set input filename -o,--output <filename> set output filename Input formats (auto detected from extension of not set) --raw set input as raw format --y4m set input as y4m format --avs set input as avs format --vpy set input as vpy format --vpy-mt set input as vpy(mt) format --input-res <int>x<int> set input resolution --crop <int>,<int>,<int>,<int> crop pixels from left,top,right,bottom -f,--fps <int>/<int> or <float> set framerate -c,--codec <string> set ouput codec h264 (or avc), h265 (or hevc) --profile <string> set codec profile H.264: baseline, main, high(?????) --level <string> set codec level --sar <int>:<int> set SAR ratio --dar <int>:<int> set DAR ratio --cqp <int> or encode in Constant QP mode <int>:<int>:<int> Default: <I>:<P>:<B>=<20>:<23>:<25> --vbr <int> set bitrate for VBR mode (kbps) --cbr <int> set bitrate for CBR mode (kbps) Default: 7500 kbps --max-bitrate <int> set Max Bitrate (kbps) / Default: 17500 kbps --gop-len <int> set GOP Length / Default: 0 frames (auto) -b,--bframes <int> set B frames / Default 3 ???? --ref <int> set Ref frames / Default 3 ???? --mv-precision <string> set MV Precision / Default: Q-pel Q-pel (High Quality) half-pel full-pel (Low Quality) --vbv-bufsize <int> set vbv buffer size (kbit) / Default: auto H.264/AVC --interlaced <string> interlaced encoding tff, bff --cabac use CABAC --cavlc use CAVLC (no CABAC) --bluray for bluray / Default: off --(no-)deblock enable(disable) deblock filter --fullrange set fullrange --videoformat <string> undef, ntsc, component, pal, secam, mac default: undef --colormatrix <string> undef, auto, bt709, smpte170m, bt470bg smpte240m, YCgCo, fcc, GBR default: undef --colorprim <string> undef, auto, bt709, smpte170m, bt470m bt470bg, smpte240m, film default: undef --transfer <string> undef, auto, bt709, smpte170m, bt470m bt470bg, smpte240m, linear, log100, log316 default: undef H.265/HEVC --cu-max <int> set max CU size --cu-min <int> set min CU size 8, 16, 32 are avaliable
I see the problem, the '--profile high' isn't available for H.265 -> will fix
"Found no xml structure in C:\Users\MC\AppData\Roaming\hybrid\toolInfos.xml, at line 1: unexpected end of file", but the app starts up anyway.users currently on my ignore list: deadrats, Stears555, marcorocchini -
-> don't think I missed something (I omitted the options which are only available for software encoding)
If the encoding app you are using supports software or CUDA based features, such as a CUDA powered ME or software powered AQ (which the Adobe plugin supports) then you should enable them because it increases visual quality.
Regarding b-frames, the option is greyed out for h264 on my system but it's available for hevc, which it seems is not supported in your version of nvenc. -
That is strange,...works fine here. May be hevc&h264 settings get mixed up somewhere. :/
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Last edited by Trules; 12th May 2015 at 09:14.
-
@Trules: if you can upload a sample wit 24bit sampling somewhere and send me a link I can look into it.
Main problem is, I need to check how to configure the decoders to feed flac properly which is why I need a real 24bit audio sample.users currently on my ignore list: deadrats, Stears555, marcorocchini -
@sophisticles: have you checked that nvencc supports mixing software and hardware encoding features, because like I understand 'Settings below are available only for software ecoding.' and '--sw use software encoding, instead of QSV (hw)' is that once you use software encoding you can't use hardware encoding. So no mixing of software and hardware encoding features with nvencc.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Similar Threads
-
vp9 vs x265 vs DivX265
By deadrats in forum Video ConversionReplies: 14Last Post: 28th Jun 2015, 09:48 -
HEVC-x265 player in linux?
By racer-x in forum LinuxReplies: 4Last Post: 20th Mar 2014, 18:10 -
Hybrid [x264/XViD - MKV/MP4] Converter Support Thread
By Bonie81 in forum Video ConversionReplies: 6Last Post: 8th Jan 2013, 03:53 -
VP8 vs x264
By Selur in forum Video ConversionReplies: 14Last Post: 14th Apr 2012, 07:48 -
How often do you reinstall your operating system(windows,mac,linux etc..)?
By johns0 in forum PollsReplies: 28Last Post: 22nd Jan 2011, 17:14