[FFmpeg-user] what program to use to grab device and send to ffserver?
Arnaud Wijns
arnaud.wijns at ulb.ac.be
Wed Jun 24 10:08:54 CEST 2015
Hello,
Make sure you are using the good input format for your device. BMD is quite touchy in that field.
For instance, with a 1080i 50fps camera, I must choose the following format : 11 1920x1080 at 25000/1000 fps (interlaced, upper field first). If I use any other, I also have the mire (vertical color bars).
Do not hesitate to try all available formats. One of them will suit your needs (typically 8, 10, 11 or 13 if you use a full HD camera / 14, 16 for a screen grabber).
If none of them works, I am not sure what to do in that case ;)
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 24 juin 2015 à 04:42, Ricardo Kleemann <ricardo at americasnet.com> a écrit :
>
> 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
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
More information about the ffmpeg-user
mailing list