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

wordpress自媒体新闻模板搜索引擎优化seo应用

wordpress自媒体新闻模板,搜索引擎优化seo应用,h5页面制作案例,专门做海外代购的网站今天发现一个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/179683.html

相关文章:

  • 烟台 o2o平台带动做网站行业今日中国新闻
  • wordpress用户发文章外贸seo软文发布平台
  • 沙井做网站公司怎么自己刷推广链接
  • 企业邮箱怎么申请入口深圳seo培训
  • 效果图制作代做网站深圳网站设计公司哪家好
  • 北京网站建设好不好天新闻网站软文平台
  • wordpress主题 qux上海好的seo公司
  • 腾宁科技做网站399元全包网站模板价格
  • 网络营销实训总结报告武汉seo托管公司
  • 那个软件可以做网站百度客服怎么转人工
  • 商业网站建设开发网络广告推广服务
  • 做网站什么分类流量多精准网站seo诊断报告
  • 怎么编辑网站后台谷歌官网下载
  • 青海营销型网站建设找客户资源的软件哪个最靠谱
  • 明起3天洛阳市开展区域核酸检测沈阳seo网站推广
  • 天元建设集团有限公司年产值广州seo网站优化培训
  • 订阅号怎么做免费的视频网站公司网站设计哪家好
  • 做贷款的网站有哪些免费建站系统官网
  • 个人怎么做一个网站关键词优化排名软件
  • 深圳市住房和建设局地址口碑seo推广公司
  • 手机抖音你做我女朋友好吗套路网站营销推广平台
  • 自己如何做网站统计阿里云域名注册
  • wordpress 批量 产品西安seo网络推广
  • 临猗商城网站建设平台搜索引擎优化答案
  • 好网站范例百度小说搜索风云排行榜
  • javaweb网站开发的步骤互联网产品运营推广方案
  • 免费国外服务器租用seo优化公司
  • 济宁市城市建设局网站windows优化大师怎么样
  • 深圳做网上商城网站关于网络营销的方法
  • 长沙优化网站分析58同城关键词怎么优化