반응형

라즈베리파이에 연결된 카메라로부터 캡쳐된 영상을 웹브라우저에서 볼 수 있도록 mjpg-streamer를 사용하는 방법을 설명하고 있습니다. 


다음 블로그 글을 참고하여 진행했습니다.


https://desertbot.io/blog/how-to-stream-the-picamera 




1. 라즈베리파이에 웹캠 또는 파이 카메라를 연결하고 사용할 수 있도록 설정합니다. 



Raspberry Pi Camera Module( pi camera ) 사용하는 방법

http://webnautes.tistory.com/929  





2. mjpg-streamer 소스 코드를 다운로드 받을 디렉토리를 생성합니다. 


pi@raspberrypi:~ $ mkdir project
pi@raspberrypi:~ $ cd project

pi@raspberrypi:~/project $




3. 깃허브에서 소스 코드를 다운로드 받기위해서 git가 필요합니다.


pi@raspberrypi:~/project $ sudo apt-get install git




4. mjpg-streamer 소스 코드를 다운로드를 합니다. 


pi@raspberrypi:~/project $ git clone https://github.com/jacksonliam/mjpg-streamer.git




5. mjpg-streamer 소스 코드를 컴파일하기 위해 필요한 패키지를 설치합니다.


pi@raspberrypi:~/project $ sudo apt-get install cmake python-pil python3-pil libjpeg-dev build-essential




6. OpenCV 4를 사용할 경우 컴파일시 에러가 나기 때문에 소스코드를 수정해야 합니다.

OpenCV 3을 사용한다면 다음 단계로 넘어가세요. 


 nano 편집기로 파일을 열은 후, 


pi@raspberrypi:~/project $ nano mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/input_opencv.cpp


CTRL +  _를 누르고 408 엔터를 눌러 408번째 줄로 이동합니다. 


다음처럼 수정합니다. 


수정 전

    compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);


수정 후

    compression_params.push_back(cv::IMWRITE_JPEG_QUALITY);


Ctrl + O를 눌러 저장하고 

Ctrl + X를 눌러 편집기에서 빠져나옵니다. 




7. mjpg-streamer 소스 디렉토리로 이동하여 컴파일 및 설치를 진행합니다.

 

pi@raspberrypi:~/project $ cd mjpg-streamer/mjpg-streamer-experimental/
pi@raspberrypi:~/project/mjpg-streamer/mjpg-streamer-experimental $ make CMAKE_BUILD_TYPE=Debug
pi@raspberrypi:~/project/mjpg-streamer/mjpg-streamer-experimental $ sudo make install
pi@raspberrypi:~/project/mjpg-streamer/mjpg-streamer-experimental $ cd
pi@raspberrypi:~ $




8. /dev/video0에 연결된 웹캠으로부터 캡처한 영상을 HTTP 포트 8090으로 스트리밍하도록 합니다. 


pi@raspberrypi:~ $ mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www/"




9. 라즈베리파이 카메라를 사용할 경우에는 video0 디바이스 파일을 생성하거나  input_uvc.so 대신에 input_raspicam.so를 사용하면 됩니다.  카메라가 뒤집혀서 연결되기 때문에 -vf 옵션을 추가해야 합니다.  첫번째 방법에선 vf 옵션이 적용안되었습니다. 


참고로 첫번째 방법이 더 빠릅니다. 


pi@raspberrypi:~ $ sudo modprobe bcm2835-v4l2
pi@raspberrypi:~ $ mjpg_streamer -i "input_uvc.so" -o "output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www/"


또는


pi@raspberrypi:~ $ mjpg_streamer -i "input_raspicam.so -vf" -o "output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www/"



자세한 옵션은 다음처럼 확인 가능합니다.


pi@raspberrypi:~ $ mjpg_streamer -i 'input_raspicam.so --help'
pi@raspberrypi:~ $ mjpg_streamer -i 'input_uvc.so --help' 




10. 카메라로부터 영상을 캡쳐하여 웹으로 전송되는 상황을 볼 수 있습니다.





11. PC의 웹브라우저로 라즈베리파이_아이피주소:8090에 접속합니다.





12. 왼쪽 메뉴에서 Static을 선택할 때 마다 스냅사진이 새로 갱신됩니다. 





