ubuntu搭建推流服務器Nginx+rtmp [論壇 - Ubuntu 哈啦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 ... 4 5 6 (7) 8 9 »


回覆: ubuntu搭建推流服務器Nginx+rtmp
會員二級
註冊日期:
2017/7/1 0:41
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 135
MP : 19 / 581
EXP: 41
離線
#34

大大我同時怎麼無法同時執行

ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-001 > log-001.txt 2>&1 &

ffmpeg -re -i /home/wjf/hls/video/test-002.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-002 > log-002.txt 2>&1 &

ffmpeg -re -i /home/wjf/hls/video/test-003.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-003 > log-003.txt 2>&1 &

ffmpeg -re -i /home/wjf/hls/video/test-004.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-004 > log-004.txt 2>&1 &

附件:


docx 23.docx 大小: 293.85 KB; 下載次數: 93

2017/8/20 1:30
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 829
MP : 545 / 16145
EXP: 19
離線
jbyziag 寫到:
#34

大大我同時怎麼無法同時執行

ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-001 > log-001.txt 2>&1 &

ffmpeg -re -i /home/wjf/hls/video/test-002.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-002 > log-002.txt 2>&1 &

ffmpeg -re -i /home/wjf/hls/video/test-003.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-003 > log-003.txt 2>&1 &

ffmpeg -re -i /home/wjf/hls/video/test-004.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls_alic/film-004 > log-004.txt 2>&1 &


================================================================================

## 如何除錯一

當您遇到這樣的狀況

首先,您可以觀看「log-001.txt」,「log-002.txt」,「log-003.txt」,「log-004.txt」,
看看有什麼錯誤訊息,您可以依據找到的線索來除錯。

================================================================================

然後有幾個地方您可以注意的,

================================================================================

## 注意事項一

下面這個


rtmp://192.168.43.78:2016/hls_alic/film-001



根據您後來的「設定」,上面應該改成下面這一行


rtmp://192.168.43.78:2016/hls/film-001



後來您的「設定」已經從「hls_alic」改成「hls」了。

請再確認您的「設定(nginx.conf)」和「下指令」是否相符。

================================================================================

## 注意事項二

下面四個檔案,請您再次確認是否存在。

* /home/wjf/hls/video/test-001.mp4
* /home/wjf/hls/video/test-002.mp4
* /home/wjf/hls/video/test-003.mp4
* /home/wjf/hls/video/test-004.mp4

您在下指令的時候,也可以改成同一個檔案「/home/wjf/hls/video/test.mp4」。

上面的指令只是舉例,您可以理解為什麼這麼下指令之後,根據您的環境,做適度的調整

* FFmpeg / Documentation / ffmpeg
* $ man ffmpeg

================================================================================

## 如何除錯二

您也可以先執行下面指令,確認它是可以正常運作的


$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001



確認上面可以正常運作後,然後另外再下指令時,
再加入後面那一段「> log-001.txt 2>&1 &」,也就是下面的指令


$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001 > log-001.txt 2>&1 &



您可以再研讀我在「#34」給您的參考連結
「鳥哥的 Linux 私房菜 / 第十六章、程序管理與 SELinux 初探 / 16.2.2 job control 的管理 / 直接將指令丟到背景中『執行』的 &


若是這個方式對您來說,無法操作的話,您還有其它的選項可以選擇。

================================================================================

## 其它選項一


我在「#34」最下方,

有列三個「額外議題」

* 查詢「linux screen
* 查詢「linux tmux
* 查詢「linux byobu

您可以先學習「GNU Screen」怎麼使用,
然後再來應用在您的需求上面。

### 套件

* screen
* tmux
* byobu

### 指令

* screen
* tmux
* byobu

### Wikipidia (維基百科)

* GNU_Screen (中文)
* Tmux (中文)
* Byobu (software)

================================================================================

## 其它選項二

因為您是從「win」連到「Ubuntu Server」

您使用的應該是「PieTTY」,
印象中應該也是可以開起多個,您可以開啟多個「PieTTY」,然後各自連線到「Server」。
我已經很久沒在「win」環境操作了,所以您再自行測測看。


在我的環境是「Xubuntu16.04 amd64 英文介面」,
我可開啟多個「Terminal」,然後各自「ssh」連到「server」。
可以參考使用的有「gnome-terminal」,「konsole」,「tilix」,或是其他...

================================================================================

以上提供參考,請您再根據相關議題的關鍵字,應該可以找到更多的參考文章來研讀。

報告完畢


2017/8/20 13:46
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員二級
註冊日期:
2017/7/1 0:41
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 135
MP : 19 / 581
EXP: 41
離線
下面指令確認它是可以正常運作的
$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001

下面指令就無法運作
$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001 > log-001.txt 2>&1 &

我有測試如果我下上面正常運作的指令,而我把win電腦關起來。Ubuntu Server的系統也跟這關起來嗎?我用另台電腦看VLC http://192.168.43.78:8080/film-001.m3u8也無法觀看

附件:


docx 24.docx 大小: 810.77 KB; 下載次數: 78

2017/8/20 19:15
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員二級
註冊日期:
2017/7/1 0:41
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 135
MP : 19 / 581
EXP: 41
離線
大大 還是我在從新安裝新的ubunut 系統

2017/8/20 19:32
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 829
MP : 545 / 16145
EXP: 19
離線
jbyziag 寫到:
大大 還是我在從新安裝新的ubunut 系統


應該先不用重灌。

jbyziag 寫到:
下面指令確認它是可以正常運作的
$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001

下面指令就無法運作
$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001 > log-001.txt 2>&1 &

我有測試如果我下上面正常運作的指令,而我把win電腦關起來。Ubuntu Server的系統也跟這關起來嗎?我用另台電腦看VLC http://192.168.43.78:8080/film-001.m3u8 也無法觀看



先依據「#39」的「設定(nginx.conf)」。

先執行您提到可以運作的指令。


$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001





然後先確認「/home/wjf/hls/www/film-001.m3u8」這個檔案是否存在



$ ls /home/wjf/hls/www/film-001.m3u8



若是「/home/wjf/hls/www/film-001.m3u8」這個檔案存在,

然後確認「 http://192.168.43.78:8080/film-001.m3u8 」這個網址是否能正常request。

您可以在「firefox」或您慣用的瀏覽器,在網址列輸入該網址測測看。

或是可以執行


$ wget http://192.168.43.78:8080/film-001.m3u8



應該就會把「film-001.m3u8」下載下來。

如果上面的步驟,都還是正常的。

接下來就是先不用「vlc」來播放,
先用其他的播放器來播放,例如「ffplay」或是「mpv」,來釐清是否是跟播放器有關。

若其他的播放器也不能播放。

就要回到「設定檔(nginx.conf)」去找尋出錯的環節。

再不然您可以先回復到之前您可以成功觀看影片的「設定檔」,再來測看看了,
看看能不能找出出錯的環節。

以上除錯步驟提供參考。

報告完畢



至於


jbyziag 寫到:
下面指令就無法運作
$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001 > log-001.txt 2>&1 &



目前我從您提供「24.docx」,
我目前也看不出為啥不能運作,
在我的環境「Xubuntu 16.04 amd64 英文界面」測試,是可以正常運作的。

只能請您先採用「#62」提到的其他選項來測試了。

2017/8/20 20:11
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 829
MP : 545 / 16145
EXP: 19
離線
jbyziag 寫到:
下面指令確認它是可以正常運作的
$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001

下面指令就無法運作
$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001 > log-001.txt 2>&1 &

我有測試如果我下上面正常運作的指令,而我把win電腦關起來。Ubuntu Server的系統也跟這關起來嗎?我用另台電腦看VLC http://192.168.43.78:8080/film-001.m3u8 也無法觀看


我看不懂上面紅色的字,不太懂您原本要表達的意思

所以要請您再次描述您原本要問的。



2017/8/20 20:45
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員二級
註冊日期:
2017/7/1 0:41
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 135
MP : 19 / 581
EXP: 41
離線
大大這是我的(nginx.conf)設定檔

我用A電腦(win)環境使用「PieTTY」軟體來操作「Ubuntu Server」系統。

$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001


在用B電腦(win)環境使用〔VLC)軟體來觀看影片。
$ http://192.168.43.78:8080/film-001.m3u8

