Giter VIP home page Giter VIP logo

bmd-tools's People

Contributors

darkranger-red avatar fabled avatar iqqmut avatar martialgallorini avatar max-verem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bmd-tools's Issues

f option not available

You forgot to add the f options at bmd-streamer.c@1297:
Should be:
static const char short_options[] = "vk:K:a:P:L:bcBCF:f:S:x:Rs";

/TS

Display modes not supported

Hi,

Thanks a lot for your work and this pretty nice peace of software !
I was able to use it during my tests with a camera in 1080i50 on a macmini under Debian Jessie.
Everything was running smoothly.

unfortunately for the production i use another camera which is using 1080p30, 1080p25, or 720p60 and bmd-streamer doesn't seem to manage those format or am i wrong ?

Input Mode, 0xff (display mode 0x02) not supported

or

Input Mode, 0x8e (display mode 0x09) not supported

really too bad. Do you plan to make your soft support other formats ?

thanks a lot

Usage instructions

Hi. I did suceed to us extract the firmware and execute the binary with sudo, which retunrs me:

sudo ./bmd-streamer
[1/4 1edb:bd52]: device connected
EP8: 8 bytes: 00 08 05 0e 8d 6f 46 c3
EP8: 36 bytes: 00 24 05 0e 8d bb b1 40 05 0e 8e 08 1b bd 05 0e 8e 54 86 3f 05 0e 8e a0 f0 c4 06 01 8e cf be 01 05 02 05 81
[1/4 1edb:bd52]: FX2Status: Idle (5)
[1/4 1edb:bd52]: MAC address 7c:2e:0d:02:1b:43
[1/4 1edb:bd52]: Input Mode, 0x81 (display mode 0x0b) not supported
EP8: 8 bytes: 00 08 05 0e 8f 1b fc c0
EP8: 8 bytes: 00 08 05 0e 8f 68 67 3b
EP8: 8 bytes: 00 08 05 0e 8f b4 d1 c2
EP8: 8 bytes: 00 08 05 0e 90 01 3c 3d

and goes on.. So:

  1. mys format is 1080i 5994. It did not get it properly, right ?
    2 ) How should I grab the mpegts stream if I it gets and dums the data correctly ?

Thanks in advance

Add releses

Thank you for bmd-tools, it's very useful for me. Could you please add releases for it?

trouble making bmd-streamer to work

I compiled bmd-tools under Debian Jessie 64 bits.
when i first launch bmd-streamer it seems ok. But when i stop it and launch again it can be a pain to make it work again. Seem to launch but nothing happens. I often have to unplug from USB and power supply to make it work again... like there were some memory effect or cache.

USB device accessible only with sudo privileges

If I run bmd-streamer as normal user, I get the following error:
[1/11 1edb:bd43]: unable to open device: LIBUSB_ERROR_ACCESS

With sudo (or as root user) everyhting is fine. Do you have any advice how to overcome this issue? Thank you!

H56 Error on 1080p/60 with -B

I don't know if this is an issue with bmd-streamer or the hardware, but looks like that at 1080p/60 it's unable to work when -B is passed to it, I was seeing mostly "H56 Error. Restarting device.". It is supposed to warn me, or just now allow this? Or is this related to other settings (my full line was /usr/local/bin/bmd-streamer -f /usr/lib/firmware -k 1000 -S hdmi)?

Pro Recorder first Test

hi,

i test your bmd-tools with h.264 recorder and when i set HDMI input to 1080p i got the message:

display mode 0x0f) not supported

The whole output looks like this:
EP8: 31 bytes: 00 1f 06 01 0c 6d d0 aa 05 02 04 01 02 05 90 02 07 04 02 06 09 09 08 0c 6d d1 d3 00 00 00 00
[26/4 1edb:bd43]: FX2Status: Idle (5)
[26/4 1edb:bd43]: MAC address 00:00:00:00:00:00
[26/4 1edb:bd43]: Input Mode, 0x90 (display mode 0x0f) not supported

As far as i can see is that 0x90 seems, 1080p60 and for this mode the display struct seems to be missing,

static struct display_mode *display_modes[DMODE_MAX]
...

So, i think i have to add this display-mode into bmd-streamer.c.

