[FFmpeg-user] what program to use to grab device and send to ffserver?

Ricardo Kleemann ricardo at americasnet.com
Wed Jun 24 04:42:10 CEST 2015


Hello Arnaud,

Thanks again for your great help.

Please see below…

> On Jun 22, 2015, at 5:28 AM, Arnaud Wijns <arnaud.wijns at ulb.ac.be> wrote:
> 
> Hello Ricardo,
> 
> I am working on a project which uses the same devices for the same purpose.
> 
> You can use both bmdtools (with pipe to FFMPEG) or decklink support for FFMPEG (the second solution is easier and works better imo).
> 
> 1) Install the Mac driver for BMD (BMD Desktop)
> 2) Download the Decklink SDK (from https://www.blackmagicdesign.com/support/download/f3e35f03b97440c4893fdf7e0dfdf97c/Mac%20OS%20X)
> 3) Install all dependencies for FFMPEG (use Brew as explained in the FFMPEG compilation guide for Mac OS)
> —> brew install automake fdk-aac git lame libass libtool libvorbis libvpx \
>       opus sdl shtool texi2html theora wget x264 xvid yasm
> 4) Download FFMPEG from Git
> —> git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
>       cd ffmpeg
> 5) Prepare the configuration file (adapt according to your needs BUT —enable-deckling is required for BMD). Adapt the path for your Decklink SDK
> —> ./configure  --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass \
> --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus \
> --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-decklink --extra-cflags=-I/somepath/blackmagicsdk/Mac/include --extra-ldflags=-L/somepath/blackmagicsdk/Mac/include 
> 6) If you use Mac OS X 10.9 or above, edit « config.mak » 
> —> vi config.mak
> 	Remove all references to « -std=c99 » (there are 2)
> 7) Edit DeckLinkAPIDispatch.cpp (in /somepath/blackmagicsdk/Mac/include)
> —> add the word "static" to the beginning of lines 56, 77, and 157
> 56: void     InitDeckLinkAPI (void)
> 77: bool            IsDeckLinkAPIPresent (void)
> 157: void InitBMDStreamingAPI(void)
> 8) Make && sudo make install
> 
> Now that FFMPEG in installed with Decklink support, you can get the audio-video stream from your BMD devices directly in FFMPEG.
> 
> Use the following commands:
>>> ffmpeg -f decklink -list_devices 1 -i dummy
>>> ffmpeg -f decklink -list_formats 1 -i ‘UltraStudio Mini Recorder’
>>> ffmpeg -f decklink -i ‘UltraStudio Mini Recorder at 16’ output.mov
> 

I was able to build ffmpeg with support for BMD.


These commands are now all working and I get the set of formats supported.

My problem now is that ffmpeg (and even ffplay) all they show is the multi-colored vertical bars. If I run BMD Media Express, however, I see the video coming from the camera. So something seems quite strange in how ffmpeg is acquiring the source.

I get the error of “No input signal detected”

$ ffmpeg -f decklink -i 'UltraStudio Mini Recorder at 10' output.mov
ffmpeg version N-73104-g7604358 Copyright (c) 2000-2015 the FFmpeg developers
  built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
  configuration: --prefix=/usr/local --enable-gpl --enable-nonfree --enable-ffplay --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-decklink --extra-cflags=-I/Users/ptl/blackmagicsdk/Mac/include --extra-ldflags=-L/Users/ptl/blackmagicsdk/Mac/include
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 44.100 / 56. 44.100
  libavformat    56. 38.100 / 56. 38.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 17.100 /  5. 17.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[decklink @ 0x7fba09800000] Found Decklink mode 1920 x 1080 with rate 30.00
[decklink @ 0x7fba09800000] Frame received (#1) - No input signal detected - Frames dropped 1
Guessed Channel Layout for  Input Stream #0.0 : stereo
Input #0, decklink, from 'UltraStudio Mini Recorder at 10':
  Duration: N/A, start: 0.000000, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
    Stream #0:1: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1920x1080, -5 kb/s, 30 tbr, 1000k tbn, 30 tbc
No pixel format specified, yuv422p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x7fba0a008800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7fba0a008800] profile High 4:2:2, level 4.0, 4:2:2 8-bit
[libx264 @ 0x7fba0a008800] 264 - core 144 r2533 c8a773e - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'output.mov':
  Metadata:
    encoder         : Lavf56.38.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv422p, 1920x1080, q=-1--1, 30 fps, 15360 tbn, 30 tbc
    Metadata:
      encoder         : Lavc56.44.100 libx264
    Stream #0:1: Audio: aac (libfdk_aac) (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 139 kb/s
    Metadata:
      encoder         : Lavc56.44.100 libfdk_aac
