H.264 / MP4 컨테이너에서 YouTube가 품질 등을 위해 사용하는 것과 동일한 명령 줄을 사용하려고합니다. YouTube에서 사용한 동영상과 일치하도록 동영상을 여러 형식, 크기, 크기로 변환하고 비트 전송률 및 오디오 전송률을 조정하는 작업을 해왔습니다.
너트 셸에서 여기에 내가 사용하는 것이 있습니다.
-pix_fmt yuv420p -profile:v baseline -level 3.0 -acodec libfaac -ar 44100 -ac 2 -ab 192k -aspect 16:9 -r 24000/1001 -movflags +faststart
이제 이러한 가치가 왜 그런지 자세히 설명하려면 먼저 YouTube에서 여기에서 무엇을 사용하는지 알려주십시오.
- https://support.google.com/youtube/answer/1722171?hl=ko
- https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping
자 자세히 알아 보겠습니다
- 파일 앞에있는 moov atom (빠른 시작)
- 채널 : 스테레오 또는 스테레오 + 5.1
- 샘플링 속도 96khz 또는 48khz
- 프로그레시브 스캔 (인터레이스 없음)
- 하이 프로파일
- 2 개의 연속 B 프레임
- 닫힌 GOP. 프레임 속도의 절반 인 GOP
- 카바 크
- 크로마 서브 샘플링 : 4 : 2 : 0
- 프레임 속도
- YouTube는 16 : 9 종횡비 플레이어를 사용합니다.
- 오디오 코덱 : AAC-LC
ffmpeg의 명령 행에서 이들은 다음과 같습니다.
-movflags +faststart
-ac 2
-ar 48000
- 이것에 대한 명령이 무엇인지 확실하지 않습니다. (FFMPEG 기본적으로 인코딩은 점진적입니다.)
-profile:v high -level 4.0
-bf 2
(FFMPEG의 기본값은 16입니다.)-g 12
또는-g 15
YouTube의 FPS에 따라 다릅니다. (기본값 12는 24-25fps에서 작동합니다. NTSC 및 30fps의 경우 15를 선택하십시오. * FFMPEG 옵션 :-g
, YouTube의 기본 FPS가 24 또는 30인지 확실하지 않습니다. 기본값 12는 24이므로 프레임 속도의 절반이고 프레임 속도가 30이면 15입니다.)-coder 1
기본적으로 CABAC는 x264에서 사용하는 엔트로피 인코더입니다.-pix_fmt yuv420p
(제 생각에 모든 사람들이이 필수 사항을 추가해야하거나 FFmpeg 기반이 아닌 모든 플레이어는 YUV 4 : 2 : 2 또는 YUV 4 : 4 : 4의 적절한 디코딩을 지원하지 않으므로 yuv 4 : 2 : 0이 필요합니다.)-r 24000/1001
YouTube의 기본 프레임 속도는 24라고 가정합니다.-aspect 16:9
-acodec libfaac
그러나 누군가 내가 도울 수 있다면 내가 누락되었거나 명령이 변경되어야 할 명령이 있다는 것을 알고 있습니다. 그리고 내가 변경 / 추가 해야하는 것을 수정하십시오.
기본 프로필을 사용하고 싶기 때문에 명령 줄에서 CABAC, GOP 또는 B- 프레임을 사용하지 않습니다. 모두 비활성화되고 관련이 없기 때문입니다.
감사합니다. 위의 코드를 편집하고 $ fcmd를 넣어서 4k 및 2k에서 360p 480 등으로 생성되는 비디오의 각 크기 / 품질에 대한 명령 줄 속성을 제어 할 수 있습니다.
—
C0nw0nk 2016 년
유튜브 링크는 YouTube 에 업로드하기 위해 비디오를 코딩 하는 방법 을 보여줍니다 . 반드시 그들이 내부적으로 사용 하는 것은 아닙니다 (그리고 나는 이것을 사실로 알고 있습니다). 24 FPS를 원한다면 왜 24000/1001을 사용하고 있습니까?
—
slhck
내부적으로 어떤 명령 줄을 사용하는지 아무도 모릅니다. 요율을 24로 설정 한 방법을 읽었습니까?
—
C0nw0nk 2016 년
물론 YouTube 사용자는 물론 함께 일하는 연구원 몇 명을 알고 있습니다 (최근 회의에서 한 사람과 이야기했습니다). 또한
—
slhck
youtube-dl
GOP, B- 프레임 유형 등과 관련하여 비트 스트림을 직접 사용 하고 분석하는 등 모든 종류의 형식 (타이 그)으로 YouTube에서 MP4를 다운로드 할 수 있습니다 . 실제 질문은 다음과 같습니다. 왜 이러한 설정을 그렇게 밀접하게 일치시키고 싶습니까? 사용 사례는 무엇입니까? (24fps를 원하면 그냥 설정하십시오 -r 24
...)
-aspect
. 인코딩이 엉망이됩니다.