Hướng dẫn transcode stream với VLC và stream media qua sopcast, forward stream bóng đá:



- VLC có khả năng play stream và phát stream ( có thể transcode ) rất tốt.

Phần 1: Hướng dẫn tạo stream bằng VLC .

- các bạn có thể mở VLC rồi chọn menu FILE /Stream ( Ctrl+S) . Nguồn để phát stream có thể là FILE, Các loại đĩa, có thể là 1 input stream khác và các loại card thu sóng TV.




1. các thông số đáng quan tâm khi stream media bằng VLC:
Input là file: có thể chọn file nhạc phim bất kì từ ổ cứng
Input là stream: dạng http, udp, v.v..
input là tín hiệu sóng truyền hình từ vệ tinh hoặc mặt đất ( cái này chưa có điều kiện test )
- Destination: đầu ra của media theo giao thức nào : file, http, rtsp, udp ,v.v...

ở đây mình chọn http ( để làm nguồn input cho sopcast thì tiện hơn ), còn các giao thức khác mình chưa tìm hiểu hết.
sau khi chọn http thì nhấn add và next; ( stream ra sẽ là http://127.0.0.1:8080 , port mặc định 8080)
Transcoding Option:
có nhiều profile trong dialog này, chọn profile nào cũng đc, hoặc có thể tạo profile mới theo thiết lập cá nhân,nhưng các thông số trong setting mới là quan trọng ( bấm hình biểu tượng setting ):


Encapsulation: bạn chọn MPEG-TS
trong TAB video:
có thể chọn same source để giữ nguyên gốc
codec: chọn H264.
bitrate: tùy theo độ phân giải & chất lượng muốn phát đi ( cái này tham khảo thêm về encode video sẽ rõ); 1280x720 nên để bitrate từ 1500kbps đến 2500kbps, còn thấp hơn thì để nhỏ hơn
Resolution: độ phân giải muốn phát đi, ( nên để nhỏ hơn hoặc bằng độ phân giải gốc ).
trong tab Audio Codec: có thể chọn same source để giữ nguyên gốc
codec: chọn code audio muốn phát đi, ( mình hay chọn MP3)
bitrate: nên để tối thiểu là 128,nếu muốn tiết kiệm băng thông thì để thấp hơn ( 64 chẳng hạn).

sau đó save lại rồi bấm Next rồi bấm Stream.
- sau khi đã stream thì VLC sẽ chạy giống như đang phát phim, hoặc stream, nhưng lại ko hiển thị hình ảnh âm thanh lên cửa sổ đó,
- để xem đc nó, bạn mở 1 cửa số VLC khác, rồi nhận ctrl+N và nhập http://127.0.0.1:8080, đó chính là output stream của bước trước.
- http://127.0.0.1 là địa chỉ chính máy bạn nếu gọi từ máy của bạn, với các máy khác trong cùng mạng LAN, các bạn chỉ cần mở link http://<IP hoặc tên máy của bạn>:8080 là xem được stream đó.

- TUY NHIÊN DÙNG VLC QUA KHÁ NHIỀU BƯỚC RƯỜM RÀ, mình viết 1 ứng dụng nhỏ để giảm thiểu thao tác trên VLC.
2- Dùng chương trình VLCTranscode:
thực tế là ứng dụng lấy thông tin ng dùng nhập vào dialog, sau đó gọi chương trình stream VLC với tham số đã nhập đó:
link download: VLCTranscode
- Giao diện chương trình:


- Input: có thể browse đến file hoặc nhập trực tiếp địa chỉ của stream ( http://.., hoặc udp:// v.v...).
- Tùy chọn Logo: cho phép chèn logo vào stream nếu muốn, ( logoo dạng PNG): Xpos, Ypos là tọa độ logo trên stream, opacity là độ trong suốt của logo ( từ 0 đến 255).
- deinterlac: khử mành ( dùng cho các nguồn dạng interlace như 480i, v.v..). ở đây mình dùng chế độ yadif2x .
video settings ( mình chỉ dùng h264): with, height, bitrate của output,có thể chọn same source để giữ nguyên gốc.
audio settings : nhập các thông số bitrate, sample rate , có thể chọn same source để giữ nguyên gốc.
VLCPath: Đường dẫn đến file VLC.exe , cái này quan trọng, bạn phải thiết lập đúng đường dẫn bằng cách nhấn Change rồi duyệt đến file VLC .exe đã cài vào máy.

sau khi thiết lập thông số tream đã ổn thì chỉ việc nhấn Transcode, cửa sổ VLC sẽ hiện ra, và tự động stream với các thông số đã đặt, ( khi đang stream thì cửa sổ ứng dụng VLCtranscode sẽ bị vô hiệu hóa )
save & quit: lưu lại thiết lập và thoát chương trình.

- và để play thì cũng tương tự như lúc trước,
bạn mở VLC rồi open network stream địa chỉ http://127.0.0.1:8080.




Phần 2: Hướng dẫn phát stream qua sopcast:
- đầu tiên vào SopCast - Free P2P internet TV | live football, NBA, cricket để đăng kí 1 account sopcast.
sau đó đăng kí lấy 1 vài kênh sopcast, free hết nhé. mấy bước này dễ nên ko đưa ảnh ra làm gì.
- lưu ý các bạn là đăng kí kênh sopcast thì đặt private thôi, để public mà phát bóng đá là bị tuýt còi ngay.
Tiến hành phát stream của mình qua sóng Sopcast:
- Các bạn thiết lập sopcast cho phép chạy nhiều cửa sổ đã nhé: vào option, và bỏ dấu tích ở Alow only one instance of sopcast là xong. ( để dễ dàng vừa phát vừa xem kênh của mình chạy ổn ko ).
- bạn vào tab My Server:
+ Source bạn chọn stream) nguồn stream mà bạn muốn phát đi
chính là đầu ra của VLC bước trước ( http://127.0.0.1:8080),
+Channel: điền các thông tin về program name và channelID đã đăng kí ở sopcast.com
+ serverAddress và service : để mặc định
+ nhập đúng các thông tin đăng nhập vào sopcast ở mục account name và password;


- Sau khi hoàn tất thông số thì bấm start thôi,
- công việc còn lại là xem kênh của mình trên đó chạy ổn ko
mở 1 cửa số sopcast khác , nhập địa chỉ sop://broker.sopcast.com:3912/xxxxxx vào address, trong đó xxxxxx là mã kênh đăng kí của bạn.
hoặc xem trên Sign In, sẽ có danh sách các kênh của bạn, kênh có biểu tượng playing là kênh đó đang chạy, hehe.

Phần 3: Chuyển tiếp kênh sopcast đang phát bóng đá
- Khi bạn đan xem đc 1 kênh sopcast ngon nghẻ, nhưng người khác vào muộn thì bị báo là offline channel.
hoặc muốn phát 1 kênh của riêng mình cho bạn bè( chèn logo cá nhân vào ).
VLCtranscode có thể transcode từ kênh gốc đó ra stream khác ( với chất lượng âm thanh hình ảnh tùy chọn như hướng dẫn bước trước )
khi sopcast đang chạy thì nó cũng phát 1 stream tại địa chỉ http://127.0.0.1:8902/tv.ts.
lưu ý : đối với trường hợp chạy 2 kênh sopcast thì kênh kế tiếp sẽ là http://127.0.0.1:8903/tv.ts,
bạn có thể mở stream này bằng VLC cũng được .
và stranscode ra 1 stream khác cũng được.
( vì là giao thức http output nên các máy khác trong mang LAN dễ dàng play cũng như forward stream của bạn đc )
- việc bây giờ chỉ việc mở VLCtranscode lên nhập input là http://127.0.0.1:8902/tv.ts

điền thông số setting phù hợp rồi bấm transcode.
lập tức máy bạn cũng đang phát 1 stream tại địa chỉ http://127.0.0.1:8080, (với các thông số video, audio đã đc thiết lập ở cửa số VLCtranscode).
( trong VLCtranscode mình để mặc định các cổng đầu ra).
- sau đó mở 1 cửa số sopcast khác, vào tab server và nhập thông tin input stream là http://127.0.0.1:8080
điền các thông tin khác cho đúng, bấm start .
Vậy là stream của bạn đã được đưa thông tin lên server sopcast. và có thể xem đc ở bất kì đâu.

Phần 4: Ngoài lề:
- Với cách này có thể phát đi tín hiệu truyền hình ở nhà cho bạn bè, anh em xem. ( bằng cách dùng card capture tín hiệu đầu thu KTS, AV hoặc HDMI) sẽ tiết kiệm đc chi phí .
- vấn đề muôn thuở là nếu chia sẻ link phát sóng vi phạm bản quyền sẽ bị cắt nếu tai mắt nhà đài phát hiện đc. cho nên ko nên share kênh của mình công khai lộ liễu.
- khi VLC tiến hành transcode, sẽ tiêu tốn tài nguyên CPU, giống như đang encode phim vậy, cho nên sẽ phải cân nhắc độ phân giải đầu ra, tùy theo CPu của mình, để độ phân giải cao quá thì CPU ko encode kịp và xảy ra hiện tượng thắt cổ chai