Giter Site home page Giter Site logo

bmd_h264_cat's Introduction

bmd_h264_cat

Blackmagic Design H.264 Pro Recorder console utility

drivers

Latest working driver is Desktop Video 10.11.4 (media express 3.5.7), see https://www.blackmagicdesign.com/support/download/ceb304a75100442e9e763d6b371690d0/Windows

binaries

feature

  • receiving MPEG-TS stream from Blackmagic Design H.264 Pro Recorder
  • save to file
  • send to stdout
  • UDP multicast/unicast
  • TCP stream saving

usage

Usage:
    bmd_h264_cat.exe <args> [-][filename]
Where args are:
    -ab <INT>          audio bitrate in kbs
    -vb <INT>          video bitrate in kbs
    -ar <INT>          audio samplerate
    -ac <INT>          audio channels
    -framerate <STR>   framerate, see list below
    -profile <STR>     h264 encoding profile to use, see list below
    -entropy <STR>     h264 encoding entropy to use, see list below
    -level <STR>       h264 encoding level to use, see list below
    -preset <STR>      hardware encoder preset name to use, see list in logs
    -src-x <INT>       source rectangle
    -src-y <INT>
    -src-width <INT>
    -src-height <INT>
    -dst-width <INT>   destination width
    -dst-height <INT>  destination height
    -savesegment <STR> save segmented files strftime format
    -cron <STR>        split CRON expressions
    -savefile          save files timestamped
    -udp-host <STR>    host where sent UDP packet
    -udp-port <INT>    port where sent UDP packet
    -udp-sndbuf <INT>  SO_SNDBUF of UDP socket
    -tcp-host <STR>    host where sent TCP packet
    -tcp-port <INT>    port where sent TCP packet
    -tcp-sndbuf <INT>  SO_SNDBUF of TCP socket
Framerates: [50i] [5994i] [60i] [2398p] [24p] [25p] [2997p] [30p] [50p] [5994p] [60p]
Entropyies: [CAVLC] [CABAC]
Levels: [12] [13] [2] [21] [22] [3] [31] [32] [4] [41] [42]
Profiles: [High] [Main] [Baseline]

examples

sending UDP unicast stream

bmd_h264_cat.exe -savefile -preset "iPad / iPhone 4" -udp-host 10.1.5.65 -udp-port 40001

sending UDP multicast stream

bmd_h264_cat.exe -savefile -preset "iPad / iPhone 4" -udp-host 224.1.1.1 -udp-port 40001

sending TCP stream

bmd_h264_cat.exe -savefile -preset "iPad / iPhone 4" -tcp-host 10.1.5.57 -tcp-port 20001

it could be received by socat and transformed to multicast:

socat -b1316 TCP-LISTEN:20001,reuseaddr,fork UDP-DATAGRAM:224.1.1.1:30001,ttl=10

further step could be implemented with udpxy:

/usr/local/src/2015-11-15/udpxy-1.0.23-9/udpxy -p 10000

stream could be checked with VLC by networks links:

rtmp publishing

bmd_h264_cat.exe -savefile -preset "YouTube 720p" - | c:\ffmpeg\bin\ffmpeg_flv_aac_seq_header.exe -f mpegts -i - -acodec copy -vcodec copy -flvflags aac_seq_header_detect -bsf:a aac_adtstoasc -f flv rtmp://a.rtmp.youtube.com/live2/foo-bar-key

please note, that in this case custom version of ffmpeg used, because of http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2015-November/183483.html

if you have no this version or patch not applied then you have to re-encode audio only.

-savefile

is argument that could save receivied stream into auto-timestamp-named file - that could helps to avoid loosing some files

CRON expressions

A CRON expression is a string composed of six fields (in some implementation seven) separated by a whites space representing a time schedule. The general form is the following (with the years being optional):

<seconds> <minutes> <hours> <days of month> <months> <days of week> <years>

limitation

not all arguments are really working. API support it, but firmware does not. bitrate, preset, profile parameters works

bmd_h264_cat's People

Contributors

gogoyubari avatar max-verem avatar

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.