草庐IT

$ffmpeg、ffplay

全部标签

使用ffmpeg将多个TS视频拼接成mp4视频

1.下载安装ffmpeg点击下面网址下载对应版本安装https://ffmpeg.org/download.html 下载好之后添加环境变量添加成功之后在cmd窗口输入ffmpeg,显示如下结果则为成功 2.合并视频操作合并单个文件或者少量文件时,通过以下命令合并ffmpeg-i"concat:1.ts|2.ts"-acodeccopy-vcodeccopy-absfaac_adtstoascoutput.mp4多个ts视频可以编辑一个txt文档,file.txtfile'1.ts'file'2.ts'file'3.ts'file'4.ts'file'5.ts'file'6.ts'注意:这里必

MacOS安装FFmpeg

MacOS安装FFmpeg方式一、使用Homebrew安装FFmpeg1.安装Homebrew2.安装FFmpeg方式二、通过官网安装FFmpeg方式一、使用Homebrew安装FFmpeg1.安装Homebrew如果你的Mac上没有安装Homebrew,那么就先来安装Homebrew吧!步骤如下:打开Terminal,执行如下命令/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)"如果出现以下报错:curl:(28)Failedtoconnecttoraw.g

关于FFmpeg报错Error when loading first segment和Invalid data found when processing input

关于FFmpeg报错Errorwhenloadingfirstsegment和Invaliddatafoundwhenprocessinginput解决方法写在最前错误截图思路解决方法写在最前        如果在下载ts文件时已经解密过,FFmpeg在使用m3u8文件合并时就不要带#EXT-X-KEY。错误截图思路        一开始我查看了很多关于这两个报错的博客,如下使用ffmpeg将m3u8文件转为mp4m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)ffmpeg合并m3u8tskey文件解决Invaliddatafoundwhenprocessinginp

关于FFmpeg报错Error when loading first segment和Invalid data found when processing input

关于FFmpeg报错Errorwhenloadingfirstsegment和Invaliddatafoundwhenprocessinginput解决方法写在最前错误截图思路解决方法写在最前        如果在下载ts文件时已经解密过,FFmpeg在使用m3u8文件合并时就不要带#EXT-X-KEY。错误截图思路        一开始我查看了很多关于这两个报错的博客,如下使用ffmpeg将m3u8文件转为mp4m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)ffmpeg合并m3u8tskey文件解决Invaliddatafoundwhenprocessinginp

FFmpeg5.0源码阅读——avformat_open_input

  摘要:本文主要描述了FFmpeg中用于打开文件接口avformat_open_input的具体调用流程,详细描述了该接口被调用时所作的具体工作。  关键字:ffmpeg、avformat_open_input  注意:读者需要了解FFmpeg的基本使用流程,以及一些FFmpeg的基本常识,了解FFmpegIO相关的内容,以及大致的解码流程。1avformat_open_input大致流程  在了解avformat_open_input的具体实现之前,我们先简单看下具体的函数声明和使用方式。avformat_open_input函数调用时会检测一部分当前格式的信息,更多的信息需要调用avfo

13 rtsp视频服务 基于node+ffmpeg 转换为 flv 视频服务

前言接上一篇文章 rtsp视频服务转换为rtmp服务转换为前端可用的服务继续讨论前端播放rtsp视频服务  rtsp视频服务转换为rtmp服务转换为前端可用的服务 会使用到ffmpeg来实现rtsp服务转换为rtmp服务,nginx-http-flv来实现rtmp服务转换为http-flv服务,因此前端可以直接播放视频 这里使用node作为后台服务,使用ffmpeg基于websocket协议将rtsp直接转换为前端可用的flv视频数据 我们这里参考的代码来自于 GitHub-LorinHan/flvjs_test:采用flvjs实现摄像头直播主要包含一个node作为代理服务器,加上一个测试的前

13 rtsp视频服务 基于node+ffmpeg 转换为 flv 视频服务

前言接上一篇文章 rtsp视频服务转换为rtmp服务转换为前端可用的服务继续讨论前端播放rtsp视频服务  rtsp视频服务转换为rtmp服务转换为前端可用的服务 会使用到ffmpeg来实现rtsp服务转换为rtmp服务,nginx-http-flv来实现rtmp服务转换为http-flv服务,因此前端可以直接播放视频 这里使用node作为后台服务,使用ffmpeg基于websocket协议将rtsp直接转换为前端可用的flv视频数据 我们这里参考的代码来自于 GitHub-LorinHan/flvjs_test:采用flvjs实现摄像头直播主要包含一个node作为代理服务器,加上一个测试的前

Qt音视频开发27-ffmpeg视频旋转显示

一、前言用手机或者平板拍摄的视频文件,很可能是旋转的,比如分辨率是1280x720,确是垂直的,相当于分辨率变成了720x1280,如果不做旋转处理的话,那脑袋必须歪着看才行,这样看起来太难受,所以一定要想办法解析到视频的旋转角度,然后根据这个角度重新绘制。在窗体那边也需要调整对应的分辨率,一般都是宽度高度互换。其实早期的很多播放器比如vlc2版本的播放器也是不支持旋转的,从vlc3开始内置会自动给旋转,估计这种场景越来越多,毕竟现在智能手机大行其道,用手机拍摄的视频很多都是竖屏的。在ffmpeg中旋转frame帧数据,有多种方式,方式一是直接通过运算逐行取出数据,重新组织旋转后的视频帧数据;

Qt音视频开发27-ffmpeg视频旋转显示

一、前言用手机或者平板拍摄的视频文件,很可能是旋转的,比如分辨率是1280x720,确是垂直的,相当于分辨率变成了720x1280,如果不做旋转处理的话,那脑袋必须歪着看才行,这样看起来太难受,所以一定要想办法解析到视频的旋转角度,然后根据这个角度重新绘制。在窗体那边也需要调整对应的分辨率,一般都是宽度高度互换。其实早期的很多播放器比如vlc2版本的播放器也是不支持旋转的,从vlc3开始内置会自动给旋转,估计这种场景越来越多,毕竟现在智能手机大行其道,用手机拍摄的视频很多都是竖屏的。在ffmpeg中旋转frame帧数据,有多种方式,方式一是直接通过运算逐行取出数据,重新组织旋转后的视频帧数据;

ffmpeg推流性能优化

ffmpeg推流优化性能在使用ffmpeg推流时,可以通过设置缓存大小来调整推流的性能。可以使用以下选项:-max_delay:设置最大延迟时间。如果延迟超过这个时间,将跳过缓冲并立即发送数据。默认值为10000毫秒。-bufsize:设置缓冲区大小,以比特为单位。默认值为2000000比特。-rtbufsize:设置实时缓冲区大小,以比特为单位。默认值为2000000比特。示例:性能优化ffmpeg-iinput.mp4-codec:vcopy-codec:aaac-fflv-max_delay5000-bufsize500000-rtbufsize500000rtmp://server/l