Android 카메라에서 서버로 비디오 스트리밍


286

서버에서 안드로이드 장치로 비디오를 스트리밍하는 방법에 대한 많은 정보를 보았지만 다른 방법으로는 알 수 없습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까, 아니면 어떻게 접근해야하는지 조언 해 주시겠습니까?


9
이것에 대한 답변도보고 싶습니다. 아직 아무것도 없습니까?
— Jeremy White

아니, 스트리밍 포기. MediaRecorder API를 제출하는 것만으로도 충분했습니다. sipdroid 코드를 확인할 수 있지만 작동하는 것 같습니다.
— JCL

비디오 코드는 온라인으로 Sipdroid 소스에 없습니다 :(
— Donal Rafferty

1
ffmpeg에서 구성 요소를 ffserver로 볼 수 있습니다.
— Vinay

1
이 질문과 관련하여 귀하에게 관심을 가질만한 질문이 있습니다. 비디오 캡처 및 컨테이너 부분이 완료되면 비디오 스트림을 3g 이상 밀어 넣는 것과 관련이 있습니다. bit.ly/vYpWGy
— michael

답변:


123

Android 폰에서 IP 카메라로 사용할 수있는 오픈 소스 프로젝트를 호스팅했습니다.

http://code.google.com/p/ipcamera-for-android

원시 비디오 데이터는 LocalSocket에서 가져 오며 스트리밍 전에 MP4의 MDAT MOOV를 먼저 확인했습니다. 라이브 비디오는 FLV 형식으로 압축되어 있으며 웹 서버에 내장 된 Flash 비디오 플레이어를 통해 재생할 수 있습니다. :)


26
"소스"버튼을 클릭하십시오. 또한,이 사람을 억압 한 사람은 도구입니다.
— Nicholi

3
java.lang.UnsatisfiedLinkError와 같은 오류가 발생합니다. teaonly를로드 할 수 없습니다 : findLibrary가 null을 반환했습니다. 누군가 해결책이 있으면 공유하십시오. 감사합니다
— anddev

1
@mpp : 앱에 NDK 코드가 있습니다. 직접 컴파일하거나 "다운로드"아래 해당 Google 코드 프로젝트에있는 apk에서 .so 파일을 가져옵니다.
— Turnsole

1
또한 java.lang.UnsatisfiedLinkError 오류가 발생합니다. 해당 오류를 제거하는 단계를 간단히 언급하십시오.

1
UnsatisfiedLinkError를 이해하지 못하는 사람들을 위해 : NDK로 C 코드를 빌드해야합니다. 간단히 실행하십시오 ndk-build. 자세한 내용 은 NDK 설명서 를 참조하십시오 .
— Paul Lammertsma 2016 년

70

시간이 좀 걸렸지 만 마침내 관리하는 앱을 만들었습니다. 관심이 있다면 Google 코드 페이지를 확인하십시오. http://code.google.com/p/spydroid-ipcamera/ 코드에 많은 주석을 추가했습니다 (주로 CameraStreamer.java 참조). 꽤 자명하다. 어려운 부분은 실제로 RFC 3984를 이해하고 패킷 화 프로세스에 적합한 알고리즘을 구현하는 것이 었습니다. (이 알고리즘은 실제로 rfc에 따르면 MediaRecorder에서 생성 된 mpeg4 / h.264 스트림을 멋진 rtp 스트림으로 바꿉니다.)

안녕


2
고마워요! 현재 h264에서 제대로 작동하도록 할 수 없으며 h263로 변경할 수 없습니다 (어떻게 해야할지 모르겠습니다). 어쨌든 고마워요!
— Yotes

1
똑같이 사용하고 있지만 RTSP를 사용하여 Android에서 스트리밍 할 때 비디오를 재생할 수 없다고 말합니다. VideoView를 사용하고 있습니다. 도와주세요?
— Rohit Mandiwal 1

1
잘 작동합니다 (지금까지!) 나는 그것을 사용하여 Glass에서 비디오를 스트리밍하고 있습니다 (일부 작업 / 편집 / 구성 후). 지금까지는 Windows 기반 브라우저 (Chrome)에서만 연결할 수 있습니다. VLC 플러그인. Android / iPad 또는 다른 rtsp 플레이어의 VLC는 스트림을 선택하지 않습니다 (그중 하나는 좋아 보이지만 장치 이름을 기반으로 스트림을 가져 오려고 시도했습니다.이 코드는 0으로 반환되어 찾을 수 없습니다). 그래도 코딩 덕분에 하루 동안 결과를 얻을 수 있습니다.
— MacD

@MacD Google Glass에서 스트리밍 하기 위해 spydroid-ipcamera 코드 (모든 프로젝트 또는 일부 클래스 만 제공 할 수 있습니까?) 또는이 라이브러리 github.com/fyhertz/libstreaming 을 사용하십니까? 고마워요 !!
— Bae

안녕하세요 당신은 안드로이드 스튜디오 에서이 프로젝트를 구현하는 방법을 설명해 줄 수 없습니다
— utdev

24

나는 이것도 조사하고 있으며, 당신을위한 좋은 해결책이 없지만 SIPDroid의 비디오 코드를 파헤 쳤습니다.

http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java


RTP 패킷을 사용하여 서버로 스트리밍하는 작업은 서버에서 수행되는 작업입니다. 트랜스 코딩은 무엇이며 어떻게 스트리밍
— 됩니까

아니요 .. SIPDroid 접근 방식을 사용하지 않았습니다. 너무 복잡했습니다. 그런 다음 MJPEGServer로 작업을 수행했습니다.
— Azlam

19