可是A電腦關機,B電腦就無法觀看「Ubuntu Server」系統內的影片。

附件:


docx 25.docx 大小: 551.80 KB; 下載次數: 78

2017/8/20 22:16
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 829
MP : 545 / 16145
EXP: 19
離線
jbyziag 寫到:
大大這是我的(nginx.conf)設定檔

我用A電腦(win)環境使用「PieTTY」軟體來操作「Ubuntu Server」系統。

$ ffmpeg -re -i /home/wjf/hls/video/test-001.mp4 -c copy -f flv rtmp://192.168.43.78:2016/hls/film-001


在用B電腦(win)環境使用〔VLC)軟體來觀看影片。
$ http://192.168.43.78:8080/film-001.m3u8

可是A電腦關機,B電腦就無法觀看「Ubuntu Server」系統內的影片。


是的,

當您關掉「A電腦(win)」,
連帶會關掉「A電腦(win)」的「PieTTY」,
然後「A電腦(win)」連線到「Ubuntu Server」也會斷掉,
連帶也會關掉「Ubuntu Server」裡的「ffmpeg」,

於是「Ubuntu Server」的裡的「/home/wjf/hls/www」剩餘的「test*.ts」就不會再產生。

最後「B電腦(win)」就無法在觀看「剩餘的影片片段」了。

您可以參考下面幾篇文章,瞭解一些基礎概念

* 鳥哥的 Linux 私房菜 / 第十六章、程序管理與 SELinux 初探 / 16.2.3 離線管理問題: nohup
* 鳥哥的 Linux 私房菜 / 第十六章、程序管理與 SELinux 初探 / 16.1.1 程序與程式 (process & program): 子程序與父程序
* 直播協議hls 筆記


