Se vuoi farlo con java, puoi farlo facilmente usando Xuggle.
Hanno un grande sito web che spiega come fare tutto
la documentazione è qui: http://build.xuggle.com/view/Stable/job/xuggler_jdk5_stable/javadoc/java/api/index.html
e un ottimo tutorial che ti dice come fare quello che vuoi è qui: http: // blog .xuggle.com/2009/06/05/introduction-to-xuggler-mediatools/
Forniscono un modo semplice per eseguire ciò che si desidera nel primo tutorial, che è semplice codifica.
Ho trovato che funziona bene per la codifica in FLV. Quello che fa dietro le quinte è usare ffmpeg, quindi tutto ciò che farà scattare ffmpeg fallirà anche con xuggle.
Il codice di esempio Java rilevante è:
// 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)
;
che ho ricevuto da http: //wiki.xuggle.com/MediaTool_Introduction
Se volete un po 'di codice clojure completamente funzionante ... qui è :)
(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)))
ora tutto quello che dovete fare è qualcosa di simile:
(convert "/path/to/some_file.stupid_extention" "/path/to/awesome.flv")
e il gioco è fatto!
fonte
2010-04-09 04:43:23
L'utilizzo della CPU è sicuramente qualcosa che dovresti fare attenzione se stai utilizzando un ambiente di hosting condiviso. La maggior parte dei piani offre molto spazio su disco e larghezza di banda, ma è molto avara della potenza della CPU che si utilizza. – Kibbee