2017-01-10 2 views
1

일부 IP 카메라의 경우 서버 측 리 스트리밍 서비스에서 작업 중입니다. 리눅스에서 ffserver를 사용하여 스트림을 제공하고 Windows에서 ffmpeg를 사용하여 피드를 제공합니다. rtsp를 사용하여 카메라 비디오 (H264)를 가져옵니다.FFmpeg에서 mjpeg 스트림의 픽셀을 제거/축소하는 방법

ffmpeg -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0" -vcodec copy -acodec copy "http://192.168.1.101:8090/test.ffm" 

결과 비디오 매우 픽셀 화이며 실제 이미지 다릅니다

<Feed test.ffm> 
File ./test.ffm 
</Feed> 

<Stream test.mjpg> 
Feed test.ffm 
Format mpjpeg 
VideoFrameRate 3 
VideoSize 704x480 
NoAudio 
FileMaxSize 100k 
VideoHighQuality 
</Stream> 

다음과 웨이는 FFmpeg가 공급 될 때

내 ffserver의 구성 예이다. 내가 누락되거나 잘못하고 있어요 아무것도

Resolution: D1 (704*480) 
FrameRate: 3 
BitRate: 256k 
BitRateType: Variable 

거기에 다음과 같이

카메라 '구성은? 어떤 도움

답변

1

동일한 문제가있는 모든 사용자에게. 나는이 해결할 :

<Feed test.ffm> 
File ./test.ffm 
</Feed> 

<Stream test.mjpg> 
Feed test.ffm 
Format mpjpeg 
VideoFrameRate 3 
VideoBufferSize 80000 
VideoBitRate 512 
VideoQMin 1 
VideoQMax 10 
VideoSize 1280x720 
PreRoll 0 
</Stream> 

스트리밍 비디오는 이제 소스와 동일한 품질입니다.

0

에 미리

덕분에 나는 문제가 256 이하/S는 D1 해상도 가난한 비트 레이트 내 의견으로는, 소스 카메라 스트리밍에서 생각합니다.

할 수 있고 네트워크 대역폭에 영향을주지 않으면 차이를 확인하려면 카메라 비트 전송률을 768 또는 1024Kb/s로 늘리십시오.

또한 FrameRate 3은 약간의 프레임 속도 일 수 있습니다. 동적 캡처 스트림에서 10 또는 15 프레임/초로 카메라로 촬영하는 풍경 (가로와 같은 정적 이미지 또는 교통 도로와 같은 매우 역동적 인 이미지)에 따라보다 현실적인 값을 얻을 수 있습니다.

+0

문제점 중 하나는 셀룰라 연결을 사용하여 스트리밍하는 동안 카메라의 대역폭을 많이 사용할 수 없다는 것입니다. 그게 최선의 설정은 아니지만 그 이미지 (전 및 후 처리 된 이미지)의 차이는 거대하다는 것을 알고 있습니다. ffserver에서 얻는 것은 그리드와 같습니다. 즉, 원본에서 볼 수없는 사각형을 분명히 볼 수 있습니다. –

+0

그러면 카메라 소스 설정이 괜찮은 것처럼 보입니다. FileMaxSize를 1M과 같은 다른 높은 값으로 늘리려고합니까? (문제가있는 곳만 확인하십시오.) – Hokusai

+0

나는 이것을 시도해 보았습니다. 실제 시간과 함께 잡을 때까지는 ffserver에서 비디오를 요청할 때마다 항상 Hyperlapse입니다. 이미지 품질에 도움이되지 않습니다. –

관련 문제