我怎样才能使用ffmpeg来流式传输http

时间:2014-06-19 03:31:19

标签: html5 video ffmpeg streaming vlc

我正在使用以下命令来流式传输到我的localhost

ffmpeg -i b.mp4 -r 60 -bufsize 1024k -vcode libtheora -qscale:v 1 -f ogg "udp://@127.0.0.1/video.ogg"

ffmpeg -i b.mp4 -r 60 -bufsize 1024k -vcode libtheora -qscale:v 1 -f ogg "http://127.0.0.1/video.ogg"

两者都工作得很好,至少不显示任何错误,但是当我尝试播放这样的http流时没有,它给了我错误“找不到”

有人可以帮助我吗?我在这个问题上完全失败...当我尝试包含一些端口时,例如ffmpeg -i b.mp4 -r 60 -bufsize 1024k -vcode libtheora -qscale:v 1 -f ogg "http://127.0.0.1:8980/video.ogg"提供输入/输出错误...我已经在vlc上测试了等效的命令并且也可以工作。

提前致谢

1 个答案:

答案 0 :(得分:0)

将视频提供给网络的最佳方式是:

1 - 使用ffmpeg对视频进行转码。推荐使用h264,为什么?只有PC浏览器(Opera除外)支持它,h264或VP8(livpx)效率更高。 对ffmpeg的调用应该是:

h264

ffmpeg -i input -vcodec libx264 -acodec libfaac out.mp4 

vp8

ffmpeg -i input -vcodec libvpx -acodec vorbis out.webm 

Theora

ffmpeg -i input -acodec vorbis -vcodec libtheroa out.ogg 

2 - 安装Web服务器,如Apache或Nginx Lighttpd

sudo apt-get install lighttpd 

3 - 链接www文件夹,文件夹输出ffmpeg ln -ls

sudo ln -ls / var / www /   / home / your_user / path_to_out_ffmpeg 

你的方法错了,因为当你停止了ffmpeg时你的内容是不可用的。它的方法只适用于直播视频。