thắc mắc Tư vấn tìm NAS có thể Streaming 4k film mượt

Sao các bác lại bảo transcode cần pc khủng nhỉ, transcode là TV, client sẽ làm nhiệm vụ decode đúng ko, ngày trc em tải phim 4k trên torrent về (chất lượng 4k chuẩn hdr) trên con PC cùi bắp là dual core E6500, 2Gb ram ddr2, card onboard G31, rồi dùng con TV 4k xem trực tiếp từ ổ cứng PC qua DLNA, TV vẫn xem.mượt mà ko có buffer gì :surrender: con PC của em đâu có cần cấu hình khủng gì đâu, em thấy cần cấu hình khủng phải là mấy con Client để decode chứ
 
Sao các bác lại bảo transcode cần pc khủng nhỉ, transcode là TV, client sẽ làm nhiệm vụ decode đúng ko, ngày trc em tải phim 4k trên torrent về (chất lượng 4k chuẩn hdr) trên con PC cùi bắp là dual core E6500, 2Gb ram ddr2, card onboard G31, rồi dùng con TV 4k xem trực tiếp từ ổ cứng PC qua DLNA, TV vẫn xem.mượt mà ko có buffer gì :surrender: con PC của em đâu có cần cấu hình khủng gì đâu, em thấy cần cấu hình khủng phải là mấy con Client để decode chứ
Ví dụ đơn giản:
File film trên server chuẩn 2160p
Mà client (tvbox, smartTV) chỉ hỗ trợ phát tối đa 1080p
Thì server sẽ transcode về 1080p rồi đồng thời gởi sang client.

via theNEXTvoz for iPad
 
2021f93313d7-f8f3-48e7-836c-afdedb59c951.png
2021b9777f79-f6cf-4721-9fca-dd4bf2290bd2.png
20211930ed8d-fa57-444a-8aac-32be446fc988.png
20214089a4de-4983-4a6d-974b-57a7f4f28f2d.png


Trans trên nas pha ke đây
 
Nginx là một container khác với jellyfin nhé.


Mình đang dùng với docker-compose. Viết một file tên là docker-compose.yml như này:

YAML:
version: "2.1"
services:
  jellyfin:
    image: linuxserver/jellyfin
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Ho_Chi_Minh
      - UMASK_SET=022 #optional
    volumes:
      - ./library:/config
      - ./tvseries:/data/tvshows
      - ./movies:/data/movies
      #- /opt/vc/lib:/opt/vc/lib #optional
      - ./emby-files/index.html:/usr/share/jellyfin/web/index.html
      - ./emby-files/manifest.json:/usr/share/jellyfin/web/manifest.json
      - /media/NAS:/media/NAS
    tmpfs:
      - /tmp/jellyfin/transcodes:mode=1777,uid=1000,gid=1000
    ports:
      - 8096:8096
      - 8920:8920 #optional
      - 7359:7359/udp #optional
      - 1900:1900/udp #optional
    devices:
      - /dev/dri:/dev/dri #optional
      #- /dev/vcsm:/dev/vcsm #optional
      #- /dev/vchiq:/dev/vchiq #optional
      #- /dev/video10:/dev/video10 #optional
      #- /dev/video11:/dev/video11 #optional
      #- /dev/video12:/dev/video12 #optional
    restart: unless-stopped
  nginx:
    image: bitnami/nginx
    volumes:
      - ./fake-emby.conf:/opt/bitnami/nginx/conf/server_blocks/fake-emby.conf:ro
      - ./emby-files:/var/www/html/emby
    restart: always
    ports:
      - "8097:8097"

File config nginx fake-emby.conf như này (cùng thư mục với file docker-compose.yml):
Code:
upstream jellyfin {
    server 127.0.0.1:8096;
}

