ffmpeg将byte[]编码
时间: 2023-10-09 20:04:21 浏览: 137
要使用 ffmpeg 将 byte 数组编码,您需要先将其写入到临时文件中,然后使用 ffmpeg 将该文件编码。以下是一个 Java 示例代码:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class FFmpegEncoder {
public static void main(String[] args) {
byte[] data = new byte[/* your data length */];
/* fill the data array with your data */
File tempFile = null;
FileOutputStream fos = null;
try {
tempFile = File.createTempFile("temp", ".raw");
fos = new FileOutputStream(tempFile);
fos.write(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
String inputFilename = tempFile.getAbsolutePath();
String outputFilename = "output.mp4";
String ffmpegCmd = "ffmpeg -f s16le -ar 44100 -ac 2 -i " + inputFilename + " " + outputFilename;
try {
Process process = Runtime.getRuntime().exec(ffmpegCmd);
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
tempFile.delete();
}
}
```
此代码将 byte 数组写入到临时文件中,然后使用 ffmpeg 将该文件编码为 MP4 格式。请注意,此代码仅供参考,并且可能需要根据您的需求进行修改。
阅读全文