我正在使用以下命令流式传输到我的本地主机
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/