ffmpeg가 H.264 레벨을 무손실 4.1에서 4로 다운 그레이드 할 수 있습니까?


1

h.264 비디오 스트림이있는 .mkv 파일이 있습니다. 원래 인코딩을 수행 할 때 Samsung SmartTV와의 호환성을 위해 디코더 레벨을 4.1로 제한했습니다. 이제 레벨 4로 제한된 다른 디코더에 문제가 있습니다.

ffmpeg가 무손실 4.1 레벨에서 4 레벨로 다운 그레이드 할 수있는 방법이 있습니까?

답변:


1

직접 아닙니다. H264 비트 스트림을 수정하기 위해 사용자 정의 필터가 포함 된 이전 ffmpeg 빌드의 수정 된 버전 인 direct264의 ffmpeg 를 사용하십시오 .

ffmpeg -i in.mkv -vcodec copy -acodec copy -vbsf h264_changesps=level=40 out.mkv

물론이 모든 것은 비디오 스트림의 일부 비트를 변경하는 것입니다. 레벨을 다운 그레이드하기 때문에 다른 디코더가이 비디오를 부드럽게 재생하지 못할 수 있습니다.

이 빌드는 대부분의 다른 방식으로 손상되므로 이름을 바꾸거나 경로에 넣지 마십시오.


4.1에서 4.0으로, 스트림이 20mbps 미만이면 완벽하게 작동합니다. 4.1과 4.0의 유일한 차이점입니다.
szatmary

불행히도 나는 올바른 질문을하지 않았다고 생각합니다. 이 답변은 내가 한 질문에 대한 완벽한 답입니다. 그래서 저는 그것을 받아들입니다.
Jason S

변덕에 나는 ffmpeg -i file.mkv -map 0 -codec copy -codec:0 libx264 -level:0 4 file_out.mkv표준 빌드 ffmpeg를 사용해 보았습니다 . 동일한 바이트 길이의 파일을 생성했습니다. 내 문제는 하드웨어 디코더 속도 부족과 관련이있는 것으로 보이므로 몇 비트를 변경해도 문제가 해결되지 않을 수 있습니다.
Jason S
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.