이상한 이유로 내 OLED TV는 HEVC 10 비트 파일을 재생할 수 있지만 10 비트가 아닌 10 비트 만 재생할 수 있습니다.
ffmpeg의이 출력 (비디오 스트림)은 HEVC 10-Bit에서 잘 재생됩니다.
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
이 파일은 재생되지 않습니다 :
Stream #0:0: Video: h264 (High 10), yuv420p10le(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
이 인코딩은 내 TV에서 작동하는 최대 값 인 것 같습니다.
Stream #0:0(jpn): Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
다음 명령을 사용하여 HEVC로 변환합니다.
ffmpeg -i in.mkv -map 0:0 -map 0:2 -map 0:4 -vcodec hevc -preset ultrafast -x265-params lossless=1 -acodec copy -scodec copy out.mkv
물론 시간이 오래 걸리고 무손실 스위치 나 비디오가 매우 픽셀 화되어야합니다. 나는 보려고 노력했지만 hevc_nvenc
“호환되지 않는 장치”라고 말했습니다 (더 많은 정보를 제공해야 할 수도 있습니다, NVIDIA GeForce 980 TI가 있습니다).
또한 -vcodec h264
with를 사용해 보았고 -preset high
오류가 발생했습니다.
출력 스트림 # 0 : 0에 대해 인코더를 여는 동안 오류가 발생했습니다. bit_rate, rate, width 또는 height와 같은 잘못된 매개 변수
인코딩 전문가는 HEVC 로의 빠른 변환 또는 낮은 사전 설정 H.264 로의 변환을 지원하거나 성능이 크게 향상되면 NVENC가 작동하도록 도울 수 있습니까?
답변
TV는 때때로 주어진 코덱에 대해 어떤 프로파일과 레벨을 지원하는지에 대해 매우 까다로워합니다.
어쨌든 H.264에서 H.265로 변환 할 때 품질을 유지하기 위해 무손실 인코딩에 의존 할 필요는 없습니다. 사용 가능한 옵션 및 품질 및 변환 속도에 대해서는 H.265 인코딩 안내서 를 읽으십시오 .
ultrafast
사전 설정을 설정하면 인코딩의 전체 속도가 확실히 향상되는 반면 파일 크기가 일정하게 유지되거나 (일관된 품질 인코딩 모드를 사용하는 경우) 비디오 품질이 저하됩니다 (대상 비트 전송률을 사용하는 경우).
HEVC의 경우 다음과 같이 작동합니다.
ffmpeg -i <input> -c:v libx265 -crf 28 -preset fast <output>
품질을 높이려면 CRF 값을 줄이십시오. 값이 ± 6이면 비트 전송률이 절반 또는 두 배가되지만 인코딩하는 내용의 복잡도에 따라 달라집니다.
hevc_nvenc를 보려고 시도했지만 호환되는 장치가 없다고 말했습니다 (더 많은 정보를 제공해야 할 수도 있습니다, 980Ti가 있습니다)
980 TI 는 지원합니다NVENC
(전체 목록 참조).
그러나 일반적으로 호환되는 장치가 있으면에 대한 지원을 hevc_nvenc
받으려면 시스템에 NVIDIA 라이브러리가 설치되어 있어야하며에 대한 ffmpeg
지원이 컴파일되어야합니다 nvenc
. 자세한 정보는 이 위키 항목 을 참조하십시오.
낮은 h264 사전 설정으로 변환
이것이 도움이 될 수 있지만 파일에 10 비트 색 농도를 유지한다고 가정합니까? 변환하는 경우 HEVC로 변환 할 수도 있습니다. 8 비트 H.264로 변환하지 않는 것이 좋습니다.