Kickflip 이라는 오픈 소스 SDK를 구축하여 Android의 스트리밍 비디오를 쉽게 경험할 수 있습니다.

SDK는 Android 4.3의 MediaCodec API를 사용하여 장치 하드웨어 인코더의 패킷을 RTMP (librtmp 포함) 또는 H.264 / AAC의 HLS 스트리밍을 위해 FFmpeg로 직접 전달하는 방법을 보여줍니다 . 또한 실시간 OpenGL 효과 (타이틀 링, 크로마 키, 페이드) 및 백그라운드 레코딩을 보여줍니다.

감사합니다, 특히 fadden .


HLS 가능 클라이언트로 스트리밍 할 수 있습니까 (서버에만 해당되는 것은 아님)?
— 4ntoine

4
@dbro 서비스에 대해 배우려고하지만 가격 정보를 보려면 로그인 정보가 필요합니다. 마치 이메일 주소를 수집하는 것과 같습니다. 이것이 의도가 아닌 경우 Parse 및 App Engine과 같은 방식으로 가격 정보를 제공해야합니다.
— 학습자

비디오 카메라가 Kickflip에 비디오를 보낸 다음 안드로이드 폰으로 전송할 수 있습니까? 어떤 타입의 비디오 카메라가 이것에 적합한 경우
— Lutaaya Huzaifah Idris

11

다음은 안드로이드 카메라 비디오를 웹 페이지로 스트리밍하는 방법에 대한 전체 기사입니다.

웹 페이지로 Android 스트리밍 라이브 카메라 비디오

  1. 안드로이드 앱에서 사용 된 libstreaming
  2. 서버 측에서 Wowza Media Engine 은 비디오 스트림을 디코딩하는 데 사용됩니다
  3. 마지막으로 jWplayer 는 웹 페이지에서 비디오를 재생하는 데 사용됩니다.

이것은 폐쇄 소스 구성 요소를 사용합니다. 오픈 소스 대안이 있습니까?
— Raj

당신은 또한 당신이 사용할 수있는 wowza 미디어 서버에 안드로이드 장치에서 라이브 스트리밍을 만들기 위해 내 프로젝트에 사용이에 대한 JavaCV을 사용할 수 있습니다 github.com/begeekmyfriend/yasea
— Chinthaka Devinda

libs 스트리밍은 무료입니까?
— Akrramo

libstreaming에서 마이크가 아닌 입력 오디오 소스로 사운드 카드 장치를 사용할 수 있습니까?
— user2980181

5

모바일에서 내 서버로 라이브 카메라 비디오를 보낼 수 있습니다.이 링크를 사용 하여 링크를 참조하십시오

위 링크를 참조하십시오. 해당 링크에 샘플 응용 프로그램이 있습니다. RecordActivity.class에서 서비스 URL을 설정하면됩니다.

예를 들면 다음과 같습니다. ffmpeg_link = "rtmp : // yourserveripaddress : 1935 / live / venkat";

해당 링크를 사용하여 H263 및 H264 유형 비디오를 보낼 수 있습니다.


위의 링크를 사용하여 코드를 사용했지만 기록을 시작할 수 없었습니다. "스트리밍 할 비디오 없음"예외가 발생했습니다. 이것에 대한 아이디어가 있습니까?
— Akhilesh Sk

위 코드를 사용하여 @AkhileshSk u는 rtmp url을 통해 서버로 라이브 비디오를 보낼 수 있습니다. 녹음 용이 아닙니다. 비디오를 녹화하려면 서버 측에서 비디오를 녹화해야합니다.
— Venkat

안녕하세요 @ Venkat은 카메라에서 안드로이드 폰으로 라이브 비디오를 보낼 수 있습니다. 유튜브 라이브 등을 사용하는 것과 같은 코드 링크가
— 있습니까?

@LutaayaHuzaifahIdris 예 가능합니다. 나는 이것에 대해 이전에 일했다.
— Venkat

@Venkat 안녕하세요, RecordActivity.class 파일을 찾을 수 없습니다
— sanyam


1

Yasea 라이브러리 확인

Yasea는 Android 스트리밍 클라이언트입니다. 카메라 및 마이크의 YUV 및 PCM 데이터를 H.264 / AAC로 인코딩하고 FLV로 캡슐화하며 RTMP를 통해 전송합니다.

특색:

  1. 안드로이드 미니 API 16.
  2. H.264 / AAC 하드 인코딩
  3. H.264 소프트 인코딩.
  4. 상태 콜백 핸들러를 사용한 RTMP 스트리밍.
  5. 세로 및 가로 동적 방향.
  6. 전면 및 후면 카메라 핫 스위치.
  7. 스트리밍하는 동안 MP4로 녹음.

0

Mux (내 회사)에는 카메라 및 사용자 상호 작용 설정을 포함하여 RTMP를 서버로 스트리밍 하는 오픈 소스 Android 앱 이 있습니다. Mux의 라이브 스트리밍 API로 스트리밍하도록 제작되었지만 모든 RTMP 진입 점으로 쉽게 스트리밍 할 수 있습니다.


-7

예산에 따라 이미지를 서버로 보낼 수있는 Raspberry Pi 카메라를 사용할 수 있습니다. 더 많은 세부 정보를 찾을 수있는 두 개의 자습서를 여기에 추가합니다.

이 튜토리얼에서는 Raspberry Pi Camera를 사용하고 Android 장치에서 이미지를 표시 하는 방법을 보여줍니다.

카메라와 안드로이드 장치 간의 실시간 비디오 스트리밍 에 대한 일련의 자습서를 찾을 수있는 두 번째 자습서입니다.


맥락에서
— Vikas Kandari
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.