h
helloworld581
V1
2023/04/26阅读:12主题:默认主题
Ffmpeg用法汇总
FFmpeg用法汇总
🌈Description: 本文主要介绍ffmpeg的各种用法,纯纯干货,请慢慢咀嚼,管饱。
环境搭建
-
win10安装ffmpeg -
官网:Site Unreachable -
下载页面:Download FFmpeg -
下载完成后直接进行解压,然后配置环境变量就OK了
-
-
百度网盘下载: -
链接:https://pan.baidu.com/s/1Jk119himVJhifuhU4lP0Ow -
提取码:w6o0
-
-
ffmpeg 验证: -
ffmpeg –version
-
图像处理
视频切割
ffmpeg -ss 00:00:05 -t 00:00:04 -i C:\Users\mmmm2sdsd1\Desktop\105_Flashing_Frying_six_dragon_05.ts -vcodec copy -acodec copy output.ts
- 00:00:05 :起始时间点。
- 00:00:04 :切割视频总时长。
视频转图像(vidoe 2 BMP):
ffmpeg -ss 00:00:00 -i C:\Users\jimmy_wei\Desktop\142.MOV -t 00:00:15 -s 1920x1088 -pix_fmt bgr24 -y C:\Users\jimmy_wei\Desktop\halo\142\%06d.bmp
ffmpeg -ss 00:00:03 -i E:\_VIDEO\435_AQUAMAN_08.mp4 -t 00:00:15 -s 3840x2160 -pix_fmt bgr24 -y E:\_BMP\3840_2160\435\%06d.bmp
图像合成视频(BMP 2 video):
ffmpeg -framerate 60 -i C:\Users\jimmy\Desktop\source_pic\%06d.bmp -r 60 -s 1920x1080 -c:v libx265 -crf 18 -pix_fmt yuv420p -y C:\Users\jimmy\Desktop\output.mp4
视频推流
推流视频到nginx网页
nginx服务器:
-
软件地址: D:\Program\nginx-1.7.11.3-Gryphon
-
启动方法: nginx.exe -c conf\nginx-win-rtmp.conf
ffmpeg推流:
-
指令: ffmpeg -re -i F:\2_视频\电视剧\武林外传\1.郭女侠怒砸同福店,佟掌柜妙点迷路人.mkv -vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/live/home
按Q可以退出推流。
查看推流视频:
-
点击这个连接可以自动弹出PotPlayer播放推流视频:rtmp://localhost:1935/live/home
推流视频到b站
b站服务器端设置:
-
开播设置 - 个人中心 - bilibili link -
进入直播,点击开播设置,设置分类,房间名称,开启直播 -
生成rtmp推流地址和串流密匙。这两个会在推流中使用。 -
服务器地址:%%🔐α 💡ID💡1vqREn1/S+Z8L2gewqQOW6s1cZIOuE+HJnrtMH1bhfjvU2kIUkt1n31BEZV5Q51XTAlVmk1HG/b0P96qcjcFGFmS+EElaSrL 🔐%% -
串流密钥:%%🔐α 💡ID💡NTCvUsiKTYODuGkCPb88QCIKEMfWaSri+NoFOiyquHczADwXk4Ex73RK980fFdxyNAV+ddz27TY73NdnfJFFdvo9zOj0LDZBAwqUGsNQRr96fF6F1SkbNPw/i4Ri9nZlbfrAdDMvEud2yqvzhlcu8gpym2SnxkL4yToj 🔐%%
-
ffmpeg推流:
-
指令模板: ffmpeg -re -stream_loop -1 -i "test.mp4" -c copy -f flv "${rtmp}"
视频文件全路径不需要加双引号。 rtmp地址需要加双引号,替换${rtmp}
即可。 -
实际测试ok指令:%%🔐α 💡ID💡PK4pmoTqn46s4H/D2oQ/N65OryxeHqiollA6Jtzzgb8H4h1ITMrqGX+9Syr/9CUXtTcCNzTu34+Uleo1QfgHGUZd2fxpmSEJdozTvbi4A7LfYxAiZkCREe8f1oS8z9nSqLqFbuoAjzq260KE/j7hkB/3AtDMY0CRcrDklOXkJ7u0i2OELTrW3ie8fBvCpMUfGHBn1IYkZTtLAKmr5EWzW888ngpZtgopijPhrO+vPVfATMtwQZBoiXadL6YjRTaVmuhzVdG6qG1Hb2Cn0KuiKOYIeDVeU78t0OKOWBaaZUIPijqyEz4BRI+2ZC62yu48+OgG1IWuzNcToGw6JVtVDfTpUd3OvAl8gzFX1wOmpAzFBJsRYwkA2+yl/0O4NbFNnJkeUwBq6Iylb9kGEDyh/Ww= 🔐%%
查看推流视频:
b站推流应用价值:
什么是无人直播?
无人直播是一种自动化、智能化的直播方式,其运作过程不需要人工干预或仅仅需要非常少量的人工干预。相对于传统的人工直播模式,无人直播更加智能、高效、稳定和节省人力成本。 具体来说,无人直播通过将摄像头、麦克风、主机、人工智能等技术设备集成在一起,实现了直播内容的自动生成、发布以及分发等功能,不需要直播员现场控制,而是通过算法和预设的规则智能化地进行直播,从而实现了自动化直播。 同时,无人直播还有着更高的直播覆盖率和更好的直播质量。无人直播被广泛应用于各种应用场景,如电商直播、房地产直播、景区直播、体育赛事直播等。
无人直播优势?
人工智能技术、自动化技术等先进技术逐渐成熟,让我们可以更加智能地管理业务,提高工作效率。此外,无人直播可以为企业、机构、个人提供更加便捷、高效、安全的直播服务,让他们更好地宣传品牌、增加销售额、吸引更多客户。 无人直播还可以提高直播的稳定性和可靠性,减少人工干预导致的差错和错误,从而更好地满足用户的需求,实现商业价值。总之,无人直播是一种符合科技发展趋势、提高工作效率和商业价值的好方式。
摄像头推流
nginx服务器:
-
软件地址: D:\Program\nginx-1.7.11.3-Gryphon
-
启动方法: nginx.exe -c conf\nginx-win-rtmp.conf
python OpenCV + ffmpeg推流
import subprocess as sp
import cv2 as cv
import subprocess
### 参考教程:https://zhuanlan.zhihu.com/p/74260950
### 后期如果要提升响应速度,减少延迟,可以参考下面这篇文章:
### https://zhuanlan.zhihu.com/p/38136322
rtmpUrl = "rtmp://localhost:1935/live/home"
camera_path = 0
cap = cv.VideoCapture(camera_path)
# Get video information
fps = int(cap.get(cv.CAP_PROP_FPS))
width = int(cap.get(cv.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv.CAP_PROP_FRAME_HEIGHT))
# ffmpeg command
command = ['ffmpeg',
'-y',
'-f', 'rawvideo',
'-vcodec','rawvideo',
'-pix_fmt', 'bgr24',
'-s', "{}x{}".format(width, height),
'-r', str(fps),
'-i', '-',
'-c:v', 'libx264',
'-pix_fmt', 'yuv420p',
'-preset', 'ultrafast',
'-f', 'flv',
rtmpUrl]
# 管道配置
p = sp.Popen(command, stdin=sp.PIPE)
# read webcamera
while(cap.isOpened()):
ret, frame = cap.read()
# frame_queue.put(frame)
if not ret:
print("Opening camera is failed")
break
# process frame
# your code
# process frame
# write to pipe
# if frame_queue.empty() != True:
# frame_new = frame_queue.get()
p.stdin.write(frame.tostring())
对了,如果大家对AI、新技术、软件评测感兴趣,可以关注我的微信公众号:或者个人博客:https://weicun.gitee.io/ 蓝色单车
🌈参考:
作者介绍
h
helloworld581
V1