[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