server {
    listen 8097;
    listen [::]:8097;
    server_name localhost;
    index index.html;
    root /var/www/html/emby;
    try_files $uri $uri.html /index.html =404;

    #access_log  /var/log/nginx/fake-emby.log  main;

    location / {
        try_files $uri $uri.html /index.html =404;
        proxy_pass http://jellyfin;
        proxy_pass_request_headers on;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
    }

    location /emby/ {
        proxy_pass http://jellyfin;
        proxy_pass_request_headers on;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
    }
     
    location /emby {
        proxy_pass http://jellyfin;
        proxy_pass_request_headers on;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
    }
 
    location /emby/system/info {
    try_files $uri $uri/ $uri.json =404;
        alias /var/www/html/emby/system/info;
    }
    location /emby/web/strings {
        alias /var/www/html/emby/str;
    }
}

Tất cả trong file đính kèm. Copy vào cd rồi chạy lệnh docker-compose up -d là lên hết.

Chú ý là trong cái đính kèm có file emby-files/system/info/public với nội dung kiểu như sau:
JSON:
{"LocalAddress":"http://127.0.0.1:8097","WanAddress":"http://192.168.1.46:8097","ServerName":"omv","Version":"4.4.2.0","Id":"3e506396814f453eaad6829ee62d7811"}
Chỗ WanAddress với ServerName nhớ thay bằng giá trị đúng.

Tác dụng của cái nginx này là mở một service emby fake tại port 8097, làm cho emby client tưởng nó là server emby, nhưng bản chất vẫn forward vào jellyfin.
Còn muốn vào jellyfin thì vẫn qua port 8096 như bình thường, không liên quan đến nginx.

Bạn dùng cái của DSM thì mình không rõ nhưng cách config cũng tương tự, mấu chốt ở đây là phải có file fake-emby.conf mount vào /opt/bitnami/nginx/conf/server_blocks/fake-emby.conf vào thư mục emby-files mount vào /var/www/html/emby của cái container nginx.
Bác ơi cái fake Emby này có chạy được trên bản native của Jellyfin không. Em dùng nas fake yếu không xài được docker
 
Mới coi thử video 4k demo Sony trên NAS heo giả cầy qua mạng Internet. Mà LCD ở cty chỉ có Full HD :))

1640243881759.png

1640243913748.png
 
Bác ơi cái fake Emby này có chạy được trên bản native của Jellyfin không. Em dùng nas fake yếu không xài được docker

Nguyên tắc là được, nhưng không có docker thì config hơi khó.

Sent from Xiaomi M2007J20CG using vozFApp
 
Nhu cầu của bác đang giống mình dùng. Thiết bị cuối đủ mạnh để trancode mượt mà thì chả cần trancode trên nas làm gì. MÌnh đang dùng 1 con WD My Cloud 4Tb và setting plex sever để Direct play hết (có nghĩa là source phim down sao về xem vậy, tựa như gắm ổ cứng di động vào xem),
Plex thì mua thêm acc lifetime tầm 500k là xong. Mình đang dùng trên tv LG đời 2020 và vẫn chạy phà phà. Có điểm lưu ý là Audio nên chuyển qua EAC3 AC3, còn DTS thì mình chưa thử, video vẫn play nhưng âm thanh ko phát, do loa mình cùi. Encode lại âm thanh mình dùng Xmedia Recode và dùng MVKtoolnix để add lại
1640256176762.png
 
Nhu cầu của bác đang giống mình dùng. Thiết bị cuối đủ mạnh để trancode mượt mà thì chả cần trancode trên nas làm gì. MÌnh đang dùng 1 con WD My Cloud 4Tb và setting plex sever để Direct play hết (có nghĩa là source phim down sao về xem vậy, tựa như gắm ổ cứng di động vào xem),
Plex thì mua thêm acc lifetime tầm 500k là xong. Mình đang dùng trên tv LG đời 2020 và vẫn chạy phà phà. Có điểm lưu ý là Audio nên chuyển qua EAC3 AC3, còn DTS thì mình chưa thử, video vẫn play nhưng âm thanh ko phát, do loa mình cùi. Encode lại âm thanh mình dùng Xmedia Recode và dùng MVKtoolnix để add lạiView attachment 938155
Cái đấy chả phải do loa cùi đâu mà vì từ đời 2020 LG bỏ bản quyền giấy phép DTS trên TV nên không đẩy luồng sang loa được. Bác xem loa hỗ trợ định dạng nào thì bỏ cái DTS ra là được còn lại thì vẫn đẩy luồng đi mặc dù không giải mã được.
 
