我最近一直在导入我的家庭视频。我想使用 ProRes 422 存档这些视频。
压缩机工作正常。视频弹出时几乎没有任何视觉差异。
然而,FFmpeg 会在移动物体周围产生锯齿状形状。我对视频了解不够多,无法描述这实际上是什么样子,所以我附上了我所看到的帧。
如您所见,前两个难以区分。最后一个是使用以下命令创建的:ffmpeg -i original.mov -c:v prores -profile:v 2 output-ffmpeg.mov
我尝试了能找到的所有 prores 选项。我使用了prores_ks
、、prores_aw
bits/mb 的最高设置等。但都无法解决这个问题。
运动被像素化了。任何稍微模糊的东西都会变成锯齿状的线条。
我如何在 FFmpeg 中纠正这个问题?
编辑:
Here are the logs as requested
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-ffplay --enable-frei0r --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.0/include/openjpeg-2.3 --enable-nonfree
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fae4a800000] Duplicated ELST atom
Last message repeated 1 times
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2006-10-07 16_06_44.mov':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2018-04-12T23:08:23.000000Z
com.apple.quicktime.make: Apple
com.apple.quicktime.model: MacBookPro10,1
com.apple.quicktime.software: Mac OS X 10.13.4 (17E199)
com.apple.quicktime.creationdate: 2018-04-12T17:02:55-0600
Duration: 00:00:24.46, start: 0.000000, bitrate: 30510 kb/s
Stream #0:0(und): Video: dvvideo (dvc / 0x20637664), yuv411p(smpte170m/smpte170m/bt709, bottom coded first (swapped)), 720x480 [SAR 8:9 DAR 4:3], 16995 kb/s, SAR 10:11 DAR 15:11, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc (default)
Metadata:
creation_time : 2018-04-12T23:08:23.000000Z
handler_name : Core Media Data Handler
encoder : DV/DVCPRO - NTSC
timecode : 00:00:19;03
Stream #0:1(und): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
creation_time : 2018-04-12T23:08:23.000000Z
handler_name : Core Media Data Handler
timecode : 00:00:19;03
Stream #0:2(und): Audio: pcm_s16le (lpcm / 0x6D63706C), 48000 Hz, stereo, s16, 1536 kb/s (default)
Metadata:
creation_time : 2018-04-12T23:08:23.000000Z
handler_name : Core Media Data Handler
Stream mapping:
Stream #0:0 -> #0:0 (dvvideo (native) -> prores (native))
Stream #0:2 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, mov, to 'output-ffmpeg.mov':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
com.apple.quicktime.creationdate: 2018-04-12T17:02:55-0600
com.apple.quicktime.make: Apple
com.apple.quicktime.model: MacBookPro10,1
com.apple.quicktime.software: Mac OS X 10.13.4 (17E199)
encoder : Lavf58.12.100
Stream #0:0(und): Video: prores (apcn / 0x6E637061), yuv422p10le(bottom coded first (swapped)), 720x480 [SAR 10:11 DAR 15:11], q=2-31, 200 kb/s, 0.03 fps, 30k tbn, 29.97 tbc (default)
Metadata:
creation_time : 2018-04-12T23:08:23.000000Z
handler_name : Core Media Data Handler
timecode : 00:00:19;03
encoder : Lavc58.18.100 prores
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2018-04-12T23:08:23.000000Z
handler_name : Core Media Data Handler
encoder : Lavc58.18.100 aac
frame= 134 fps=0.0 q=-0.0 size= 17408kB time=00:00:04.17 bitrate=34191.1kbitsframe= 241 fps=238 q=-0.0 size= 34304kB time=00:00:07.99 bitrate=35168.5kbits[out_0_1 @ 0x7fae4b200f80] 100 buffers queued in out_0_1, something may be wrong.
[out_0_1 @ 0x7fae4b200f80] 1000 buffers queued in out_0_1, something may be wrong.
frame= 314 fps=208 q=-0.0 size= 45056kB time=00:00:10.29 bitrate=35853.6kbitsframe= 344 fps=171 q=-0.0 size= 48896kB time=00:00:11.17 bitrate=35834.8kbitsframe= 359 fps=143 q=-0.0 size= 51712kB time=00:00:11.97 bitrate=35361.1kbitsframe= 389 fps=129 q=-0.0 size= 56064kB time=00:00:12.85 bitrate=35728.5kbitsframe= 419 fps=119 q=-0.0 size= 60416kB time=00:00:13.70 bitrate=36105.2kbitsframe= 449 fps=112 q=-0.0 size= 64256kB time=00:00:14.68 bitrate=35854.0kbitsframe= 464 fps=103 q=-0.0 size= 67072kB time=00:00:15.47 bitrate=35497.6kbitsframe= 494 fps= 99 q=-0.0 size= 71424kB time=00:00:16.20 bitrate=36108.8kbitsframe= 524 fps= 95 q=-0.0 size= 75008kB time=00:00:17.18 bitrate=35758.3kbitsframe= 539 fps= 90 q=-0.0 size= 78336kB time=00:00:17.95 bitrate=35744.4kbitsframe= 569 fps= 87 q=-0.0 size= 82688kB time=00:00:18.93 bitrate=35774.7kbitsframe= 599 fps= 85 q=-0.0 size= 87040kB time=00:00:19.91 bitrate=35802.0kbitsframe= 629 fps= 84 q=-0.0 size= 91392kB time=00:00:20.81 bitrate=35973.7kbitsframe= 659 fps= 82 q=-0.0 size= 96000kB time=00:00:21.83 bitrate=36015.5kbitsframe= 689 fps= 81 q=-0.0 size= 100352kB time=00:00:22.81 bitrate=36029.0kbitsframe= 719 fps= 80 q=-0.0 size= 104704kB time=00:00:23.84 bitrate=35976.9kbitsframe= 732 fps= 79 q=-0.0 Lsize= 107993kB time=00:00:24.43 bitrate=36200.1kbits/s speed=2.62x
video:107589kB audio:382kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.020916%
[aac @ 0x7fae49829000] Qavg: 243.907
答案1
尝试
ffmpeg -i original.mov -vf yadif -c:v prores -profile:v 2 output-ffmpeg.mov
我们可能需要根据字段顺序对其进行一些调整。