ffmpeg命令

视频处理软件ffmpeg

蓝咒 提交于 2020-02-05 02:06:43
title: ffmpeg date: 2019-10-22 author: Firefly top: false cover: true img: coverImg: toc: true mathjax: false categories: 工具 tags: 树莓派 工具 ffmpeg 转载 ffmpeg的使用方式: ffmpeg [options] [[infile options] -i infile]… {[outfile options] outfile}… 常用参数说明: 主要参数: -i 设定输入流 -f 设定输出格式 -ss 开始时间 视频参数: -b 设定视频流量,默认为200Kbit/s -r 设定帧速率,默认为25 -s 设定画面的宽与高 -aspect 设定画面的比例 -vn 不处理视频 -vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器 音频参数: -ar 设定采样率 -ac 设定声音的Channel数 -acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器 -an 不处理音频 1.视频格式转换 (其实格式转换说法不太准确,但大家都这么叫,准确的说,应该是视频容器转换) 比如一个avi文件,想转为mp4,或者一个mp4想转为ts。 ffmpeg -i input.avi output.mp4 ffmpeg -i

使用ffmpeg进行网络直播

夙愿已清 提交于 2020-01-26 01:19:34
一、采集:使用python调用摄像头采集,原设想是使用树莓派摄像头采集,但是经费紧张买不起,先用摄像头凑合下,反正很简单。 原理就是先录一小段视频,然后循环播放,用celery做任务控制,每5秒钟录一段很小的视频,然后再循环录制。控制录制开始和停止的方法就是在redis钟设置一个键,录像程序运行的前提是这个键允许录制,如果要求录制停止就把这个键设置为停止。每5秒循环录制。正式使用后用python调用ffmpeg的命令进行推流直播,录制视频的格式是avi格式,要记得定时删除。录视频使用opencv的cv2库。注意安装最新版的opencv 二、安装simple rtmp server:从github上下载simple rtmp server,使用rtmp播放 https://github.com/ossrs/srs。 安装方法 http://blog.csdn.net/Henry_wk/article/details/50377881 安装时记得apt-get的源要使用默认源 安装好之后改配置文件,目录在trunk/conf/rtmp.conf,配置文件如下 # the config for srs to delivery RTMP # @see https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP # @see full.conf

FFmpeg Basic学习笔记(4)

Deadly 提交于 2020-01-26 01:19:09
图像处理 常见的图片格式包括YUV、BMP、JPG、GIF、PNG。 图像的创建 可以使用下面命令从输入源中截取图像 ffmpeg -i input -ss t image.type 从videoclip.avi中的1:23:45截一张图,输出为JPG。 ffmpeg -i videoclip.avi -ss 01:23:45 image.jpg 从视频中生成GIF GIF是比较常见的动图的格式,在网络上普遍使用。需要注意的GIF中的帧是未压缩的,帧数不能太多,否则可能导致生成文件过大。使用下面命令行可以从.flv中生成GIF。 ffmpeg -i promotion.swf -pix_fmt rgb24 promotion.gif ffmpeg提供的测试输入源 color 提供纯色的画面生成机制,参数中可指定显示颜色 smptebars 方形的电视节目测试图片,彩条 testsrc 圆形的电视节目测试图片,有一个变化的渐变进度条和右侧的一个时间戳。 上面几个输出源的分辨率是320x240。可以用下面命令测试下具体效果: ffplay -f lavfi -i smptebars ffplay -f lavfi -i testsrc ffplay -f lavfi -i color=random 视频转换为图片 可以使用下面命令将clip.avi中的视频帧存储为JPG图片

从动手到放弃之我不要自己编译ffmpeg了 【踩坑+草稿篇】

