我在SD卡中有视频文件。我想在第3到第5分钟对视频文件进行编码。我想说的是,
比方说,完整的视频文件是10分钟。现在我需要在要编码的视频的3到5分钟内检索视频数据并进行下一个过程。
我以前做过但只编码了完整的视频文件,我不知道在视频的特定时间对视频文件进行编码。请帮忙。以下是我编码的完整视频文件代码:
public void loadVideo(){
//convert whole file into byte
File file = new File("/sdcard/videooutput.mp4");
byte[] fileData = new byte[(int) file.length()];
FileInputStream in;
try {
in = new FileInputStream(file);
try {
in.read(fileData);
for(int readNum; (readNum = in.read(fileData)) != -1;){
}
} catch (IOException e) {
Toast.makeText(this, "IO exc READ file", 2500).show();
e.printStackTrace();
}
try {
in.close();
} catch (IOException e) {
Toast.makeText(this, "IO exc CLOSE file", 2500).show();
e.printStackTrace();
}
String encoded = Base64.encodeToString(fileData, Base64.DEFAULT);
hantar(encoded);
} catch (FileNotFoundException e) {
Toast.makeText(this, "FILE NOT FOUND", 2500).show();
e.printStackTrace();
}
请指导我。谢谢你的进步。
答案 0 :(得分:2)
您可以尝试使用this class。它从开始到结束位置裁剪视频,并将裁剪的视频保存到文件系统中的文件中。或者您可以使用它来实现自己的解决方案。
答案 1 :(得分:0)
已经回答了有关在Android上剪切或修剪视频的问题: Android sdk cut/trim video file
答案 2 :(得分:0)
您可以尝试使用INDE Media for mobile - https://software.intel.com/en-us/articles/intel-inde-media-pack-for-android-tutorials
它具有代码转换\ remuxing功能作为MediaComposer类,并且可以为结果文件选择片段