Last edited:
Mấy bác tính kiểu nông dân Đông Lào nên mới nghĩ không cần transcoding qua Nas,thế bây giờ nhà có 4 người,2 vch tối xem phim,2 đứa con cũng kéo 4k qua đó. Thế ko lẽ mỗi phòng 1 cái nas???. Thế mới sinh ra build Nas với CPU trâu bò và cả VGA để kéo ít nhất 3-4 luồng 4K,và tương thích với mọi codec. Đã là Nas phải phục vụ đc cả gia đình,về giải trí phải chơi đc mọi thứ quăng vào đó. Còn mấy giải pháp kiểu chắp vá hay "bố sướng 1 mình" thì gọi gì là nas nữa.
 
Mấy bác tính kiểu nông dân Đông Lào nên mới nghĩ không cần transcoding qua Nas,thế bây giờ nhà có 4 người,2 vch tối xem phim,2 đứa con cũng kéo 4k qua đó. Thế ko lẽ mỗi phòng 1 cái nas???. Thế mới sinh ra build Nas với CPU trâu bò và cả VGA để kéo ít nhất 3-4 luồng 4K,và tương thích với mọi codec. Đã là Nas phải phục vụ đc cả gia đình,về giải trí phải chơi đc mọi thứ quăng vào đó. Còn mấy giải pháp kiểu chắp vá hay "bố sướng 1 mình" thì gọi gì là nas nữa.
Thật ra là vấn đề chi phí nữa bác ợ, chứ ai mà chẳng muốn build mạnh nhất có thể :big_smile:
 
Mấy bác tính kiểu nông dân Đông Lào nên mới nghĩ không cần transcoding qua Nas,thế bây giờ nhà có 4 người,2 vch tối xem phim,2 đứa con cũng kéo 4k qua đó. Thế ko lẽ mỗi phòng 1 cái nas???. Thế mới sinh ra build Nas với CPU trâu bò và cả VGA để kéo ít nhất 3-4 luồng 4K,và tương thích với mọi codec. Đã là Nas phải phục vụ đc cả gia đình,về giải trí phải chơi đc mọi thứ quăng vào đó. Còn mấy giải pháp kiểu chắp vá hay "bố sướng 1 mình" thì gọi gì là nas nữa.
Mấy cái này đơn giản mà bác. Nếu Client hỗ trợ giải mã 4k (Smart TV, adroid box 99% hỗ trợ) thì nas chỉ đóng vai trò truyền file. 4K bitrate hiếm khi quá 100Mbps tính ra 4 luồng 400Mbps quá đơn giản (mạng Lan toàn 1Gbps cả rồi). Nếu client ko giải mã được, transcode 4k về 1080p chẳng hạn (HDR tone mapping sang SDR thì quá khó do tốn CPU, cỡ i7 hoặc đám xeon may ra) thì 1 con i3 8100 là thừa cân đủ 4 luồng. Chi phí cho 1 case i3 8100 + SSD cho os ko quá 5-6m nếu có lựa linh kiện cũ. Transcode dùng mỗi iGPU, CPU còn nguyên cho bác làm việc khác.
 
Transcode nó đẻ ra 1 mớ file mts nhỏ, lại tốn thêm tiền ổ cứng. Mà transcode như vậy thì chả cần nhóm encode đẹp làm gì vì khi nó transcode nó sẽ encode các file mts theo giá trị mặc định.

Cho nên cách chơi tiết kiệm và đẹp là lựa chọn các bản phim phù hợp với năng lực trình diễn của thiết bị chiếu. khi xem thì stream thẳng từ nas đến thiết bị là xong
 
