ffmpeg dshow проблема захвата видео
Модераторы: Людмила, PR, vd, Даниленко Сергей
-
- Сообщения: 8
- Зарегистрирован: 23 окт 2013 18:09
ffmpeg dshow проблема захвата видео
Добрый день! Пытаюсь взять видео через directshow. Все настройки сделал, ffmpeg устройства видит
C:\Program Files\ffmpeg\bin>ffplay -list_devices true -f dshow -i dummy
ffplay version N-57330-g610a8b1 Copyright (c) 2003-2013 the FFmpeg developers
built on Oct 22 2013 18:02:06 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 47.101 / 52. 47.101
libavcodec 55. 37.102 / 55. 37.102
libavformat 55. 19.103 / 55. 19.103
libavdevice 55. 4.100 / 55. 4.100
libavfilter 3. 89.100 / 3. 89.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
[dshow @ 035ed220] DirectShow video devices 0KB sq= 0B f=0/0
[dshow @ 035ed220] "SL HD Title Generator Filter"
[dshow @ 035ed220] "SL Title Generator Filter"
[dshow @ 035ed220] "SLTM DShow Video Capture board 1"
[dshow @ 035ed220] "SLTM DShow Video Line B Capture board 1"
[dshow @ 035ed220] "SLTM DShow Video Output Capture board 1"
[dshow @ 035ed220] DirectShow audio devices
[dshow @ 035ed220] "LineIn 3 (FD300 Audio B1)"KB sq= 0B f=0/0
[dshow @ 035ed220] "LineIn 1 (FD300 Audio B1)"
[dshow @ 035ed220] "LineIn 2 (FD300 Audio B1)"
[dshow @ 035ed220] "MixOutIn 1 (FD300 Audio B1)"
[dshow @ 035ed220] "MixOutIn 2 (FD300 Audio B1)"
[dshow @ 035ed220] "MixOutIn 3 (FD300 Audio B1)"
dummy: Immediate exit requested 0KB vq= 0KB sq= 0B f=0/0
Но при попытке "взять" видео возникает ошибка
C:\Program Files\ffmpeg\bin>ffmpeg -f dshow -list_options true -i video="SLTM DShow Video Output Capture board 1"
ffmpeg version N-57330-g610a8b1 Copyright (c) 2000-2013 the FFmpeg
/вырезано/
[dshow @ 023679c0] Could not find video device.
video=SLTM DShow Video Output Capture board 1: Immediate exit requested
при этом звук "берется" нормально. Что я не так делаю?
C:\Program Files\ffmpeg\bin>ffplay -list_devices true -f dshow -i dummy
ffplay version N-57330-g610a8b1 Copyright (c) 2003-2013 the FFmpeg developers
built on Oct 22 2013 18:02:06 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 47.101 / 52. 47.101
libavcodec 55. 37.102 / 55. 37.102
libavformat 55. 19.103 / 55. 19.103
libavdevice 55. 4.100 / 55. 4.100
libavfilter 3. 89.100 / 3. 89.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
[dshow @ 035ed220] DirectShow video devices 0KB sq= 0B f=0/0
[dshow @ 035ed220] "SL HD Title Generator Filter"
[dshow @ 035ed220] "SL Title Generator Filter"
[dshow @ 035ed220] "SLTM DShow Video Capture board 1"
[dshow @ 035ed220] "SLTM DShow Video Line B Capture board 1"
[dshow @ 035ed220] "SLTM DShow Video Output Capture board 1"
[dshow @ 035ed220] DirectShow audio devices
[dshow @ 035ed220] "LineIn 3 (FD300 Audio B1)"KB sq= 0B f=0/0
[dshow @ 035ed220] "LineIn 1 (FD300 Audio B1)"
[dshow @ 035ed220] "LineIn 2 (FD300 Audio B1)"
[dshow @ 035ed220] "MixOutIn 1 (FD300 Audio B1)"
[dshow @ 035ed220] "MixOutIn 2 (FD300 Audio B1)"
[dshow @ 035ed220] "MixOutIn 3 (FD300 Audio B1)"
dummy: Immediate exit requested 0KB vq= 0KB sq= 0B f=0/0
Но при попытке "взять" видео возникает ошибка
C:\Program Files\ffmpeg\bin>ffmpeg -f dshow -list_options true -i video="SLTM DShow Video Output Capture board 1"
ffmpeg version N-57330-g610a8b1 Copyright (c) 2000-2013 the FFmpeg
/вырезано/
[dshow @ 023679c0] Could not find video device.
video=SLTM DShow Video Output Capture board 1: Immediate exit requested
при этом звук "берется" нормально. Что я не так делаю?
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
Подозреваю, программу "ffmpeg.exe" надо внести в "белый" список программ, для которых разрешается использовать DirectShow-источники на платах FD300. Попрошу коллег завтра подсказать, как это сделать.
Последний раз редактировалось vd 24 окт 2013 12:21, всего редактировалось 1 раз.
-
- Сообщения: 7091
- Зарегистрирован: 26 фев 2004 09:53
- Откуда: Techsupport SoftLab-NSK
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
-
- Сообщения: 330
- Зарегистрирован: 28 окт 2005 01:08
- Откуда: Irkutsk
- Контактная информация:
Все прекрасно работает - пока разбирался почему https://github.com/cplussharp/graph-studio-next выдает out_of_memory, попал в эту ветку ))
Несрочный дополнительный вопрос - если я хочу открыть устройство через AVS файл ислользуя GRF файл, какую софтину нужно прописывать в реестр?
Код: Выделить всё
>ffmpeg -f dshow -video_pin_name "Capture" -audio_pin_name "Audio 1" -i video="SLTM DShow Video Output Capture board 1":audio="SLTM DShow Video Output Capture board 1" out.avi
Несрочный дополнительный вопрос - если я хочу открыть устройство через AVS файл ислользуя GRF файл, какую софтину нужно прописывать в реестр?
Код: Выделить всё
V=DirectShowSource("d:\FDout.GRF", fps=25, audio=False, framecount=9999999)
return V
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
О каком реестре речь? О "белом" списке программ, которым разрешается захват через наши DirectShow-фильтры?Несрочный дополнительный вопрос - если я хочу открыть устройство через AVS файл ислользуя GRF файл, какую софтину нужно прописывать в реестр?
Если это, то нужно прописывать EXE-файл программы, в которой открываете AVS-скрипт.
Вот только не надо спрашивать нас о том, как этим пользоваться, и будет ли работать: "если я хочу открыть устройство через AVS файл ислользуя GRF файл" - у нас никто такими экспериментами не занимался, так что пробуйте сами.
Я уж не говорю о том, что "SLTM DShow" у нас никто уже давно не использует, т.к. платы FD300 ни у кого уже почти не установлены.
-
- Сообщения: 330
- Зарегистрирован: 28 окт 2005 01:08
- Откуда: Irkutsk
- Контактная информация:
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
Похоронили не мы, а производители чипсетов для материнских плат. Про это уже тыщу раз писали - найти нормально работающую PCI с полной скоростью сейчас почти невозможно, везде PCI эмулируется на PCI Express, и сделано это плохо в 99% случаев. А если, не дай бог, слотов нужно более одного на материнке... Не хочу пугать, но бойтесь момента, когда в ваших материнках, где работают FD300, начнут дохнуть конденсаторы
Кроме того, плата FD300 не работает под 64-разрядными Windows, за что спасибо производителю чипа (Philips), на котором плата сделана. Мало того, что чип давно снят с производства, так они никогда и не обещали сделать для него 64-разрядные драйверы.
А сейчас все больше людей, кто даже при вещании в SD хотят без перекодирования запускать в эфир HD-видеоролики и на полный экран, и в титрах, да еще в каком-нибудь криво собранном контейнере MKV, декодирование которого иной раз больше 2 гигабайт памяти съедает (был недавно такой случай).
Кроме того, плата FD300 не работает под 64-разрядными Windows, за что спасибо производителю чипа (Philips), на котором плата сделана. Мало того, что чип давно снят с производства, так они никогда и не обещали сделать для него 64-разрядные драйверы.
А сейчас все больше людей, кто даже при вещании в SD хотят без перекодирования запускать в эфир HD-видеоролики и на полный экран, и в титрах, да еще в каком-нибудь криво собранном контейнере MKV, декодирование которого иной раз больше 2 гигабайт памяти съедает (был недавно такой случай).
-
- Сообщения: 330
- Зарегистрирован: 28 окт 2005 01:08
- Откуда: Irkutsk
- Контактная информация:
-
- Сообщения: 2311
- Зарегистрирован: 05 мар 2003 19:21
-
- Сообщения: 117
- Зарегистрирован: 29 июн 2015 03:11
- Откуда: Казань
- Контактная информация:
-
- Сообщения: 7
- Зарегистрирован: 12 апр 2019 15:35
Re: ffmpeg dshow проблема захвата видео
Все привет!
Ребята подскажите как выбрать в ffmpeg две стереопары звука?
Я захватываю первую стереопару так: -i video="FD722 Board 1 Input HD Video Capture":audio="FD722 Board 1 Input HD Stereo 1 Capture"
Ребята подскажите как выбрать в ffmpeg две стереопары звука?
Я захватываю первую стереопару так: -i video="FD722 Board 1 Input HD Video Capture":audio="FD722 Board 1 Input HD Stereo 1 Capture"
-
- Сообщения: 7
- Зарегистрирован: 12 апр 2019 15:35
Re: ffmpeg dshow проблема захвата видео
Разобрался.
Код: Выделить всё
-f dshow -i video="FD422 Board 1 Input HD Video Capture":audio="FD422 Board 1 Input HD Wave 1 Capture" -f dshow -i audio="FD422 Board 1 Input HD Wave 2 Capture"