기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

이번에 Banana pi 에서 h264 encoder를 사용하려고 하는데 예제가 별로 없네요.


이번에 알아본 소스는 아래 링크에 있는 것인데 이대로 하면 demo예제에서 segmentation fault문제가 생기는데 해결할 방법을 모르겠네요.

https://github.com/allwinner-zh/media-codec/tree/master/sunxi-cedarx


혹시 위의 링크대로 해서 성공하신분이나 다른 솔루션을 알고 계신분이면 좀 도와 주시기 바랍니다.

기껏 공을 들였더니만 여기서 막혀서 진행이 안되네요. 이게 안되면 다른 솔루션을 찾아야 할지도 모르겠는데 조언좀 부탁드립니다.


쾌도난마

2016.06.13 21:41:41
*.108.69.230

안녕하세요.

저는 이전에 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



확인

2016.06.14 02:10:55
*.69.174.57

경험이 있으시다니 지푸라기라도 잡고 싶은 심정이네요. 제가 겪고 있는 문제는 아래에 나와 있는 것처럼 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. 



> it's strange that there is no code to call VEncoderRegister function 
> in Venc_device.c. 

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.

쾌도난마

2016.06.14 03:34:05
*.108.69.230

소스를 살펴보니 그르네요

오픈한 소스들이 제대로 사용할 수 없도록 되어 있는 것 같습니다.


그럼 차라리 사용하시는 BSP에 있는 

라이브러리를 이용해서 테스트 해 보시는건 어떤가요?

라이브러리든 컴파일해서 사용하는 것이든 일단 동작만 하면 되지 않나요? ㅎㅎ



확인

2016.06.14 09:26:15
*.69.174.57

말씀하신 BSP자료를 가지고 있지 않아서 더 힘드네요. 인터넷에서 찾을 수 있는 자료가 현재로서는 전부라서요. 혹시 어디서 얻을수 있을수 있지 않을까 찾아다니고 있는데 아직까지 못찾고 있습니다. 커널도 이곳저곳 기능들이 흩어져서 존재하는 듯 하여 제대로 돌아가는 것 하나만이라도 찾았으면 하고 있습니다.


고도리

2016.06.14 09:33:27
*.200.239.210

예전자료라고 해서 갑자기 예전 친구가 하드디스크로 복사해 주고 간 자료가 생각나서 자료를 찾아봤는데, media관련 라이브러리 쓰는 법은 없네요.


친구한테 함 물어봐야겠네요.


저는 쓴 적이 없지만, 그래도 보드 모으는게 취미였던 친구가 꽤 장난하던 기억이 나네요.



쾌도난마

2016.06.14 10:13:16
*.165.12.16

https://github.com/bananapi-dev/cedarx-libs


위 링크에 다 있는 것 같은데요?


위 프로그램을 그대로 돌린 건 아니였고

위의 예제를 레퍼런스 삼아서 테스트 프로그램을 작성하였었습니다.


아 참고로 저는 허밍보드였고 안드로이드 기반이였었습니다.

릴리즈하는 sdk 가 다 거기서 거기라....

고도리

2016.06.14 14:04:20
*.108.215.114

역쉬 github 에 있네요.


요즘 프로그래밍쪽은 google을 별루고, github쪽 가면 자료가 검색이 되더군요.

참........만감이 교차하는 얘기일 듯 합니다.


엔지니어는 찬밥이고, 그래도 꾸준히 오픈소스는 올라오고...


오픈소스가 엔지니어들한테 좋은건지 나쁜건지...ㅎ,


그래도 자료가 있어서 좋은쪽인 듯 합니다.

고등어

2016.06.14 05:17:17
*.124.98.157

RPi2는 HW가속기가 잘 동작합니다.

FHD에서 30fps까지 잘됩니다.

확인

2016.06.14 09:29:30
*.69.174.57

RPI2칩은 수급이 잘 안된다고 들어서 배제하고 있습니다.