Stream mapping:
  Stream #0:1 -> #0:0 (rawvideo (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help


I get the same signal error with ffprobe
$ ffprobe -f decklink -i 'UltraStudio Mini Recorder at 10' 
ffprobe version N-73104-g7604358 Copyright (c) 2007-2015 the FFmpeg developers
  built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
  configuration: --prefix=/usr/local --enable-gpl --enable-nonfree --enable-ffplay --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-decklink --extra-cflags=-I/Users/ptl/blackmagicsdk/Mac/include --extra-ldflags=-L/Users/ptl/blackmagicsdk/Mac/include
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 44.100 / 56. 44.100
  libavformat    56. 38.100 / 56. 38.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 17.100 /  5. 17.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[decklink @ 0x7ff23400be00] Found Decklink mode 1920 x 1080 with rate 30.00
Input #0, decklink, from 'UltraStudio Mini Recorder at 10':
  Duration: N/A, start: 0.000000, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
    Stream #0:1: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1920x1080, -5 kb/s, 30 tbr, 1000k tbn, 30 tbc
Ricardos-MacBook-Pro:~ ptl$ ffprobe -f decklink -i 'UltraStudio Mini Recorder at 10' 
ffprobe version N-73104-g7604358 Copyright (c) 2007-2015 the FFmpeg developers
  built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
  configuration: --prefix=/usr/local --enable-gpl --enable-nonfree --enable-ffplay --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-decklink --extra-cflags=-I/Users/ptl/blackmagicsdk/Mac/include --extra-ldflags=-L/Users/ptl/blackmagicsdk/Mac/include
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 44.100 / 56. 44.100
  libavformat    56. 38.100 / 56. 38.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 17.100 /  5. 17.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[decklink @ 0x7f9ed0808c00] Found Decklink mode 1920 x 1080 with rate 30.00
[decklink @ 0x7f9ed0808c00] Frame received (#1) - No input signal detected - Frames dropped 1
Input #0, decklink, from 'UltraStudio Mini Recorder at 10':
  Duration: N/A, start: 0.000000, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
    Stream #0:1: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1920x1080, -5 kb/s, 30 tbr, 1000k tbn, 30 tbc


> Cheers,
> Arnaud.
> 
> Arnaud WIJNS
> ULB Podcast | Informaticien
> http://podcast.ulb.ac.be <http://podcast.ulb.ac.be/>
> 
> Téléphone : 02/650.29.26
> Email : arnaud.wijns at ulb.ac.be <mailto:arnaud.wijns at ulb.ac.be>
> 
> Université libre de Bruxelles
> Campus du Solbosch - CP 160/26
> Avenue F.D. Roosevelt, 50 - 1050 Ixelles
> 
>> Le 16 juin 2015 à 19:30, Ricardo Kleemann <ricardo at americasnet.com> a écrit :
>> 
>> On Tue, Jun 16, 2015 at 9:03 AM, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:
>> 
>>> Ricardo Kleemann <ricardo <at> americasnet.com> writes:
>>> 
>>>> I have a BlackMagic Design Ultrastudio mini recorder
>>>> connected to macbook pro thunderbolt. But it seems
>>>> the only program that recognizes the device is FMLE.
>>> 
>>> What is FMLE?
>>> Why can't you feed whatever FMLE produces to ffmpeg
>>> (the application)?
>>> 
>>> 
>> Sorry, it is Flash Media Live Encoder, and it does its own encoding and
>> sends to a server like Red5 or Flash Media Server.
>> 
>> I was hoping to not have to use FMLE and instead something that can push
>> directly to ffserver.
>> 
>> Certainly I can feed the FMLE output to ffmpeg and then to ffserver but
>> then I'm just adding another component into the chain.
>> 
>> I was hoping to go directly to ffserver, if for example ffmpeg was able to
>> see the input video device.
>> 
>> thanks
>> Ricardo
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user



More information about the ffmpeg-user mailing list