草庐IT

linux离线状态下将视频mp4格式转换m3u8

因为业务需求,python文件生成的视频为MP4格式,无法在前端浏览器正常播放,需切换m3u8格式,但因为服务器是没有网络的,因袭需要在离线状态下进行完成。1.离线安装ffmpeg看网上许多教程,ffmpeg可完成视频格式的转换,首先进行离线安装。参考博文:https://blog.csdn.net/weixin_45181398/article/details/126590902因为ffmpeg的安装,需要用到yasm安装包,因此没有安装yasm的需要先进行安装。离线安装yasm[yasm-release]下载安装包,传到服务器上进行解压安装#解压安装tar-zxvfyasm-1.3.0.t

针对m3u8视频加密的一些尝试

前言:记得我开始之前发过一篇关于某网课的m3u8视频解密的文章,就是下面这篇。很多小伙伴就看到这篇文章,来到群里问我。我也看到了很多不同的加密(有些加密真变态啊!)。学到了很多。困难1比如play.js这个js就是在播放视频的时候加载,而且在play.js链接后面加上了时间戳,导致调试难度加大。每次断点都断不住,因为每次js链接都不一样。覆盖也无法覆盖困难2然后就是跟半天,key就是32位的arraybuffer,一直跟不到16位的。当然我是个小菜鸡。按照一般来说,AES128的key应该是16的。他应该会有个解密的,但是就是没跟到。困难3对开发者工具有检测其他还有一些小问题,比如清除控制台之

针对m3u8视频加密的一些尝试

前言:记得我开始之前发过一篇关于某网课的m3u8视频解密的文章,就是下面这篇。很多小伙伴就看到这篇文章,来到群里问我。我也看到了很多不同的加密(有些加密真变态啊!)。学到了很多。困难1比如play.js这个js就是在播放视频的时候加载,而且在play.js链接后面加上了时间戳,导致调试难度加大。每次断点都断不住,因为每次js链接都不一样。覆盖也无法覆盖困难2然后就是跟半天,key就是32位的arraybuffer,一直跟不到16位的。当然我是个小菜鸡。按照一般来说,AES128的key应该是16的。他应该会有个解密的,但是就是没跟到。困难3对开发者工具有检测其他还有一些小问题,比如清除控制台之

FFMPEG将视频切片成ts文件并对ts文件进行ASE加密,并合并成M3U8操作方法

环境:centos7开发语言:php框架:视频转码服务系统生成ASE加密文件需要用到的命令:#!/bin/shBASE_URL=${1:-'.'}opensslrand16>file.keyecho$BASE_URL/file.key>file.keyinfoechofile.key>>file.keyinfoecho$(opensslrand-hex16)>>file.keyinfo参数详解:BASE_URL:网站url地址opensslrand16>file.key生成一个key文件echo$BASE_URL/file.key>file.keyinfo将外部访问的file.key映射到fi

FFMPEG将视频切片成ts文件并对ts文件进行ASE加密,并合并成M3U8操作方法

环境:centos7开发语言:php框架:视频转码服务系统生成ASE加密文件需要用到的命令:#!/bin/shBASE_URL=${1:-'.'}opensslrand16>file.keyecho$BASE_URL/file.key>file.keyinfoechofile.key>>file.keyinfoecho$(opensslrand-hex16)>>file.keyinfo参数详解:BASE_URL:网站url地址opensslrand16>file.key生成一个key文件echo$BASE_URL/file.key>file.keyinfo将外部访问的file.key映射到fi

ESP32+Arduino+OLED+u8g2播放视频

1、思路分析ESP32采用Arduino开发,结合u8g2模块可以很方便地实现在oled上显示图片。因此,只需要将一个视频拆开成一帧帧,然后循环显示即可。然而,有几个问题:视频太大,esp32的flash无法存下怎么办?答:两种方案:视频存储在电脑,一帧帧发送给ESP32即可,这样ESP32每次只需要存放一帧。可以通过【串口】发送给ESP32,也可以采用【socket协议】发送。(均可以采用python实现发送方的代码)如何将图片转换成u8g2能够显示的格式?通常我们使用u8g2显示图片,需要使用PCtoLCD2022这个软件将图片格式转换,其配置如下。为了能够传输视频,需要用python【实

ESP32+Arduino+OLED+u8g2播放视频

1、思路分析ESP32采用Arduino开发,结合u8g2模块可以很方便地实现在oled上显示图片。因此,只需要将一个视频拆开成一帧帧,然后循环显示即可。然而,有几个问题:视频太大,esp32的flash无法存下怎么办?答:两种方案:视频存储在电脑,一帧帧发送给ESP32即可,这样ESP32每次只需要存放一帧。可以通过【串口】发送给ESP32,也可以采用【socket协议】发送。(均可以采用python实现发送方的代码)如何将图片转换成u8g2能够显示的格式?通常我们使用u8g2显示图片,需要使用PCtoLCD2022这个软件将图片格式转换,其配置如下。为了能够传输视频,需要用python【实

ESP32 入门笔记04: 0.96寸OLED 显示屏 + u8g2库丝滑显示UI (ESP32 for Arduino IDE)

先导知识ESP32入门笔记01:开发板信息、开发环境搭建以及学资料准备ESP32入门笔记02:GPIO参考指南在本例中,我们使用I2C通信协议。ESP32中最适合I2C通信的引脚是通用输入输出接口22(SCL)和通用输入输出接口21(SDA)。安装SSD1306OLED库–ESP32(也可以用u8g2库,在ArduinoIDE中可以搜索下载该库)有几个库可用于使用ESP32控制OLED显示器。在本教程中,我们将使用两个Adafruit库:Adafruit_SSD1306库和Adafruit_GFX库。下载库文件,解压在ArduinoIDE安装的对应路径。在您的ArduinoIDE中,转到文件>

ESP32 入门笔记04: 0.96寸OLED 显示屏 + u8g2库丝滑显示UI (ESP32 for Arduino IDE)

先导知识ESP32入门笔记01:开发板信息、开发环境搭建以及学资料准备ESP32入门笔记02:GPIO参考指南在本例中,我们使用I2C通信协议。ESP32中最适合I2C通信的引脚是通用输入输出接口22(SCL)和通用输入输出接口21(SDA)。安装SSD1306OLED库–ESP32(也可以用u8g2库,在ArduinoIDE中可以搜索下载该库)有几个库可用于使用ESP32控制OLED显示器。在本教程中,我们将使用两个Adafruit库:Adafruit_SSD1306库和Adafruit_GFX库。下载库文件,解压在ArduinoIDE安装的对应路径。在您的ArduinoIDE中,转到文件>

Spring boot视频播放(解决MP4大文件无法播放),整合ffmpeg,用m3u8切片播放。

一.首先说一下,不超过500M的视频如何提供给前端,这种方式比较快速,但是对前端不友好,特别大的视频文件,浏览器无法播放。下面是Java代码实例。这种方式不需要引入依赖。首先进行配置importorg.springframework.core.io.FileSystemResource;importorg.springframework.core.io.Resource;importorg.springframework.stereotype.Component;importorg.springframework.web.servlet.resource.ResourceHttpRequest