我带着我的旧 NV-GS500 Panasonic 摄像机;为了最终将我们所有的录音变成数字媒体。
到目前为止,事情很容易进行:
ffmpeg -i infile -pix_fmt yuv420p -crf 23 outfile
dos的小脚本将该 dv 文件转换为 mp4但可惜的是,mp4 的质量并没有那么令人信服。特别是在快速运动中,有很多像素化的东西。
因此,我想改进整个事情。现在发现kino实际上是“死的”;我想知道哪种工具组合能给我带来良好的质量;尽可能容易。
更新:上面已经给出了 ffmpeg 的完整命令,这是我在运行时收到的输出:
> ffmpeg -i capture001.dv -pix_fmt yuv420p -crf 23 test.mp4 ffmpeg 版本 2.8.10-0ubuntu0.16.04.1 版权所有 (c) 2000-2016 FFmpeg 开发人员 使用 gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 构建 配置:--prefix=/usr --extra-version=0ubuntu0.16.04。1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx =g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable- ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable- libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable- libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp--enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv 警告:库配置不匹配 avcodec 配置:--prefix=/usr --extra-version=0ubuntu0.16.04。1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx =g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable- ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable- libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable- libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp--enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv --enable-version3 --disable-doc --disable-programs --disable-avdevice --disable-avfilter --disable-avformat --disable-avresample --disable-postproc --disable-swscale --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc--enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc--enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libav格式 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [dv @ 0x2566420] 检测到的时间码无效 [dv @ 0x2566420] 根据比特率估计持续时间,这可能不准确 输入#0,dv,来自'capture001.dv': 持续时间:00:39:45.36,开始:0.000000,比特率:28800 kb/s 流 #0:0:视频:dvvideo、yuv420p、720x576 [SAR 64:45 DAR 16:9]、28800 kb/s、25 fps、25 tbr、25 tbn、25 tbc 流 #0:1:音频:pcm_s16le,32000 Hz,立体声,s16,1024 kb/s 流 #0:2:音频:pcm_s16le,32000 Hz,立体声,s16,1024 kb/s [libx264 @ 0x256dea0] 使用 SAR=64/45 [libx264 @ 0x256dea0] 使用 CPU 功能:MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x256dea0] 配置文件高,级别 3.0 [libx264 @ 0x256dea0] 264 - 核心 148 r2643 5c65704 - H.264/MPEG-4 AVC 编解码器 - Copyleft 2003-2015 - http://www.videolan.org/x264.html - 选项:cabac=1 ref=3 deblock =1:0:0 分析=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip= 1 chroma_qp_offset=-2 线程=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 Bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop= weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 输出#0,mp4,到'test.mp4': 元数据: 编码器:Lavf56.40.101 流 #0:0:视频:h264 (libx264) ([33][0][0][0] / 0x0021),yuv420p,720x576 [SAR 64:45 DAR 16:9],q=-1--1 , 25 fps, 12800 tbn, 25 tbc 元数据: 编码器:Lavc56.60.100 libx264 流 #0:1:音频:aac (libvo_aacenc) ([64][0][0][0] / 0x0040),32000 Hz,立体声,s16,128 kb/s 元数据: 编码器:Lavc56.60.100 libvo_aacenc 流映射: 流 #0:0 -> #0:0 (dvvideo (native) -> h264 (libx264)) 流 #0:1 -> #0:1 (pcm_s16le (native) -> aac (libvo_aacenc)) 按 [q] 停止,按 [?] 寻求帮助 帧= 1449 fps=112 q=-1.0 Lsize= 10373kB 时间=00:00:57.93 比特率=1466.7kbits/s 视频:9424kB 音频:906kB 字幕:0kB 其他流:0kB 全局头:0kB 复用开销:0.411332% [libx264 @ 0x256dea0] 帧 I:29 平均 QP:22.01 大小:23022 [libx264 @ 0x256dea0] 帧 P:826 平均 QP:24.37 大小:8655 [libx264 @ 0x256dea0] 帧 B:594 平均 QP:25.43 大小:3086 [libx264 @ 0x256dea0] 连续 B 帧:29.4% 42.9% 14.7% 13.0% [libx264 @ 0x256dea0] mb I16..4:21.0% 76.6% 2.3% [libx264 @ 0x256dea0] mb P I16..4:1.7% 5.9% 0.5% P16..4:46.9% 9.4% 6.7% 0.0% 0.0% 跳过:28.9% [libx264 @ 0x256dea0] mb B I16..4: 0.0% 0.1% 0.0% B16..8: 48.5% 2.5% 0.6% 直接: 3.3% 跳过:44.8% L0:46.0% L1:50.8% BI [libx264 @ 0x256dea0] 8x8 变换帧内:73.6% 帧间:82.2% [libx264 @ 0x256dea0] 编码 y,uvDC,uvAC 内部:66.2% 56.2% 6.0% 内部:19.5% 23.4% 0.1% [libx264 @ 0x256dea0] i16 v,h,dc,p: 14% 39% 12% 35% [libx264 @ 0x256dea0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 16% 33% 5% 5% 6% 6% 5% 7% [libx264 @ 0x256dea0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 9% 60% 14% 3% 3% 3% 3% 2% 2% [libx264 @ 0x256dea0] i8c dc,h,v,p: 56% 20% 21% 3% [libx264 @ 0x256dea0] 加权 P 帧:Y:14.9% UV:1.5% [libx264 @ 0x256dea0] 参考 P L0:62.5% 14.1% 15.9% 6.8% 0.7% [libx264 @ 0x256dea0] 参考 B L0:81.5% 17.0% 1.5% [libx264 @ 0x256dea0] 参考 B L1:94.9% 5.1% [libx264 @ 0x256dea0] kb/s:1331.94 正常退出,收到信号2。
(使用 ctrl-c 几秒钟后中断)
and*_*.46 12
在您的视频编码期间运行去隔行视频过滤器是非常值得的,这可以很好地减少您在输出视频中看到的一些奇怪的屏幕效果。与运动伪影无关但值得添加的第二个想法是使用去噪滤波器。
1. 去隔行:
对于 FFmpeg,最好和最快的选择是yadif
它在通常古怪的极客时尚中简单地代表“又一个去隔行过滤器”!
yadif
可以不带选项使用,也可以为 3 个字段中的每一个指定一个选项:
可以在 FFmpeg 命令行上将安全默认值指定为:
-vf yadif=0:-1:0
Run Code Online (Sandbox Code Playgroud)
如果您想更改这些所有更深层次的细节,请参阅此处:
FFmpeg 过滤器文档:yadif
https://ffmpeg.org/ffmpeg-filters.html#yadif-1
mcdeint
还可以应用称为(运动补偿去隔行)的进一步去隔行过滤器,但您可能会发现这非常缓慢。使用此过滤器的典型命令行是:
-vf yadif=1:-1:0,mcdeint=2:1:10
Run Code Online (Sandbox Code Playgroud)
再次mcdeint
在 FFmpeg 文档中可以看到选项的详细信息:
FFmpeg 过滤器文档:mcdeint
https://ffmpeg.org/ffmpeg-filters.html#mcdeint
2.去噪:
最后一个可能值得进行一些实验的是使用去噪滤波器,尽管这不应该影响运动伪影,但它仍然是一个非常值得添加的东西。在 FFmpeg 下有几种选择,但值得一看的是nlmeans
(使用非局部均值算法对帧进行降噪)。您将需要最新的 FFmpeg。
要在最简单的命令行中使用它,请尝试以下操作:
-vf yadif=0:-1:0,nlmeans
Run Code Online (Sandbox Code Playgroud)
在nlmeans
编码时间方面有问题,虽然没有看到的那么严重,mcdeint
但仍然是一个考虑因素......
如果您有一个较旧的 FFmpeg 副本而无法访问这个最新的过滤器,则可以使用一个较旧的去噪过滤器,可以放心地使用正常的默认值:
-vf yadif=0:-1:0,hqdn3d
Run Code Online (Sandbox Code Playgroud)
我注意到我自己的系统hqdn3d
比新的nlmeans
. 更好的?好吧,我怀疑这是另一个论坛的辩论:)
希望任何这些想法的组合都能解决您的问题......
参考:
归档时间: |
|
查看次数: |
16130 次 |
最近记录: |