这一生的挚爱 提交于 2020-01-25 12:17:16
原本我在想要不要放出这篇文章来的,因为这篇文章不成熟,都是在编译ffmpeg---即使有前人放出来的源代码,但还是出现种种问题了----历经的各种坑,各种bug,但是其实一想,这些问题不会只有我一个人遇到的,放出来起码能让其他人做出参考。 在编译ffmpeg这期间,其实很耗时间,主要是不熟c++、cmake、makefile这些,还有几篇文章也是草稿类型,也是同时期涂鸦的: 都是废稿,不过可以说明一下ffmpeg不是拿一个源代码包编译就可以的: [运维] ubuntu等linux下编译配置ffmpeg以供c++调用[草稿] [运维] ubuntu等linux下编译配置ffmpeg以供c++调用 下面是正文: 前前言 我也不想有这个前前言的,然而,人工手动编译ffmpeg的难度已经超过我的想象了,即使有前人的智慧,但是我还是各种地雷,这个只是用来做踩坑用的一篇小笔记,如果正式要编译的话,那么直接看正式篇吧,这篇踩坑篇用来做什么?用来记录还有告诉其他人,你遇到的坑已经有人填过了。 前言 因为要涉足音视频的开发,所以,需要编译一下ffmpeg为静态库然后用c++调用。 然后,这种编译我重复了多次还是没办法成功---光是依赖都一大堆,而且要逐个编译--整个人都崩溃了,不过,好在看到了其他兄弟的编译脚本,尚算有一丝希望。 可以参考这个兄弟的: https://github.com

ffmpeg转码参数设置

孤街浪徒 提交于 2020-01-22 05:51:13
ffmpeg用了很久了,也没有想写点什么。 刚接触ffmpeg也是有大量的不理解的地方,不过慢慢的了解多了基本上都是可以使用的。 本文主要介绍如何使用ffmpeg.exe进行转码。编译好的ffmpeg可以从下面目录下载: http://ffmpeg.org/download.html 首先,可以使用-formats命令,查看ffmpeg支持的封装格式。 下面截取一段:(D、E分别表示解复用和复用) File formats: D. = Demuxing supported .E = Muxing supported -- E 3g2 3GP2 (3GPP2 file format) E 3gp 3GP (3GPP file format) D 4xm 4X Technologies E a64 a64 - video for Commodore 64 D aac raw ADTS AAC (Advanced Audio Coding) DE ac3 raw AC-3 D act ACT Voice file format D adf Artworx Data Format D adp ADP E adts ADTS AAC (Advanced Audio Coding) DE adx CRI ADX D aea MD STUDIO audio D afc AFC DE aiff

使用FFmpeg命令合并音视频

