Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP

Autres articles (96)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (8944)

  • FFMPEG C Library : Encoding h264 stream into Matroska .mkv container creates corrupt files

    16 mars 2024, par Marvin Killing

    I want to use the FFMPEG C Library to create a Matroska Video .mkv file with only an h264 stream, but the resulting .mkv file comes out corrupt.

    


    The file cannot be played back with Windows Media Player, ffplay, or VLC, and when I try to ffprobe the resulting file, these are the error messages :

    


    [h264 @ 0000015060d8f5c0] No start code is found.
    Last message repeated 1 times
[h264 @ 0000015060d8f5c0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000015060d8f5c0] decode_slice_header error
[h264 @ 0000015060d8f5c0] no frame!
[h264 @ 0000015060d8f5c0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000015060d8f5c0] decode_slice_header error
[h264 @ 0000015060d8f5c0] no frame!
[h264 @ 0000015060d8f5c0] non-existing PPS 0 referenced
    Last message repeated 1 times
# [...]
# this continues for a long time


    


    I have followed the other troubleshooting steps for encoding h264 into Matroska, but none of them seemed to have done the trick for me :

    


    


    This is my C code :

    


    #include &#xA;#include <libavutil></libavutil>opt.h>&#xA;#include <libavutil></libavutil>imgutils.h>&#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA;#include <libavformat></libavformat>avformat.h>&#xA;&#xA;int main(void) {&#xA;    char *out_file_path = "./video.mkv";&#xA;    AVFormatContext *format_context;&#xA;    AVStream *video_stream;&#xA;    AVCodecContext *codec_context;&#xA;&#xA;    avformat_alloc_output_context2(&amp;format_context, NULL, NULL, out_file_path);&#xA;&#xA;    const AVCodec *codec = avcodec_find_encoder(AV_CODEC_ID_H264);&#xA;    video_stream = avformat_new_stream(format_context, NULL);&#xA;&#xA;    codec_context = avcodec_alloc_context3(codec);&#xA;    av_opt_set(codec_context->priv_data, "preset", "superfast", 0);&#xA;    av_opt_set(codec_context->priv_data, "crf", "22", 0);&#xA;&#xA;    codec_context->width = 1920;&#xA;    codec_context->height = 1080;&#xA;    codec_context->time_base = av_make_q(1, 30);&#xA;    codec_context->pix_fmt = AV_PIX_FMT_YUV420P;&#xA;&#xA;    if (strncmp("./video.mkv", out_file_path, 11) == 0) {&#xA;      printf("Writing .mkv...\n");&#xA;      codec_context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;&#xA;      codec_context->extradata = (uint8_t*)av_mallocz(1024 * 1024);&#xA;      codec_context->extradata_size = 1024 * 1024;&#xA;    } else {&#xA;      printf("Writing .mp4...\n");&#xA;    }&#xA;&#xA;    // XXX avcodec_parameters_from_context is potentially superfluous (?)&#xA;    int ret = avcodec_parameters_from_context(video_stream->codecpar, codec_context);&#xA;&#xA;    ret = avcodec_open2(codec_context, codec, NULL);&#xA;&#xA;    avio_open(&amp;format_context->pb, out_file_path, AVIO_FLAG_WRITE);&#xA;&#xA;    ret = avformat_write_header(format_context, NULL);&#xA;&#xA;    // create a black input frame&#xA;    AVFrame *input_frame = av_frame_alloc();&#xA;    input_frame->width = 1920;&#xA;    input_frame->height = 1080;&#xA;    input_frame->format = AV_PIX_FMT_YUV420P;&#xA;    ret = av_image_alloc(input_frame->data, input_frame->linesize, input_frame->width, input_frame->height, input_frame->format, 32);&#xA;    ptrdiff_t linesize[4] = { input_frame->linesize[0], input_frame->linesize[1], input_frame->linesize[2], input_frame->linesize[3] };&#xA;    ret = av_image_fill_black(input_frame->data, linesize, input_frame->format, 0, 1920, 1080);&#xA;&#xA;    // write 2 seconds of video, all black&#xA;    for (size_t current_pts = 0; current_pts &lt; 60; current_pts&#x2B;&#x2B;) {&#xA;      input_frame->pts = av_rescale_q(current_pts, av_make_q(1, 30), codec_context->time_base);;&#xA;&#xA;      ret = avcodec_send_frame(codec_context, input_frame);&#xA;&#xA;      AVPacket* packet = av_packet_alloc();&#xA;&#xA;      while (1) {&#xA;          ret = avcodec_receive_packet(codec_context, packet);&#xA;          if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) {&#xA;              break;&#xA;          } else if (ret &lt; 0) {&#xA;              printf("avcodec_receive_packet failed");&#xA;          } else {&#xA;              av_packet_rescale_ts(packet, codec_context->time_base, video_stream->time_base);&#xA;              ret = av_interleaved_write_frame(format_context, packet);&#xA;          }&#xA;      }&#xA;&#xA;      av_packet_free(&amp;packet);&#xA;    }&#xA;&#xA;    av_frame_free(&amp;input_frame);&#xA;&#xA;    // flush encoder&#xA;    avcodec_send_frame(codec_context, NULL);&#xA;    AVPacket *flush_packet = av_packet_alloc();&#xA;    while (avcodec_receive_packet(codec_context, flush_packet) != AVERROR_EOF) {&#xA;        //int ret = av_interleaved_write_frame(format_context_, packet);&#xA;        av_packet_rescale_ts(flush_packet, codec_context->time_base, video_stream->time_base);&#xA;        ret = av_write_frame(format_context, flush_packet);&#xA;    }&#xA;    av_packet_free(&amp;flush_packet);&#xA;&#xA;    ret = av_write_trailer(format_context);&#xA;    ret = avio_close(format_context->pb);&#xA;&#xA;    return 0;&#xA;}&#xA;

    &#xA;

    The error handling is stripped out, but it does not raise any errors.

    &#xA;

    This code works when I write into an mp4 file, but creates a corrupt file when writing into .mkv. You can change the output container format to mp4 by setting&#xA;char *out_file_path = "./video.mp4";

    &#xA;

    You can compile this by running

    &#xA;

    clang -I$(FFMPEG_DIR)/include -L$(FFMPEG_DIR)/lib -lavformat -lavcodec -lavutil main.c -o makemkv&#xA;

    &#xA;

    The output I’m getting while the above code is running :

    &#xA;

    Writing .mkv...&#xA;[libx264 @ 0x139804c40] using cpu capabilities: ARMv8 NEON&#xA;[libx264 @ 0x139804c40] profile High, level 4.0, 4:2:0, 8-bit&#xA;[libx264 @ 0x139804c40] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=15 lookahead_threads=2 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=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=22.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 pb_ratio=1.30 aq=1:1.00&#xA;

    &#xA;

    When I use the ffmpeg CLI, I can create a working .mkv from my working .mp4 like this :

    &#xA;

    ffmpeg -i video.mp4 -c:v copy created-with-ffmpeg-cli.mkv&#xA;

    &#xA;

    I have uploaded the resulting video files here : https://drive.google.com/drive/folders/1FS-0fBAwKBbO-tyxC0VrFqcCyyqd0BR_?usp=sharing

    &#xA;

  • ffmpeg with Quick Sync Video (qsv) gets stuck

    28 avril 2023, par Juliano B. Nequirito

    I've compiled ffmpeg in an Arch Linux distribution with support to Intel Quick Sync Video. But ffmpeg gets stuck when I try to run it :

    &#xA;

    $ ffmpeg -debug -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv -i test_video.mp4 -c:v hevc_qsv output.mp4&#xA;&#xA;ffmpeg version N-109562-g0431f9805e Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with gcc 12.2.0 (GCC)&#xA;  configuration: --prefix=/usr --extra-cflags=-I/opt/cuda/include --extra-ldflags=-L/opt/cuda/lib64 --enable-lto --disable-rpath --enable-gpl --enable-version3 --enable-nonfree --enable-shared --disable-static --disable-stripping --enable-gray --enable-alsa --enable-avisynth --enable-bzlib --enable-chromaprint --enable-frei0r --enable-gcrypt --enable-gmp --enable-gnutls --enable-iconv --enable-ladspa --enable-lcms2 --enable-libaom --enable-libaribb24 --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcelt --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libdavs2 --enable-libdc1394 --enable-libfdk-aac --enable-libflite --enable-fontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libilbc --enable-libjack --enable-libjxl --enable-libklvanc --enable-libkvazaar --enable-liblensfun --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-libopencv --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --disable-libopenvino --enable-libopus --enable-libplacebo --enable-libpulse --enable-librabbitmq --enable-librav1e --enable-librist --enable-librsvg --enable-librubberband --enable-librtmp --enable-libshine --enable-libsmbclient --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libsvthevc --enable-libsvtvp9 --disable-libtensorflow --enable-libtesseract --enable-libtheora --disable-libtls --enable-libtwolame --enable-libuavs3d --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxavs2 --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-lzma --enable-decklink --disable-mbedtls --enable-libmysofa --enable-openal --enable-opencl --enable-opengl --disable-openssl --enable-pocketsphinx --enable-sndio --enable-sdl2 --enable-vapoursynth --enable-vulkan --enable-xlib --enable-zlib --enable-amf --enable-cuda-nvcc --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-libdrm --enable-libvpl --enable-libnpp --enable-nvdec --enable-nvenc --enable-omx --enable-rkmpp --enable-v4l2-m2m --enable-vaapi --enable-vdpau&#xA;  libavutil      57. 43.100 / 57. 43.100&#xA;  libavcodec     59. 56.100 / 59. 56.100&#xA;  libavformat    59. 34.102 / 59. 34.102&#xA;  libavdevice    59.  8.101 / 59.  8.101&#xA;  libavfilter     8. 53.100 /  8. 53.100&#xA;  libswscale      6.  8.112 /  6.  8.112&#xA;  libswresample   4.  9.100 /  4.  9.100&#xA;  libpostproc    56.  7.100 / 56.  7.100&#xA; matched as AVOption &#x27;debug&#x27; with argument &#x27;-hwaccel&#x27;.&#xA;Reading option &#x27;qsv&#x27; ... matched as output url.&#xA;Reading option &#x27;-qsv_device&#x27; ... matched as option &#x27;qsv_device&#x27; (set QSV hardware device (DirectX adapter index, DRM path or X11 display name)) with argument &#x27;/dev/dri/renderD128&#x27;.&#xA;Reading option &#x27;-c:v&#x27; ... matched as option &#x27;c&#x27; (codec name) with argument &#x27;h264_qsv&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;test_video.mp4&#x27;.&#xA;Reading option &#x27;-c:v&#x27; ... matched as option &#x27;c&#x27; (codec name) with argument &#x27;hevc_qsv&#x27;.&#xA;Reading option &#x27;output.mp4&#x27; ... matched as output url.&#xA;Finished splitting the commandline.&#xA;Parsing a group of options: global .&#xA;Applying option qsv_device (set QSV hardware device (DirectX adapter index, DRM path or X11 display name)) with argument /dev/dri/renderD128.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] libva: VA-API version 1.17.0&#xA;[AVHWDeviceContext @ 0x5590d517ee40] libva: User requested driver &#x27;iHD&#x27;&#xA;[AVHWDeviceContext @ 0x5590d517ee40] libva: Trying to open /usr/lib/dri/iHD_drv_video.so&#xA;[AVHWDeviceContext @ 0x5590d517ee40] libva: Found init function __vaDriverInit_1_16&#xA;[AVHWDeviceContext @ 0x5590d517ee40] libva: va_openDriver() returns 0&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Initialised VAAPI connection: version 1.17&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x41524742 -> bgra.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x42475241 -> argb.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x41424752 -> rgba.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x52474241 -> abgr.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x58524742 -> bgr0.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x42475258 -> 0rgb.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x58424752 -> rgb0.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x52474258 -> 0bgr.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x30335241 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x30334241 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x30335258 -> x2rgb10le.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x30334258 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x36314752 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x50424752 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x50524742 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x56555941 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x30303859 -> gray.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x3231564e -> nv12.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x3132564e -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x32595559 -> yuyv422.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x59565955 -> uyvy422.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x32315659 -> yuv420p.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x30323449 -> yuv420p.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x50313134 -> yuv411p.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x48323234 -> yuv422p.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x56323234 -> yuv440p.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x50343434 -> yuv444p.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x33434d49 -> unknown.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Format 0x30313050 -> p010le.&#xA;[AVHWDeviceContext @ 0x5590d517ee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.6.4 ().&#xA;[AVHWDeviceContext @ 0x5590d517ee40] Driver not found in known nonstandard list, using standard behaviour.&#xA;[AVHWDeviceContext @ 0x5590d517e940] Use Intel(R) oneVPL to create MFX session, API version is 2.6, the required implementation version is 1.3&#xA;

    &#xA;

    CPU starts being used intensively and then nothing happens.&#xA;Does anybody have any clue on it ?

    &#xA;

    I have an Intel i7-8550U (8th gen Kaby Lake) processor with 4 cores (8 threads).

    &#xA;

    I have also used these options to ffmpeg, getting the same results :

    &#xA;

    ffmpeg -loglevel debug -init_hw_device qsv=hw -filter_hw_device hw -hwaccel qsv -hwaccel_output_format qsv -i test_video.mp4 -vf &#x27;format=qsv,hwupload=extra_hw_frames=64&#x27; -c:v hevc_qsv -f mp4 output.mp4&#xA;

    &#xA;

    With VAAPI, transcoding runs flowlessly :

    &#xA;

    ffmpeg -init_hw_device vaapi=intel:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device intel -filter_hw_device intel -i test_video.mp4 -c:v hevc_vaapi -f mp4 output.mp4&#xA;

    &#xA;

  • How do I stream audio from a mic in a raspberry pi with FFmpeg ?

    23 mars 2024, par Ignacio

    I'm trying to follow this to stream audio from a mic in my raspberry pi.

    &#xA;

    ignacio@pi-satellite-bigbedroom:~ $ ffmpeg -re -f pulse -ac 1 -i plughw:CARD=seeed2micvoicec,DEV=0 -f rtsp -rtsp_transport tcp rtsp://192.168.86.151:8554/live.stream&#xA;ffmpeg version 4.3.6-0&#x2B;deb11u1&#x2B;rpt5 Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with gcc 10 (Debian 10.2.1-6)&#xA;  configuration: --prefix=/usr --extra-version=0&#x2B;deb11u1&#x2B;rpt5 --toolchain=hardened --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-mmal --enable-neon --enable-v4l2-request --enable-libudev --enable-epoxy --enable-sand --libdir=/usr/lib/aarch64-linux-gnu --arch=arm64 --enable-pocketsphinx --enable-libdc1394 --enable-libdrm --enable-vout-drm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared&#xA;  libavutil      56. 51.100 / 56. 51.100&#xA;  libavcodec     58. 91.100 / 58. 91.100&#xA;  libavformat    58. 45.100 / 58. 45.100&#xA;  libavdevice    58. 10.100 / 58. 10.100&#xA;  libavfilter     7. 85.100 /  7. 85.100&#xA;  libavresample   4.  0.  0 /  4.  0.  0&#xA;  libswscale      5.  7.100 /  5.  7.100&#xA;  libswresample   3.  7.100 /  3.  7.100&#xA;  libpostproc    55.  7.100 / 55.  7.100&#xA;plughw:CARD=seeed2micvoicec,DEV=0: No such process&#xA;

    &#xA;

    I believe this shows the cards I have :

    &#xA;

    ignacio@pi-satellite-bigbedroom:~ $ pactl list sources&#xA;Source #0&#xA;    State: SUSPENDED&#xA;    Name: alsa_output.platform-bcm2835_audio.analog-stereo.monitor&#xA;    Description: Monitor of Built-in Audio Analog Stereo&#xA;    Driver: module-alsa-card.c&#xA;    Sample Specification: s16le 2ch 44100Hz&#xA;    Channel Map: front-left,front-right&#xA;    Owner Module: 4&#xA;    Mute: no&#xA;    Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB&#xA;            balance 0.00&#xA;    Base Volume: 65536 / 100% / 0.00 dB&#xA;    Monitor of Sink: alsa_output.platform-bcm2835_audio.analog-stereo&#xA;    Latency: 0 usec, configured 0 usec&#xA;    Flags: DECIBEL_VOLUME LATENCY &#xA;    Properties:&#xA;        device.description = "Monitor of Built-in Audio Analog Stereo"&#xA;        device.class = "monitor"&#xA;        alsa.card = "0"&#xA;        alsa.card_name = "bcm2835 Headphones"&#xA;        alsa.long_card_name = "bcm2835 Headphones"&#xA;        alsa.driver_name = "snd_bcm2835"&#xA;        device.bus_path = "platform-bcm2835_audio"&#xA;        sysfs.path = "/devices/platform/soc/3f00b840.mailbox/bcm2835_audio/sound/card0"&#xA;        device.form_factor = "internal"&#xA;        device.string = "0"&#xA;        module-udev-detect.discovered = "1"&#xA;        device.icon_name = "audio-card"&#xA;    Formats:&#xA;        pcm&#xA;&#xA;Source #1&#xA;    State: IDLE&#xA;    Name: alsa_output.platform-soc_sound.stereo-fallback.monitor&#xA;    Description: Monitor of Built-in Audio Stereo&#xA;    Driver: module-alsa-card.c&#xA;    Sample Specification: s16le 2ch 44100Hz&#xA;    Channel Map: front-left,front-right&#xA;    Owner Module: 12&#xA;    Mute: no&#xA;    Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB&#xA;            balance 0.00&#xA;    Base Volume: 65536 / 100% / 0.00 dB&#xA;    Monitor of Sink: alsa_output.platform-soc_sound.stereo-fallback&#xA;    Latency: 0 usec, configured 2000000 usec&#xA;    Flags: DECIBEL_VOLUME LATENCY &#xA;    Properties:&#xA;        device.description = "Monitor of Built-in Audio Stereo"&#xA;        device.class = "monitor"&#xA;        alsa.card = "2"&#xA;        alsa.card_name = "seeed-2mic-voicecard"&#xA;        alsa.long_card_name = "seeed-2mic-voicecard"&#xA;        alsa.driver_name = "snd_soc_simple_card"&#xA;        device.bus_path = "platform-soc:sound"&#xA;        sysfs.path = "/devices/platform/soc/soc:sound/sound/card2"&#xA;        device.form_factor = "internal"&#xA;        device.string = "2"&#xA;        module-udev-detect.discovered = "1"&#xA;        device.icon_name = "audio-card"&#xA;    Formats:&#xA;        pcm&#xA;&#xA;Source #2&#xA;    State: RUNNING&#xA;    Name: alsa_input.platform-soc_sound.stereo-fallback&#xA;    Description: Built-in Audio Stereo&#xA;    Driver: module-alsa-card.c&#xA;    Sample Specification: s16le 2ch 44100Hz&#xA;    Channel Map: front-left,front-right&#xA;    Owner Module: 12&#xA;    Mute: no&#xA;    Volume: front-left: 32845 /  50% / -18.00 dB,   front-right: 32845 /  50% / -18.00 dB&#xA;            balance 0.00&#xA;    Base Volume: 20724 /  32% / -30.00 dB&#xA;    Monitor of Sink: n/a&#xA;    Latency: 688 usec, configured 10000 usec&#xA;    Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY &#xA;    Properties:&#xA;        alsa.resolution_bits = "16"&#xA;        device.api = "alsa"&#xA;        device.class = "sound"&#xA;        alsa.class = "generic"&#xA;        alsa.subclass = "generic-mix"&#xA;        alsa.name = "bcm2835-i2s-wm8960-hifi wm8960-hifi-0"&#xA;        alsa.id = "bcm2835-i2s-wm8960-hifi wm8960-hifi-0"&#xA;        alsa.subdevice = "0"&#xA;        alsa.subdevice_name = "subdevice #0"&#xA;        alsa.device = "0"&#xA;        alsa.card = "2"&#xA;        alsa.card_name = "seeed-2mic-voicecard"&#xA;        alsa.long_card_name = "seeed-2mic-voicecard"&#xA;        alsa.driver_name = "snd_soc_simple_card"&#xA;        device.bus_path = "platform-soc:sound"&#xA;        sysfs.path = "/devices/platform/soc/soc:sound/sound/card2"&#xA;        device.form_factor = "internal"&#xA;        device.string = "hw:2"&#xA;        device.buffering.buffer_size = "352800"&#xA;        device.buffering.fragment_size = "176400"&#xA;        device.access_mode = "mmap&#x2B;timer"&#xA;        device.profile.name = "stereo-fallback"&#xA;        device.profile.description = "Stereo"&#xA;        device.description = "Built-in Audio Stereo"&#xA;        module-udev-detect.discovered = "1"&#xA;        device.icon_name = "audio-card"&#xA;    Ports:&#xA;        analog-input: Analog Input (type: Analog, priority: 10000, availability unknown)&#xA;    Active Port: analog-input&#xA;    Formats:&#xA;        pcm&#xA;

    &#xA;

    I want to use the mic from the seeed-2mic-voicecard.

    &#xA;

    Thanks for the help

    &#xA;