首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libx264在HTTP流(FFmpeg)上失败

libx264在HTTP流(FFmpeg)上失败
EN

Stack Overflow用户
提问于 2016-07-11 04:09:25
回答 1查看 1.1K关注 0票数 0

我想和HTTP Live Streaming一起生活,但我对libx264或其他方面有问题。

我的硬件和软件环境:

  • Macbook Pro
  • 带有Ubuntu16.04的VirtualBox
  • NginxFFmpeg ( Ubuntu)

我能够流一个静态视频文件(在Ubuntu与Nginx和FFmpeg)。FFmpeg命令如下:

代码语言:javascript
复制
$ffmpeg -i /my/sample/video.mp4 -codec:v libx264 -f hls /output/file.m3u8

但是当涉及到网络摄像头(实时流媒体)时,Mac无法打开流。我使用了以下命令:

代码语言:javascript
复制
$ffmpeg -i /dev/video0 -codec:v libx264 -f hls /output/file.m3u8

我想这是libx264的问题,因为当我使用mpeg2video编码器时,Mac确实可以播放这个流:

代码语言:javascript
复制
$ffmpeg -i /dev/video0 -codec:v mpeg2video -f hls /output/file.m3u8

我知道有一个叫做video4linux2的库,我应该用video4linux2来捕捉我的摄像头吗?但是,我不知道HTTP的适当FFmpeg命令(我尝试了FFserver,但是有类似于cannot rename hls的错误)

有人对我的问题有所了解吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-12 02:19:53

我已经搞清楚了!

Mac不能打开由libx264编码的HTTP流的原因是因为Mac中的默认编解码器不支持libx264的默认输出!

只需将-pix_fmt yuv420p添加到FFmpeg命令中,一切都正常:

代码语言:javascript
复制
$ffmpeg -f video4linux2 -i /your/webcam/path -codec:v libx264 -pix_fmt yuv420p /output/file.m3u8
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38299043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档