4

使用 ffmpeg,我从重复读取的图像中向 ffserver 提供提要。我使用以下说明

ffmpeg -v debug -loop 1 -f image2 -i http://IP_ADDRESS/image.jpg -c:v libx264 http://FFSERVER_IP_ADDRESS:8090/feed.ffm

通过这种方式,我可以从服务器获取流,但我需要旋转生成的流。

我以这种方式尝试了 -vf transpose=1 选项

ffmpeg -v debug -loop 1 -f image2 -i http://IP_ADDRESS/image.jpg -c:v libx264 -vf transpose=1 http://FFSERVER_IP_ADDRESS:8090/feed.ffm

但什么也没发生。

我的 ffserver.conf

HTTPPort 8090
RTSPPort 7654
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -

<Feed feed.ffm>
File path_to_file/feed.ffm
FileMaxSize 10000K
ACL allow 192.168.1.0 192.168.1.255
</Feed> 

<Stream test.h264>
Feed feed.ffm
Format rtp
Noaudio
</Stream>

建议?

谢谢

4

2 回答 2

4

我设法解决了一个类似的问题,最重要的位是“-c:v mjpeg”和“-override_ffserver”。

<Feed feed1.ffm>
  File /var/tmp/feed1.ffm
  FileMaxSize 1M
  Launch ffmpeg -i /dev/video0 -override_ffserver -c:v mjpeg -metadata:s:v rotate=0 -vf 'transpose=dir=clock,drawtext=fontcolor=white:fontfile=/usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-R.ttf:expansion=strftime:text=%FT%T:x=(w-text_w)/2:y=h-text_h-5' 
</Feed>

<Stream test>
  Feed feed1.ffm
  Format mpjpeg
  VideoSize 720x1280
  VideoFrameRate 5
  Strict -2
</Stream>

去: http://localhost:8090/test

这最终显示了我的网络摄像头的视频,其中过滤器未被 ffserver 默认值覆盖,即:

  • 旋转 90 度以补偿我的网络摄像头的奇怪安装
  • 底部中心的时间戳

我仍然在搞乱解决方案,但我希望这有助于为您解决过滤器问题。

于 2016-09-08T03:03:41.893 回答
0

您没有在ffserver流配置中指定视频大小,因此它使用默认值。例如:

ffserver.conf:15: Setting default value for video size = 160x128. Use NoDefaults to disable it.

出于某种原因,这似乎恢复了转置。

VideoSize WxH解决方案是使用转<Stream>置图像的帧大小添加一个。

于 2015-11-13T11:44:24.150 回答