คำถามติดแท็ก video-streaming

10
วิดีโอสตรีมมิ่งจากกล้อง Android ไปยังเซิร์ฟเวอร์
ฉันได้เห็นข้อมูลมากมายเกี่ยวกับวิธีการสตรีมวิดีโอจากเซิร์ฟเวอร์ไปยังอุปกรณ์ Android แต่ไม่ได้เกี่ยวกับวิธีอื่น Ala Qik ใครช่วยชี้ฉันในทิศทางที่ถูกต้องที่นี่หรือให้คำแนะนำเกี่ยวกับวิธีการนี้

4
สตรีมวิดีโอสดจากโทรศัพท์ Android เครื่องหนึ่งไปยังอีกเครื่องหนึ่งผ่าน WiFi
ฉันค้นหาอินเทอร์เน็ตมาหลายวันแล้วเกี่ยวกับวิธีใช้คุณสมบัติสตรีมวิดีโอจากโทรศัพท์ Android ไปยังโทรศัพท์ Android เครื่องอื่นผ่านการเชื่อมต่อ WiFi แต่ดูเหมือนจะไม่พบอะไรที่เป็นประโยชน์ ฉันมองหานักพัฒนา Android เพื่อหาโค้ดตัวอย่าง stackoverflow, google, android blogs แต่ไม่มีอะไรเลย ทั้งหมดที่ฉันสามารถหาได้คือโซลูชันโทรศัพท์สู่เดสก์ท็อปหรือเดสก์ท็อปสู่โทรศัพท์สำหรับการสตรีม แต่ไม่มีสิ่งใดที่ฉันสามารถยืมได้ในการนำไปใช้งาน ฉันจำเป็นต้องควบคุมหุ่นยนต์โดยใช้ arduino ADK ดังนั้นฉันจึงใช้โทรศัพท์ 2 เครื่องโดยเครื่องหนึ่งจะติดตั้งบนหุ่นยนต์และอีกเครื่องจะรับสตรีมวิดีโอจากหุ่นยนต์ ฉันพูดถึงสิ่งนี้เพราะฉันพยายามทำให้เกิดความล่าช้าน้อยที่สุดระหว่างเวลาออกอากาศและเวลารับชม ฉันกำลังเขียนแอพ 2 แอพหนึ่งแอพหลักในการควบคุมหุ่นยนต์ (จากโทรศัพท์มือถือ) ซึ่งจะควบคุมแอพทาสและรับสตรีมและแอพทาสตัวที่สองซึ่งจะทำงานบนโทรศัพท์ที่รัดหุ่นยนต์ควบคุมมอเตอร์ / แอคชูเอเตอร์ / สตรีมไปยังแอปหลัก ฉันไม่สามารถใช้แอพของบุคคลที่สามได้ ฉันต้องการรวมโค้ดสตรีมวิดีโอเข้ากับ 2 แอพของฉัน มีทางเลือกอะไรบ้างในการบรรลุเป้าหมายนี้? นอกจากนี้มันยากมากที่จะทำเพราะฉันไม่เคยทำงานกับการสตรีมวิดีโอเลยฉันทำได้ค่อนข้างดีทั้งในการพัฒนา Java และ Android ฉันควรเข้ารหัส / ถอดรหัสสตรีมอย่างไรฉันจะเริ่มการเชื่อมต่อได้อย่างไรฉันจะต้องทำงานกับ UDP แทน TCP / IP …

