ffmpeg를 사용하여 원시 비디오를 H.264 형식으로 인코딩


10

우분투 10.04에서 ffmpeg 명령을 사용하여 원시 비디오 (YUV 형식)를 H.264로 인코딩 된 비디오로 인코딩하려고합니다.

ffmpeg -i input.mp4 output.h264

하지만 오류가 발생합니다.

출력 스트림 # 0.0에 지원되지 않는 코덱

그런 다음이 옵션을 시도하면 :

ffmpeg -i input.mp4 -formats h264 output.h264

여전히 인코딩되지 않습니다.

이제 ffmpeg는 libx264를 사용하여 H.264 형식으로 인코딩한다는 것을 이해했습니다. 이제이 우분투에 x264 패키지-빠른 H.264 인코더가 설치되었습니다.

내 질문 :

  1. ffmpeg에 필요한이 libx264와 x264 프로그램 사이에는 어떤 관계가 있습니까?
  2. libx264를 설치하고 ffmpeg에서 이것을 H.264 형식으로 비디오를 인코딩 할 수 있도록하려면 어떻게해야합니까?


@ slhck-고맙지 만, 내가 사용했을 때 :-ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4. "알 수없는 인코더 'libx264'"오류가 발생했습니다. 추가 포인터. libx264는 x264 라이브러리 또는 다른 것과 동일합니다.
goldenmean

Linux에서 ffmpeg 및 x264 컴파일에 대해서는 여기를 참조하십시오. ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

답변:


11

우선, 사용하는 명령은 구문 상 올바르지 않습니다. ffmpeg가 x264를 사용하게하려면 -c:v libx264인수 를 제공해야합니다 .

이제 원시 YUV 파일이있는 경우 ffmpeg에 사용되는 픽셀 형식, 크기 등을 알려줘야합니다.

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

YUV 파일의 사양에 따라 변경하십시오. ffmpeg -pix_fmts지원되는 픽셀 형식 목록을 살펴보십시오 . fourcc.org 도 좋은 자료입니다.

.264파일 에서 원시 H.264 비트 스트림을 원할 경우 :

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 -f rawvideo output.264

-1

ffmpeg -f rawvideo -pix_fmt yuv420p -s : v 1920x1080 -r 23.976 -i raw_i420_1920_1080 -vcodec libx264 -f rawvideo 출력 .264

-vcodec사용할 코덱을 알려줍니다. man ffmpeg더 배우는 데 도움이 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.