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

이번에 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
번호 제목 글쓴이 날짜sort 조회 수
6268 임베디드 처음 해보는 초보입니다. [4] 양용현 2006-06-27 1371
6267 serial gadget 이 안되네요... [6] 이율삼 2006-06-28 3138
6266 [질문] 부팅 과정중 CS8900A 인식 실패 메시지 <-완료 [6] 오주열 2006-06-29 1139
6265 mpeg-4 최종 specification 갖고 계신분 [3] 고현철 2006-07-04 1087
6264 [질문] /var/adm/messages 파일을 계속 쓰는데..<-완료 [3] 오주열 2006-07-05 992
6263 [질문] 부팅시 ping을 쏘면 이더넷이 동작을 안하네요 <-완료 [6] 오주열 2006-07-06 1140
6262 high speed aesop-jtag 의 2410버전이 있나요? [2] 박병구 2006-07-11 1005
6261 aesop보드에 붙일만한 지상파 dmb 칩 알고 계신분 고현철 2006-07-11 1186
6260 [re] 지상파 dmb 칩에 대하여 ... 현철님 보세요 .... [5] 장석원 2006-07-11 1710
6259 특정핀을 부트로더와 부팅시에 GPIO로 사용하게 하는법<--완료 [3] 오주열 2006-07-15 1240
6258 가입하자마자 질문을 드립니다.. ^^; [8] 강성곤 2006-07-18 1692
6257 CS8900의 IP,Gate Way, Subnet, MAC을 저장하는법<--완료 [4] 오주열 2006-07-18 1404
6256 [질문] NOR Flash의 erase 에 대해서...<--완료 [5] 김선엽 2006-07-20 1173
6255 이솝 3차보드에 LCD용 핀이 몇개나 나오나요?<--완료 [2] 오주열 2006-07-20 1070
6254 혹시 aesop 보드에 wince 포팅해보신분 계신가요?? <= 완료 [3] 안정섭 2006-07-24 1428
6253 와이브로의 경우 ... [3] 장석원 2006-07-25 907
6252 AESOP 3차 Board 일정이 어떻게 되나요? <== 완료 [2] 손진호 2006-07-25 1112
6251 [질문]회로 베껴서 보드 떴는데 JTAG로 부트로더 다운로드가 안됩니... [5] 양용현 2006-07-26 1358
6250 무선랜 ?? <==완료 [3] 윤현승 2006-07-28 1494
6249 [질문] 이솝보드의 telnetd 질문입니다. <== 완료 ^^ [4] 이재훈 2006-07-28 1129

사용자 로그인