Cách live stream lên YouTube với Raspberry Pi

Bằng cách thêm một mô-đun camera vào Raspberry Pi, về cơ bản, bạn sẽ có được một camera kết nối Internet di động, gọn nhẹ và dễ cầm hoặc gắn vào đâu đó.

Nếu bạn muốn stream các cảnh quay bằng mô-đun này, bạn đã biết phải bắt đầu từ đâu chưa? Bạn nên sử dụng model Pi nào? Đâu là giải pháp mô-đun camera tốt hơn trong trường hợp này? Và làm thế nào để bạn live stream các cảnh quay trên YouTube? Như với hầu hết mọi thứ trên Raspberry Pi, những điều này rất đơn giản.

Tại sao lại chọn phát trực tiếp với Raspberry Pi?

Với rất nhiều thiết bị khác nhau có khả năng phát trực tuyến (live stream) lên YouTube, vậy bạn có tự hỏi tại sao lại chọn Pi không?

Thứ nhất, kích thước của Raspberry Pi chắc chắn phát huy tác dụng, cho phép bạn định vị Raspberry Pi ở hầu hết mọi vị trí. Thứ hai, sử dụng Pi làm camera phát trực tiếp YouTube chuyên dụng cũng giúp giải phóng các thiết bị khác.

Các thao tác có thể hơi dài dòng, đòi hỏi một chuỗi lệnh dài, nhưng kết quả chắc chắn sẽ khiến bạn thỏa mãn.

Bạn cần chuẩn bị những gì?

Để phát trực tiếp bất cứ nội dung gì bằng Raspberry Pi lên YouTube, bạn sẽ cần những điều sau:

  • Một Raspberry Pi 3 trở lên.
  • Mô-đun camera Raspberry Pi (phiên bản gốc hoặc NoIR đều được). (Mặc dù bạn có thể sử dụng webcam USB, nhưng các hướng dẫn này giả sử bạn đang sử dụng mô-đun camera Raspberry Pi).
  • Nguồn pin dự phòng (tùy chọn).

Đối với hệ điều hành, Raspbian Stretch tiêu chuẩn sẽ ổn. Nhưng bạn cũng có thể chọn Ubuntu hoặc Arch Linux hay bất kỳ bản phân phối Raspberry Pi nào khác hiện có.

Tiếp theo, kết nối camera và khởi động. Bạn cũng sẽ cần một kênh YouTube để phát trực tiếp cảnh quay của mình. quá trình này không khó thiết lập như bạn nghĩ.

Thiết lập kênh YouTube

Bạn có thể đã có một tài khoản YouTube. Nếu bạn sử dụng Google Mail, có một tài khoản sẵn sàng để kích hoạt. Bạn sẽ cần một URL đặc biệt từ đây để chuyển các cảnh quay được ghi lại bởi camera Raspberry Pi tới YouTube.

Đây được gọi là địa chỉ RMTP và về cơ bản là một URL media cụ thể.

Để tìm thấy địa chỉ này, hãy truy cập YouTube, đăng nhập và tìm nút Upload. Đây là những bước bạn thường sử dụng trong YouTube để thêm video. Tuy nhiên, trong trường hợp này, ta sẽ bỏ qua điều này và nhấp vào nút Get started trong Live Streaming.

Trong màn hình tiếp theo, điền vào các chi tiết bạn muốn cho nguồn cấp dữ liệu trực tiếp. Đây sẽ là thông tin liên quan đến chủ đề của nguồn cấp dữ liệu và tiêu đề mà bạn nên thêm vào trong Basic Info. Bạn cũng sẽ có cơ hội đặt mức độ riêng tư cho stream (Public, Unlisted hoặc Private).

Thiết lập kênh Youtube

Trong tab tiếp theo, Stream key setup, tìm Stream URLStream name/key (bạn cần phải bấm Reveal để thấy những thông tin này). Lưu ý rằng Stream key phải được bảo mật vì bất cứ ai có thông tin này đều có thể phát trực tiếp lên kênh YouTube của bạn!

Ghi lại stream key

(Nếu muốn thiết lập camera phát trực tuyến Pi qua SSH, chỉ cần sao chép Stream name/key từ cửa sổ trình duyệt YouTube vào dòng lệnh Raspberry Pi từ xa).

Để xem các tùy chọn khác ở đây, hãy xem hướng dẫn: Làm thế nào để phát video trực tiếp trên YouTube? của Quantrimang.com.

Chuẩn bị Raspberry Pi để phát trực tiếp lên YouTube

Bây giờ, đã đến lúc thiết lập Raspberry Pi để phát trực tuyến.

Bắt đầu bằng cách nâng cấp. Bước này đảm bảo bạn có thể chạy phiên bản Raspbian mới nhất, với tất cả các bản cập nhật hệ thống và phần mềm cần thiết, bao gồm cả raspivid.

sudo apt update
 sudo apt upgrade

Bước này sẽ mất một vài phút để hoàn thành. Sau khi hoàn thành, mở một cửa sổ terminal và nhập:

sudo raspi-config

Chuẩn bị Pi

Sử dụng các phím mũi tên để chọn Enable Camera, nhấn Enter, sau đó chọn Yes. Bạn sẽ được nhắc khởi động lại. Khi Pi khởi động lại, hãy nhập:

raspistill –o image.jpg

