从ffserver开始stream简单mp4

我想streammp4,为此我读了关于ffserver
所以我search和阅读ffserver文档,但仍然无法stream传输一个简单的文件。
为此我做了这些:
1胜8和最后的VLC安装。
2 – 带有最后一个ffmpeg软件包的Ubuntu 13。
3 -ffserver.conf文件保存到/ etc /中,并从http://ffmpeg.org/sample.html复制(我只是将文本复制到新文件中)。
4 – 运行以下命令: ffserver -f /etc/ffconfig.conf ,结果如下:

 avserver version 0.8.13-6:0.8.13-0ubuntu0.13.10.1, Copyright (c) 2000-2014 the Libav developers built on Jul 15 2014 13:53:49 with gcc 4.8.1 Tue Feb 10 07:29:07 2015 AVserver started. 

5-检查http:// localhost:8090 / stat.html和服务器状态是OK。它显示我4stream:test1.mpg,test.asf,stat.html,index.html。
6-运行这个命令: ffmpeg -i test.mp4 http://localhost:8090/feed1.ffm ,这是结果:

 ffmpeg version 0.8.13-6:0.8.13-0ubuntu0.13.10.1, Copyright (c) 2000-2014 the Libav developers built on Jul 15 2014 13:53:49 with gcc 4.8.1 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'big.mp4': Metadata: major_brand : isom minor_version : 1 compatible_brands: isom creation_time : 2015-02-05 20:35:09 Duration: 00:21:36.12, start: 0.000000, bitrate: 788 kb/s Stream #0.0(und): Video: h264 (High), yuv420p, 720x404, 677 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc Metadata: creation_time : 2015-02-05 17:05:45 Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 106 kb/s Metadata: creation_time : 2015-02-05 20:35:12 Incompatible sample format '(null)' for codec 'mp2', auto-selecting format 's16' Last message repeated 1 times Incompatible sample format '(null)' for codec 'libmp3lame', auto-selecting format 's16' [buffer @ 0x900f0c0] w:720 h:404 pixfmt:yuv420p [scale @ 0x8ea5080] w:720 h:404 fmt:yuv420p -> w:160 h:128 fmt:yuv420p flags:0x4 [buffer @ 0x8ea34a0] Invalid pixel format string '-1' Error opening filters! 

7 – 我看错了,我找不到为什么会发生这种情况,哪里出错了!

到目前为止,我阅读了很多有关ffserver的示例和教程,但其中大部分都是关于直播,但我只是想传输一些mp4文件。

编辑:

我安装了像这样的链接真正的ffmpeg: https : //askubuntu.com/questions/373322/how-to-replace-avconv-with-the-real-ffmpeg-and-have-it-work-right但同样的错误(只是将ppa更改为ppa:mc3man/trusty-media用于上次发布):

 pp@ubuntu:~$ ffmpeg -i big.mp4 http://localhost:8090/feed1.ffm ffmpeg version 0.8.13-6:0.8.13-0ubuntu0.13.10.1, Copyright (c) 2000-2014 the Libav developers built on Jul 15 2014 13:53:49 with gcc 4.8.1 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'big.mp4': Metadata: major_brand : isom minor_version : 1 compatible_brands: isom creation_time : 2015-02-05 20:35:09 Duration: 00:21:36.12, start: 0.000000, bitrate: 788 kb/s Stream #0.0(und): Video: h264 (High), yuv420p, 720x404, 677 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc Metadata: creation_time : 2015-02-05 17:05:45 Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 106 kb/s Metadata: creation_time : 2015-02-05 20:35:12 Incompatible sample format '(null)' for codec 'mp2', auto-selecting format 's16' Last message repeated 1 times Incompatible sample format '(null)' for codec 'libmp3lame', auto-selecting format 's16' [buffer @ 0xa04e0c0] w:720 h:404 pixfmt:yuv420p [scale @ 0x9ee4080] w:720 h:404 fmt:yuv420p -> w:160 h:128 fmt:yuv420p flags:0x4 [buffer @ 0x9ee24a0] Invalid pixel format string '-1' Error opening filters! 

任何人都可以给我确切的命令,我应该运行testing?
(我知道这是像初学者的问题,但我阅读文档和testing一切尽我所能,但仍然没有运气)

您无法使用ffserver来传输mp4因为它包含文件头中的全局元数据,这使得随机数据流无法访问。 您可以选择其他格式,如webm或使用MPEG-2传输流(苹果的HLS)。见https://superuser.com/questions/563591/streaming-mp4-with-ffmpeg

 HTTPPort 8090 HTTPBindAddress 0.0.0.0 MaxHTTPConnections 2000 MaxClients 1000 MaxBandwidth 100000 CustomLog - <Feed streamwebm.ffm> File /tmp/streamwebm.ffm FileMaxSize 50M ACL allow localhost ACL allow 128.199.149.46 #ACL allow 127.0.0.1 ACL allow 192.168.0.0 192.168.0.255 </Feed> <Stream streamwebm> #in command line run : ffmpeg -i yourvideo.mp4 -c:v libvpx -cpu-used 4 -threads 8 http://localhost:8090/streamwebm.ffm Feed streamwebm.ffm Format webm # Video Settings VideoFrameRate 30 VideoSize 624x368 # Audio settings AudioCodec libvorbis AudioSampleRate 48000 AVOptionAudio flags +global_header MaxTime 0 AVOptionVideo me_range 16 AVOptionVideo qdiff 4 AVOptionVideo qmin 4 AVOptionVideo qmax 40 #AVOptionVideo good AVOptionVideo flags +global_header # Streaming settings PreRoll 10 StartSendOnKey Metadata author "author" Metadata copyright "copyright" Metadata title "Web app name" Metadata comment "comment" </Stream> #stream for flv format <Feed streamflv.ffm> File /tmp/streamflv.ffm FileMaxSize 50M ACL allow localhost ACL allow 192.168.88.89 #ACL allow 127.0.0.1 ACL allow 192.168.0.0 192.168.255.255 </Feed> <Stream streamflv> Feed streamflv.ffm Format flv #Video Settings VideoCodec libx264 VideoFrameRate 30 VideoSize 640x360 VideoBitRate 1000 # Audio settings AudioCodec libfaac AudioSampleRate 22050 AudioChannels 2 #this is creating problem AVOptionAudio flags +global_header MaxTime 0 AVOptionVideo me_range 16 AVOptionVideo qdiff 4 AVOptionVideo qmin 4 AVOptionVideo qmax 40 #AVOptionVideo good AVOptionVideo flags +global_header # Streaming settings PreRoll 10 StartSendOnKey </Stream> <Stream stat.html> Format status ACL allow localhost ACL allow 192.168.0.0 192.168.255.255 </Stream> # Redirect index.html to the appropriate site <Redirect index.html> URL http://yoururl.com </Redirect> 

在视频标签内<video> <source src="http://localhost:8090/streamwebm"> </video>

您可以编辑参数以满足您的需求