Answers:
您可以使用ffmpeg
或avconv
只要您具有必要的身份验证(流密钥),就可以直接流式传输到RMTP地址。
使用ffmpeg
流式传输到Twitch.tv RMTP服务器的一个精简示例如下:
# stream key. You can set this manually.
STREAM_KEY=$(cat ~/.twitch_key)
# stream url. Note the formats for twitch.tv and justin.tv
# twitch:"rtmp://live.twitch.tv/app/$STREAM_KEY"
# justin:"rtmp://live.justin.tv/app/$STREAM_KEY"
STREAM_URL="rtmp://live.twitch.tv/app/$STREAM_KEY"
ffmpeg \
-f alsa -ac 2 -i "pulse" \
-f x11grab -s $(xwininfo -root | awk '/geometry/ {print $2}'i) -r "30" -i :0.0 \
-vcodec libx264 -pix_fmt yuv420p -s "640x360" -vpre "fast" \
-acodec libmp3lame -threads 6 -qscale 5 -b 64KB \
-f flv -ar 22050 "$STREAM_URL"
有关如何流式传输到twitch.tv和justin.tv等流行平台的更多信息,请参见askubuntu的答案。
可以在以下位置找到上述脚本的扩展版本要点:https : //gist.github.com/oseparovic/2db2aaa737cd37e7c068
这是一个免费的RTMP服务器,用于记录和流式传输到Flash客户端。根据项目主页的功能如下:
- 流音频/视频(FLV和MP3)
- 记录客户端流(仅适用于FLV)
- 共享对象
- 实时流发布(现在支持实时h264)
- 远程处理(AMF0 / AMF3)
该应用程序主要用于设置您自己的RTMP服务器。我们没有关于如何设置将流发送到远程流服务器的经验,如果我们能够为Twitch.tv做到这一点,则没有经验。项目主页上存在一些文档,表明可以完成此操作。
在项目页面上可以找到(某种程度上是嵌套的)文档:
一个好的谷歌搜索发现一点。最好先这样做。无论如何,这并不容易,但是请看一下:http : //michaelchinen.com/2011/06/27/justin-tv-streaming-in-linux/