另外我對「process」的一些進階議題,尚未深究,有些也還不會,所以就不多做說明了。

建議您可以先研讀「鳥哥的 Linux 私房菜 / 第十六章、程序管理與 SELinux 初探」這篇,
可以從這篇瞭解一些基礎的概念,然後當作是探索的起點,
從裡面提到的關鍵字,再用這些關鍵字來查詢更多的參考文章,

例如

可以查詢「nohup」,就可以找到很多參考文章。

也可以查詢「linux 如何 process 不斷線」。

或是查詢「linux 如何 process 不斷掉」,可以查到一篇「Linux 技巧:讓進程在後台可靠運行的幾種方法」。

================================================================================

至於「#63」和「#65」提到的,

我目前也看不出所以然來,

所以這部份就要請您自行先研讀相關的文章,並且自行再測試,看看是否能找到出錯的環節了。

我目前會的,也只是揣測和實驗,您提供的參考文章「1」和「2」提到的內容,所歸納出來的概念。
我目前沒再花時間,再去深入探究。
或是您也可以先忽略我講的,也許有可能是我的觀念錯誤,或是打字錯誤,設定檔有錯,所以誤導您了。

你可以先回歸到基本,去看官方的文件。

* https://github.com/arut/nginx-rtmp-module/wiki
* https://github.com/arut/nginx-rtmp-module/wiki/Directives

* http://nginx.org/en/docs/
* http://nginx.org/en/docs/ngx_core_module.html
* http://nginx.org/en/docs/http/ngx_http_core_module.html

* https://www.ffmpeg.org/documentation.html
* https://www.ffmpeg.org/ffmpeg.html


一些「nginx.conf設定」的「Directive說明連結」,我有列在「#46」,「#47」,「#43」。

$ man ffmpeg


NAME

       ffmpeg - ffmpeg video converter

SYNOPSIS

       ffmpeg [global_options] {[input_file_options] -i input_file} ...
       {[output_file_options] output_file} ...



### -re


-re (input)
	Read input at native frame rate. Mainly used to simulate a grab
	device.  or live input stream (e.g. when reading from a file).
	Should not be used with actual grab devices or live input streams
	(where it can cause packet loss).  By default ffmpeg attempts to
	read the input(s) as fast as possible.  This option will slow down
	the reading of the input(s) to the native frame rate of the
	input(s). It is useful for real-time output (e.g. live streaming).



### -i


-i filename (input)
	input file name



### -c copy


-c[:stream_specifier] codec (input/output,per-stream)
-codec[:stream_specifier] codec (input/output,per-stream)
	Select an encoder (when used before an output file) or a decoder
	(when used before an input file) for one or more streams. codec is
	the name of a decoder/encoder or a special value "copy" (output
	only) to indicate that the stream is not to be re-encoded.

	For example

			ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT

	encodes all video streams with libx264 and copies all audio
	streams.

	For each stream, the last matching "c" option is applied, so

			ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT

	will copy all the streams except the second video, which will be
	encoded with libx264, and the 138th audio, which will be encoded
	with libvorbis.



### -f


-f fmt (input/output)
	Force input or output file format. The format is normally auto
	detected for input files and guessed from the file extension for
	output files, so this option is not needed in most cases.



================================================================================

另外這個論壇,有一些「BBCode」可以使用,以下列一些討論給您參考

* [整理]常用的 BBCODE 簡單說明
* #7 回覆: 關於WIFI 無線網路 RTL8192CU 驅動安裝 softAP
* #9 回覆: 如何在 Terminal 一行裡同時下幾個指令?

也可以在「回覆」時,下面有一個「引用」按鈕,按下它,就可以看到其他人的所使用的「BBCode」了。

我常用的也只有下面簡單的幾個,其他的我也沒去深究怎麼使用。

* url
* quote
* code
* color

================================================================================

以上提供參考


2017/8/21 13:24
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員二級
註冊日期:
2017/7/1 0:41
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 135
MP : 19 / 581
EXP: 41
離線
大大我要如何用瀏覽器顯示unubut 系統內的資料夾或檔案

附件:


docx 26.docx 大小: 306.32 KB; 下載次數: 79

2017/8/21 19:51
應用擴展 工具箱
回覆: ubuntu搭建推流服務器Nginx+rtmp
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 34
HP : 165 / 829
MP : 545 / 16145
EXP: 19
離線
jbyziag 寫到:
大大我要如何用瀏覽器顯示unubut 系統內的資料夾或檔案


可以使用「nginx 顯示資料夾」或是使用「nginx directory index」查詢,

就可以找到一個關鍵字「autoindex」,

然後就可以找到「nginx」的官方文件「Module ngx_http_autoindex_module / autoindex」。



location / {
	autoindex on;
}



以上提供參考

報告完畢



================================================================================

## 題外話

Apache 的設定,請參考「Options Indexes」。


================================================================================

2017/8/22 13:22
應用擴展 工具箱

« 1 ... 4 5 6 (7) 8 9 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.