Screencast สดภายใต้ Linux


4

ฉันมีปัญหาในการใช้งาน Live Screencast ภายใต้ Linux ฉันได้พบ jtvlc แล้วลองใช้สิ่งนั้น แต่เมื่อใดก็ตามที่ฉันใช้มันสตรีมจะปล่อยว่างหรือล้าหลังด้วยเวลาแฝงที่สูงมาก ฉันมีการเชื่อมต่ออินเทอร์เน็ตที่รวดเร็วและคอมพิวเตอร์ที่รวดเร็ว แต่ฉันอาจต้องเสียภาษีมากเกินไป?

มีความคิดเห็นเกี่ยวกับสิ่งที่ฉันอาจทำผิดหรือเปล่า?

# 1. Get an account on http://www.justin.tv/
# 2. Copy streaming key from: http://www.justin.tv/broadcast/adv_other
# 2. Install VLC: http://www.videolan.org/vlc/
# 3. Get Win/Mac/Lin Stream Client: \
# http://apiwiki.justin.tv/mediawiki/index.php/Linux_Broadcasting_API
# 4. Adjust the vlc parameters to your liking and run VLC like this

#!/bin/bash
cvlc screen:// --input-slave=pulse:// \
    --screen-width 1920 \
    --screen-height 1080 \
    --screen-fps 5 \
    -v input_stream \
    --sout='#duplicate{ dst="transcode{ scale=1, venc=x264{ keyint=60 }, vcodec=h264, vb=600, acodec=mp4a, ab=32, channels=2, samplerate=22050 } :rtp{dst=127.0.0.1,port=1234,sdp=file:///tmp/vlc.sdp} "}' \
    --sout-transcode-threads=4 & sleep 2

# 5. Run JTVLC to stream like this:
./jtvlc/jtvlc omnipotententity censored /tmp/vlc.sdp

# Notes:
#- If you want to see what you're about to stream add 'dst=display, '
# before 'dst="transcode['
# More about the VLC parameters: http://wiki.videolan.org/Documentation:Modules/screen

ปรับปรุง:

ฉันได้แก้ไขปัญหาของฉันแล้ว ... ส่วนใหญ่ ฉันพยายามใส่ข้อมูลมากเกินไปผ่านทางต้นน้ำของฉัน ฉันลดความละเอียดลงและใช้ตัวเลือก crf สำหรับ x264

ตอนนี้สคริปต์ของฉันดูเหมือนว่า:

# 1. Get an account on http://www.justin.tv/
# 2. Copy streaming key from: http://www.justin.tv/broadcast/adv_other
# 2. Install VLC: http://www.videolan.org/vlc/
# 3. Get Win/Mac/Lin Stream Client: \
# http://apiwiki.justin.tv/mediawiki/index.php/Linux_Broadcasting_API
# 4. Adjust the vlc parameters to your liking and run VLC like this

#!/bin/bash
cvlc screen:// --input-slave=pulse:// \
    --screen-width 1920 \
    --screen-height 1080 \
    --screen-fps 5 \
    -v input_stream \
    --sout='#duplicate{ dst="transcode{ scale=1, width=1280, height=720, venc=x264{ keyint=60, crf=35 }, vcodec=h264, acodec=mp4a, ab=32, channels=2, samplerate=22050 } :rtp{dst=127.0.0.1,port=1234,sdp=file:///tmp/vlc.sdp} "}' \
    --sout-transcode-threads=4 & sleep 2

# 5. Run JTVLC to stream like this:
./jtvlc/jtvlc omnipotententity redacted /tmp/vlc.sdp

# Notes:
#- If you want to see what you're about to stream add 'dst=display, '
# before 'dst="transcode['
# More about the VLC parameters: http://wiki.videolan.org/Documentation:Modules/screen

ที่ถูกกล่าวว่าฉันยังคงมีปัญหาเล็กน้อย บางครั้งเมื่อฉันเปลี่ยนสิ่งต่าง ๆ บนหน้าจอกลุ่มมันไม่สามารถเข้ารหัสได้อย่างถูกต้อง สิ่งใดที่แปลกเพราะ screencasting ผ่าน Skype 4.0 ใช้งานได้ดี ดังนั้นยังคงมีข้อบกพร่องเล็กน้อยในการออกกำลังกาย

ฉันเปิดรับรางวัลค้างไว้และฉันก็พยายามทำสิ่งต่าง ๆ ที่กล่าวถึง ฉันจะยังคงกำหนดเงินรางวัลแม้ว่าฉันจะแก้ไขด้วยตนเอง


1
เมื่อคุณพยายามเรียกใช้สิ่งที่เป็นประโยชน์สำหรับ CPU, GPU, แบนด์วิดธ์ (ในแง่%)
soandos

