html - 如何使用 ffmpeg 通过 http 流式传输

标签 html video ffmpeg streaming vlc

我正在使用以下命令流式传输到我的本地主机

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 - 使用 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 

理论

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

2 - 安装网络服务器,例如 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 时,您的内容将不可用。该方法仅适用于实时视频。

关于html - 如何使用 ffmpeg 通过 http 流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24298319/

相关文章:

html - 如何通过 Twitter Bootstrap Button Group 上的 text-* 类对齐文本?

android - android中的视频上传问题

javascript - 使用 MediaSource API 传输不断增长的文件。

c# - 在录制视频ffmpeg中增加fps

ffmpeg 将 hdmv pgs 字幕从 mkv 提取到 srt

video - 如何使用ffmpeg连接2个视频并在它们之间添加一段静音+黑屏?

html - 以 Wordpress 为中心的导航

html - 验证我的 css 时出现解析错误

html - 页脚不会拉伸(stretch) 100%

javascript - HTML5 视频到 Canvas 播放速度很慢