고도리

2016.06.14 09:23:42
*.200.239.210

예전에 잘 되었다라고 하면, Bananapi의 초기 버전 리소스를 찾아보는 것을 어떻까 합니다.

저도 그노무 오픈소스들 버전들의 숨은그림찾기 하느라 요즘 몇주째 삽질 중입니다.....ㅠ,ㅠ


별 버전 다 찾아가면서 덕지덕지 붙이는 중인데, 리눅스 점점 싫어지기 시작하고 있습니다.


전혀 손을 안대는 칩이라 참.....도움이 안되네요.

확인

2016.06.14 09:28:58
*.69.174.57

그러게요. 좀 시간이 지난것들은 퍼즐이 중간중간 빠져 있어 메꾸는게 참 시간이 많이 걸리네요. 정 할수 없다면 다른  칩수급이 소량이라도 잘 되고 하드웨어 인코딩되는 칩을 수배해야 할지도 모르겠다는 생각이 드네요. 

고도리

2016.06.14 09:37:08
*.200.239.210

음......만일 정 찾다가 안되시면, Nexell의 4330도 하나의 방안입니다.


근래, Nxp4330 2개 붙여서 4개짜리 encoding & save가 되는 DVR 개발 중입니다.....ㅎ, 해서 encoding library는 꽤 테스트 되어서 칩레벨로 정리하시는 거면 도움이 될겁니다.


보드 레벨이라면야 Banana pi의 어마무시한 가격을 이길 수가 없어서 포기지만요....ㅎ


혹, 필요한 상황이 생기시면 저나(ghcstop at gmail.com), 칩 영업쪽 연락하시면 될겁니다(jy at insignal.co.kr)

List of Articles
번호 제목 글쓴이 날짜 조회 수
6268 ARM Ubuntu에서 touchscreen 설정 블루스카이 2016-07-04 219
» banana pi a20관련 h264 HW encoder 문제 [12] 확인 2016-06-11 918
6266 라즈베리파이에서 영상 출력을 빠른게 하는 방법??? [1] blue0sky 2016-06-04 505
6265 MAC Address를 이용한 접속? [3] SpecialCase 2016-06-04 383
6264 DMB 칩 과 멀티미디어 칩 가격? [2] 김민욱 2016-05-25 409
6263 LCD 포팅시 백화현상 [6] 늦은부팅 2016-05-21 819
6262 [adduser관련] [2] 밥줘잉 2016-05-18 263
6261 [Exynos 8890] [3] 밥줘잉 2016-05-18 665
6260 자동차에 적용할 만한 솔루션.. 추천 부탁드려요.. [2] 김민욱 2016-05-18 260
6259 혹시 RouteTable 정보 읽을 수 있는 분 있나요? file [3] 엘카 2016-04-29 224
6258 고현철님 ... 혹시 Yocto Linux 셋팅 및 빌드방법 정보 있으신... [3] 파란새 2016-04-27 746
6257 커널 로고화면 변경시 제한된 사이즈가 있나요? [2] DavidKim 2016-04-27 318
6256 [Aliexpress A8] [2] 밥줘잉 2016-04-12 375
6255 linux container [2] 양파링 2016-02-06 273
6254 리눅스 올릴만한 칩 추천좀 부탁드립니다 [14] sinwho 2016-01-29 644
6253 Uboot에서 nandecc hw,sw에 대해서 [1] sinwho 2016-01-27 253
6252 일반 스마트폰에는 uvc 기능이 설정되지 않은건가요? [2] pedor11 2016-01-20 321
6251 MMC(SDCARD)에 커널과 파일시스템 올리는 방법? [4] sinwho 2016-01-16 437
6250 eMMC 아트웍 질문 [4] 정창환 2016-01-11 457
6249 arndale-octa board에 ubuntu포팅에 관해 질문드립니다. [4] 감기귤 2015-12-31 246

사용자 로그인