hi, currently I use this command to convert to mp4
I use this code may be over 3 years, maybe this code is outdated,Code:ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i "%~1" -c:v hevc_nvenc -preset slow "%~dpn1.mp4"
is there any better command to convert file to mp4 with:
1. no noticeable quality reduce
2. Better Compression(smaller size),
3. Using GPU acceleration,
4. Faster Compression
Thanks for reading, have a nice day
+ Reply to Thread
Results 1 to 9 of 9
-
-
Better encoding would be using your cpu instead of your video card.
I think,therefore i am a hamster. -
1,2,3 and 4 are all possible. Just not together.
e.g. quality reduction is a trade off for compression (file size), GPU is faster than CPU but still doesn't give better quality vs bitrate. -
thank you for all reply,
let said point 1 and 2 is the highest priority and 3 and 4 are optional,
I hear h266 Is released for FFmpeg, and CUDA encoding may have better software,
maybe there is an update command that is better than my command,
any other replies are still welcome -
let said point 1 and 2 is the highest priority and 3 and 4 are optional,
GPU encodes are very good now but at higher bitrates (larger file sizes for you).
I hear h266 Is released for FFmpeg, and CUDA encoding may have better software,
maybe there is an update command that is better than my command -
There's no best. There's just different compromises. Generally, quality decreases as encoding speed increases. And quality decreases as the bitrate decreases So you can only have two of 1) fast encoding, 2) small file size, 3) high quality, but not all three. You pick the compromise settings that you can live with. Your command line is just using the default settings for the "slow" preset. There are also many individual settings you can change for the hevc_nvenc encoder:
Code:ffmpeg -? encoder=hevc_nvenc Encoder hevc_nvenc [NVIDIA NVENC hevc encoder]: General capabilities: delay hardware Threading capabilities: none Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 rgb0 cuda d3d11 hevc_nvenc AVOptions: -preset <int> E..V..... Set the encoding preset (from 0 to 11) (default medium) default E..V..... slow E..V..... hq 2 passes medium E..V..... hq 1 pass fast E..V..... hp 1 pass hp E..V..... hq E..V..... bd E..V..... ll E..V..... low latency llhq E..V..... low latency hq llhp E..V..... low latency hp lossless E..V..... lossless losslesshp E..V..... lossless hp -profile <int> E..V..... Set the encoding profile (from 0 to 4) (default main) main E..V..... main10 E..V..... rext E..V..... -level <int> E..V..... Set the encoding level restriction (from 0 to 186) (default auto) auto E..V..... 1 E..V..... 1.0 E..V..... 2 E..V..... 2.0 E..V..... 2.1 E..V..... 3 E..V..... 3.0 E..V..... 3.1 E..V..... 4 E..V..... 4.0 E..V..... 4.1 E..V..... 5 E..V..... 5.0 E..V..... 5.1 E..V..... 5.2 E..V..... 6 E..V..... 6.0 E..V..... 6.1 E..V..... 6.2 E..V..... -tier <int> E..V..... Set the encoding tier (from 0 to 1) (default main) main E..V..... high E..V..... -rc <int> E..V..... Override the preset rate-control (from -1 to INT_MAX) (default -1) constqp E..V..... Constant QP mode vbr E..V..... Variable bitrate mode cbr E..V..... Constant bitrate mode vbr_minqp E..V..... Variable bitrate mode with MinQP (deprecated) ll_2pass_quality E..V..... Multi-pass optimized for image quality (deprecated) ll_2pass_size E..V..... Multi-pass optimized for constant frame size (deprecated) vbr_2pass E..V..... Multi-pass variable bitrate mode (deprecated) cbr_ld_hq E..V..... Constant bitrate low delay high quality mode cbr_hq E..V..... Constant bitrate high quality mode vbr_hq E..V..... Variable bitrate high quality mode -rc-lookahead <int> E..V..... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0) -surfaces <int> E..V..... Number of concurrent surfaces (from 0 to 64) (default 0) -cbr <boolean> E..V..... Use cbr encoding mode (default false) -2pass <boolean> E..V..... Use 2pass encoding mode (default auto) -gpu <int> E..V..... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any) any E..V..... Pick the first device available list E..V..... List the available devices -delay <int> E..V..... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX) -no-scenecut <boolean> E..V..... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false) -forced-idr <boolean> E..V..... If forcing keyframes, force them as IDR frames. (default false) -spatial_aq <boolean> E..V..... set to 1 to enable Spatial AQ (default false) -temporal_aq <boolean> E..V..... set to 1 to enable Temporal AQ (default false) -zerolatency <boolean> E..V..... Set 1 to indicate zero latency operation (no reordering delay) (default false) -nonref_p <boolean> E..V..... Set this to 1 to enable automatic insertion of non-reference P-frames (default false) -strict_gop <boolean> E..V..... Set 1 to minimize GOP-to-GOP rate fluctuations (default false) -aq-strength <int> E..V..... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8) -cq <float> E..V..... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0) -aud <boolean> E..V..... Use access unit delimiters (default false) -bluray-compat <boolean> E..V..... Bluray compatibility workarounds (default false) -init_qpP <int> E..V..... Initial QP value for P frame (from -1 to 51) (default -1) -init_qpB <int> E..V..... Initial QP value for B frame (from -1 to 51) (default -1) -init_qpI <int> E..V..... Initial QP value for I frame (from -1 to 51) (default -1) -qp <int> E..V..... Constant quantization parameter rate control method (from -1 to 51) (default -1) -weighted_pred <int> E..V..... Set 1 to enable weighted prediction (from 0 to 1) (default 0) -b_ref_mode <int> E..V..... Use B frames as references (from 0 to 2) (default disabled) disabled E..V..... B frames will not be used for reference each E..V..... Each B frame will be used for reference middle E..V..... Only (number of B frames)/2 will be used for reference
Last edited by jagabo; 25th Feb 2022 at 09:12.
-
[Attachment 63547 - Click to enlarge]
Can I ask please why not record in mp4 in the first place? easy with the Panasonic HC-X1500,
from
[Attachment 63548 - Click to enlarge]Last edited by realspeed; 25th Feb 2022 at 10:31. Reason: addition
-
thank you for all your replies,
so, what do you all suggest?
keep my command or is there any better command?
the priority is 1, 2, 3 then 4
Similar Threads
-
Is it possible to download dash mpd and convert into mp4 using ffmpeg?
By MonikaChen in forum Video Streaming DownloadingReplies: 4Last Post: 16th Feb 2021, 09:09 -
FFMPEG: How to convert multiple DNG to MP4 very fast...
By clkdiv in forum Video ConversionReplies: 0Last Post: 8th Nov 2020, 11:26 -
How to convert mp4 audio to AAC and keep original video w FFMPEG or ?
By trueblueCj in forum Newbie / General discussionsReplies: 1Last Post: 1st Jul 2018, 18:24 -
ffmpeg to convert 4k/hdr10 to (i) h.264/10-bit/.mp4 (ii) h.265/10-bit/.mp4
By hydra3333 in forum Video ConversionReplies: 2Last Post: 10th Feb 2018, 19:49 -
what software or what ffmpeg commands can convert mp4 to avi?
By sommers in forum Newbie / General discussionsReplies: 7Last Post: 16th Jun 2017, 04:44