Comments (9)
It is basically matter of recovering the chip initialization values, and adding them to the source.
Steps to do it:
- Record some video using the official drivers in desired video format
- Stop drivers / reconnect to another computer with bmd-tools
- Run bmd-streamer with "-v -v" and it'll dump the chip initialization values
- Post the values here
from bmd-tools.
ok thanks ! i would be happy to contribute.
i will have a look at it when i have access to the camera.
by the way do you know about another project called MXPTiny ?
This is a similar project but for h264 Pro recorder and windows only. Maybe you could grab some usefull information in there : https://github.com/baycom/MXPTiny
you can grab a binary here : http://www.atemuser.com/forums/atem-vision-mixers/live-web-streaming/mxptiny-free-h264-recorder-previewer-streamer
thanks again for your work
from bmd-tools.
Yes, I am aware of MXPTiny. But it is useless for this project. MXPTiny uses the official Blackmagic drivers using the Windows API to do recording. Thus it is non-portable, and has no insight on the hardware. This project implements the USB driver natively using *nix compatible libraries.
from bmd-tools.
Ok, that's great.
I'll try to give you more info about the input format selection
thanks
from bmd-tools.
Following your suggestions here is what i grabbed (hope i did it right) for H.264 Pro Recorder. Hope this helps.
1080p25 input
[2/12 1edb:bd43]: device connected
EP8: 8 bytes: 00 08 05 0e 01 ee a1 4f
EP8: 67 bytes: 00 43 05 0e 02 3b 0b bc 05 0e 02 87 76 40 05 0e 02 d3 e0 c0 05 0e 03 20 4b 45 05 0e 03 6c b5 c2 05 0e 03 b9 20 44 06 01 03 c0 38 12 07 02 04 02 02 05 83 02 07 04 02 06 09 09 08 03 c0 39 3b 00 00 00 00
[2/12 1edb:bd43]: FX2Status: Encoding (7)
[2/12 1edb:bd43]: Input Mode, 0x83 (display mode 0x07) not supported
EP8: 9 bytes: 00 09 06 01 03 c1 8a 16 08
[2/12 1edb:bd43]: FX2Status: Preparing for Null output (8)
EP8: 8 bytes: 00 08 05 03 00 05 73 78
EP8: 9 bytes: 00 09 06 01 03 d6 e6 8c 09
[2/12 1edb:bd43]: FX2Status: Null output (9)
EP8: 9 bytes: 00 09 06 01 03 d8 bb 36 0a
[2/12 1edb:bd43]: FX2Status: Preparing for Stop (10)
EP8: 9 bytes: 00 09 06 01 03 d9 57 72 0b
[2/12 1edb:bd43]: FX2Status: Stopped (11)
EP8: 9 bytes: 00 09 06 01 03 d9 68 15 05
[2/12 1edb:bd43]: FX2Status: Idle (5)
Detected mode: 07
.fps_numerator = 25, .fps_denominator = 1, .fx2_fps = 0x3,
.ain_offset = 0x0708
.r1000 = 0x0500, .r1404 = 0x0071, .r140a = 0x17ff, .r1430_l = 0xff
.r147x = { 0x26, 0x7d, 0x56, 0x07 },
.r154x = { 0x0001, 0x07ff, 0x0abd, 0x0465, 0x00c3, 0x0015, 0x07ff, 0x0780, 0x0438, 0x0019 },
1080p30 input
[2/13 1edb:bd43]: device connected
EP8: 8 bytes: 00 08 05 0e 0e eb d3 57
EP8: 55 bytes: 00 37 05 0e 0f 38 3d de 05 0e 0f 84 a8 41 05 0e 0f d1 12 c4 05 0e 10 1d 7d 3e 06 01 10 24 ab ab 07 02 04 02 02 05 8e 02 07 04 02 06 09 09 08 10 24 ac d4 00 00 00 00
[2/13 1edb:bd43]: FX2Status: Encoding (7)
[2/13 1edb:bd43]: Input Mode, 0x8e (display mode 0x09) not supported
EP8: 9 bytes: 00 09 06 01 10 25 e7 ff 08
[2/13 1edb:bd43]: FX2Status: Preparing for Null output (8)
EP8: 8 bytes: 00 08 05 03 00 03 88 8a
EP8: 9 bytes: 00 09 06 01 10 33 a3 6f 09
[2/13 1edb:bd43]: FX2Status: Null output (9)
EP8: 9 bytes: 00 09 06 01 10 35 2a 06 0a
[2/13 1edb:bd43]: FX2Status: Preparing for Stop (10)
EP8: 9 bytes: 00 09 06 01 10 35 ac 3a 0b
[2/13 1edb:bd43]: FX2Status: Stopped (11)
EP8: 9 bytes: 00 09 06 01 10 35 bc de 05
[2/13 1edb:bd43]: FX2Status: Idle (5)
Detected mode: 09
.fps_numerator = 30, .fps_denominator = 1, .fx2_fps = 0x5,
.ain_offset = 0x0a8c
.r1000 = 0x0500, .r1404 = 0x0071, .r140a = 0x17ff, .r1430_l = 0xff
.r147x = { 0x26, 0x7d, 0x56, 0x07 },
.r154x = { 0x0001, 0x07ff, 0x0897, 0x0465, 0x00c5, 0x0015, 0x07ff, 0x0780, 0x0438, 0x001e },
720p30 input
[2/14 1edb:bd43]: device connected
EP8: 8 bytes: 00 08 05 0e 16 c6 cf d2
EP8: 43 bytes: 00 2b 05 0e 17 13 3a 40 05 0e 17 5f a4 c5 06 01 17 9c be 00 07 02 04 02 02 05 88 02 07 04 02 06 09 09 08 17 9c bf 2a 00 00 00 00
[2/14 1edb:bd43]: FX2Status: Encoding (7)
[2/14 1edb:bd43]: Input Mode, 0x88 (display mode 0x12) not supported
EP8: 9 bytes: 00 09 06 01 17 9d 7e 58 08
[2/14 1edb:bd43]: FX2Status: Preparing for Null output (8)
EP8: 8 bytes: 00 08 05 03 00 02 23 39
EP8: 9 bytes: 00 09 06 01 17 a9 b3 2f 09
[2/14 1edb:bd43]: FX2Status: Null output (9)
EP8: 9 bytes: 00 09 06 01 17 aa 76 68 0a
[2/14 1edb:bd43]: FX2Status: Preparing for Stop (10)
EP8: 9 bytes: 00 09 06 01 17 aa b7 8c 0b
[2/14 1edb:bd43]: FX2Status: Stopped (11)
EP8: 9 bytes: 00 09 06 01 17 aa c8 30 05
[2/14 1edb:bd43]: FX2Status: Idle (5)
Detected mode: 12
.fps_numerator = 60, .fps_denominator = 1, .fx2_fps = 0x8,
.ain_offset = 0x02ee
.r1000 = 0x0500, .r1404 = 0x0071, .r140a = 0x17ff, .r1430_l = 0xff
.r147x = { 0x10, 0x70, 0x70, 0x10 },
.r154x = { 0x0001, 0x07ff, 0x0671, 0x02ee, 0x010b, 0x001a, 0x07ff, 0x0500, 0x02d0, 0x003c },
from bmd-tools.
Looks like you did it correctly, but unfortunately I had a bug in the dumping code. Could you pull the latest changes, and retry? Sorry for the trouble.
from bmd-tools.
oh too bad... i will try to do it again in the following days when i have access to the device.
from bmd-tools.
ok, faster than expected ;)
updated my previous post
from bmd-tools.
Trying 1080p25... doesn't seem to work
when launching bmd-streamer it keeps complaining :
[2/11 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported
launched with -v -v and it says :
[2/10 1edb:bd43]: device connected
[2/10 1edb:bd43]: firmware downloaded needed
[2/10 1edb:bd43]: firmware downloaded succesfully
[2/10 1edb:bd43]: closing device
[2/11 1edb:bd43]: device connected
EP8: 8 bytes: 00 08 05 0e 00 17 2e 3a
EP8: 64 bytes: 00 40 02 04 02 06 01 00 17 2e 9f 03 02 05 83 02 07 04 02 06 09 06 01 00 17 2f e9 04 06 01 00 17 35 7a 05 06 01 00 20 03 d1 05 02 04 02 02 05 83 02 07 04 02 06 09 09 08 00 20 04 fb 00 00 00 00
[2/11 1edb:bd43]: FX2Status: Programming H56 (3)
[2/11 1edb:bd43]: Display Mode: 1080p 25
[2/11 1edb:bd43]: FX2Status: Booting H56 (4)
[2/11 1edb:bd43]: FX2Status: Idle (5)
[2/11 1edb:bd43]: Configuring and starting encoder
[2/11 1edb:bd43]: FX2Status: Idle (5)
[2/11 1edb:bd43]: Configuring and starting encoder
[2/11 1edb:bd43]: Display Mode: 1080p 25
EP8: 9 bytes: 00 09 06 01 00 2c a6 ff 0b
[2/11 1edb:bd43]: FX2Status: Stopped (11)
EP8: 5 bytes: 00 05 02 04 02
EP8: 9 bytes: 00 09 06 01 00 4d d5 45 03
[2/11 1edb:bd43]: FX2Status: Programming H56 (3)
EP8: 8 bytes: 00 08 02 07 04 02 06 09
EP8: 9 bytes: 00 09 06 01 00 52 40 16 04
[2/11 1edb:bd43]: FX2Status: Booting H56 (4)
EP8: 9 bytes: 00 09 06 01 00 52 45 bf 05
[2/11 1edb:bd43]: FX2Status: Idle (5)
[2/11 1edb:bd43]: Configuring and starting encoder
EP8: 9 bytes: 00 09 06 01 00 5e fd 36 0b
[2/11 1edb:bd43]: FX2Status: Stopped (11)
EP8: 5 bytes: 00 05 02 05 83
[2/11 1edb:bd43]: Display Mode: 1080p 25
EP8: 9 bytes: 00 09 06 01 00 60 a1 ac 06
[2/11 1edb:bd43]: FX2Status: Preparing for Encode (6)
G@?????b?c???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????GA?&???
HDMV???????d@?!??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????G@?????
?2[??????
0???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????G ?H~0????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????EP8: 9 bytes: 00 09 06 01 00 63 12 a2 07
[2/11 1edb:bd43]: FX2Status: Encoding (7)
G ?
?~M????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????G@?????b?c???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????G ??~i????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????GA?&???
HDMV???????d@?!??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????EP8: 20 bytes: 00 14 11 0d 00 63 af 2c ff 00 00 01 00 06 00 09 00 00 00 00
[2/11 1edb:bd43]: H56 Error. Restarting device.
EP8: 5 bytes: 00 05 02 04 02
EP8: 9 bytes: 00 09 06 01 00 74 79 e8 03
[2/11 1edb:bd43]: FX2Status: Programming H56 (3)
EP8: 8 bytes: 00 08 02 07 04 02 06 09
^CEP8: 9 bytes: 00 09 06 01 00 86 27 f3 04
[2/11 1edb:bd43]: FX2Status: Booting H56 (4)
from bmd-tools.
Related Issues (18)
- Compiling instructions HOT 6
- H56 Error
- Compilation Issue HOT 1
- Input mode not supported HOT 7
- display_modes not supported HOT 2
- f option not available
- H56 Error on 1080p/60 with -B HOT 1
- Add releses HOT 1
- Usage instructions HOT 1
- USB device accessible only with sudo privileges HOT 3
- Display mode not supported 0x04 HOT 2
- Pro Recorder first Test HOT 8
- bmd-streamer to open in another bash/app HOT 3
- better handle for video signal interruption HOT 6
- choose input signal definition and avoid poling HOT 7
- trouble making bmd-streamer to work HOT 7
- input format not supported
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bmd-tools.