痴心易碎 提交于 2020-01-22 02:59:04
1.合并音频和视频 ffmpeg -i video.mp4 -i audio.aac -c:v copy -c:a copy -bsf:a aac_adtstoasc output.mp4 如果视频中已经包含了音频,替换视频中的音频,使用下面命令行 ffmpeg -i video.mp4 -i audio.aac -c:v copy -c:a copy -bsf:a aac_adtstoascmap 0:v:0 -map 1:a:0 output.mp4 2.横向合并视频 ffmpeg -i input1.mp4 -i input2.mp4 -lavfi hstack output.mp4 上面的命令虽然可以合并视频,两个视频可以正常播放,但是只保留了 input1.mp4的音频。input1和input2必须同样的高度,如果不一样的高度可以使用-shortest参数来保证同样的高度。 合并多个视频,可以使用下面命令行: ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -lavfi hstack=inputs=3 output.mp4 其中input=3表示希望合并的视频的个数 3.纵向合并视频 `ffmpeg -i input1.mp4 -i input2.mp4 -lavfi vstack output.mp4`` 4

FFMpeg的基本使用!

偶尔善良 提交于 2020-01-22 02:04:07
使用FFMpeg命令行方式进行多媒体技术操作! ffmpeg是多媒体技术一个重要的工具,可以实现对音频、视频进行各种操作,是非常厉害的一种多媒体软件,本次博客,学长将给大家讲解怎么用ffmpeg进行声音采集,接下来让我们来看吧! (一)、找到我们安装的ffmpeg,然后打开: 如上打开后,我们就可以运用命令行操作ffmpeg软件啦! 1、视频转换格式----将test.avi格式的软件转换为test.mp4 ffmpeg - i test . avi test . mp4 2、视频截图保存为图片 ffmpeg - i inputfile . avi - r 1 - q : v 2 - f image2 image - % 05d . jpg 1)、 -r :指定抽取的帧 即从视频中每秒抽取图片的数量 1代表每秒抽取一帧 2)、 -f :保存图片使用的格式 可省略 3)、 Image-%05d.jpg :指定文件的输出名字 3、截取与合并视频 1)、截取: ffmpeg - i 0005. mp4 - vcodec copy - acodec copy - ss 00 : 00 : 00 - to 00 : 00 : 100 d : / cutout1 . mp4 - y -ss :指定从什么时候开始 -t :指定需要截取多长时间 -i :指定输入文件 截取视频如果出现时间点不对

ffmpeg与H264编码指南

喜夏-厌秋 提交于 2020-01-19 04:38:22
注:本文属于转载译文,原文地址:http://blog.csdn.net/vblittleboy/article/details/8982857。 英文地址: https://trac.ffmpeg.org/wiki/Encode/H.264 。内容有一定出入,但是可以借鉴学习。 x264是一个 H.264/MPEG4 AVC 编码器,本指南将指导新手如何创建高质量的H.264视频。 对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR。码率控制是一种决定为每一个视频帧分配多少比特数的方法,它将决定文件的大小和质量的分配。 如果你在编译和安装libx264 方面需要帮助,请查看ffmpeg和x264编译指南: http://ffmpeg.org/trac/ffmpeg/wiki/CompilationGuide crf(Constant Rate Factor) : 该方法在输出文件的大小不太重要的时候,可以使整个文件达到特定的视频质量。该编码模式在单遍编码模式下提供了最大的压缩效率,每一帧可以按照要求的视频质量去获取它需要的比特数。不好的一面是,你不能获取一个特定大小的视频文件,或者说将输出位率控制在特定的大小上。 1 选择一个CRF值 量化比例的范围为0~51,其中0为无损模式,23为缺省值,51可能是最差的

redhat 5.4安装配置opencv

耗尽温柔 提交于 2020-01-18 09:28:24
redhat 5.4安装配置opencv 相关软件下载 操作系统: 相关软件: **我整理好的所有软件下载地址:** **也可以在软件官方下载地址:** 软件安装步骤 1、yasm安装步骤: 2、FFmpeg安装 需要注意的问题: 1、检查.bash_profile文件中有没有ffmpeg的程序执行目录 2、检查/etc/ld.so.conf.d/ffmpeg.conf 文件 3、检查/etc/bash.bashrc 文件 4、检查/etc/profile文件 3、cmake安装步骤: 4、OpenCV安装 需要注意的问题: 1、检查/etc/ld.so.conf.d/opencv.conf 文件 最后的忠告: 本文先开始参考:https://blog.csdn.net/weixin_30877227/article/details/95127120 进行安装配置,但是最后在运行opencv的时候,视频文件一直无法读取,为了解决这个问题花了很多时间来找原因,废话不多说,上干货。 相关软件下载 操作系统: Red Hat Enterprise Linux Server 5.4 64位 相关软件: ffmpeg-0.8.15.tar.bz2、cmake-3.5.1.tar.gz、OpenCV-2.3.1a.tar.bz2、 我整理好的所有软件下载地址: https://download

ffmpeg命令详解(转)

谁都会走 提交于 2020-01-18 05:14:14
摘自:https://www.cnblogs.com/AllenChou/p/7048528.html FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。[百度百科] ffmpeg使用语法 ffmpeg使用语法: ffmpeg [[options][`-i' input_file]]... {[options] output_file}... 如果没有输入文件,那么视音频捕捉就会起作用。 作为通用的规则,选项一般用于下一个特定的文件。如果你给 –b 64选项,改选会设置下一个视频速率。对于原始输入文件,格式选项可能是需要的。 缺省情况下,ffmpeg试图尽可能的无损转换,采用与输入同样的音频视频参数来输出。 3.选项 a) 通用选项 -L license -h 帮助 -fromats 显示可用的格式,编解码的,协议的。。。 -f fmt 强迫采用格式fmt -I filename 输入文件 -y 覆盖输出文件 -t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持 -ss position