草庐IT

$ffmpeg、ffplay

全部标签

ffmpeg的基本用法

title:ffmpeg的基本用法categories:[ffmpeg]tags:[音视频编程]date:2021/11/18作者:hackett微信公众号:加班猿一、ffmpeg的安装1.Centos安装FFmpeg在默认的CentOS8源仓库中没有提供。你可以选择通过源文件编译安装FFmpeg,或者使用dnf工具从Negativo17源仓库中安装。我们将会使用第二个选项。完成下面的步骤,在CentOS8上安装FFmpeg:1.Negativo17软件源依赖EPEL和PowerTools软件源。以root或者其他有sudo权限的用户身份运行下面的命令,启用必须的软件源:sudodnfinst

php - FFMPEG : Add a fixed size image on a video, 不管视频的宽高(分辨率)

这是我通过PHP运行的向视频添加图像的代码:exec('ffmpeg-iinput.mp4-ilogo.png-filter_complex"[0:v][1:v]overlay=10:10"-pix_fmtyuv420p-c:acopyoutput.mp4');它运行良好,但问题是,图像在视频分辨率上按比例缩小或放大。例如在下面的图像中,Logo宽度为50px但视频分辨率不同:还有这个如何防止图像缩小/放大?更新感谢Mulvya,他提出了这些代码ffmpeg-iinput.mp4-ilogo.png-filter_complex"[1:v][0:v]scale2ref=(W/H)*ih

php - FFMPEG : Add a fixed size image on a video, 不管视频的宽高(分辨率)

这是我通过PHP运行的向视频添加图像的代码:exec('ffmpeg-iinput.mp4-ilogo.png-filter_complex"[0:v][1:v]overlay=10:10"-pix_fmtyuv420p-c:acopyoutput.mp4');它运行良好,但问题是,图像在视频分辨率上按比例缩小或放大。例如在下面的图像中,Logo宽度为50px但视频分辨率不同:还有这个如何防止图像缩小/放大?更新感谢Mulvya,他提出了这些代码ffmpeg-iinput.mp4-ilogo.png-filter_complex"[1:v][0:v]scale2ref=(W/H)*ih

[C#] FFmpeg 音视频开发总结

为什么选择FFmpeg?延迟低,参数可控,相关函数方便查询,是选择FFmpeg作为编解码器最主要原因,如果是处理实时流,要求低延迟,最好选择是FFmpeg。如果需要用Opencv或者C#的Emgucv这种库来处理视频流,也多是用FFmpeg做编解码然后再转换图像数据给Opencv去处理。用Opencv编解码延迟很高。其他的库多是基于FFmpeg封装,如果做一个视频播放器,像vlc这种库是非常方便的,缺点是臃肿,需要手动剔除一些文件,当然也有一些是基于FFmpeg封装好的视频播放器库,也能快速实现一个播放器。如果是加载单Usb接口中的多Usb摄像头,FFmpeg这时就无能为力了,经过测试使用Di

FFmpeg介绍及入门知识

1、简介  FFmpeg是一套由c语言编写的,可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,自身采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案,包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。FFmpeg项目由FabriceBellard创建于2000年,使用C语言和汇编语言编写。FFmpeg名称中的"FF"是“FastForward”的缩写,是快进的意思。“mpeg”则是标准化组织“MovingPicturesExpertsGroup”的缩写。属于自由软

使用GPU硬件加速FFmpeg视频转码

本文内容包括:在Linux环境下安装FFmpeg通过命令行实现视频格式识别和转码有Nvidia显卡的情况下,在Linux下使用GPU进行视频转码加速的方法1、FFmpeg编译安装在FFmpeg官网https://ffmpeg.org/download.html可以下载到ubunto/debian的发行包,其他Linux发行版需自行编译。同时,如果要使用GPU进行硬件加速的话,也是必须自己编译FFmpeg的,所以本节将介绍从源码编译安装FFmpeg的方法(基于RHEL/Centos)1.1安装依赖工具yuminstallautoconfautomakebzip2cmakefreetype-dev

Qt音视频开发28-ffmpeg解码本地摄像头(yuv422转yuv420)

一、前言一开始用ffmpeg做的是视频流的解析,后面增加了本地视频文件的支持,到后面发现ffmpeg也是支持本地摄像头设备的,只要是原则上打通的比如win系统上相机程序、linux上茄子程序可以正常打开就表示打通,整个解码显示过程完全一样,就是打开的时候要传入设备信息,而且参数那边可以指定分辨率和帧率等,本地摄像机一般会支持多个分辨率,用户需要哪种分辨率都可以指定该分辨率进行采集。这里要说的一个小插曲就是在linux上测试这个功能的时候,发现编译期间就失败了,这就奇怪了,后面发现是静态库的原因,为了偷懒,一开始编译的ffmpeg静态库,当换成动态库的方式以后,一步跑通不要太完美,完美使用,所以

Qt音视频开发28-ffmpeg解码本地摄像头(yuv422转yuv420)

一、前言一开始用ffmpeg做的是视频流的解析,后面增加了本地视频文件的支持,到后面发现ffmpeg也是支持本地摄像头设备的,只要是原则上打通的比如win系统上相机程序、linux上茄子程序可以正常打开就表示打通,整个解码显示过程完全一样,就是打开的时候要传入设备信息,而且参数那边可以指定分辨率和帧率等,本地摄像机一般会支持多个分辨率,用户需要哪种分辨率都可以指定该分辨率进行采集。这里要说的一个小插曲就是在linux上测试这个功能的时候,发现编译期间就失败了,这就奇怪了,后面发现是静态库的原因,为了偷懒,一开始编译的ffmpeg静态库,当换成动态库的方式以后,一步跑通不要太完美,完美使用,所以

用FFMPEG交叉编译OpenCV

我试图从UbuntuAMD64上的ARMHF架构来源与FFPMEG交叉编译OpenCV3.2。我已经安装了使用ffmpeg的库sudoapt-getinstalllibavcodec-dev:armhflibavformat-dev:armhflibswscale-dev:armhfsudoapt-getinstalllibjpeg-dev:armhflibpng-dev:armhflibtiff-dev:armhflibjasper-dev:armhf从github克隆openCV后,我运行了以下命令cmake-DENABLE_NEON=ON-DENABLE_VFPV3=ON-DWITH_F

java - 使用 Ffmpeg 设置视频流元数据

我正在使用JavaCVFFmpegFrameRecorder用于将Android的相机预览帧编码为视频的类。目标是复制以下命令行的结果:ffmpeg-iinput.mp4-metadata:s:v:0rotate="90"output.mp4我修改了startUnsafe()方法如下,但未能生成想要的输出:if((video_st=avformat_new_stream(oc,video_codec))!=null){video_c=video_st.codec();video_c.codec_id(oformat.video_codec());video_c.codec_type(A