调用JSch实现mp4转m3u8格式

这篇具有很好参考价值的文章主要介绍了调用JSch实现mp4转m3u8格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章说明

今天记录一下通过JSch实现MP4转m3u8格式文件。另外,如果需要转载我的文章,请表明文章出处及作者。https://blog.csdn.net/caleb_520/article/details/131701421?spm=1001.2014.3001.5502

实现方法

  1. ProcessBuilder ,这个是通过java调用cmd命令
  2. JSch,由Java实现的SSH2协议的库,它提供了一种在Java程序中连接和操作SSH服务器的方式。它允许你通过SSH协议在本地和远程机器之间建立安全的通信连接,并通过SFTP协议进行文件传输

采用JSch实现mp4转m3u8

import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class FileUploader {
    public static void main(String[] args) {
        // 指定本地待上传的文件路径
        String localFilePath = "/path/to/local/file.mp4";
        // 指定远程服务器存储路径
        String remoteFilePath = "/path/to/remote/file.mp4";

        // 上传文件到远程服务器
        uploadFile(localFilePath, remoteFilePath);

        // 执行FFmpeg转码操作
        transcodeFile(remoteFilePath);
    }

    private static void uploadFile(String localFilePath, String remoteFilePath) {
        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession("your_username", "server_address", 22);
            session.setConfig("StrictHostKeyChecking", "no");
            session.setPassword("your_password");
            session.connect();

            ChannelExec channel = (ChannelExec) session.openChannel("exec");
            String command = "scp " + localFilePath + " user@server:" + remoteFilePath;
            channel.setCommand(command);
            channel.connect();
            channel.disconnect();

            session.disconnect();

            System.out.println("文件上传成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("文件上传失败!");
        }
    }

    private static void transcodeFile(String remoteFilePath) {
        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession("your_username", "server_address", 22);
            session.setConfig("StrictHostKeyChecking", "no");
            session.setPassword("your_password");
            session.connect();

            ChannelExec channel = (ChannelExec) session.openChannel("exec");
            String command = "ffmpeg -i " + remoteFilePath + " -c:v copy -c:a copy transcoded.mp4";
            channel.setCommand(command);

            StringBuilder output = new StringBuilder();
            InputStream in = channel.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));

            channel.connect();

            String line;
            while ((line = reader.readLine()) != null) {
                output.append(line).append("\n");
            }

            channel.disconnect();
            session.disconnect();

            System.out.println("文件转码成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("文件转码失败!");
        }
    }
}

转换方式,大家可以参考代码中的transcodeFile文章来源地址https://www.toymoban.com/news/detail-576952.html

到了这里,关于调用JSch实现mp4转m3u8格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 爬虫 m3u8 视频文件 加密解密 整合mp4

    完整代码如下: 1. 认识m3u8文件 m3u8 的结构详细分析可以看这个链接m3u8 文件格式详解 - 简书 (jianshu.com),这里我们只简要介绍一下; 相信无论多小白都应该知道如何打开开发者模型解析得到下面的结果; 要注意的是,只有预览里面包含了 ts 信息的才算是我们需要的 m3u8 文件

    2024年02月20日
    浏览(52)
  • 前端vue播放m3u8、flv、mp4视频的方法

    安装依赖 npm install video.js --save // 视频播放器插件 npm install videojs-contrib-hls --save // 播放hls流插件 页面引入插件 页面中的使用 简介:flv.js是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。由 bilibili 网站开源。 开源地址: https://github.com/Bilibili/flv.js/ 安装依

    2024年02月13日
    浏览(58)
  • m3u8、rtmp、flv、mp4在线测试地址(亲测有效)

    1. m3u8: 湖南卫视直播:http://219.151.31.38/liveplay-kk.rtxapp.com/live/program/live/hnwshd/4000000/mnf.m3u8 计时器:http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8 2. rtmp: 伊拉克 Al Sharqiya 电视台: rtmp://ns8.indexforce.com/home/mystream 韩国GOOD TV: rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp 3. flv 西瓜播

    2024年02月11日
    浏览(66)
  • 关于FFmpeg将m3u8合并成mp4之后时长不对的解决方法

    导致时长不对的合并方法 concat方法会导致合并的视频时长有问题 时长正确的合并方法 使用读取m3u8文件的方式合并,合并出的视频时长是正确的。(注意:生成本地m3u8文件的时候要注意ts文件是否在下载时已经解密。如果已经解密,则生成的m3u8文件中不需要#EXT-X-KEY。) 参考

    2024年02月11日
    浏览(58)
  • Ueditor 富文本编辑器 插入 m3u8 和 mp4 视频(PHP)

    当前环境:PHP、Ueditor的版本是1.4.3 新的需求是,需要在Ueditor 富文本编辑器中,插入视频播放,并且视频格式有MP4,也有M3U8。 百度编辑器默认的是embed,需要修改下配置。 ueditor.all.js 和 ueditor.config.js 这两个文件要改一些东西,具体我这里就不展示了,网上有很多文章都有写

    2024年02月11日
    浏览(72)
  • windows使用ffmpeg将MP4转m3u8使用参数详解,视频添加水印和压缩

    目录 背景: 一、什么是m3u8: 二、为什么使用m3u8: 三、安装ffmpeg: 1、下载后直接解压: 2、配置环境变量: 四、开始转换m3u8: 五、视频添加水印和压缩: 1. 给视频加上水印图片 2.输出视频的尺寸 3.输出文件的起始文件 4.输出文件的最小大小 和 最大的大小(会影响视频质量

    2024年02月07日
    浏览(69)
  • 「Python|音视频处理|场景案例」如何使用ffmpeg下载m3u8视频到本地并保存成mp4

    本文主要介绍如何使用ffmpeg批量下载视频到本地并保存成指定格式。 当我们希望将网页上的视频下载到本地的时候,我们可能获取到的视频地址是指向 .m3u8 格式的,当视频多的时候,手动下载并使用工具转换格式就显得工作量过大。 ffmpeg 是一个强大的音视频处理工具,具体

    2024年02月16日
    浏览(78)
  • 原生小程序实现视频监控(m3u8格式)

    本文主要实现实时播放监控视频,基于原生微信小程序实现 1、在.wxml文件代码,视频一定要写宽高,不然可能显示不出来,以下属性介绍 src:视频地址, controls:是否显示默认播放控件(播放/暂停按钮、播放进度、时间) binderror: 视频播放出错时触发 show-center-play-btn:是

    2023年04月08日
    浏览(35)
  • vue使用video.js实现播放m3u8格式的视频

    我使用的video.js版本如下: 在components下新建一个VideoPlayer文件夹 index如下:  直接把地址传给sourceUrl即可

    2024年02月12日
    浏览(46)
  • m3u8 文件格式详解

    M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。\\\"M3U\\\" 和 \\\"M3U8\\\" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。 上述文字定义来自于维基百科。可以看到,m3u8 文件其实是 HTTP Live Streaming(缩写为 HLS) 协议的部分内

    2023年04月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包