ffmpeg命令行循环推流

用ffmpeg循环推一个文件到rtmp服务器。
一般都是建议用-stream_loop选项。如:

ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -i "H:\video.mp4" -c copy -f flv rtmp://10.100.1.4:1935/live/12345

前提是ffmpeg版本高于2.8.4。而且是推流到Nginx-rtmp。
此方法推流到srs失效。第二次推流的时候会提示:

WriteN, RTMP send error 10054 (129 bytes)B time=00:04:35.93 bitrate= 902.8kbits/s speed= 1x
WriteN, RTMP send error 10053 (40 bytes)
WriteN, RTMP send error 10038 (42 bytes)
av_interleaved_write_frame(): Operation not permitted
[flv @ 0000000002bcf940] Failed to update header with correct duration.
[flv @ 0000000002bcf940] Failed to update header with correct filesize.
Error writing trailer of rtmp://10.100.1.4:1935/live/12345: Operation not permitted

我一般使用脚本循环推文件。
建议一个文件,如push2id12345.bat
内容如下:

for((;;)); do ffmpeg -re -i "H:\video.mp4" -c copy -f flv -y rtmp://10.100.1.4:1935/live/12345; \
sleep 1; done

执行此脚本即可。

时间: 2024-11-01 13:33:31

ffmpeg命令行循环推流的相关文章

FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没有一个人对FFmpeg这个名称感到陌生.FFmpeg是一套非常知名的音视频处理的开源工具,它包含了开发完成的工具软件.封装好的函数库以及源代码供我们按需使用.FFmpeg提供了非常强大的功能,可以完成音视频的编码.解码.转码.视频采集.后处理(抓图.水印.封装/解封装.格式转换等),还有流媒体服务等

FFMPEG 命令行常用方法示例

引言 FFMPEG以其强大的功能而在音视频领域著称,更重要的是它还是开源的!音视频格式转换.裁剪.拼接.提取字幕或某音轨等等,它都能胜任,可谓一把瑞士军刀,小巧但功能强大,是音视频研究的必备利器之一. 示例 1. 转换成H264编解码 ffmpeg -i input_file -vcodec h264 output_file 其中 -i 表示输入文件, -vcodec  h264 表示视频编解码方式为 H264. 2. 转换成H265编解码 ffmpeg -i input_file -vcode

ffmpeg命令行

ubuntu下简单安装ffmpeg sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-nextsudo apt-get update sudo apt-get install ffmpeg 1.................................ffmpeg从视频中生成gif图片: ffmpeg -i capx.mp4 -t 10 -s 320x240 -pix_fmt rgb24 jidu1.gif 2.............

ffmpeg 命令行改变视频分辨率

视频:ffmpeg -i input.avi -vf scale=320:240 output.avi 图片: ffmpeg -i input.jpg -vf scale=320:240 output_320x240.png 原文地址:https://www.cnblogs.com/nanqiang/p/12103307.html

for循环参数列表通过命令行读入

 1 #通过命令行来传递脚本中for循环列表参数   2 #!/bin/bash   3    4 echo "number of arguments is $#"   5    6 echo "What you input is "   7    8 #通过命令行来传递脚本for循环的参数列表   9 for argument in "$*"  10 do   11     echo "$argument"  12 done

vlc命令行: 转码 流化 推流

写在命令行之前的话: VLC不仅仅可以通过界面进行播放,转码,流化,也可以通过命令行进行播放,转码和流化.还可以利用里面的SDK进行二次开发. vlc命令行使用方法: 1,安装最新版的vlc1.0.3版 2,打开cmd,进入vlc的安装文件目录,即C:\Program Files\VideoLAN\VLC\vlc.exe 3,输入vlc.exe -H,就得到了所有的命令 4,在命令行里面输入命令,就可以调用VLC进行工作了,效果和软件界面是一样的,可以进行播放,转码和流化. vlc命令: 1,v

Linux命令行音乐播放器moc

moc(Music On Console,播放器程序是mocp,在Arch Linux的Commity中有个tray版本的moc,启动时会在面板上显示一个图标,能直接启动mocp服务和播放器.甚至还能让osdlyrics加载桌面歌词,不过这很卡.)适用于命令行,在黑乎乎的Linux核心控制台(字符界面)上也能成功启动和播放,但Linux核心控制台默认是没有中文支持的,可以试试能显示中文的fbterm(直接从核心控制台启动,不需要运行X服务)如果需要的话.即便如此,正常使用仍然需要一番手动配置才行

VLC命令行参数详解

VLC命令行参数详解 2012-11-29 14:00 6859人阅读 评论(0) 收藏 举报 Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlist.The first item specified will be played first. Options-styles:  --option  A gl

linux FFMPEG 摄像头采集数据推流

Linux下用 FFMPEG 采集 usb摄像头视频 和 摄像头内置麦克风音频 到RTMP服务 ffmpeg -f video4linux2 -qscale 10 -r 12 -s 640x480 -i /dev/video0 -f alsa -i hw:1 -ab 16 -ar 22050 -ac 1 -f mp3 -f flv rtmp://127.0.0.1/rtmpsvr/rtmp1 ./ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -