공식 튜토리얼https://trac.ffmpeg.org/wiki/StreamingGuide이 -pix_fmt yuv420p
옵션을 사용하세요.
나는 또한 이것을 사용하고 튜토리얼에서 복사했으며 FFmpeg에서 Youtube로 스트리밍하는 것이 나에게 도움이 되었습니다. 그러나 그 목적이 무엇인지, 특히 유튜브에 꼭 필요한 옵션인지, 아니면 더 나은 옵션이 있는지는 불분명합니다.
이 주제에 대한 YouTube 문서에서는 이 내용을 다루지 않는 것 같거나 그럴 수도 있지만 다음 내용이 어디에 있는지 이해가 되지 않습니다.https://support.google.com/youtube/answer/1722171?hl=ko.
이에 대한 정확한 문서를 아는 사람이 있습니까?
답변1
YUV420은 크로마 서브샘플링을 사용하여 이미지를 표현하는 데 필요한 데이터 양을 줄이는 색 공간입니다. 크로마 서브샘플링은 휘도(밝기) 정보보다 색차(색상) 정보의 해상도를 더 낮춰 영상을 인코딩하는 방법입니다. 이는 인간의 시각 시스템이 밝기의 차이보다 색상의 차이에 덜 민감하다는 사실을 이용합니다.따라서 YUV420은 크로마 서브샘플링을 사용하지 않는 형식보다 이미지를 표현하는 데 필요한 데이터가 적기 때문에 공간 절약형 형식으로 간주될 수 있습니다..
스트리밍 중 사용에 대한 질문에 대해 -pix_fmt yuv420p
일반적인 답변과 YouTube 관련 답변을 찾았습니다.
내 질문에 링크된 FFmpeg 스트리밍 가이드(https://trac.ffmpeg.org/wiki/StreamingGuide) 다음과 같은 방법으로 H.264 코덱을 사용합니다 -vcodec libx264
. 유튜브 공식 추천에서도 추천하는 코덱이기도 합니다.https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cvideo-codec-h).
YouTube에 대한 구체적인 답변은 문서의 이 문장에서 찾을 수 있습니다.:
"크로마 서브샘플링: 4:2:0".
-pix_fmt yuv420p
이는 옵션과 정확히 일치합니다 ..
일반적인 답변은 H.264에 대한 FFmpeg 문서에서 찾을 수 있습니다.https://trac.ffmpeg.org/wiki/Encode/H.264. 페이지 하단에는 다음과 같은 내용이 있습니다.
QuickTime 및 대부분의 다른 플레이어에서 출력이 작동하도록 하려면
-vf format=yuv420p
(또는 별칭 )을 사용해야 할 수도 있습니다 .-pix_fmt yuv420p
이 플레이어는 H.264 비디오에 대해 YUV 평면 색 공간과 4:2:0 크로마 서브샘플링만 지원합니다. 그렇지 않으면 소스에 따라ffmpeg
출력이 이러한 플레이어와 호환되지 않는 픽셀 형식일 수 있습니다.
답변2
나는 당신이 찾고있는 것이 다음과 같다고 가정합니다. https://en.wikipedia.org/wiki/YUV
YUV는 실제로 여기서 비디오 형식입니다.
내 이해에 따르면 픽셀/색상만 설명하므로 효과적으로 압축되지 않습니다. 즉, 1080p 이미지의 크기가 수 메가바이트가 되는 것을 방지하는 일반적인 방법을 사용하지 않고도 픽셀 단위로 색상 데이터를 명시적으로 전달할 수 있습니다.
스트리밍을 위해서는 OBS(https://obsproject.com/de). 오픈 소스이며 모든 비디오와 마찬가지로 ffmpeg도 사용합니다. OBS는 이러한 매개변수를 매우 잘 처리하며 실제로 업계 표준입니다.
Unix 및 Linux에서 게시하므로 OBS는 다양한 일반 배포판의 표준 패키지 소스를 통해 사용할 수 있습니다.