# Additional resources

This section outlines additional tools and resources available for further support.

## FFmpeg

FFmpeg is a versatile media conversion tool capable of handling a wide range of input sources—including live capture devices—and processing them through filtering and transcoding into numerous output formats.

**Basic usage:** ffmpeg [global\_options] {[input\_file\_options] -i input\_url} … {[output\_file\_options] output\_url} …

FFmpeg can process multiple input sources—such as files, pipes, network streams, or capture devices—using the -i option, and generate multiple outputs defined by their respective URLs.
Each input or output may include various elementary streams (like video, audio, subtitles, attachments, or data), although the number and types of streams supported can vary depending on the container format.
For more details, please see [FFmpeg documentation](https://ffmpeg.org/ffmpeg.html).
User can download the tool from [FFmpeg tool](https://ffmpeg.org/download.html).

### FFmpeg example commands

- HW decode:

ffmpeg.exe -hwaccel_device 1 -hwaccel d3d11va -i 4k_video.mp4 -vf scale=1920:1080 -c:v h264 output.mp4 ​
        ffmpeg.exe -hwaccel dxva2 -i 4k_video.mp4 -vf scale=1920:1080 -c:v h264 output.mp4
        Copy to clipboard
- Format conversion examples:

# Convert MP4 to AVI:
        ffmpeg -i input.mp4 output.avi
        # Convert MKV to MP4:
        ffmpeg -i input.mkv -c:v libx264 -c:a aac output.mp4
        # Extract Audio from Video:
        ffmpeg -i input.mp4 -vn -acodec copy output.aac
        # Convert to WebM:
        ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm
        Copy to clipboard
- Scaling options:

# Resize to 1280x720:
        ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
        # Resize Width to 640 (auto height):
        ffmpeg -i input.mp4 -vf scale=640:-1 output.mp4
        # Resize by 50%:
        ffmpeg -i input.mp4 -vf scale=iw/2:ih/2 output.mp4
        # Maintain Aspect Ratio with Padding:
        ffmpeg -i input.mp4 -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720
        Copy to clipboard
- FFmpeg transcoding commands (hardware acceleration):

    | Target Codec | HW Acceleration (Decode) | Command |
    | --- | --- | --- |
    | `H.264 (AVC)` | DXVA2 | ffmpeg -hwaccel dxva2 -i input.mp4 -c:v libx264 output\_h264.mp4 |
    | `HEVC (H.265)` | DXVA2 | ffmpeg -hwaccel dxva2 -i input.mp4 -c:v libx265 output\_hevc.mp4 |
    | `H.264 (AVC)` | D3D11VA | ffmpeg -hwaccel d3d11va -i input.mp4 -c:v libx264 output\_h264.mp4 |
    | `HEVC (H.265)` | D3D11VA | ffmpeg -hwaccel d3d11va -i input.mp4 -c:v libx265 output\_hevc.mp4 |
    | `AV1` | D3D11VA | ffmpeg -hwaccel d3d11va -i input.mp4 -c:v libaom-av1 output\_av1.mp4 |

| Category | Description | Command |
| --- | --- | --- |
| `Change Resolution (Maintain Aspect Ratio)` | Scale video, auto-calculate one dimension | ffmpeg -i input.mp4 -vf scale=1280:-1 output.mp4 |
| `Change Resolution (Specific Size)` | Resize to fixed dimensions (may distort) | ffmpeg -i input.mp4 -vf scale=640:480 output.mp4 |
| `Adjust Video Quality` | Use CRF for H.264 (lower = higher quality) | ffmpeg -i input.mp4 -crf 20 output.mp4 |
| `Crop Specific Section` | Crop using width:height:x:y | ffmpeg -i input.mp4 -vf “crop=640:480:100:50” output.mp4 |
| `Crop Center` | Auto-center crop | ffmpeg -i input.mp4 -vf “crop=640:480” output.mp4 |
| `Auto-Crop Black Borders` | Detect crop dimensions | ffmpeg -i input.mp4 -vf cropdetect -f null - |
| `Merge Audio & Video` | Combine streams with mapping | ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4 |
| `Concatenate Videos (Same Codec)` | Use concat demuxer with list file | ffmpeg -f concat -i mylist.txt -c copy output.mp4 |
| `Extract Audio` | Disable video stream | ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3 |
| `Remove Audio` | Disable audio stream | ffmpeg -i input.mp4 -an -c:v copy output.mp4 |
| `Adjust Audio Volume` | Apply volume filter | ffmpeg -i input.mp4 -af “volume=0.5” output.mp4 |
| `Trim (Fast)` | Start time + duration, no re-encode | ffmpeg -i input.mp4 -ss 00:01:30 -t 00:00:15 -c copy output.mp4 |
| `Trim (Precise)` | Accurate trim with re-encode | ffmpeg -ss 00:01:30 -i input.mp4 -t 00:00:15 output.mp4 |
| `Extract Frame` | Single frame at timestamp | ffmpeg -i input.mp4 -ss 00:00:10 -vframes 1 thumbnail.jpg |
| `Create Slideshow` | Images to video | ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix\_fmt yuv420p output.mp4 |
| `Add Subtitles` | Burn subtitles into video | ffmpeg -i input.mp4 -vf “subtitles=sub.ass” output.mp4 |
| `Loop Video` | Repeat video playback | ffmpeg -i input.mp4 -stream\_loop 5 output.mp4 |

Last Published: Jun 16, 2026

[Previous Topic
AI App Compatibility](https://docs.qualcomm.com/bundle/publicresource/80-62010-1/topics/app_compatibility.md) [Next Topic
Acronyms and terms](https://docs.qualcomm.com/bundle/publicresource/80-62010-1/topics/acronyms.md)