SpringBootでffmpegを統合する方法

ネイティブにFFmpegを統合するには、Java-FFmpegライブラリをご使用ください。以下に統合手順を示します。

  1. pom.xml
<dependencies>
    <!-- Other dependencies -->
    <dependency>
        <groupId>com.github.kokorin.jaffree</groupId>
        <artifactId>jaffree</artifactId>
        <version>3.3</version>
    </dependency>
</dependencies>
  1. FFmpegサービス
import java.io.IOException;
import com.github.kokorin.jaffree.ffmpeg.*;

@Service
public class FFmpegService {

    public void executeFFmpegCommand(String inputFilePath, String outputFilePath) throws IOException {
        FFmpeg.atPath()
                .addInput(Input.fromPath(inputFilePath))
                .addOutput(Output.toPath(outputFilePath))
                .execute();
    }
}

executeFFmpegCommandメソッドは、上記のコードでは入力ファイルパスと出力ファイルパスを引数として取り、Java-FFmpegライブラリを使用してFFmpegコマンドを実行します。

  1. FFmpegサービス
@RestController
public class VideoController {

    @Autowired
    private FFmpegService ffmpegService;

    @PostMapping("/convert")
    public void convertVideo(@RequestParam("inputFile") MultipartFile inputFile, @RequestParam("outputFile") String outputFile) throws IOException {
        Path inputFilePath = Files.createTempFile("input", inputFile.getOriginalFilename());
        inputFile.transferTo(inputFilePath);

        ffmpegService.executeFFmpegCommand(inputFilePath.toString(), outputFile);
    }
}

上記のコードでは、convertVideoメソッドは入力ファイルと出力ファイルの引数を受け取り、入力ファイルを一時ファイルに保存し、ffmpegServiceを呼び出してFFmpegコマンドを実行し、入力ファイルをoutputFileに変換します。

掲載されているコード例は参考用です。実際の環境に合わせて適切にカスタマイズしてください。

bannerAds