Open safecorners opened 6 years ago
동영상 포멧이 정해져 있을 경우 컨테이너 형식을 명시적으로 줘서 재생을 시도하면 컨테이너 형식을 판단하는 시간이 없어지기 때문에 다소 시작 속도가 증가 됩니다.
컨테이너 형식을 명시적으로 주더라도 해당 형식에 대해 파싱을 수행할 때 시간이 걸릴 수 있습니다. 이 부분에 대한 코드 수정은 힘듭니다만 만약 컨테이너 형식을 결정하실 수 있으면, TS 형식으로 정해서 재생을 시작하면 다소 빨라 질 수 있습니다.
3 FFMPEG의 경우 버퍼링을 2M 정도 한 후 재생을 시작하게 되어 있는데 FFMPEG 소스를 수정하여 버퍼링 할 사이즈를 줄일 경우 약간 시작 시간이 빨라질 수 도 있습니다.
x264 level과 profile 선택?
https://johnathan.org/2016/07/rpi-h264-hw-acceleration.html 요약 Raspberry의 h264_omx 로 스트리밍 문제에서 h264_omx가 사용되면 서버 다음에 스트리밍 클라이언트를 시작할 수 없음 xvid(mpeg4) 코덱 사용 권장 속도에도 문제 없을거 같다 프레임도 떨어져서 힘들거 같다 https://trac.ffmpeg.org/ticket/6219
ffmpeg -r 30 -s 640x480 -f video4linux2 -i /dev/video0 -vcodec libxvid -bufsize 1000 -b:v 250 -an http://localhost:8090/feed1.ffm
Feed feed1.ffm format rtp videocodec libxvid videoFramrate 30 videoBitRate 250 videoBuffersize 1000 videoSize 640x480 NoAndio
*videobitraterange 250 500
cpu 할당 조절 속도 올리기
h264 스트리밍 명령어 및 ffserver 옵션
ffmpeg -r 30 -s 640x480 -f video4linux2 -i /dev/video0 -vcodec libx264 -bufsize 500 -biv 128k -an http://localhost:8090/feed1.ffm
Feed feed1.ffm Format rtp VideoFramRate 30 VideoBitRate 128 VideoBuffersize 500 VideoSize 640x480 VideoCodec libx264 No Andio
입력 rawvideo 옵션(해상도 바꾸기)
ffmpeg 전역 옵션 - 입력 옵션- 입력 영상 -출력옵션- 출력 영상
@leejihown [mpeg4]rc buffer underflow
오류 해결할것
bitrate를 500k를 주고 최대 1000k가 할당되서 500k~600k의 비트레이트 기복에 대응해 오류가 나가 않습니다. 하지만 영상 크기가 커져서 전송속도가 느리기에 전송속도를 올리는 방법이나 비트레이트를 적게 올리고 사용하는 방법을 찾고 있습니다.