종종 나는 Intel QuickSync 없이 ffmpeg를 수행합니다. 예를 들어 "a"라는 하위 디렉토리를 만든 경우,ffmpeg -i IMG_0001.MOV -c:a libmp3lame -c:v libx264 -preset ultrafast ffff.mp4
(mp4 컨테이너의 mp3는 약간 구식이고 aac가 현재의 규칙/표준이라는 것을 알고 있지만 내 예전 비디오 편집기는 거기에 있는 aac를 좋아하지 않습니다. 그리고 요즘 libx264의 품질이 약간 낮다는 것을 알고 있지만 저는 괜찮았는데 그게 문제의 원인은 아닌 것 같아요)
인텔 퀵싱크가 더 빠르다는 것을 알고 있기 때문에 인코딩을 시도하고 싶습니다.
제가 사용하고 있는 노트북의 프로세서는 QuickSync를 지원하는 i5 3230m입니다.https://ark.intel.com/content/www/us/en/ark/products/72056/intel-core-i53230m-processor-3m-cache-up-to-3-20-ghz-bga.html
나는 명령을 수행ffmpeg -i IMG_0030.MOV -acodec copy -vcodec h264_qsv blah.mp4
하지만 오류가 발생합니다.
[h264_qsv @ 00000000004ddd40] Error initializing the encoder: invalid video parameters (-15)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width
or height
Conversion failed!
--
G:\vids\apple> ffmpeg -i IMG_0030.MOV -acodec copy -vcodec h264_qsv blah.mp4
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --e
nable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -
-enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --ena
ble-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enabl
e-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 55.101 / 58. 55.101
libavformat 58. 31.104 / 58. 31.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.101 / 7. 58.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_0030.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2022-06-01T13:55:35.000000Z
com.apple.quicktime.location.accuracy.horizontal: 4.782269
com.apple.quicktime.location.ISO6709: +51.9016-000.2051+094.310/
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 11 Pro
com.apple.quicktime.software: 15.3.1
com.apple.quicktime.creationdate: 2022-06-01T14:55:34+0100
Duration: 00:00:11.78, start: 0.000000, bitrate: 22869 kb/s
Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080, 22685 kb/s, 119.99 fps, 120 tbr, 2400 tbn, 2400 tbc (defa
ult)
Metadata:
rotate : 90
creation_time : 2022-06-01T13:55:35.000000Z
handler_name : Core Media Video
encoder : HEVC
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 162 kb/s (default)
Metadata:
creation_time : 2022-06-01T13:55:35.000000Z
handler_name : Core Media Audio
File 'blah.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264_qsv @ 00000000004ddd40] Error initializing the encoder: invalid video parameters (-15)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width
or height
Conversion failed!
또한
h264_qsv가 나열되어 있는데 ffmpeg -encoders
아마도 ffmpeg 빌드가 이를 지원한다는 의미일 것 같습니다.
C:\Users\User>ffmpeg -encoders | grep 264
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --e
nable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -
-enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --ena
ble-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enabl
e-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 55.101 / 58. 55.101
libavformat 58. 31.104 / 58. 31.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.101 / 7. 58.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
V..... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
V..... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264)
V..... h264_amf AMD AMF H.264 Encoder (codec h264)
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
추가됨
다음은 이 명령을 사용한 시도입니다. 따라서 제안된 주석으로 crf를 지정합니다.ffmpeg -i IMG_0001.MOV -c:a copy -c:v h264_qsv -crf 23 aaa.mp4
청록색으로 "[h264_qsv @ 00000000003804c0]"라고 표시되고 빨간색으로 "[h264_qsv @ 00000000003804c0] 인코더 초기화 오류: 잘못된 비디오 매개변수(-15) 오류 초기화 출력 스트림 0:0 -- 여는 동안 오류가 발생했습니다. 출력 스트림 #0:0에 대한 인코더 - 비트 전송률, 속도, 너비 또는 높이와 같은 매개변수가 잘못되었을 수 있습니다."
그리고 회색으로 "변환에 실패했습니다!" 아래에서 볼 수 있듯이
G:\vids\apple>ffmpeg -i IMG_0001.MOV -c:a copy -c:v h264_qsv -crf 23 aaa.mp4
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --e
nable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -
-enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --ena
ble-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enabl
e-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 55.101 / 58. 55.101
libavformat 58. 31.104 / 58. 31.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.101 / 7. 58.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_0001.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2022-02-26T21:21:16.000000Z
com.apple.quicktime.location.accuracy.horizontal: 20.738540
com.apple.quicktime.location.ISO6709: +51.6208-000.2740+066.132/
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 11 Pro
com.apple.quicktime.software: 14.8
com.apple.quicktime.creationdate: 2022-02-26T21:21:16+0000
Duration: 00:00:01.10, start: 0.000000, bitrate: 12855 kb/s
Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080, 12623 kb/s, 29.95 fps, 29.97 tbr, 600 tbn, 600 tbc (defau
lt)
Metadata:
rotate : 90
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Video
encoder : HEVC
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 129 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Audio
Stream #0:2(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Metadata
Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Metadata
Stream #0:4(und): Data: none (mebx / 0x7862656D), 34 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Metadata
File 'aaa.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264_qsv @ 00000000001504c0] Error initializing the encoder: invalid video parameters (-15)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width
or height
Conversion failed!
G:\vids\apple>
-c:a copy를 -c:a libmp3lame로 변경하면 출력 파일 #0(aaa.mp4)에 지정된 "Codec AVOption crf(일정 품질 모드에 대한 품질 선택)이 지정되지 않았습니다."라는 메시지가 표시되지만 이 메시지도 표시됩니다. 모든 스트림에 사용됩니다. 가장 가능성이 높은 이유는 잘못된 유형(예: 비디오 스트림이 없는 비디오 옵션)이거나 어떤 스트림에도 실제로 사용되지 않은 일부 인코더의 비공개 옵션이기 때문입니다." -crf를 지정하지 않으면 해당 메시지가 표시되지 않습니다.