Mấy cái này đơn giản mà bác. Nếu Client hỗ trợ giải mã 4k (Smart TV, adroid box 99% hỗ trợ) thì nas chỉ đóng vai trò truyền file. 4K bitrate hiếm khi quá 100Mbps tính ra 4 luồng 400Mbps quá đơn giản (mạng Lan toàn 1Gbps cả rồi). Nếu client ko giải mã được, transcode 4k về 1080p chẳng hạn (HDR tone mapping sang SDR thì quá khó do tốn CPU, cỡ i7 hoặc đám xeon may ra) thì 1 con i3 8100 là thừa cân đủ 4 luồng. Chi phí cho 1 case i3 8100 + SSD cho os ko quá 5-6m nếu có lựa linh kiện cũ. Transcode dùng mỗi iGPU, CPU còn nguyên cho bác làm việc khác.
Không chỉ là chi phí thiết bị bác ơi, cái chính là cần phải tối ưu chi phí về hiệu năng nhưng phải đảm bảo phù hợp tiền điện 24/24 nữa ý. Nên thành ra build nó khó, chứ build lên một device, càng mạnh thì càng sướng, hiệu quả xử lí tác vụ ngon lành :)

via theNEXTvoz for iPhone
 
Điện thoại bây giờ nó khoẻ hơn cả tivi box, transcoding làm chi nữa mấy bác, native stream thẳng tiến.
 
Điện thoại bây giờ nó khoẻ hơn cả tivi box, transcoding làm chi nữa mấy bác, native stream thẳng tiến.

Tivi box mình thấy cũng khỏe mà. Không có nhu cầu lưu phim, lúc nào rảnh thì xem nên là dùng con Android box + acc FShare + line 100M là xem thoải mái rồi.
 
Plex set thế nào để nó stream qua internet nhỉ. Mình xem qua Internet mà nó toàn load CPU 99%, trong khi xem ở nhà thì chỉ stream

Gửi từ Samsung SM-G973F bằng vozFApp
 
Plex set thế nào để nó stream qua internet nhỉ. Mình xem qua Internet mà nó toàn load CPU 99%, trong khi xem ở nhà thì chỉ stream

Gửi từ Samsung SM-G973F bằng vozFApp
Trong setting của plex server có mục giảm độ phân giải khi xem qua internet để tiết kiệm băng thông, cái này làm cho server nó phải transcode dẫn tới cpu làm việc nặng. Setting để xem original/max sẽ không sao, tuy tốn băng thông nhưng do chỉ streaming nên cpu hoạt động nhẹ nhàng.
 
  • 4K HDR (50Mbps, 10-bit HEVC) file: 17000 PassMark score (being transcoded to 10Mbps 1080p)
  • 4K SDR (40Mbps, 8-bit HEVC) file: 12000 PassMark score (being transcoded to 10Mbps 1080p)
  • 1080p (10Mbps, H.264) file: 2000 PassMark score
  • 720p (4Mbps, H.264) file: 1500 PassMark score
17k passmark cho 1 luồng 4k HDR, nas gì chịu cho nổi. Chưa kể 2 3 người xem cùng lúc + ứng dụng gì đó trên nas nữa. CPU load 70 80% rồi thì chắc chắn buffer 10s 1 phát.
Hôm qua thử trên con nas 2x Xeon 2450L 16 core 32 thread mà CPU nó load 60 65% xem tý là buffer.
 
Trong setting của plex server có mục giảm độ phân giải khi xem qua internet để tiết kiệm băng thông, cái này làm cho server nó phải transcode dẫn tới cpu làm việc nặng. Setting để xem original/max sẽ không sao, tuy tốn băng thông nhưng do chỉ streaming nên cpu hoạt động nhẹ nhàng.
Có phải chỗ này không bác. Mình để Max rồi mà nó vẫn transcode lúc xem

Edit: đã tìm ra nguyên nhân, là do phim định dạng H265 thì nó sẽ transcode, còn H264 vẫn stream như thường. Có cách nào để H265 cũng stream không nhỉ
1640751739560.png


Gửi từ Samsung SM-G973F bằng vozFApp
 
Last edited:
Back
Top