• ffmpeg 视频处理命令集合


    最近用到ffmpeg来处理视频,把用到的命令整理在这里做个备忘。

    使用的ffmpeg版本2.0.1,从官网下载源码,编译很简单:

    ./configure

    make

    常用命令:

    - 查看视频信息

    ffmpeg -i a.avi

    - 转成mpegts文件

    ffmpeg -i 1.avi -vcodec mpeg4 -f mpegts -qscale 1 1.avi.ts

    使用 -qscale 来设置视频质量,否则转换后视频质量会下降。

    - 转成udp ts流

    ffmpeg -re -i 1.avi -vcodec mpeg4 -f mpegts -qscale 1 udp://localhost:1234

    - 转成rtp流

    ffmpeg -re -i 1.avi -f rtp -an rtp://localhost:554

    - 转成灰度裸视频

    ffmpeg -i a.ts -f rawvideo -pix_fmt gray a.gray.ts 

    - 转成yuv裸视频

    ffmpeg -i a.ts -f rawvideo -pix_fmt uyvy422 a.gray.ts 

    - 拼接视频

    ffmpeg -i concat:"1.ts|2.ts|3.ts" -vcodec copy merge.ts

    使用-vcodec copy参数的话,拼接出来的视频未经过重新编码,可能时间戳会有问题,导致使用ffmpeg对该视频做其他处理时drop frames,所以最好是拼接后重新编码。

    - 截取一段视频

    ffmpeg -i 1.ts -ss 00:00:00 -t 00:00:10 10_seconds.ts

    - 从视频中提取图片

    ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt gray -s 720x576 -i sample.ts.gray -f image2 -vcodec bmp %04d.bmp

    - 视频添加logo

    ffmpeg -i 10.20.ts -vf "movie=../resource/youku_logo.png [logo]; [in][logo] overlay=main_w - overlay_w - 10:10 [out]" -q:v 1 -vcodec mpeg4 10.20.logo.ts

    - 转分辨率

    ffmpeg -i a.ts -s 720x576 -r 25 -aspect 5:4 b.ts

    - 视频裁剪

    ffmpeg -i demo.mp4 -filter:v "crop=10:20:100:100" out.mp4

    - 视频旋转

    ffmpeg -i demo.mp4 -vf "transpose=1" out.mp4

    0 = 90CounterCLockwise and Vertical Flip (default)
    1 = 90Clockwise
    2 = 90CounterClockwise
    3 = 90Clockwise and Vertical Flip
    For 180 you can use -vf "transpose=2,transpose=2"
  • 相关阅读:
    二叉搜索查找排序树
    多项式运算
    赫夫曼编码及应用
    利用python画出动态高优先权优先调度
    利用python画出SJF调度图
    支持向量机
    fisher线性分类器
    Codeforces Round #520 (Div. 2)
    Codeforces Round #510 (Div. 2)
    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)
  • 原文地址:https://www.cnblogs.com/shengrui/p/3416693.html
Copyright © 2020-2023  润新知