13
TCP เทียบกับ UDP บนสตรีมวิดีโอ
ฉันเพิ่งกลับบ้านจากการสอบในการเขียนโปรแกรมเครือข่ายและหนึ่งในคำถามที่พวกเขาถามเราคือ"ถ้าคุณจะสตรีมวิดีโอคุณจะใช้ TCP หรือ UDP หรือไม่ให้คำอธิบายสำหรับทั้งวิดีโอที่จัดเก็บไว้และสตรีมวิดีโอสด" . สำหรับคำถามนี้พวกเขาคาดหวังคำตอบสั้น ๆ ของ TCP สำหรับวิดีโอที่จัดเก็บไว้และ UDP สำหรับวิดีโอสด แต่ฉันคิดถึงเรื่องนี้ระหว่างเดินทางกลับบ้านและจำเป็นต้องใช้ UDP สำหรับการสตรีมวิดีโอสดหรือไม่? ฉันหมายความว่าถ้าคุณมีแบนด์วิดท์สำหรับมันและบอกว่าคุณกำลังสตรีมการแข่งขันฟุตบอลหรือคอนเสิร์ตสำหรับเรื่องนั้นคุณจำเป็นต้องใช้ UDP จริงหรือ? สมมติว่าในขณะที่คุณกำลังสตรีมคอนเสิร์ตนี้หรืออะไรก็ตามที่ใช้ TCP คุณเริ่มสูญเสียแพ็กเก็ต (มีบางอย่างไม่ดีเกิดขึ้นในเครือข่ายระหว่างคุณและผู้ส่ง) และตลอดทั้งนาทีคุณจะไม่ได้รับแพ็กเก็ตใด ๆ สตรีมวิดีโอจะหยุดชั่วคราวและหลังจากนาทีที่แล้วแพ็กเก็ตจะเริ่มผ่านอีกครั้ง (IP พบเส้นทางใหม่สำหรับคุณ) สิ่งที่จะเกิดขึ้นคือ TCP จะส่งต่อนาทีที่คุณเสียไปและส่งสตรีมสดให้คุณต่อไป เนื่องจากสมมติว่าแบนด์วิดท์สูงกว่าอัตราบิตบนสตรีมและ ping ไม่สูงเกินไปดังนั้นในช่วงเวลาสั้น ๆ หนึ่งนาทีที่คุณเสียไปจะทำหน้าที่เป็นบัฟเฟอร์สำหรับสตรีมให้คุณด้วยวิธีนั้น หากเกิดการสูญเสียแพ็กเก็ตอีกครั้งคุณจะไม่สังเกตเห็น ตอนนี้ฉันนึกถึงอุปกรณ์บางอย่างที่อาจไม่ใช่ความคิดที่ดีเช่นการประชุมทางวิดีโอที่คุณต้องอยู่ที่จุดสิ้นสุดของสตรีมเสมอเพราะความล่าช้าระหว่างวิดีโอแชทนั้นแย่มาก แต่ ระหว่างการแข่งขันฟุตบอลหรือคอนเสิร์ตจะเป็นอย่างไรหากคุณอยู่เบื้องหลังสตรีมเพียงนาทีเดียว นอกจากนี้คุณยังรับประกันได้ว่าคุณจะได้รับข้อมูลทั้งหมดและจะดีกว่าหากบันทึกไว้ดูภายหลังเมื่อมีข้อมูลเข้ามาโดยไม่มีข้อผิดพลาด สิ่งนี้ทำให้ฉันได้คำถาม มีข้อเสียที่ฉันไม่รู้เกี่ยวกับการใช้ TCP สำหรับสตรีมมิงแบบสดหรือไม่? หรือที่จริงแล้วถ้าคุณมีแบนด์วิดท์สำหรับมันคุณควรไปหา TCP เพราะมัน "ดีกว่า" สำหรับเครือข่าย …

15
ฉันจะแสดงสตรีมวิดีโอ RTSP ในหน้าเว็บได้อย่างไร?
ฉันมีกล้อง ip ที่ให้สตรีมวิดีโอ RTSP แบบสด ฉันสามารถใช้ VLC media player เพื่อดูฟีดโดยระบุ URL: rtsp://cameraipaddress แต่ฉันต้องแสดงฟีดบนหน้าเว็บ ผู้ให้บริการกล้องให้ตัวควบคุม ActiveX ซึ่งฉันใช้งานได้ แต่มันมีปัญหามากและทำให้เบราว์เซอร์ค้างบ่อย มีใครทราบปลั๊กอินวิดีโอทางเลือกที่ฉันสามารถใช้ซึ่งรองรับ RTSP ได้บ้าง? กล้องสามารถกำหนดค่าให้สตรีมได้ทั้งแบบ H264 หรือ MPEG4

4
เล่นวิดีโอแบบวนซ้ำไม่ จำกัด เมื่อโหลดใน HTML5
ฉันต้องการวางวิดีโอในหน้า HTML5 ที่จะเริ่มเล่นในการโหลดหน้าเว็บและเมื่อเล่นเสร็จแล้วให้วนกลับไปที่จุดเริ่มต้นโดยไม่หยุดพัก วิดีโอที่ควรนอกจากนี้ยังไม่ได้มีการควบคุมใด ๆ ที่เกี่ยวข้องกับมันและทั้งสองจะเข้ากันได้กับทุกเบราว์เซอร์ 'ทันสมัยหรือมีตัวเลือกในการ polyfill ที่ ก่อนหน้านี้ฉันจะทำสิ่งนี้ผ่านFlashและFLVPlaybackแต่ฉันต้องการหลีกเลี่ยงFlashในทรงกลม HTML5 ฉันคิดว่าฉันสามารถใช้ javascript setTimeoutเพื่อสร้างลูปที่ราบรื่นได้ แต่ฉันควรใช้อะไรในการฝังวิดีโอเอง มีบางอย่างที่จะสตรีมวิดีโอในแบบที่FLVPlaybackต้องการหรือไม่?

8
วิธีบันทึกเว็บแคมและเสียงโดยใช้ webRTC และการเชื่อมต่อแบบเพียร์บนเซิร์ฟเวอร์
ฉันต้องการบันทึกเว็บแคมและเสียงของผู้ใช้และบันทึกลงในไฟล์บนเซิร์ฟเวอร์ จากนั้นไฟล์เหล่านี้จะสามารถให้บริการแก่ผู้ใช้รายอื่นได้ ฉันไม่มีปัญหากับการเล่น แต่ฉันมีปัญหาในการบันทึกเนื้อหา ความเข้าใจของฉันคือ.record()ฟังก์ชั่นgetUserMedia ยังไม่ได้เขียน - มีเพียงข้อเสนอเท่านั้นที่ถูกสร้างขึ้น ฉันต้องการสร้างการเชื่อมต่อแบบเพียร์บนเซิร์ฟเวอร์ของฉันโดยใช้ PeerConnectionAPI ฉันเข้าใจว่านี่เป็นการแฮ็คเล็กน้อย แต่ฉันคิดว่ามันน่าจะเป็นไปได้ที่จะสร้างเพียร์บนเซิร์ฟเวอร์และบันทึกสิ่งที่ไคลเอ็นต์ - เพียร์ส่งมา หากเป็นไปได้ฉันควรจะสามารถบันทึกข้อมูลนี้เป็น flv หรือรูปแบบวิดีโออื่น ๆ ได้ ความต้องการของฉันคือการบันทึกเว็บแคม + ฝั่งไคลเอ็นต์เสียงเพื่อให้ไคลเอ็นต์บันทึกวิดีโอซ้ำได้หากพวกเขาไม่ชอบความพยายามครั้งแรกก่อนที่จะอัปโหลด นอกจากนี้ยังอนุญาตให้มีการหยุดชะงักในการเชื่อมต่อเครือข่าย ฉันเคยเห็นรหัสบางอย่างที่อนุญาตให้บันทึก 'ภาพ' แต่ละภาพจากเว็บแคมโดยการส่งข้อมูลไปยังผืนผ้าใบ - มันเยี่ยมมาก แต่ฉันก็ต้องการเสียงด้วย นี่คือรหัสฝั่งไคลเอ็นต์ที่ฉันมีอยู่: <video autoplay></video> <script language="javascript" type="text/javascript"> function onVideoFail(e) { console.log('webcam fail!', e); }; function hasGetUserMedia() { // Note: Opera is unprefixed. …

1
NGINX open () ล้มเหลว (20: ไม่ใช่ไดเรกทอรี) hls vod พร้อมโมดูลลิงก์ที่ปลอดภัย
ฉันมีปัญหากับการตั้งค่า nginx สำหรับการสตรีม hls ฉันใช้โมดูล kaltura nginx vodและพยายามเพิ่มngx_http_secure_link_moduleเพื่อปกป้องสตรีม สิ่งที่แปลกคือฉันมีข้อผิดพลาด 404 ถ้าฉันเปิดใช้งานngx_http_secure_link_module(บันทึกด้านล่าง) ฉันคิดว่าเป็นเพราะไม่สามารถหาไฟล์ที่มี index.m3u8 ในตอนท้าย แต่ถ้าฉันแสดงความคิดเห็นบล็อกการเชื่อมโยงที่ปลอดภัยมันทำงานได้ดี ฉันพยายามเพิ่มนามแฝงในlocation ~ \.m3u8$ {}บล็อก แต่มันไม่ได้ผล ผมทำอะไรผิดหรือเปล่า? วิธีการป้องกันกระแสของฉัน ลิงก์สตรีมของฉัน: https://stream.example.com/hls/c14de868-3130-426a-a0cc-7ff6590e9a1f/index.m3u8?md5=0eNJ3SpBd87NGFF6Hw_zMQ&expires=1609448340 การกำหนดค่า NGINX ของฉัน: server { listen 9000; server_name localhost; # root /srv/static; location ^~ /hls/ { # the path to c14de868-3130-426a-a0cc-7ff6590e9a1f file alias /srv/static/videos/1/; # file …

2
ฮาร์ดแวร์กราฟิก Intel H264 MFT การประมวลผลการเรียกใช้ล้มเหลวหลังจากป้อนตัวอย่างอินพุตไม่กี่ตัวซึ่งทำงานได้ดีกับฮาร์ดแวร์ Nvidia MFT
ฉันใช้เดสก์ท็อปโดยใช้ DesktopDuplication API และแปลงตัวอย่างจาก RGBA เป็น NV12 ใน GPU และให้อาหารแบบเดียวกันกับฮาร์ดแวร์ MediaFoundation H264 MFT ใช้งานได้ดีกับกราฟิก Nvidia และตัวเข้ารหัสซอฟต์แวร์ แต่ล้มเหลวเมื่อมีเฉพาะฮาร์ดแวร์กราฟิก Intel MFT เท่านั้น รหัสทำงานได้ดีบนเครื่องกราฟิก Intel เดียวกันหากฉันเลือกใช้ซอฟต์แวร์ MFT ฉันยังมั่นใจได้ว่าการเข้ารหัสจะทำจริงในฮาร์ดแวร์บนเครื่องกราฟิก Nvidia ในกราฟิก Intel, MFT ผลตอบแทน MEError ( ข้อผิดพลาด "ไม่ได้ระบุ" ) ซึ่งเกิดขึ้นเพียงหลังจากที่ตัวอย่างแรกจะถูกป้อนและโทรตามมา ProcessInput (เมื่อกำเนิดเหตุการณ์ทริกเกอร์ METransformNeedInput) ผลตอบแทน"ผู้ถูกเรียกในปัจจุบันคือการไม่ยอมรับการป้อนข้อมูลต่อไป" เป็นเรื่องยากที่ MFT จะใช้ตัวอย่างเพิ่มเติมไม่กี่ตัวอย่างก่อนส่งคืนข้อผิดพลาดเหล่านี้ พฤติกรรมนี้สับสนฉันให้อาหารตัวอย่างเฉพาะเมื่อตัวสร้างเหตุการณ์ทริกเกอร์ METransformNeedInput แบบอะซิงโครนัสผ่าน IMFAsyncCallback และตรวจสอบอย่างถูกต้องว่า METransformHaveOutput ถูกทริกเกอร์ทันทีที่ตัวอย่างถูกป้อน …

3
รับหน้าจอสีเขียวใน ffplay: สตรีมเดสก์ท็อป (พื้นผิว DirectX) เป็นวิดีโอ H264 ผ่านสตรีม RTP โดยใช้ Live555
ฉันกำลังพยายามสตรีมเดสก์ท็อป (พื้นผิว DirectX ในรูปแบบ NV12) เป็นวิดีโอ H264 ผ่านสตรีม RTP โดยใช้ตัวเข้ารหัสฮาร์ดแวร์ของ Live555 & Windows Media Foundation บน Windows10 และคาดว่าจะแสดงผลโดย ffmpeg (ffmpeg 4.2) แต่จะได้รับหน้าจอสีเขียวเหมือนด้านล่าง ฉันเรียกMFWebCamToRTP mediafoundation- ตัวอย่าง & การเข้ารหัสพื้นผิว DirectX โดยใช้ฮาร์ดแวร์ MFTสำหรับการใช้ FrameSource ของ live555 และเปลี่ยนแหล่งอินพุตให้เป็นพื้นผิว DirectX แทน webCam นี่คือข้อความที่ตัดตอนมาจากการใช้งานของฉันสำหรับการโทรกลับ doGetNextFrame ของ Live555 เพื่อป้อนตัวอย่างอินพุตจากพื้นผิว directX: virtual void doGetNextFrame() { if (!_isInitialised) { …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.