자바로하고 싶다면 Xuggle을 사용하면 아주 쉽게 할 수있다. http://build.xuggle.com/view/Stable/job/xuggler_jdk5_stable/javadoc/java/api/index.html
어떻게 당신이 원하는 일을하는 방법을 알려주는 훌륭한 튜토리얼은 여기에 있습니다 : : HTTP :
그들은 문서가 여기에 모든 것을에게
을 수행하는 방법을 설명하는 좋은 웹 사이트가 // 블로그 .xuggle.com/2009/06/05/introduction-to-xuggler-mediatools/
간단한 트랜스 코딩 인 첫 번째 튜토리얼에서 원하는 것을 쉽게 할 수 있습니다.
나는 flv 로의 인코딩에 문제가 없다는 것을 발견했습니다. 배후에서하는 일은 ffmpeg를 사용하는 것입니다. 따라서 ffmpeg로 올라갈 것은 xuggle에서도 실패 할 것입니다.
관련 샘플 자바 코드는 다음과 같습니다 ... 여기 //wiki.xuggle.com/MediaTool_Introduction
일부 완벽하게 작동 Clojure의 코드를하려면 : 나는 HTTP에서 가져온
// create a media reader
IMediaReader reader = ToolFactory.makeReader("videofile.flv");
// add a viewer to the reader, to see the decoded media
reader.addListener(ToolFactory.makeWriter("output.mov", reader));
// read and decode packets from the source file and
// and dispatch decoded audio and video to the writer
while (reader.readPacket() == null)
;
: 지금 당신이해야 할 모든 같은 것이있다 :
(import '(com.xuggle.mediatool ToolFactory))
(import '(com.xuggle.mediatool IMediaDebugListener IMediaDebugListener$Event))
(defn readerRecurse
"calls .readPacket until there's nothing left to do2"
[reader]
(if (not (nil? (.readPacket reader))) ; here .readPacket actually does the processing as a side-effect.
true ; it returns null when it has MORE ro process, and signals an error when done...
(recur reader)))
(defn convert
"takes video and converts it to a new type of video"
[videoInput videoOutput]
(let [reader (ToolFactory/makeReader videoInput)]
(doto reader
(.addListener (ToolFactory/makeWriter videoOutput reader))
(.addListener (ToolFactory/makeDebugListener (into-array [IMediaDebugListener$Event/META_DATA]))))
(readerRecurse reader)))
입니다3210
(convert "/path/to/some_file.stupid_extention" "/path/to/awesome.flv")
그리고 끝났습니다!
공유 호스트 환경에서 실행중인 경우 CPU 사용량은주의해야합니다. 대부분의 계획은 충분한 디스크 공간과 대역폭을 제공하지만 사용하는 CPU 성능에 매우 인색합니다. – Kibbee