FFmpeg를 사용하여 워터마크를 추가하고 싶지만 비디오의 품질은 동일하고 싶습니다. 어떻게 해야 하나요?
사용하려고 했지만 -vcodec copy -acodec copy
워터마크가 없었습니다.
ffmpeg -y -i treino.mp4 -vf "movie=logo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -vcodec copy -acodec copy video2.mp4
답변1
필터를 사용 중이며 필터링하려면 다시 인코딩해야 하므로 사용할 수 없습니다.-vcodec copy
.스트림 복사비디오. "동일한 품질"을 원한다면 무손실 인코더를 사용해야 합니다.
ffmpeg -i video.mp4 -i image.png -filter_complex overlay -c:v libx264 -crf 0 -c:a copy -movflags +faststart output.mp4
결과 파일은 엄청날 수 있습니다. 이는 무손실 출력의 경우에 예상됩니다.
귀하의 플레이어나 장치가 무손실 파일을 재생하지 못할 수도 있습니다.
기술적으로 무손실은 아니지만 거의 무손실인 것처럼 보이는 "시각적 무손실" 출력을 원하는 경우
-crf 18
대신-crf 0
.필요하지 않습니다영화소스 필터. 내 예에 표시된 것처럼 다른 파일과 마찬가지로 입력에 오버레이 이미지를 추가하기만 하면 됩니다.
귀하는 PHP를 사용하고 있으므로 점진적인 다운로드를 통해 비디오를 제공한다고 가정하겠습니다.
-movflags +faststart
파일이 완전히 다운로드되기 전에 재생을 시작할 수 있도록 추가하세요 .