ffmpeg -re -i 123.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://183.216.186.96:9935/live/555
首先安装ffmpeg ,命令解释
1. -re本地帧频读数据,主要用于模拟捕获设备
2. -i 输入您要处理的视频文件路径,123.mp4是当前路径下
3. -vcodec libx264强制使用libx264编解码方式。 如果用copy表示原始编解码数据必须被拷贝
4. -acodec acc使用acc 编解码
-f flv 强制使用flv格式
5. -strict -2 -strict -2 之前是实验参数表示 aac音频编码 如果不使用aac音频编码使用使其的编码好像还需要导入第三方的音频编码库 比较麻烦 使用FFmpeg自带的aac音频编码要带上-strict -2 参数就可以了。带这个参数是为了使用aac音频编码。
6.
7.rtmp://183.216.186.96:9935/live/555 nginx配置的推流地址,live是应用路由,9935时监听端口,555是推流房间号,也就是推流id,会以这个id生成文件,比如这里会生成 555.flv文件
rtmp { server { listen 1935; chunk_size 4000; application live { live on; } } }
如上配置的rtmp 推流路径是 rtmp://ip:1935/live/roomId roomid是自定义的
ffmpeg 视频格式转换
# -f mp4 指定格式,-vcode指定视频编码器,-acode指定音频编码器,-y覆盖输出文件 ,强制使用codec编解码方式。 如果用copy表示原始编解码数据必须被拷贝。 ffmpeg -i $path -f mp4 -vcodec copy -acodec copy -y $dirname/$basename.mp4 >>/opt/out.log 2>&1; #path - recorded file path (/tmp/rec/mystream-1389499351.flv) //记录文件路径 #filename - path with directory omitted (mystream-1389499351.flv) #basename - file name with extension omitted (mystream-1389499351) #dirname - directory path (/tmp/rec)