ic struct display_mode *display_modes[DMODE_MAX] = {
[DMODE_1920x1080p_60] = &(struct display_mode){
.description = "1080p 60",
.width = 1920, .height = 1080, .interlaced = 0,
.fps_numerator = 25, .fps_denominator = 1, .fx2_fps = 0x3,
.ain_offset = 0x0000,
.r1000 = ??????????,
.r147x =??????????,
.r154x = ??????????},
},
Currently i do not understand yet how to add other display-modes. Can you give me some hints or how i can send you more infos about the pro recorder device?

Atem Studio is working fine, also the firm. extraction works on both.

thx for any help.

Compiling instructions

Hi. Could you give us further compiling instructions ?
I had erros with libusb.h and after changing the header location it found other problems with libusb.
thanks and congrats for the code (many linux users with atem will love and use that!)

display_modes not supported

Hi, first of all I have to congratulate for your interesting tools.
Now the question:
How can I get the settings (.r1000......) for an unsupported display_modes[ ] ?
I would like to have /* DMODE_720x576i_30 / what is the usual PAL and for / DMODE_720x480i_29_97 */ what is the usual NTSC.
Could you help me to find them ?

Thanks in advance and best regards.
TS

bmd-streamer to open in another bash/app

I 'm trying to send the stream from "atem tvs" to another shell/app and not succeeding so far. Within the same shell, with gstreamer it's working like a charm, for example, for recording the stream:

./bmd-streamer | gst-launch-0.10 -v fdsrc ! 'video/mpegts, systemstream=(boolean)true, packetsize=(int)188' ! queue ! filesink location=/media/dados/bmdtools.ts

I need to open the stream in another shell, How eould I do it ? I tried so far:

./bmd-streamer > /tmp/pipe

and in another shell:

gst-launch-0.10 -v fdsrc /tmp/pipe ! 'video/mpegts, systemstream=(boolean)true, packetsize=(int)188' ! queue ! filesink location=/media/dados/bmdtools.ts

anyway, I tried many ways ans nothiing. Any help would be appreciated.

Compilation Issue

I guess I've installed everything needed regarding libusb. First with apt-get and then by building libusbx. But this is what I get by executing make.

