2013-04-11 1 views
3

웹 사이트에서 웹캠 비디오의 녹화를 지원하려고합니다. 그런 다음 HTML5 재생을 지원하기 위해 MP4 및 WebM으로 트랜스 코딩해야합니다. 나는 ffmpeg 1.2를 우리 서버에 설치했고, 전체 프로세스가 꽤 잘 돌아가도록해야한다.매우 느린 ffmpeg로 MP4로 FLV 변환하기

내가 가진 한 가지 문제는 FLV를 MP4로 코드 변환하는 것입니다. 허용 할 수 없을 정도로 느리다. 8 초짜리 FLV는 코드 변환에 약 2.5 분이 걸립니다!

내가 사용 ffmpeg 명령은 다음과 같습니다

 
ffmpeg -y -i webcam.flv -c:a libfaac -ac 2 -b:a 64k -ar 44100 -c:v libx264 \ 
    -b:v 350k webcam.mp4 

내가 조금 앞으로이 문제에 가장 좋은 방법에 관한 손실입니다, 많은 ffmpeg PARAMS있다. 당신은 여기에서 테스트 FLV를 다운로드 할 수 있습니다

dropbox.com/s/hhd6uhdiuhk800w/webcam.flv

비해, WebM을가 약 5 초 소요에 트랜스 코딩 :

 
ffmpeg -y -i webcam.flv -c:a libvorbis -ac 2 -b:a 64k -ar 44100 -c:v libvpx \ 
    -b:v 350k -metadata:s:v:0 rotate=0 webcam.webm 
+0

그것은 쿼드 코어 i7 맥북 프로에 나를 위해 약 6 초 정도 걸립니다 ... 나에게 마술처럼 보인다. '-c : v libx264' 다음에'-preset superfast'를 추가하면 어떻게 될까요? 이렇게하면 대개 압축 효율이 떨어집니다. 명령에 대한 완전한 콘솔 출력도 제공하고 하드웨어에 대한 정보를 제공하십시오. – slhck

+0

thx foryour reply @slhck, 그것은 나를 돌아가서 ffmpeg 출력을 더 자세히 보았습니다. 그러면 ffmpeg 출력이 나에게 솔루션의 단서를주었습니다. 건배. –

답변

4

확인 내가 답을 찾을 수 있습니다. ffmpeg 출력을 자세히 살펴보면 다음과 같습니다.

[mp4 @ 0xa0060c0] Frame rate very high for a muxer not efficiently supporting it. 
Please consider specifying a lower framerate, a different muxer or -vsync 2 

doh. 그래서 출력 파일 앞에 마지막 매개 변수로 "-vsync 2"를 추가하고 매력을 만들었습니다. 약 10 초 정도의 트랜스 코딩 시간이 걸렸습니다! 매우 기쁘다. A/브이 입력의 모든 종류의

운동 "일반화"는 FFmpeg 설정은 여전히 ​​