将一系列图像从java应用程序传输到ffmpeg子进程
我正在寻找一种将一系列图像(JPEG)从java应用程序流式传输到FFMpeg标准管道的方法。 FFMpeg应该处理这些图像并创建一个视频文件作为输出 FFMpeg作为java应用程序的子进程使用以下命令“FFMpeg.exe-i pipe:0 out.avi”执行 当我在控制台中运行“ffmpeg-i input.jpg out.avi”命令时,我得到了预期的“out.avi”文件 但是,当我在java应用程序中使用以下测试程序代码时,出现了一个错误 Java应用程序中的代码: FFMpeg输出: ffmpeg版本N-59664-g94cf4f8版权所有(c)2000-2014 ffmpeg开发人员于2014年1月7日22:07:02使用gcc 4.8.2(gcc)构建将一系列图像从java应用程序传输到ffmpeg子进程,java,ffmpeg,pipe,bufferedimage,Java,Ffmpeg,Pipe,Bufferedimage,我正在寻找一种将一系列图像(JPEG)从java应用程序流式传输到FFMpeg标准管道的方法。 FFMpeg应该处理这些图像并创建一个视频文件作为输出 FFMpeg作为java应用程序的子进程使用以下命令“FFMpeg.exe-i pipe:0 out.avi”执行 当我在控制台中运行“ffmpeg-i input.jpg out.avi”命令时,我得到了预期的“out.avi”文件 但是,当我在java应用程序中使用以下测试程序代码时,出现了一个错误 Java应用程序中的代码: FFMpeg输
配置:---启用gpl--enable-version3--disable-w32threads--enable avisynth--enable fontconfig--enable-frei0r--enable gnutls--enable iconv--enable libass--enable libbluray--enable libcaca--enable libfreetype--enable libilbc--enable libmodplug--enable libmp3lame--enable libopencore amrnb--启用libopencore-amrwb--enable libopenjpeg--enable libopus--enable librtmp--enable libschroedinger--enable libsoxr--enable libspeex--enable libthera--enable libtwolame--enable libvidstab--enable libvo aacenc--enable libvorbis--enable libvpx--enable libwavpack--enable-libx264--enable libxavs--启用libxvid——启用zlib
libavutil 52. 62.100 / 52. 62.100
libavcodec 55. 47.100 / 55. 47.100
libavformat 55. 22.102 / 55. 22.102
libavdevice 55. 5.102 / 55. 5.102
libavfilter 4. 0.103 / 4. 0.103
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
管道::处理输入时发现无效数据
有什么办法让它工作吗
非常感谢您抽出时间。我认为您不应该重定向输入。默认情况下,ProcessBuilder生成一个从管道读取输入的进程。首先确保代码中使用的确切命令在命令行中起作用。对于管道,似乎必须手动指定格式和编解码器:
ffmpeg -f image2pipe -codec mjpeg -i pipe:0 out.avi < input.jpg
ffmpeg-f image2pipe-codec mjpeg-i管道:0 out.avi
Java程序本身看起来不错
ffmpeg -f image2pipe -codec mjpeg -i pipe:0 out.avi < input.jpg