• FFmpeg 常用命令


    推送rtmp :ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.2.122/live/name

    播放:ffplay -i  “rtmp://192.168.2.122/live/name”

     --------------------------------------------------------------

    1.ffmpeg -i ss.flv -ss 1 -t 1 test.jpg  从指定视频捕捉一张图 到当前目录

    ffmpeg -i demo.mp4 -ss 10.1 -t 0.001 1.jpg

    截取demo.mp4的视频 从10.1秒开始 -t 0.001表示截取10.1秒的这张图片 保存为 1.jpg

    ffmpeg 裁剪

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

    crop里的参数依次为: 左边距:右边距:宽度:高度

    2.ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.flv

    录制屏幕 到指定视频

    ffmpeg -f gdigrab -i title="Test" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.mp4

    录制指定程序到 生成的视频

    ffmpeg在Linux下用X11grab进行屏幕录像,在Windows下用DirectShow录像。

    首先需要安装一个软件,screen capture recorder

    编译好的下载地址是:

    http://sourceforge.net/projects/screencapturer/files/

    源码地址是:

    https://github.com/rdp/screen-capture-recorder-to-video-windows-free

    下载安装后 ffmpeg命令:

    ffmpeg -list_devices true -f dshow -i dummy  

    系统输出大致如下:

    [dshow @ 002db420] DirectShow video devices  

    [dshow @ 002db420]  "screen-capture-recorder"  

    [dshow @ 002db420] DirectShow audio devices  

    [dshow @ 002db420]  "virtual-audio-capturer"  

    一般情况下就可以录屏生成视频了。

    注意,需要Java运行环境(Java Runtime Environment),如果没有的话下载一个就行。

    screen capture recorder本身就可以录屏,这里我们使用FFmpeg 启动它进行录屏。

    3.ffmpeg -i temp.flv -vcodec copy -acodec copy transform.mp4  

    转换相同尺寸flv视频 到MP4

    或者:ffmpeg.exe -i C:UserspcDesktopsp.mp4 -vf scale=500:-1 -t 100 ss.flv

    不同分辨率转换


    5.ffmpeg + ts( mp4 不支持直接 concate)视频合成

    这个的思路是先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成

    ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。这里的 mp4 指的是网上最多见的 h264+aac

    mpeg4 容器的方式。


    ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
    ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
    ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

    关于页面视频播放的一些总结

    1.如果文件比较大的话一般只能播放流媒体格式的文件,比如flv格式,采用边下载边播放的形式,所以如

    果文件不是flv格式的话需要按照上面所介绍的转换方式进行转换。

    2.文件的码率会影响下载的速度,如果当前网络为1M,那么想要流畅的播放视频文件的话,播放的文件的

    码率必须在1024Kbps以下,否则就需要进行转换,以达到最佳播放效果。

  • 相关阅读:
    Java 8与Runtime.getRuntime().availableProcessors()
    nginx配置
    周末完成工作小结
    CentOS 8 安装MySQL 8.0
    centOS8网络获取不了
    IUAP平台新增菜单存储过程
    centOS8安装Docker
    Mybatis里用到的设计模式
    2020,回顾过往,展望未来
    使用 Apache SSI(Server Side Includes) 制作多语言版静态网页
  • 原文地址:https://www.cnblogs.com/-yan/p/5088509.html
Copyright © 2020-2023  润新知