Javaを使用してビデオの長さを見つける方法はありますか?サムネイルを生成してビデオをエンコードするには、ffmpegを使用することができます。しかし、それはビデオの長さを取得するために使用することはできますか?Javaとffmpegでビデオの長さを見つける
おかげで、よろしく Abishek R Srikaanth
Javaを使用してビデオの長さを見つける方法はありますか?サムネイルを生成してビデオをエンコードするには、ffmpegを使用することができます。しかし、それはビデオの長さを取得するために使用することはできますか?Javaとffmpegでビデオの長さを見つける
おかげで、よろしく Abishek R Srikaanth
あなただけffmpeg -i filename
を呼び出す場合は、ファイルに関する情報を出力しますし、あなたが必要な情報を取得するために出力を解析することができます。
この目的でffprobeユーティリティを使用する必要があります。 FFProbeには通常、FFMpegの配信が付属していますので、/binフォルダを確認してください。あなたはあなたのビデオファイルに関する情報を与えることFFProbeたいXMLがまたはJSON(でもFFProbe出力http://www.ffmpeg.org/schema/ffprobe.xsdためのXSDがある)どのような形式で指定することができます。
したがって、たとえば:
ffprobe -loglevel error -show_format -show_streams video.mp4 -print_format xml=x=1 -noprivate
は、有効なXMLであなたの出力が得られます。
「ビデオ」ストリームセクションの属性のをご覧ください。これは、動画の再生時間(秒)です。
(avconv -i $FILE_NAME 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// | sed '[email protected]\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'
このコマンドを使用し
はavconvとffmpegのが同じ時間を秒単位で取得します。 Ubuntu 13.10以降では、ffmpegはavconv
に置き換えられています