기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
이번에 Banana pi 에서 h264 encoder를 사용하려고 하는데 예제가 별로 없네요.
이번에 알아본 소스는 아래 링크에 있는 것인데 이대로 하면 demo예제에서 segmentation fault문제가 생기는데 해결할 방법을 모르겠네요.
https://github.com/allwinner-zh/media-codec/tree/master/sunxi-cedarx
혹시 위의 링크대로 해서 성공하신분이나 다른 솔루션을 알고 계신분이면 좀 도와 주시기 바랍니다.
기껏 공을 들였더니만 여기서 막혀서 진행이 안되네요. 이게 안되면 다른 솔루션을 찾아야 할지도 모르겠는데 조언좀 부탁드립니다.
경험이 있으시다니 지푸라기라도 잡고 싶은 심정이네요. 제가 겪고 있는 문제는 아래에 나와 있는 것처럼 VEncoderRegister() 함수가 VideoTest.c에서 호출이 안되고 있어서 segmentation fault가 나고 있어요. 어떻하든 이 호출을 시키면 될것도 같은데 예제가 없어서 힘드네요. 혹시 예전에 썻던 예제라도 참고할수 있을까요?
https://groups.google.com/forum/#!topic/linux-sunxi/IHwrVxjJMUo
Then run under a debugger and see where the segment fault is happening,
if is in open-source part, then it can be fixed because to segment
fault is itself a bug, and should have checks and instead print a error
message, which helps to see what is wrong or missing.
If is in the close-source-plugin, then there isn't much that can be
done, other than maybe, more asking/begging allwinner to release a
new close-source-plugin-binary which with some luck could fix the issue.
Not strange at all, this new open-source cedarx library is dependent in
the use of close-source-plugin-binaries to offer the encoding feature
that you wish to use.
음......만일 정 찾다가 안되시면, Nexell의 4330도 하나의 방안입니다.
근래, Nxp4330 2개 붙여서 4개짜리 encoding & save가 되는 DVR 개발 중입니다.....ㅎ, 해서 encoding library는 꽤 테스트 되어서 칩레벨로 정리하시는 거면 도움이 될겁니다.
보드 레벨이라면야 Banana pi의 어마무시한 가격을 이길 수가 없어서 포기지만요....ㅎ
혹, 필요한 상황이 생기시면 저나(ghcstop at gmail.com), 칩 영업쪽 연락하시면 될겁니다(jy at insignal.co.kr)
안녕하세요.
저는 이전에 A20 엔코더 관련하여 경험이 있습니다.
제가 할때(2014년)까지만 하더라도 cedarx가 library로만 제공됐었는데
어느 사이 오픈소스화 되었네요...
(뭐 그래도 비디오 IP 데이터 시트는 제공 안해주기 때문에 보안이 유지될꺼라 생각됩니다.. ㅎㅎ)
A20 비디오 성능 그 당시에는 상당했었습니다. (싼가격에......)
엔코딩 관련해서는 멀티 인스턴스로 최대 FHD 30fps, hd 20fps 까지 나왔었습니다.
단일로 돌리면 FHD 40fps 까지 처리 했던 걸로 기억 합니다.
(로컬 YUV file로 순수 비디오 IP만 테스트 했을 시..., 카메라 프론트 리어 물려서는 못해 봤습니다.
그렇게 뜬 하드웨어가 없어서.....)
어쨋든 그당시에 library로만 제공 됐기 때문에 library를 사용하는 입장에서
yuv data만 던져주면, h264엔코딩 된 data 토해냈기 때문에 상당히 편했습니다.
제가 여기 댓글로 별로 도움을 드릴 수는 없지만
그때 신경쓴 부분은
카메라에서 오는 YUV data 잘 변환에서 다시 cedar library에게 알려주기 ( 예제가 다 있었음 )
혹은 User space에서 연속된 메모리 할당 (ion 및 올위너가 만든 메모리 얼로케이커) 잘 해서
넘겨 주면, 큰 문제 없이 비트스트림 잘 저장해서 봤었습니다.
질문 올리신 분도 아마 메모리 관련해서 잘 제어해 보시면 답이 풀리지 않을까 싶네요.
위에 git 로 로컬 yuv file을 로드해서 테스트 하고 있습니다.
sunxi-cedarx/demo/vencoder/VideoTest.c