VLC가 트랜스코딩할 때 비디오 끝 부분을 자르는 이유는 무엇입니까?

VLC가 트랜스코딩할 때 비디오 끝 부분을 자르는 이유는 무엇입니까?

짧은(3:46) 비디오용으로 사용자 정의 자막 파일(Advanced SubStation Alpha)을 "구워내려고" 합니다. 그러나 다양한 명령줄 옵션을 시도했음에도 불구하고 VLC는 항상 비디오의 끝을 잘라내는 것 같습니다. 매개변수에 따라 몇 초에서 최대 1:05까지 단축됩니다.

내가 시도한 명령의 기본 형식은 다음과 같습니다.

vlc -v tdcutb.mp4 --run-time 300 --sub-file=tdcutb2.ass \
    --sub-track=1 -I rc --sout-transcode-threads 8 --sout \
    '#transcode{venc=x264'\
      '{crf=15,keyint=50,no-mixed-refs,ref=4,subme=7,weightp=2,me=umh},'\
      'vcodec=mp4v,vb=4096,acodec=mpga,ab=128,soverlay}'\
    ':standard{mux=mp4,dst=tdcutb-sub.mp4,access=file}' vlc://quit

나는 다른 --run-time값(완전히 생략함)과 다양한 x264 매개변수(10에서 25까지의 값, 10에서 250까지의 keyint, 1에서 4까지의 참조, 0에서 7까지의 subme를 사용하여 crf를 지정하거나 지정하지 않고)를 조작했습니다. , 가중치는 0에서 2까지). 나는 또한 vb 조정을 시도했습니다.

낮추면 전체 길이에 "가까워지는" 경향이 있지만 keyint값이 < 100이면 파일 크기가 터무니없게 커지기 시작합니다.아직전체 길이로 진행되지 않습니다. 이상하게도 줄이면 subme약간 도움이 되는 것 같지만 전체 길이의 출력도 얻지 못하고 품질도 저하됩니다.

참고로 저는 Mac OS X 10.9.4와 VLC 미디어 플레이어 2.1.0 Rincewind(개정 2.1.0-0-gedd8835)를 실행하고 있습니다.

편집하다: 이제 다른 인코더(venc=ffmpeg), 다른 코덱(codec=VP80), 다른 먹서(ffmpeg/webm)도 사용해 보았지만 모두 정도에 따라 실패했습니다(최악의 범죄자는 0:39 비디오를 공개함) ). 나는 이것이 특히 VLC와 관련이 있다는 것을 거의 확신합니다.

편집 2: 먼저 ffmpeg를 사용하여 WebM으로 트랜스코딩을 시도했습니다. 문제 없이 이 작업을 완료했지만(결과 비디오의 길이는 적절했습니다), VLC를 사용하여 ffmpeg에서 얻은 WebM 비디오의 자막을 굽으려고 시도했을 때 동일한 문제가 발생했습니다.

관련 정보