dự án Streamnik Server là một máy chủ IPTV dựa trên codec mở Ogg / Vorbis và Ogg / Theora. Nó có thể truyền một số kênh khác nhau và được tối ưu hóa để chạy trên thuê (ảo) các máy chủ. Lịch trình chương trình được định nghĩa bởi một bảng cơ sở dữ liệu SQL và có thể thay đổi tại thời gian chạy.
Yêu cầu:
· Common C ++ với devel
· Mysql (mysqlclient)
Cài đặt:
Để biên dịch, mọi thứ hoạt động như bình thường:
./configure
làm
sudo make install
Những gì bạn cần phải khởi động máy chủ:
shorties: phim ngắn để xử lý lỗi
preview: xem trước bộ phim ngắn (ví dụ như quảng cáo - dòng này được trình bày bởi ...)
video: video để hiển thị
tất cả video, shorties và prieviews phải phù hợp ở tốc độ khung hình,
keyframe đường vv
shorties và xem trước đang thực sự được lưu lại có một tên quan trọng và được biên dịch
trong (phiên bản tiếp theo có thể sử dụng một entry cơ sở dữ liệu cho việc này)
Startup:
chỉ cần bắt đầu các máy chủ:
> StreamnikServer -d -u -p
và truy cập vào máy chủ ví dụ bởi mplayer:
> Mplayer "http: // localhost: 12000 / video.ogg kênh = 1?"
Tuy nhiên, trước khi lên tất cả điều đó, bạn cần phải thiết lập một số điều bổ sung:
DATABASE:
Bạn cần có một cơ sở dữ liệu sql-up và chạy. Báo cáo được trình bày ở phần cuối của tài liệu này.
Tên cơ sở dữ liệu và mật khẩu có thể được thêm vào dòng lệnh.
FILES:
Bạn cần cấu trúc tập tin sau đây (có thể được thay đổi trong serverConfig.h):
nhà
> Chia sẻ
> Ogg
> Lùn
Các thư mục ogg mang tất cả các tập tin, mà nên được xem trực tiếp. Mỗi tập tin có một mục tương ứng trong cơ sở dữ liệu sql ("video" bảng).
Các shorties là các tập tin ogg nhỏ được hiển thị trên một lỗi.
shorty_1.ogg -> không có dòng có sẵn
shorty_2.ogg -> truy cập trái phép
shorty_3.ogg -> dòng thời gian chờ
shorty_4.ogg -> cơ sở dữ liệu không có sẵn
Sau đó, bạn có thể thêm xem trước (phim ngắn trước khi lên dòng ban đầu, ví dụ như cho thêm)
Tập tin này phải được đặt trong thư mục lùn như là tốt và được đặt tên
ogg. preview _ *.
Hệ thống sẽ không được hạnh phúc nếu họ không có mặt, nhưng sẽ bắt đầu lên
KÊNH:
Các kênh được mở bởi một mục trong cơ sở dữ liệu sql. Mục nhập này thực sự phải có mặt khi khởi động.
Đối với tất cả các kênh, một đối tượng StreamCreator sẽ được tạo ra, mà sẽ gửi dữ liệu của nó để một bộ đa. Điều này sau đó sẽ xử lý tất cả các yêu cầu của khách hàng.
TcpListener (Port 12000) StreamSend (Client 1)
| | /
file -> StreamCreator -> Multiplexer ---> StreamSend (Client 2)
Suối 1 |
| -> StreamSend (Client 3)
|
Cơ sở dữ liệu truy cập sql |
^ | -> StreamSend (Client 4)
| | /
file -> StreamCreator -> Multiplexer ---> StreamSend (Client 5)
Dòng 2 |
|
|
Cơ sở dữ liệu truy cập sql |
^ | ---> StreamSend (Client 6)
| | /
file -> StreamCreator -> Multiplexer ----> StreamSend (Client 7)
Dòng 3
-> StreamSend (Client 8)
-> StreamSend (Client 9)
...
Lịch trình học:
Lịch trình được đặt vào "lịch trình" bảng trong cơ sở dữ liệu.
("Day_id" và "Ngày" là thực sự không sử dụng)
channel_id và VIDEO_ID tương ứng với các mục trong các bảng khác.
mỗi bộ phim có một vị trí (trong một ngày). Một ngày bắt đầu lúc 4:00.
Mục đầu tiên trong vòng một khối của bộ phim nên được đánh dấu với tình trạng "1".
Nếu bạn có một bộ phim, đó là không liên tục kết nối, bạn nên thêm
"1" trạng thái lần nữa.
************************************************** ****
*
* SQL tạo cơ sở dữ liệu
*
************************************************** ****
CREATE TABLE `schedule` (
`Day_id` int (11) unsigned NOT NULL mặc định '0',
`Date` varchar (8) NOT NULL mặc định '',
`Channel_id` int (11) unsigned NOT NULL mặc định '0',
`Position` int (10) unsigned NOT NULL mặc định '0',
`Video_id` int (10) unsigned NOT NULL mặc định '0',
`Duration` int (10) unsigned NOT NULL mặc định '0',
`Status` tinyint (3) unsigned NOT NULL mặc định '0'
)
CREATE TABLE `videos` (
`Id` int (10) unsigned NOT NULL auto_increment,
`Owner` int (10) unsigned NOT NULL mặc định '0',
`Title` varchar (80) NOT NULL mặc định '',
`Subtitle` varchar (80) NOT NULL mặc định '',
`Author` varchar (80) NOT NULL mặc định '',
`Copyright` varchar (160) NOT NULL mặc định '',
`Description` varchar (255) NOT NULL mặc định '',
`Time_added` int (10) unsigned NOT NULL mặc định '0',
`Duration` int (10) unsigned NOT NULL mặc định '0',
`Tinyint ready` (1) NOT NULL mặc định '0',
PRIMARY KEY (`id`)
)
CREATE TABLE `channels` (
`Id` int (11) unsigned NOT NULL mặc định '0',
`Name` varchar (80) NOT NULL mặc định '',
`Owner` int (11) NOT NULL mặc định '0',
`Description` varchar (80) NOT NULL mặc định '',
`Tinyint randomplay` (1) NOT NULL mặc định '0',
PRIMARY KEY (`id`)
)
Có gì mới trong phiên bản này:
· Phiên bản này cung cấp rất nhiều tài liệu hướng dẫn mới cho việc thiết lập các máy chủ.
· Có bây giờ là một kịch bản có sẵn mà sẽ biên dịch, cài đặt và thiết lập máy chủ streamnik trong một bước.
· Các cấu hình có thể được thực hiện bằng một tập tin cấu hình, được đặt tại /etc/streamnik.conf.
· Ngoài ra, có một số sửa lỗi nhỏ, chẳng hạn như các bản sửa lỗi cho biên soạn theo các bản phân phối Linux khác nhau.
Các chi tiết về phần mềm:
Phiên bản: 0.02
Ngày tải lên: 3 Jun 15
Giấy phép: Miễn phí
Phổ biến: 24
Bình luận không