Tôi đang tìm cách phát trực tiếp lên Youtube bằng VLC và tạo chuỗi lệnh sau:
cvlc -vv screen:// --live-caching=0 --screen-fps=30 --screen-width=1920 --screen-height=1080 --sout='#transcode{vcodec=h264,scale=Auto,width=1920,height=1080,acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxx}'
Nếu tôi thay thế screen:// ..
bằng một videofile, luồng sẽ tải lên Youtube thành công.
Nhưng tôi không biết tại sao nó không chiếu màn hình. Youtube ngắn gọn cho thấy một kết nối nhưng không có hình ảnh. Luồng không bị gián đoạn bởi VLC và nó hiển thị quá trình tải lên để tiếp tục, nhưng nó không bao giờ được YT chọn. Bất kỳ trợ giúp sẽ được đánh giá cao.
Đối với bản ghi, tôi có thể xem màn hình ngoại tuyến trong VLC mà không cần phát trực tuyến.
Tôi nhận được một lỗi cụ thể nổi bật:
core mux warning: late buffer for mux input (repeated while streaming)
nhưng điều này cũng xảy ra trong trường hợp tải lên video và sau đó dường như không gây ra sự cố.
Đăng nhập
Dưới đây là nhật ký khi tôi cố gắng thiết lập máy chủ HTTP phát trực tuyến trên máy tính để bàn trong khi chơi ở VLC. Tôi nhận được một hình ảnh, nhưng chỉ là một hình ảnh tĩnh, khung đầu tiên của luồng.
Nó cho tôi biết rất nhiều rằng máy tính của tôi chạy chậm, tuy nhiên đó là Corei5 và quá trình VLC chỉ chiếm 9% với rất nhiều còn lại. Lưu vào tập tin hoạt động tốt.
Ghi chú
Tôi có hai màn hình. Đó có thể là một vấn đề cho nó bằng cách nào đó, tôi không biết.
Cập nhật
Tôi đã sửa vấn đề khung hình bị rơi bằng cách tăng bộ đệm với live-caching=2500
. Bây giờ nó hoạt động tốt với một máy chủ HTTP cục bộ, nhưng vẫn không hoạt động với YT.
#transcode{vcodec=h264,scale=Auto,width=1920,height=1080
khi tôi chuyển mã luồng thời gian thực với độ phân giải lớn, hãy thử xuất luồng có kích thước nhỏ hơn 640-480