FileSourceDecoder has been removed and replaced by FFmpegAudioDecoder and FFmpegVideoDecoder
FFmpegFileSource now uses FFmpegAudioDecoder and FFmpegVideoDecoder
FFmpegCameraSource (new) allows to use Camera as video input
New project to test all this new features
Enhancement: both FFmpegCameraSource and FFmpegFileSource check PixelFormat to ensure to encode correctly the sample (certainly could be enhanced)
Scenario tested:
Only on Win10
Codecs: VP8 and H264 / : PCM
Audio file: MP3 and MP4 file
Video file: MP4 file
Camera: Logitech HD Pro Webcam C920
Since Audio and Video inputs are independent, it's possible to stream audio from one file and video from another (or same) file or a webcam.
Note: On Windows, to test camera, the name on the device must be set like this: "video=[DEVICE_NAME]";
Where DEVICE_NAME is a name listed by this command: ffmpeg -f dshow -list_devices true -i dummy
Example of output of this command:
DirectShow video devices (some may be both video and audio devices)
"Integrated Camera"
Alternative name "@device_pnp_\\?\usb#vid_30c9&pid_0014&mi_00#7&10a84933&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
"HD Pro Webcam C920"
Alternative name "@device_pnp_\\?\usb#vid_046d&pid_082d&mi_00#7&2f7f15f6&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
DirectShow audio devices
"Microphone (HD Pro Webcam C920)"
Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{A34B481B-520D-482D-B48C-3117D3659FD5}"
"Microphone Array (Realtek(R) Audio)"
Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{3B632CDA-D23D-4B1B-A8BE-1DDBBF5486D1}"
"Microphone (Plantronics .Audio 478 USB)"
Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{AE04B684-777A-45E2-A452-5E4234C766FF}"
In this PR:
Enhancement: both FFmpegCameraSource and FFmpegFileSource check PixelFormat to ensure to encode correctly the sample (certainly could be enhanced)
Scenario tested:
Note: On Windows, to test camera, the name on the device must be set like this: "video=[DEVICE_NAME]"; Where DEVICE_NAME is a name listed by this command: ffmpeg -f dshow -list_devices true -i dummy
Example of output of this command: