当前位置: 首页 > wzjs >正文

一个网站两个域名佛山百度关键词seo外包

一个网站两个域名,佛山百度关键词seo外包,互联网广告行业分析,靖江有帮助做苏宁易购网站的公司吗今天发现一个ffmpeg的用法,用子进程直接从标准输入写入输入,就可以从标准流式输出获取转码结果。 这样的好处是不用去写ffmpeg的代码,只需要写对ffmpeg的命令、在输入输出的地方加缓存就能进行流式转码了,方便快捷。 package ffm…

今天发现一个ffmpeg的用法,用子进程直接从标准输入写入输入,就可以从标准流式输出获取转码结果。
这样的好处是不用去写ffmpeg的代码,只需要写对ffmpeg的命令、在输入输出的地方加缓存就能进行流式转码了,方便快捷。

package ffmpegPro;
import java.io.*;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;public class Main {public static void main(String[] argv) {ExecutorService executor = Executors.newFixedThreadPool(8);Future<?> f1 = executor.submit(()->{progress("D:\\data\\audio\\a_out.wav","D:\\data\\audio\\a_output.pcm", executor);});Future<?> f2 = executor.submit(()->{progress("D:\\data\\audio\\b_out.wav","D:\\data\\audio\\b_output.pcm", executor);});try {f1.get();f2.get();} catch (InterruptedException | ExecutionException e) {e.printStackTrace();}executor.shutdown();}public static void progress(String inputPath, String outputPath, ExecutorService executor) {try {// 1. 定义 FFmpeg 命令(示例:H264 → VP9,实时转码)String[] ffmpegCmd = {"ffmpeg","-loglevel", "error","-hide_banner", "-nostats", //关闭日志"-f", "wav",      // 输入格式"-i", "pipe:0",    // 从标准输入读取"-f", "s16le",      // 输出格式"-acodec", "pcm_s16le","-ar", "8000",       // 16kHz"-ac", "1",           // 单声道"pipe:1"           // 输出到标准输出};// 2. 启动 FFmpeg 进程ProcessBuilder pb = new ProcessBuilder(ffmpegCmd);Process process = pb.start();// 3. 获取输入/输出流OutputStream ffmpegStdin = process.getOutputStream(); // FFmpeg 的 stdinInputStream ffmpegStdout = process.getInputStream(); // FFmpeg 的 stdoutInputStream ffmpegStderr = process.getErrorStream();  // FFmpeg 的 stderr(日志)// 4. 异步读取转码后的数据(防止阻塞)// 线程1:读取 FFmpeg 的输出(转码后的数据)executor.submit(() -> {byte[] buffer = new byte[8192];int bytesRead;try {FileOutputStream pcmFile = new FileOutputStream(outputPath);while ((bytesRead = ffmpegStdout.read(buffer)) != -1) {// 处理转码后的数据(示例:写入文件或推送到网络)System.out.println("收到转码数据,长度: " + bytesRead);pcmFile.write(buffer, 0, bytesRead);}} catch (IOException e) {e.printStackTrace();}});// 线程2:打印 FFmpeg 的错误日志(调试用)executor.submit(() -> {try (BufferedReader reader = new BufferedReader(new InputStreamReader(ffmpegStderr))) {String line;while ((line = reader.readLine()) != null) {System.err.println("[FFmpeg] " + line);}} catch (IOException e) {e.printStackTrace();}});// 5. 模拟向 FFmpeg 发送原始数据(示例:从文件读取)try (InputStream rawVideoStream = new FileInputStream(inputPath)) {byte[] buffer = new byte[8192];int bytesRead;while ((bytesRead = rawVideoStream.read(buffer)) != -1) {ffmpegStdin.write(buffer, 0, bytesRead);System.out.println("已发送原始数据,长度: " + bytesRead);}ffmpegStdin.close(); // 关闭输入流,通知 FFmpeg 结束} catch (IOException e) {e.printStackTrace();}// 6. 等待 FFmpeg 结束try {int exitCode = process.waitFor();System.out.println("FFmpeg 进程结束,退出码: " + exitCode);} catch (InterruptedException e) {e.printStackTrace();}} catch (Exception e) {e.printStackTrace();}}
}
http://www.dtcms.com/wzjs/503603.html

相关文章:

  • 广州工商注册查询系统百度seo多少钱一个月
  • 做网站换服务器怎么整微信营销的案例
  • 台州网站建设网站白酒最有效的推广方式
  • 国家企业信用信息系统年报入口南京seo优化培训
  • 潍坊做网站建设的公司外贸网站推广费用
  • 怎么做微帮网站西安优化排名推广
  • 网站开发 硬件环境优化关键词快速排名
  • 个性化定制客户和网站建设卢镇seo网站优化排名
  • 陕西建设交通集团招聘信息网站竞价推广账户托管费用
  • 网站开发技术试验教程百度信息流投放
  • 个人作品网站怎么做免费发广告的网站
  • 创意广告设计图搜索引擎优化的策略主要有
  • 一二三四影视在线观看免费视频网站推广seo
  • 个人购物网站需要备案吗网站推广哪个平台最好
  • 汽车租赁网站怎么做北京做百度推广的公司
  • 新泰网页设计seo专业培训课程
  • 线上推广团队福建企业seo推广
  • 广州网站建设 骏域域名查询阿里云
  • 低成本做网站百度左侧排名
  • 盐城网站优化方案品牌推广方式
  • 如何做赌博网站代理seo技术介绍
  • 网站建设视频教程郑州关键词seo
  • 郑州做网站优化最好的公司百度教育小程序
  • 网站开发云南宁波seo外包服务
  • 什么源码做有趣的网站免费注册公司
  • 沈阳网站制作优化什么软件可以推广
  • 搜索引擎网站模板怎么做推广和宣传
  • 湖南建设网站公司双11销售数据
  • 免费cms网站百度关键词网站排名优化软件
  • 用wordpress建一个网站吗自媒体培训