| description | Use when user asks to implement, evaluate, compare, select, or migrate Rust code for: video processing, audio processing, media conversion, multimedia handling. Triggers: (1) 'Rust function' + video/audio/media/mp4/mp3/wav/flac/mkv/avi/mov, (2) 'implement'/'write'/'create' + extract audio/convert video/transcode/encode/decode, (3) struct/trait design for media processing (VideoProcessor, MediaInfo, FilterGraph, TranscodeTask, AudioResampler, StreamReader, FrameConverter), (4) FFmpeg terms: AVPacket, AVFrame, IOContext, filter graph, loudnorm, overlay, mux, demux, remux, (5) media operations: extract audio, convert to mp4, resize video, trim video, merge videos, add watermark, generate thumbnail, batch convert, normalize audio, (6) batch/bulk: 'all .wav/.mp3/.mp4 files', 'batch transcode', 'convert all', 'bulk convert', (7) media inspection: detect/check video/audio stream, has audio, video duration, video resolution, stream info, codec info, media metadata, (8) video effects: GIF generation, screenshot/frame capture, rotate video, fade in/out, crop/cropdetect, mono to stereo, PSNR quality, showwaves visualization, (9) low-level: memory read/write, shared memory, ref_counted_frames, send_packet, avformat_find_stream_info, CodecID, ffmpeg::Error, av_log callback, EAGAIN handling, (10) async/concurrent: async transcode, progress callback, thread pool, retry logic, timeout, watchdog, (11) streaming: RTMP, HLS, live stream, broadcast, jitter buffer, latency, real-time, (12) hardware acceleration: GPU, NVENC, VideoToolbox, VAAPI, QSV, cuda, hwaccel, (13) modern codecs: AV1, HEVC, H.265, VP9, HDR, 10-bit, (14) debugging/probe: ffprobe, probe, corrupt file, integrity, testsrc, frame count, (15) subtitles: subtitles, srt, ass, vtt, burn subs, embed subs, (16) device capture: screen capture, webcam, camera capture, record screen, avfoundation, directshow, v4l2, microphone input, desktop capture, (17) library selection/migration: 'which FFmpeg library', 'compare libraries', 'ez-ffmpeg vs ffmpeg-next', 'migrate to ez-ffmpeg', 'port to', 'convert to ez-ffmpeg', 'switch from', 'rewrite using', 'refactor to ez-ffmpeg', 'can this be done with ez-ffmpeg', 'feasibility', 'should I use ez-ffmpeg or ffmpeg-next', 'library recommendation', 'best library for', (18) existing FFmpeg code review: 'check FFmpeg code', 'review FFmpeg implementation', 'can this work with ez-ffmpeg', 'evaluate current FFmpeg code', 'is ez-ffmpeg suitable', 'look at existing video/audio code', (19) detection/measurement: blackdetect, silencedetect, scene detection, cropdetect, EBU R128, LUFS, true peak, measure loudness, content analysis, QC, (20) GPU custom shaders: wgpu, WGSL, custom shader, headless GPU filter, compute shader, built-in GPU effects, beauty filter, chroma key, green screen, pixelate, mirror flip, (21) native subtitle burn-in: burn subtitles without libass, pure-Rust subtitle, hardsub, SubtitleFilter, (22) one-shot recipes: thumbnail, sprite sheet, storyboard, contact sheet, animated gif, HLS ABR ladder, adaptive bitrate ladder, master playlist, (23) mux control: -shortest, shortest stream, bitstream filter, bsf, h264_mp4toannexb, aac_adtstoasc, annexb, attach fonts, cover art, mkv attachment, forced keyframes, (24) in-memory frame/sample export (experimental, 0.14): extract frames to memory, decode to RGB, frame to tensor, FrameExtractor, AI frame ingest, CV pipeline, uniform sampling, video to frames for model, SampleExtractor, whisper PCM, extract audio to f32, ASR ingest, (25) frame push / video generation (experimental, 0.14): VideoWriter, push frames, generate video from frames, procedural video, render to video, frames to video, in-memory mp4, encode from memory, (26) modern streaming outputs: WHIP, WebRTC output, SRT output, capability probe, is_muxer_available, fMP4 HLS, fragmented mp4 segments. Libraries: ez-ffmpeg, ffmpeg-next, ffmpeg-sys-next, ffmpeg-sidecar. |