问题描述
我想使用mobile-ffmpeg录制来自android USB摄像机的视频。
对于录制内置摄像机,可以使用“ android_camera”输入设备选项。但要录制USB摄像机,应使用“ video4linux2”选项。
如v4.3.2 chanelog中所述,mobile-ffmpeg支持video4linux2设备,但是问题是我无法检测到USB摄像机设备名称,无法将其传递给ffmpeg命令。我已经将/ dev目录中存在的所有video *,v4l-subdev *设备传递给ffmpeg命令,但由于权限被拒绝错误,所有这些设备均已失败。也将/ dev / bus / usb / 001/002传递给ffmpeg,因为video4linux2设备也因权限被拒绝错误而失败。
有人可以帮助我使用mobile-ffmpeg实现android usb摄像机捕获吗?
相机连接后的“ adb shell dumpsys usb”结果如下:
USB Manager State:
USB Device State:
mCurrentFunctions: diag,serial_smd,rmnet_qti_bam,adb
mCurrentFunctionsApplied: true
mConnected: false
mConfigured: false
mUsbDataUnlocked: false
mCurrentAccessory: null
Kernel state: disCONNECTED
Kernel function list: diag,serial,rmnet,ffs
USB Host State:
/dev/bus/usb/001/002: UsbDevice[mName=/dev/bus/usb/001/002,mvendorId=2316,mProductId=892,mClass=239,mSubclass=2,mProtocol=1,mManufacturerName=Image Processor,mProductName=USB 2.0 PC Cam,mVersion=2.0,mSerialNumber=null,mConfigurations=[
UsbConfiguration[mId=1,mName=null,mAttributes=128,mMaxPower=250,mInterfaces=[
UsbInterface[mId=0,mAlternateSetting=0,mClass=14,mSubclass=1,mProtocol=0,mEndpoints=[
UsbEndpoint[mAddress=131,mAttributes=3,mMaxPacketSize=8,mInterval=16]]
UsbInterface[mId=1,mEndpoints=[]
UsbInterface[mId=1,mAlternateSetting=1,mEndpoints=[
UsbEndpoint[mAddress=129,mAttributes=5,mMaxPacketSize=5120,mInterval=1]]
UsbInterface[mId=1,mAlternateSetting=2,mMaxPacketSize=5072,mAlternateSetting=3,mMaxPacketSize=5040,mAlternateSetting=4,mMaxPacketSize=5008,mInterval=1]]]]
USB Port State:
<no ports>
USB Audio Devices:
USB MIDI Devices:
Settings for user 0:
Device permissions:
/dev/bus/usb/001/002: 10107
Accessory permissions:
Device preferences:
DeviceFilter[mvendorId=8754,mProductId=36899,mManufacturerName=Generic,mProductName=Zetro_CAM1,mSerialNumber=200901010001]: infinitegra.app.usbcamera
Accessory preferences:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)