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.