user01@user01:/tmp/bmd-tools$ make
gcc -g -O3 -I/usr/local/include/libusb-1.0 -L/usr/local/lib -lusb-1.0 -lpthread -lm bmd-streamer.c -o bmd-streamer
bmd-streamer.c: In function ‘mpegparser_parse’:
bmd-streamer.c:325:8: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(STDOUT_FILENO, &buf[i], 0xbc);
^
/tmp/ccJRMa1A.o: In function bmd_encoder_stop': /home/user01/tmp/bmd-tools/bmd-streamer.c:786: undefined reference tolibusb_control_transfer'
/home/user01/tmp/bmd-tools/bmd-streamer.c:790: undefined reference to libusb_control_transfer' /home/user01/tmp/bmd-tools/bmd-streamer.c:795: undefined reference tolibusb_control_transfer'
/home/user01/tmp/bmd-tools/bmd-streamer.c:801: undefined reference to libusb_control_transfer' /tmp/ccJRMa1A.o: In functionbmd_pump_mpegts':
/home/user01/tmp/bmd-tools/bmd-streamer.c:468: undefined reference to libusb_bulk_transfer' /home/user01/tmp/bmd-tools/bmd-streamer.c:478: undefined reference tolibusb_error_name'
/tmp/ccJRMa1A.o: In function handle_hotplug': /home/user01/tmp/bmd-tools/bmd-streamer.c:981: undefined reference tolibusb_get_device_descriptor'
/home/user01/tmp/bmd-tools/bmd-streamer.c:983: undefined reference to libusb_get_device_address' /home/user01/tmp/bmd-tools/bmd-streamer.c:983: undefined reference tolibusb_get_bus_number'
/home/user01/tmp/bmd-tools/bmd-streamer.c:985: undefined reference to libusb_ref_device' /home/user01/tmp/bmd-tools/bmd-streamer.c:992: undefined reference topthread_create'
/home/user01/tmp/bmd-tools/bmd-streamer.c:999: undefined reference to pthread_detach' /home/user01/tmp/bmd-tools/bmd-streamer.c:995: undefined reference tolibusb_unref_device'
/tmp/ccJRMa1A.o: In function bmd_fujitsu_read': /home/user01/tmp/bmd-tools/bmd-streamer.c:404: undefined reference tolibusb_control_transfer'
/tmp/ccJRMa1A.o: In function bmd_fujitsu_write': /home/user01/tmp/bmd-tools/bmd-streamer.c:434: undefined reference tolibusb_control_transfer'
/tmp/ccJRMa1A.o: In function bmd_configure_encoder': /home/user01/tmp/bmd-tools/bmd-streamer.c:527: undefined reference toceilf'
/home/user01/tmp/bmd-tools/bmd-streamer.c:527: undefined reference to ceilf' /home/user01/tmp/bmd-tools/bmd-streamer.c:529: undefined reference tolibusb_control_transfer'
/tmp/ccJRMa1A.o: In function bmd_encoder_start': /home/user01/tmp/bmd-tools/bmd-streamer.c:764: undefined reference tolibusb_control_transfer'
/tmp/ccJRMa1A.o: In function bmd_fujitsu_read': /home/user01/tmp/bmd-tools/bmd-streamer.c:404: undefined reference tolibusb_control_transfer'
/home/user01/tmp/bmd-tools/bmd-streamer.c:404: undefined reference to libusb_control_transfer' /home/user01/tmp/bmd-tools/bmd-streamer.c:404: undefined reference tolibusb_control_transfer'
/tmp/ccJRMa1A.o:/home/user01/tmp/bmd-tools/bmd-streamer.c:404: more undefined references to libusb_control_transfer' follow /tmp/ccJRMa1A.o: In functionbmd_handle_messages':
/home/user01/tmp/bmd-tools/bmd-streamer.c:856: undefined reference to libusb_bulk_transfer' /tmp/ccJRMa1A.o: In functionbmd_read_register':
/home/user01/tmp/bmd-tools/bmd-streamer.c:377: undefined reference to libusb_control_transfer' /home/user01/tmp/bmd-tools/bmd-streamer.c:377: undefined reference tolibusb_control_transfer'
/home/user01/tmp/bmd-tools/bmd-streamer.c:377: undefined reference to libusb_control_transfer' /home/user01/tmp/bmd-tools/bmd-streamer.c:377: undefined reference tolibusb_control_transfer'
/home/user01/tmp/bmd-tools/bmd-streamer.c:377: undefined reference to libusb_control_transfer' /tmp/ccJRMa1A.o:/home/user01/tmp/bmd-tools/bmd-streamer.c:377: more undefined references tolibusb_control_transfer' follow
/tmp/ccJRMa1A.o: In function bmd_handle_messages': /home/user01/tmp/bmd-tools/bmd-streamer.c:877: undefined reference tolibusb_error_name'
/tmp/ccJRMa1A.o: In function bmd_device_thread': /home/user01/tmp/bmd-tools/bmd-streamer.c:896: undefined reference tolibusb_open'
/home/user01/tmp/bmd-tools/bmd-streamer.c:902: undefined reference to libusb_set_configuration' /home/user01/tmp/bmd-tools/bmd-streamer.c:908: undefined reference tolibusb_claim_interface'
/home/user01/tmp/bmd-tools/bmd-streamer.c:937: undefined reference to pthread_create' /home/user01/tmp/bmd-tools/bmd-streamer.c:941: undefined reference tolibusb_control_transfer'
/home/user01/tmp/bmd-tools/bmd-streamer.c:904: undefined reference to libusb_error_name' /home/user01/tmp/bmd-tools/bmd-streamer.c:960: undefined reference tolibusb_close'
/home/user01/tmp/bmd-tools/bmd-streamer.c:961: undefined reference to libusb_unref_device' /home/user01/tmp/bmd-tools/bmd-streamer.c:898: undefined reference tolibusb_error_name'
/tmp/ccJRMa1A.o: In function bmd_set_input_source': /home/user01/tmp/bmd-tools/bmd-streamer.c:365: undefined reference tolibusb_control_transfer'
/tmp/ccJRMa1A.o: In function bmd_device_thread': /home/user01/tmp/bmd-tools/bmd-streamer.c:910: undefined reference tolibusb_error_name'
/home/user01/tmp/bmd-tools/bmd-streamer.c:949: undefined reference to pthread_join' /tmp/ccJRMa1A.o: In functionbmd_load_firmware':
/home/user01/tmp/bmd-tools/bmd-streamer.c:389: undefined reference to libusb_control_transfer' /home/user01/tmp/bmd-tools/bmd-streamer.c:389: undefined reference tolibusb_control_transfer'
/home/user01/tmp/bmd-tools/bmd-streamer.c:389: undefined reference to libusb_control_transfer' /tmp/ccJRMa1A.o: In functionmain':
/home/user01/tmp/bmd-tools/bmd-streamer.c:1102: undefined reference to libusb_init' /home/user01/tmp/bmd-tools/bmd-streamer.c:1126: undefined reference tolibusb_error_name'
/home/user01/tmp/bmd-tools/bmd-streamer.c:1128: undefined reference to libusb_exit' /home/user01/tmp/bmd-tools/bmd-streamer.c:1108: undefined reference tolibusb_hotplug_register_callback'
/home/user01/tmp/bmd-tools/bmd-streamer.c:1122: undefined reference to `libusb_handle_events'
collect2: error: ld returned 1 exit status
make: *** [bmd-streamer] Error 1
user01@user01:
/tmp/bmd-tools$

H56 Error

Issue #9 fixed. Thanks.

but now having H56 Error :

[2/29 1edb:bd43]: firmware downloaded needed
[2/29 1edb:bd43]: firmware downloaded succesfully
[2/29 1edb:bd43]: closing device
[2/30 1edb:bd43]: device connected
[2/30 1edb:bd43]: Switching input source to sdi (2)
[2/30 1edb:bd43]: Display Mode: 1080p 25
[2/30 1edb:bd43]: Display Mode: 1080p 25
[2/30 1edb:bd43]: Display Mode: 1080p 25
[2/30 1edb:bd43]: H56 Error. Restarting device.
[2/30 1edb:bd43]: Display Mode: 1080p 25
[2/30 1edb:bd43]: H56 Error. Restarting device.

Command is :
sudo ./bmd-tools/bmd-streamer -S sdi -K 10000 -P main

choose input signal definition and avoid poling

don't know if it is technically possible, but it would be nice to be able to specify the input signal definition for H264 recorder. For now it seems to detect automatically the input signal. If signal breaks it starts poling for other input but never detect signal when it is back.

(sorry for my english)

Input mode not supported

Hello,

I am using your great tool to stream video over ethernet.

This happens from time to time :

Everything is ok for 2 or 3 weeks. Then image starts to lag and finally freezes.
So i stop the stream and start it over, ther bmd-tools keeps on complaining :

"[2/2 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported"
"[2/2 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported"
"[2/2 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported"
...

From here, i stop, restart the stream, reboot once, twice, unplug the h264 Pro Recorder and repeat all this once and again.

Always the same error...

And all in a sudden, unplugging and reboot one more time and all starts to work again !

what the problem could be ?

thank you

PS : this is the command i use

sudo ./bmd-tools/bmd-streamer -S sdi -k 9000 -K 10000 -P main | avconv -i - -vcodec copy -acodec copy -f mpegts udp://239.255.1.1:1234

better handle for video signal interruption

Hi,

i use bmd-streamer to stream an SDI video camera image through UDP Multicast.
when signal breaks (camera disconnected or off) stream breaks and error occurs.
reconnecting the camera (or turning back on) doesn't fix. Stream needs to manually be launched again.

would be nice if stream cleanly stops and waits for the signal to appear again.

thank you

input format not supported

Hi,

using the last commit.

Can't make it to work with 1080p25 (see details appended in issue #5)

Back to the previously working 720p50, doesn't seem to work anymore :

[2/21 1edb:bd43]: firmware downloaded needed
[2/21 1edb:bd43]: firmware downloaded succesfully
[2/21 1edb:bd43]: closing device
[2/22 1edb:bd43]: device connected
[2/22 1edb:bd43]: Switching input source to sdi (0)
[2/22 1edb:bd43]: Display Mode: 720p 50
[2/22 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported
[2/22 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported
[2/22 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported
[2/22 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported
[2/22 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported
[2/22 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported
[2/22 1edb:bd43]: Input Mode, 0xff (display mode 0x02) not supported

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.