Bạn sẽ tìm thấy kết quả trong thư mục Home. Khi bạn biết chắc rằng camera đang hoạt động với Raspberry Pi, bạn có thể tiếp tục.

Thiết lập việc truyền phát với avconv

Các phiên bản gần đây nhất của Raspbian đã được cài đặt sẵn avconv, vì vậy bạn không cần phải cài đặt nó. Tuy nhiên, nếu không muốn nâng cấp Raspberry Pi, bạn chỉ cần cài đặt gói libav-tools:

sudo apt install libav-tools

Khi avconv được cài đặt, bạn đã sẵn sàng tạo nguồn cấp dữ liệu cho YouTube. Bạn có thể cần Stream name/key mà bạn đã ghi lại trước đó cho việc này.

Tuy nhiên, lệnh khá dài:

raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | avconv -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/[your-secret-key-here]

Như bạn có thể thấy, lệnh có rất nhiều yếu tố. Bây giờ, nếu bạn muốn tiếp tục và chạy nó, hãy sao chép code, dán vào cửa sổ terminal và nhấn Enter. Hãy nhớ thay đổi [your-secret-key-here] thành Stream key mà bạn đã ghi chú trước đó.

Nếu mọi thứ hoạt động như dự định, bạn sẽ kết thúc với kết quả như sau:

Kết quả

Khi điều này xảy ra, hãy quay lại tab trình duyệt YouTube. Một lát sau, cảnh quay sẽ bắt đầu phát trực tuyến:

Cảnh quay bắt đầu được stream

Lệnh stream có nghĩa gì?

Lệnh dài ở trên có thể khá khó hiểu đối với người mới bắt đầu, nhưng chứa một tập hợp các tham số riêng biệt. Hãy nhìn vào điều quan trọng nhất.

  • -fps: Đây là tốc độ khung hình trên giây (frames per second). Để có kết quả tốt nhất, tốc độ này phải trên 24. Tuy nhiên, nếu hiệu suất là một vấn đề, bạn có thể muốn giảm tỷ lệ này để cải thiện việc stream.
  • -w -h: Chúng có thể được sử dụng để chỉ định chiều rộng và chiều cao. Nếu bạn bỏ qua chúng, raspivid sẽ sử dụng độ phân giải độ phân giải cao 1920×1080 (1080p).
  • -b: Giới hạn bitrate đầu ra (bitrate là khối lượng dữ liệu được truyền trong một khoảng thời gian nhất định). Đề xuất của YouTube là 400-600kbps. Một con số thấp hơn sẽ làm giảm băng thông upload, làm video có chất lượng thấp hơn.
  • -acodec: Tham số này đặc biệt quan trọng để phát trực tuyến lên YouTube. Dịch vụ này không cho phép video không có âm thanh (hoặc có âm thanh nhưng không có hình ảnh), vì vậy ví dụ sử dụng điều này để tạo âm thanh giả cho stream. Vì Raspberry Pi không có mic tích hợp và kết quả âm thanh tốt nhất thu được yêu cầu thêm card âm thanh HAT (đây là một giải pháp dễ dàng).
  • -f: Đây là định dạng đầu ra. Trong trường hợp này, đó là flv, định dạng ưa thích cho các live stream trên YouTube.

Tách phiên SSH để phát trực tuyến

Lệnh raspivid ở trên sẽ khởi tạo một stream, nhưng nếu bạn đang kết nối qua SSH, khi bạn ngắt kết nối, luồng sẽ đóng lại. Chắc chắn bạn không thể để máy tính chạy chỉ để Pi tiếp tục truyền phát, đúng không?

May mắn thay, có một giải pháp cho vấn đề này. Đó là screen. Đây là một phần mềm bạn có thể cài đặt, giúp giữ phiên SSH chạy khi bạn ngắt kết nối.

Bắt đầu bằng cách kết thúc stream (Ctrl + X), sau đó cài đặt screen:

sudo apt install screen

Đợi screen cài đặt xong, sau đó khởi động lại Pi.

sudo reboot

Kết nối lại qua SSH, đăng nhập, sau đó nhập lệnh để chạy screen:

screen

Điều này về cơ bản tạo ra một môi trường riêng biệt để bạn chạy lệnh raspivid, một môi trường sẽ tồn tại khi bạn ngắt kết nối. Đơn giản chỉ cần chạy raspivid như trên, sau đó khi bạn đã sẵn sàng ngắt kết nối, nhấn Ctrl + A.

Đóng cửa sổ SSH và stream vẫn sẽ tiếp tục.

Với video phát trực tiếp từ camera trên Pi, mọi thứ sẽ hoạt động tốt. Tất cả những gì bạn cần là:

  • Kết nối mô-đun camera với Raspberry Pi
  • Định vị Pi để ghi lại cảnh quay
  • Chạy cập nhật hệ thống
  • Thiết lập kênh YouTube và sao chép URL stream
  • Bắt đầu một stream với lệnh raspivid

Lưu ý rằng với truyền phát liên tục, có khả năng mọi thiết bị có thể quá nóng, điều này sẽ làm chậm stream. Nếu điều này xảy ra, hãy xem xét một số giải pháp làm mát Raspberry Pi.

Chúc bạn thực hiện thành công!

Thứ Sáu, 31/05/2019 08:11
52 👨 507