相关疑难解决方法(0)

如何在不损失质量的情况下将 10 位 H.265/HEVC 视频转换为 H.264?

我的笔记本电脑无法处理 10 位 H.265 / HEVC 视频,所以我想将它们转换为 10 位 H.264。我如何使用 ffmpeg 来做到这一点,质量损失最少?以及如何将 10 位 H.265 转换为 8 位 H.265?

ffmpeg video-conversion x264 video-encoding x265

31
推荐指数
1
解决办法
6万
查看次数

如何在 ffmpeg 中使用带有 nvenc 的 CRF 编码?

这是我当前将视频 (1080p) 大小从 2GB 调整到 300MB 的命令,但这需要很多时间:

mkdir newfiles  
for %%a in ("*.mp4") do ffmpeg -i "%%a" -c:v  libx264 -preset slow -crf 21 -c:a aac -b:a 128k -vf scale=678:-2 "newfiles\%%~na.mp4"  
pause
Run Code Online (Sandbox Code Playgroud)

我用我的 NVIDIA GTX1070 尝试了 nvenc:

mkdir newfiles  
for %%a in ("*.mp4") do ffmpeg -i "%%a" -c:v h264_nvenc -preset slow -c:a aac -b:a 128k -vf scale=678:-2 "newfiles\%%~na.mp4"  
pause
Run Code Online (Sandbox Code Playgroud)

输出大小始终为 3?还是5?原始大小 - nvenc 不使用-crf.

那么我如何使用 nvenc 和 ffmpeg 来转换/调整高质量和小尺寸的视频?我应该使用 GPU 进行编码吗?

ffmpeg video-encoding

29
推荐指数
4
解决办法
5万
查看次数

FFmpeg 2 通道编码

我试图转换我的高质量电影收藏以节省一些磁盘空间。我了解到 2 Pass 编码可以更好地完成工作。这是我用来通过 2 pass 对视频进行编码的命令行。

ffmpeg -i input.mkv -c:v libx264 -vf "scale=1920x1080" -vb 3.5M -pass 1 -an pass1.mp4
ffmpeg -i input.mkv -c:v libx264 -vf "scale=1920x1080" -vb 3.5M -pass 2 -c:a copy pass2.mp4
Run Code Online (Sandbox Code Playgroud)

这工作正常。而且我知道这个命令也会给出第一遍的输出。没关系。我会删除它们。我的疑问是,我阅读了许多人们使用的论坛-y-passlogfile2 pass 编码中的命令。做什么-y-passlogfile做什么?

还有我可以添加任何其他设置来提高质量吗?

ffmpeg

5
推荐指数
1
解决办法
2万
查看次数

ffmpeg真的使用我的显卡进行编码吗?

我有一台 NVIDIA Quadro P620。我对如何使用显卡加速转码进行了大量研究。

我偶然发现这个页面 https://trac.ffmpeg.org/wiki/HWAccelIntro#Usewiththeffmpegcommand-linetool

所以,我尝试了

ffmpeg -hwaccel cuda -i input.avi output.mp4
Run Code Online (Sandbox Code Playgroud)

结果并没有比

ffmpeg -i input.avi output.mp4
Run Code Online (Sandbox Code Playgroud)

实际上转码花费的时间更长。

我可以看到它在resmon上花费的 CPU 使用率与没有 -hwaccel 选项时相同。

我做错什么了吗?我如何知道 ffmpeg 是否正确使用我的 GPU?

video gpu graphics-card ffmpeg hardware-acceleration

2
推荐指数
1
解决办法
9060
查看次数

将 ffmpeg 编码从 libx264 转换为 h264_nvenc

视频托管网站 LBRY建议用户尝试以下命令来压缩上传的内容

ffmpeg -i input.avi -c:v libx264 -crf 21 -preset faster -pix_fmt yuv420p -maxrate 5000K -bufsize 5000K -vf 'scale=if(gte(iw\,ih)\,min(1920\,iw)\,-2):if(lt(iw\,ih)\,min(1920\,ih)\,-2)' -movflags +faststart -c:a aac -b:a 160k output.mp4

使用 h264_nvenc 而不是 libx264 最接近的等效项是什么?

video ffmpeg nvenc

1
推荐指数
1
解决办法
1万
查看次数