13. 왼쪽 메뉴에서 Stream을 선택하면 실시간 영상을 볼 수 있습니다.





14. 웹문서없이 이미지만 받고 싶다면 다음 주소를 사용하면 됩니다.



스냅사진 - 라즈베리파이_아이피주소:8090/?action=snapshot





실시간 영상 - 라즈베리파이_아이피주소:8090/?action=stream






코드로 접근하기 위해서는 OpenCV를 사용하면 됩니다. 아래 포스트를 참고하세요..


mjpg-streamer를 사용한 웹 스트리밍을 OpenCV에서 가져오기

https://webnautes.tistory.com/1262 




최초 작성. 2018. 10. 28

최종 작성. 2020. 5. 18


반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. 이전 댓글 더보기
  2. 장형필 2019.06.14 01:48

    안녕하세요. 포스팅 하신게 도움이 많이 됬습니다.
    스트리밍하는 영상을 제가 만든 안드로이드앱에서 웹뷰로 연결하고 싶은데
    안드로이드 스튜디오로 만들어 놓은 웹뷰에 url을 -> 라즈베리파이_아이피주소:8090/?action=stream 이렇게 입력하니까 실시간 영상이 뜨지않는데 어떻게 해야될까요..? 참고로 라즈베리파이와 안드로이드폰은 같은 wifi환경입니다. (에뮬레이터와 안드로이드공기계 둘다 하려고합니다.)
    도움을 주신다면 감사하겠습니다!!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.06.14 10:19 신고

      해보지 않아서 정확한 방법은 모릅니다.

      발생한 에러를 구글에서 검색해서 찾아보는게 좋을 듯합니다.

  3. 첫시작. 2019.06.17 19:57

    라즈베리파이 B 모델과 카메라 모듈을 사용중입니다.

    잘 따라하다가

    라즈베리파이IP:8090 를 넣었는데 접속이 안되네요...

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.06.17 21:18 신고

      혹시 카메라 동작 여부를 확인해봤나요?

      확인을 안해봤다면 아래 링크 보고 카메라 모듈이 동작하는지 테스트해보세요..
      https://webnautes.tistory.com/1192

      동작여부를 확인했다면 어떤 에러 메시지가 보이는지 알려주세요.

    • 첫시작. 2019.06.17 21:49

      한번 작동시켰다가 취소하니 동작을 안하는 거였네요 reboot 하니 다시 됩니다!

      또한 화면 해상도나 프레임은 어떻게 조정하나요 ?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.06.17 23:55 신고

      해상도는 조정이 가능한 걸로 기억합니다.

      자세한 옵션은 다음 명령으로 확인하세요.


      pi@raspberrypi:~ $ mjpg_streamer -i 'input_raspicam.so --help'
      pi@raspberrypi:~ $ mjpg_streamer -i 'input_uvc.so --help'

  4. yoon 2019.07.10 18:25

    안녕하세요, 라즈베리 웹브라우저와 노트북 pc에서 라즈베리ip:8090으로 들어가면 영상은 잘 스트리밍 되고 있습니다!
    제가 졸업작품으로 aws ec2 가상 클라우드(ubuntu)에서 딥러닝을 하고 있습니다. 이 "라즈베리ip:8090"에서 스트리밍 되는 영상으로 학습시킨 모델을 실행시키려고 하는데, 가상환경 웹브라우저에서는 영상에 접속이 안되더라고요 ㅜㅠ 아래 질문들 보니, 같은네트워크를 사용해야 접근이 가능하다고 하는데, 노트북에서 aws를 돌리고 있는 상황이라 같은 네트워크를 공유? 하고 있는거 아닌가요 ㅠㅠ
    aws에서도 이 영상을 받아올 수 있는 방법에 대해 조언좀 구할 수 있을까요? 그리고 정리 잘 해주셔서 감사합니다!!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.07.10 18:42 신고

      검색해보니 VPC를 사용하면 될듯한데.. 해본 부분이 아니라서 정확한 답변은 어려울 듯합니다.

      아래 링크를 참고하세요.

      https://varian-lee.github.io/vpc/

  5. Favicon of https://rkdghgyun.tistory.com BlogIcon 강호균 2019.08.09 11:31 신고

    안녕하세요! 정말 많은 도움을 받고 있어 항상 감사드립니다!
    다름이 아니라 제가 지금 openCV 4.1.0 버전을 사용하고있는데 3버전으로 어떻게 다운그레이드 하나요?
    저는 영상을 cloud server에 전송을 하려 합니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.08.09 13:31 신고

      다음 명령을 사용하면 opencv 파일들을 제거해줍니다.

      sudo find /usr/local/ -name "*opencv*" -exec rm {} \;

      이후 재설치하면 됩니다.



  6. 그린아버 2019.10.29 22:02

    pi@raspberrypi:~/project/mjpg-streamer/mjpg-streamer-experimental $ make CMAKE_BUILD_TYPE=Debug
    단계에서 오류가 뜹니다..

    [ 31%] Building CXX object plugins/input_opencv/CMakeFiles/input_opencv.dir/input_opencv.cpp.o
    /home/pi/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/input_opencv.cpp:86:5: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
    " Help for input plugin..: "INPUT_PLUGIN_NAME"\n" \
    ^
    /home/pi/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/input_opencv.cpp: In function ‘void* worker_thread(void*)’:
    /home/pi/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/input_opencv.cpp:408:34: error: ‘CV_IMWRITE_JPEG_QUALITY’ was not declared in this scope
    compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);
    ^~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/input_opencv.cpp:408:34: note: suggested alternative: ‘IN_CMD_JPEG_QUALITY’
    compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);
    ^~~~~~~~~~~~~~~~~~~~~~~
    IN_CMD_JPEG_QUALITY
    make[3]: *** [plugins/input_opencv/CMakeFiles/input_opencv.dir/build.make:63: plugins/input_opencv/CMakeFiles/input_opencv.dir/input_opencv.cpp.o] Error 1
    make[3]: Leaving directory '/home/pi/mjpg-streamer/mjpg-streamer-experimental/_build'
    make[2]: *** [CMakeFiles/Makefile2:243: plugins/input_opencv/CMakeFiles/input_opencv.dir/all] Error 2
    make[2]: Leaving directory '/home/pi/mjpg-streamer/mjpg-streamer-experimental/_build'
    make[1]: *** [Makefile:130: all] Error 2
    make[1]: Leaving directory '/home/pi/mjpg-streamer/mjpg-streamer-experimental/_build'
    make: *** [Makefile:19: all] Error 2


    뭐가문제일까요;; 우선 블로거님 다른 포스터로 opencv까지설치했습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.10.29 23:00 신고

      OpenCV 4.x에서 C-API가 제거되어 발생한 문제로 보입니다.

      /home/pi/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/input_opencv.cpp 파일의 408번째 줄에 있는
      CV_IMWRITE_JPEG_QUALITY를 cv::IMWRITE_JPEG_QUALITY로 수정해보세요.


      검색해서 찾은 해결방법이라 한번에 해결안될 수도 있습니다.

      참고한곳
      https://github.com/jacksonliam/mjpg-streamer/issues/160

  7. michael 2019.11.07 18:14

    잘 보고있습니다. 운영자님.
    혹시 OpenCV로 촬영되고 있는 카메라를 이 스트리밍 방식으로 스트리밍도 할 순 없을까요?
    시도는 해봤는데 device or resource busy라고 안되긴 합니다만..

  8. 2019.11.09 15:58

    비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.11.09 16:19 신고

      라즈베리파이의 인터넷이 끊어지는 건지.. 아니면 mjpg-streamer 서버가 꺼지는건지 확인해보세요...

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.11.09 16:20 신고

      라즈베리파이의 인터넷 연결이 끊어지는 거라면 가능성이 여러가지라.. 확답이 어렵군요

    • 2019.11.09 16:37

      비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.11.09 17:12 신고

      /var/log/messages와 /var/log/syslog 에서 끊어진 원인을 찾아야 합니다.

  9. motrue seok 2020.01.10 06:49

    감사히 잘 배우고 있습니다. 언뜻 생각이 나서 질문을 드립니다. 스트리밍 되고 있는 영상을 저장하는 방법이 혹 있을까요? 외장하드를 이용해서 dvr처럼 주욱 저장한다던지.. 아니면 시간을 정해주고 그 시간만 몇분정도 저장하는 방법 등...
    감사합니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.01.10 08:29 신고

      ffmpeg같은 라이브러리를 써야 겠지만..

      OpenCV에서 가져와 저장하는 건 어떨까 싶습니다.

      https://webnautes.tistory.com/1262

  10. Kevin 2020.05.20 17:49

    make CMAKE_BUILD_TYPE=Debug명령어 실행해 설치중 아래 같은 오류 가 발생합니다...ㅜㅜ 해결 방법좀요

    make[3]: *** [plugins/input_opencv/filters/cvfilter_py/CMakeFiles/cvfilter_py.dir/build.make:76: plugins/input_opencv/filters/cvfilter_py/CMakeFiles/cvfilter_py.dir/conversion.cpp.o] 오류 1

    make[3]: 디렉터리 '/home/pi/project/mjpg-streamer/mjpg-streamer-experimental/_build' 나감

    make[2]: *** [CMakeFiles/Makefile2:353: plugins/input_opencv/filters/cvfilter_py/CMakeFiles/cvfilter_py.dir/all] 오류 2

    make[2]: 디렉터리 '/home/pi/project/mjpg-streamer/mjpg-streamer-experimental/_build' 나감

    make[1]: *** [Makefile:130: all] 오류 2

    make[1]: 디렉터리 '/home/pi/project/mjpg-streamer/mjpg-streamer-experimental/_build' 나감

    make: *** [Makefile:25: install] 오류 2

  11. kevin 2020.05.20 17:56

    /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp: In member function ‘cv::UMatData* NumpyAllocator::allocate(int, const int*, int, void*, size_t*, int, cv::UMatUsageFlags) const’:
    /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp:121:75: error: invalid conversion from ‘int’ to ‘cv::AccessFlag’ [-fpermissive]
    return stdAllocator->allocate(dims0, sizes, type, data, step, flags, usageFlags);
    ^~~~~

    In file included from /usr/local/include/opencv4/opencv2/core.hpp:59,
    from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
    from /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.h:5,
    from /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp:4:
    /usr/local/include/opencv4/opencv2/core/mat.hpp:476:69: note: initializing argument 6 of ‘virtual cv::UMatData* cv::MatAllocator::allocate(int, const int*, int, void*, size_t*, cv::AccessFlag, cv::UMatUsageFlags) const’
    void* data, size_t* step, AccessFlag flags, UMatUsageFlags usageFlags) const = 0;
    ~~~~~~~~~~~^~~~~
    /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp: In member function ‘bool NumpyAllocator::allocate(cv::UMatData*, int, cv::UMatUsageFlags) const’:
    /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp:146:42: error: invalid conversion from ‘int’ to ‘cv::AccessFlag’ [-fpermissive]
    return stdAllocator->allocate(u, accessFlags, usageFlags);
    ^~~~~~~~~~~
    In file included from /usr/local/include/opencv4/opencv2/core.hpp:59,
    from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
    from /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.h:5,
    from /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp:4:
    /usr/local/include/opencv4/opencv2/core/mat.hpp:477:54: note: initializing argument 2 of ‘virtual bool cv::MatAllocator::allocate(cv::UMatData*, cv::AccessFlag, cv::UMatUsageFlags) const’
    virtual bool allocate(UMatData* data, AccessFlag accessflags, UMatUsageFlags usageFlags) const = 0;
    ~~~~~~~~~~~^~~~~~~~~~~
    /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp: At global scope:
    /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp:167:16: error: cannot declare variable ‘g_numpyAllocator’ to be of abstract type ‘NumpyAllocator’
    NumpyAllocator g_numpyAllocator;
    ^~~~~~~~~~~~~~~~
    /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp:96:7: note: because the following virtual functions are pure within ‘NumpyAllocator’:
    class NumpyAllocator : public MatAllocator
    ^~~~~~~~~~~~~~
    In file included from /usr/local/include/opencv4/opencv2/core.hpp:59,
    from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
    from /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.h:5,
    from /home/pi/project/mjpg-streamer/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/conversion.cpp:4:
    /usr/local/include/opencv4/opencv2/core/mat.hpp:475:23: note: ‘virtual cv::UMatData* cv::MatAllocator::allocate(int, const int*, int, void*, size_t*, cv::AccessFlag, cv::UMatUsageFlags) const’
    virtual UMatData* allocate(int dims, const int* sizes, int type,
    ^~~~~~~~
    /usr/local/include/opencv4/opencv2/core/mat.hpp:477:18: note: ‘virtual bool cv::MatAllocator::allocate(cv::UMatData*, cv::AccessFlag, cv::UMatUsageFlags) const’
    virtual bool allocate(UMatData* data, AccessFlag accessflags, UMatUsageFlags usageFlags) const = 0;
    ^~~~~~~~
    make[3]: *** [plugins/input_opencv/filters/cvfilter_py/CMakeFiles/cvfilter_py.dir/build.make:76: plugins/input_opencv/filters/cvfilter_py/CMakeFiles/cvfilter_py.dir/conversion.cpp.o] 오류 1
    make[3]: 디렉터리 '/home/pi/project/mjpg-streamer/mjpg-streamer-experimental/_build' 나감
    make[2]: *** [CMakeFiles/Makefile2:353: plugins/input_opencv/filters/cvfilter_py/CMakeFiles/cvfilter_py.dir/all] 오류 2
    make[2]: 디렉터리 '/home/pi/project/mjpg-streamer/mjpg-streamer-experimental/_build' 나감
    make[1]: *** [Makefile:130: all] 오류 2
    make[1]: 디렉터리 '/home/pi/project/mjpg-streamer/mjpg-streamer-experimental/_build' 나감
    make: *** [Makefile:25: install] 오류 2

    • Kevin 2020.05.20 17:57

      OpenCV 는 4.1.2 버젼 쓰고있습니다!

    • Kevin 2020.05.20 18:46

      꼭좀 도와주세요 ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.20 20:27 신고

      저도 어제 OpenCV 4.1.2에서 문제 없이 빌드를 했는데.. 이상하군요.

      혹시 진행시 포스트 내용과 차이 나는 점이 있나요?

  12. 감사합니다. 2020.05.29 09:33

    안녕하세요 다름 아니라
    또 다른 궁금한 점이 생겨서 질문 드립니다.
    파이카메라를 통해서 mjpg 실시간 스트리밍을 이용하면서
    파이썬 으로 서버를 만들어서 클라이언트에서 데이터를 보내면 파이카메라가 동작하게 하는 코드를 사용하려고 하는데

    실시간 스트리밍으로 파이카메라가 동작을 하고 있으면 서버를 동작을 시키면

    mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC
    mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x131e7b0 (ENOSPC)
    mmal: mmal_connection_enable: output port couldn't be enabled

    이런 에러가 생기더라구요. 계속 찾아보니 두개의 프로세서에서 카메라를 사용? 하려고 해서 그런다고 하는데

    파이카메라 한대로 두개를 동시(mjpg.sh, server.py)에는 사용할 수는 없는건가요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.29 09:36 신고

      다중 접속을 지원하는 경우에만 가능한거로 알고 있습니다

  13. 감사합니다. 2020.05.29 09:47



    카메라가 다중 접속을 지원해야하는건가요?

  14. Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.29 10:33 신고

    카메라가 지원할수도 있고 프로그램이 지원할수도 있습니다

  15. ybc 2020.06.01 13:15

    pi@raspberrypi:~/project/mjpg-streamer/mjpg-streamer-experimental $ make CMAKE_BUILD_TYPE=Debug

    [ -d _build ] || mkdir _build
    [ -f _build/Makefile ] || (cd _build && cmake -DCMAKE_BUILD_TYPE=Debug ..)
    /bin/sh: 1: cmake: not found
    Makefile:17: recipe for target 'all' failed
    make: *** [all] Error 127
    이런 에러가 뜨는데 뭐가 문제일까요...?

  16. Favicon of https://rrojin.tistory.com BlogIcon rrojin 2020.07.22 14:01 신고

    감사합니다!! 혹시 라즈베리파이에서 안드로이드로 실시간 스트리밍을 하고 싶은데, 위와 같이 한 후 안드로이드에서도 '라즈베리파이_아이피주소:8090/?action=stream'여기에 접근하도록 하면 가능한지요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.22 15:51 신고

      웹브라우저에서 볼 수 있습니다. 같은 아이피 대역을 사용해야 합니다

  17. KSY 2020.07.27 11:21

    실시간 영상을 보는 것 까지는 성공했습니다
    하지만 LS-2718CS 라즈베리 파이 카메라를 써서 그런지 각 모서리 마다 왜곡이 생겼습니다
    해결할려고 하니 캘리브레이션을 사용하라 하는데 혹시 다른 방법이 없을까 궁금합니다

  18. PUG 2020.07.27 20:01

    왠지 따라하기만 하면 될것같내요.
    혹시, 스트리밍 페이지 접속할때 비밀번호를 걸수 있을까요?
    그리고, 스트리밍과 동시에 파일저장도 가능할까요? 원격으로 연결된 폴더에 스트리밍 동영상데이터를 저장하고 싶어요.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.27 20:40 신고

      자세한 기능 설명은 9번에 나온대로 help 옵션을 확인해보세요. 원격으로 지정한 위치에 저장은 아마 안될겁니다

    • BlogIcon PUG 2020.07.28 20:41

      참고해서 다른곳 추가로 뒤져서 찾았습니다.
      $mjpg_streamer -o "output_http.so --help"

      input help랑은 다르게 뜨네요.
      원격으로 지정저장은 여기서 안된다면,
      원격폴더 동기화를 사용하면 어떻게 되긴 하겠내요.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.28 20:48 신고

      찾으셨네요.. 제 생각에도 네트워크 상에 폴더를 공유시키고 저장하는 수 밖에 없을듯합니다.

  19. 김하은 2020.09.04 19:09

    혹시 stream 메뉴만 영상 부분이 엑박으로 뜨고 자바스크립트로 해야 영상을 볼 수 있는데 왜그런지 아실까요 ㅠㅠ

  20. ㅇㅇ 2020.09.09 23:04

    안녕하세요 제가 https://fishpoint.tistory.com/1905 이 글을 보고 mjpg-streamer를 하고있는데
    실행까지는 잘 했는데 프레임이 너무 떨어져 프레임을 변경하는법을 찾고있는데 오류가 나서 댓글 적습니다.
    원래 $STREAMER_PATH/mjpg_streamer -i "input_raspicam.so -d 200" -o "output_http.so -w $STREAMER_PATH/www"
    이 부분을 $STREAMER_PATH/mjpg_streamer -i "input_raspicam.so -f 30 -d 200" -o "output_http.so -w $STREAMER_PATH/www"
    이런식으로 바꿔봤는데 어디서 잘못된건지 모르겠네요...

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.10 20:09 신고

      -f 30를 추가해서 에러난거 아닌가요?

    • BlogIcon ㅇㅇ 2020.09.11 00:15

      네... 그런거같아요 혹시 따로 프레임을 좀 더 높일 방법이 없을까요..?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.11 06:25 신고

      -fps 15를 추가해보세요

      아래 링크에서 다른 옵션들도 검토해보세요

      https://github.com/jacksonliam/mjpg-streamer/blob/master/mjpg-streamer-experimental/plugins/input_raspicam/README.md

  21. Favicon of https://electro-16.tistory.com BlogIcon ㅈㅈ공학전공자 2020.11.14 17:44 신고

    항상 보면서 많은 도움이 되고있습니다. 감사합니다
    궁금한점이 파이카메라로 찍은 사진이나 동영상을 블루투스를 제외한 다른 방법으로 스마트폰으로 전송하는방법이 있을까요?
    twilio를 사용하여 문자보내는것은 성공하였는데, mms를 전송하기 위해서는 media_url을 따와야하는데 어떻게 하는지 모르겠습니다.
    혹시 다른방법으로 스마트폰으로 영상이나 사진을 전송하는 방법이 있을까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.11.14 17:47 신고

      다음 블로그 글을 참고해보세요

      TCP 소켓을 사용하여 웹캠의 이미지를 송수신하는 서버/클라이언트 예제

      https://webnautes.tistory.com/1382

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.11.14 17:48 신고

      안드로이드에서도 소켓으로 받으면 됩니다

+ Recent posts