簡體   English   中英

用ffserver開始流簡單的mp4

[英]Begin stream simple mp4 with ffserver

我想流一個mp4,為此我讀到了關於ffserver的內容。
所以我搜索和閱讀ffserver文檔,但仍然無法流式傳輸一個簡單的文件。
為此,我做了這些:
安裝了1-A win 8和最后一個VLC。
2-A Ubuntu 13,帶有最后一個ffmpeg包。
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。它顯示了4個流: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但同樣的錯誤(Just將ppa更改為ppa:mc3man/trusty-media for last release):

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!

任何人都可以給我准確的命令,我應該運行測試嗎?
(我知道這就像初學者的問題,但我讀了doc並盡可能地測試了一切,但仍然沒有運氣)

您無法使用ffserver傳輸mp4因為它在文件頭中包含全局元數據,這使得無法進行隨機流訪問。 您可以選擇其他格式,如webm或使用MPEG-2傳輸流(Apple的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>

您可以編輯參數以滿足您的需求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM