실시간 PC화면 전송관련 질문

csw3850의 이미지

실시간으로 PC화면을 전송하는 기능을 구현중에 있습니다.

현재는 구현 구상중인데 몇가지 질문이 있어 조언을 받을까 합니다.

1. MPEG으로 전송시 delay 발생 처리

- encoding 및 decoding시 불가피하게 delay가 발생할수밖에 없을듯 합니다.

그래도 최대한 delay를 줄일수 있는 방법이 있는지요?

그리고 예상되는 delay는 어느정도 일지?

Rsupport에서 구현한걸 보면 delay가 거의 느껴지지 않네요.. 어떻게 구현한건지 모르겠네요..

2. MPEG중 어떤 종류를 사용하는게 최적의 선택일까요?
- 현재 MPEG-2 TS를 고려하고 있습니다.

3. 라이브 전송을 해야 하기에 스트리밍 서버를 만들어야 할거 같은데요...
encoder는 FFMpeg을 고려 하고 있고요..

별도 소켓 프로그램을 작성하려고 하는데 FFMpeg에서 M2TS를 file전환전에 소켓으로 전달 하려고 하는데

FFMpeg에서 M2TS를 추출하는 방법을 모르겠네요...(FFServer는 window버전이 없어 pass)

4. 네트워크 전송시 HTTP형태로 전송하려고 하는데 M2TS를 전송하는 스트리밍 서버 관련 sample코드가 있을까요?....

질문을 하고 보니 개발을 날로 먹을려고 하는거 같기는 한데.. 고수님들의 많은 조언 부탁드립니다......

그럼 좋은 하루 보내세요.

madman93의 이미지

1. 실시간으로 PC 화면을 전송한다는 의미가 구체적으로 무엇인가요?
2. MPEG2 TS로 하시는 특별한 이유라도 있습니까?
3. delay는 어느 정도 생각하고 계시는지요? 거의 실시간이면 만족입니까?
4. encoding을 어디서 한다는 말씀이십니까? 서버에서 한다는 말씀이 PC 화면 전송하는데가 서버입니까?
5. HTTP로 하실려는 특별한 이유가 있습니까?

아직 개발 초기 단계인것 같은데요!!
우선 개발 설계를 잘 하고 들어 가셔야 할 것 같군요
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

csw3850의 이미지

1. PC원격제어하고 반대 개념이라고 보시면 됩니다. PC원격제어는 내 PC에서 상대방 PC화면을 control하는것이고
화면 전송은 내 PC의 화면을 무선으로 다른 PC로 전송하는겁니다.

2. 실시간 전송에는 M2TS가 가장 적합하다고 하여 고려하고 있습니다.(현재 JPEG은 여러가지 이유로 제외 했습니다.)

3. delay는 마우스 동작시 전혀 불편함을 느끼지 않을정도(원격은 아니지만 타 PC의 모니터를 보고 마우스 동작시)
가 되려면 0.5msec이내여야 할거 같습니다.

4. 예 PC화면 전송하는곳이 server입니다.

5. 예.. 특별한 이유는 있습니다. 밝히기가...^^;;;

kranian의 이미지

실시간을 네트워크에서 보장받으면 받으려면 아마도 영상의 빠른 압축 및 저용량 ,빠른 압축 해제 핵심을 일것같네요
최소 영상 재생시에는 최소 30frame 이상 나와야 자연스럽게 보일것입니다. ㅎ 저도 역시 해본경험인지라,
영상 전송 문제는 최소한 Multicast+UDP 를 이용하여 그구현 하시고 영상 압축,해제,문제 Jpeg2000 사용하시면 조금이라마 삽질은 피하실수 있을거에요

Jpeg2000는 예제는 인터넷에 많이 떠돌아 다니니 확인 하시고 사용하세요..

nthroot의 이미지

MPEG 까지 가시는건 좀...아닌 것 같고
화면을 블락 단위로 분할해서 변경 부분만 JPEG으로 보내시면 됩니다.
여기다 미러드라이브까지 쓰시면 RSupport 수준의 퀄리티가 나올것 같네요.

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

csw3850의 이미지

JPEG을 사용하게 되면 capture된 jpg를 연속적으로 전송해야 하고 이를 클라이언트에서 display하려면 별도의 player가
필요할거 같은데요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.