我已经使用--enable-libmp3lame从源代码安装了ffmpeg。
现在当我使用以下命令运行 ffmpeg 时:
sudo ffserver -f ffserver.conf & ffmpeg -s 320x240 -f video4linux2 -i /dev/video0 http://localhost:7070/feed1.ffm
我得到这个输出:
[8] 23814
ffmpeg version N-54962-g8720d3a Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 1 2013 11:25:27 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
configuration: --enable-libmp3lame
libavutil 52. 40.100 / 52. 40.100
libavcodec 55. 19.100 / 55. 19.100
libavformat 55. 12.102 / 55. 12.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 81.103 / 3. 81.103
libswscale 2. 4.100 / 2. 4.100
libswresample 0. 17.103 / 0. 17.103
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 77666.594680, bitrate: 36864 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, 36864 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Missing audio stream which is required by this ffm
[8]+ Stopped sudo ffserver -f ffserver.conf
如何指定网络摄像头音频流?
答案1
您的 ffmpeg 命令仅输出视频。您需要生成空白音频:
ffmpeg -s 320x240 -f video4linux2 -i /dev/video0 -f lavfi -i aevalsrc=0 \
-c:a libmp3lame http://localhost:7070/feed1.ffm
命令行中另一个奇怪的事情是您不对视频进行编码。我猜您不希望原始 YUV 视频成为流,对吗?