CPU ดีทั้งหมด (น้อยกว่า 50% ในคอร์ใดแกนหนึ่ง) ฉันไม่แน่ใจว่าจะวัดการใช้ GPU ได้อย่างไรการใช้แบนด์วิดท์จะวนอยู่ตรงไหนก็ตามที่ฉันใส่ vb = ไว้ (ด้วยเหตุผลที่ชัดเจน) หากฉันตั้งหมายเลข vb ให้ต่ำลงมันจะทำงานได้ดีขึ้นมาก แต่ฉันยังได้รับการฉีกวิดีโอการประดิษฐ์และการเข้ารหัสยุ่งเหยิง มันอาจจะหายไปแพ็คเก็ต แต่ก็อาจเป็นไปได้ว่าอัตรา vb ต่ำเกินไป? มีวิธีที่ดีในการตั้งค่า VLC เป็นบิตเรตผันแปรหรือไม่?
OmnipotentEntity

@OmnipotentEntity: การเชื่อมต่ออินเทอร์เน็ตของคุณมีแบนด์วิดธ์สูงสุด / ปริมาณงานสูงสุดเท่าไหร่?
Der Hochstapler

หากคุณได้งานนี้ให้ฉันรู้ มันจะทำให้ฉันไม่ต้อง startx เปิดเบราว์เซอร์และเริ่มเว็บแคมของฉัน
Rob

@Oliver: 30mbps down / 5mbps ขึ้นไป
OmnipotentEntity

คำตอบ:


3

นี่อาจเป็นช็อตในที่มืด แต่ฉันมีความรู้สึกว่า

--screen-fps 5 \

ควรเป็นปัญหา ลองเปลี่ยน 5 เป็นค่าที่สูงกว่าเช่น 50 แล้วดูว่าเกิดอะไรขึ้น


5 หมายถึงอัตราเฟรมที่ขาด ๆ หาย ๆ แต่ 50 นั้นมากเกินไป ที่มากที่สุดฉันจะทำประมาณ 30 (นั่นคือสิ่งที่มักจะเป็นภาพยนตร์) แต่ด้วยข้อ จำกัด แบนด์วิดท์ของเขาฉันอาจจะไม่ไปสูงกว่า 10
zebediah49

ที่จริงแล้วการชนมากถึง 24 จะกำจัดปัญหาการประดิษฐ์ที่ฉันเคยมีมาก่อน
OmnipotentEntity

ขอทราบรุ่นการ์ดจอของคุณได้ไหม
ItsNotAboutTheName

NVidia 260 GTX ถ้าฉันจำได้ถูกต้อง
OmnipotentEntity

คุณสามารถเปลี่ยนขนาดหน้าจอเป็น 1280 x 720 ตั้งค่า fps เป็น 24 แล้วลองได้ไหม หลังจากเปลี่ยนขนาดเดสก์ท็อปของคุณ [จากการตั้งค่าคุณสมบัติเดสก์ท็อปของคุณ] อย่าลืมเปลี่ยน - ความกว้างของหน้าจอ 1920 \ - ความสูงของหน้าจอ 1080 \ เป็น 1280 และ 720 ฉันคาดเดาความล้มเหลวในการเข้ารหัสแบบสุ่ม จำเป็นต้องปรับขนาดวิดีโอรันไทม์ที่บันทึกไว้ของคุณและอาจทำให้เกิดปัญหานี้
ItsNotAboutTheName


0

ลองนี่สิ .. !

# 1. Get an account on http://www.justin.tv/
# 2. Copy streaming key from: http://www.justin.tv/broadcast/adv_other
# 2. Install VLC: http://www.videolan.org/vlc/
# 3. Get Win/Mac/Lin Stream Client: \
#    http://apiwiki.justin.tv/mediawiki/index.php/Linux_Broadcasting_API
# 4. Adjust the vlc parameters to your liking and run VLC like this

#!/bin/bash
cvlc screen:// \
    --screen-width 1576 \
    --screen-height 886 \
    --screen-fps 5 \
    --screen-caching 200 \
    --screen-top 75 \
    -v input_stream \
    --sout='#duplicate{ dst="transcode{ scale=1, width=630, height=354, venc=x264{ keyint=60 }, codec=h264, vb=600, acodec=mp4a, ab=32, channels=2, samplerate=22050 } :rtp{dst=127.0.0.1,port=1234,sdp=file:///tmp/vlc.sdp} "}' \
    --sout-transcode-threads=2 &

# 5. Run JTVLC to stream like this:
jtvlc justintvusername streamkey /tmp/vlc.sdp

# Notes:
#- If you want to see what you're about to stream add 'dst=display, '
# before 'dst="transcode['
# More about the VLC parameters: http://wiki.videolan.org/Documentation:Modules/screen

หากไม่ได้ทำงานคุณสามารถลองเวสก์ท็อปสตรีมมิ่งผ่าน DLNA ใน GNU


1
มนุษย์สคริปต์นั้นดูคุ้นเคยอย่างประหลาด
OmnipotentEntity
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.