FFmpeg相关教程(一)

发布于:2025-06-21 ⋅ 阅读:(16) ⋅ 点赞:(0)

一、参考资料

FFmpeg 官方文档:https://www.ffmpeg.org/documentation.html

FFmpeg 教程:https://wklchris.github.io/blog/FFmpeg/index.html

ffmpeg参数中文详细解释

FFmpeg 视频处理入门教程

ffmpeg 文档

ffmpeg 常用命令汇总(下)

二、FFmpeg相关介绍

FFmpeg支持硬件加速类型

libavutil/hwcontext.h · ChinaFFmpeg/ffmpeg - Gitee.com

enum AVHWDeviceType {
    AV_HWDEVICE_TYPE_NONE,
    AV_HWDEVICE_TYPE_VDPAU,
    AV_HWDEVICE_TYPE_CUDA,
    AV_HWDEVICE_TYPE_VAAPI,
    AV_HWDEVICE_TYPE_DXVA2,
    AV_HWDEVICE_TYPE_QSV,
    AV_HWDEVICE_TYPE_VIDEOTOOLBOX,
    AV_HWDEVICE_TYPE_D3D11VA,
    AV_HWDEVICE_TYPE_DRM,
    AV_HWDEVICE_TYPE_OPENCL,
    AV_HWDEVICE_TYPE_MEDIACODEC,
    AV_HWDEVICE_TYPE_VULKAN,
    AV_HWDEVICE_TYPE_D3D12VA,
    AV_HWDEVICE_TYPE_AMF,
};

AV_HWDEVICE_TYPE_NONE

  • 含义:表示不使用任何硬件加速。当选择此类型时,FFmpeg将仅依靠软件进行处理。
  • 适用场景:在硬件加速不可用、不需要或者软件处理更适合某些特定情况(如精确的调试场景)时使用。

AV_HWDEVICE_TYPE_VDPAU

  • 含义:VDPAU(Video Decode and Presentation API for Unix)是NVIDIA为Unix系统开发的视频解码和显示API。它允许将视频解码任务卸载到NVIDIA GPU上。
  • 优点
    • 对于支持的NVIDIA GPU,能够高效地进行视频解码,减轻CPU的负担。
    • 在Unix系统上可以利用NVIDIA的硬件能力实现流畅的视频播放和处理。
  • 局限性:仅适用于NVIDIA GPU且在Unix系统下,并且需要安装相应的驱动和库。

AV_HWDEVICE_TYPE_CUDA

  • 含义:CUDA是NVIDIA推出的一种并行计算平台和编程模型。在FFmpeg中使用CUDA可以利用NVIDIA GPU进行更广泛的视频处理任务,不仅仅是解码,还包括编码、滤镜处理等。
  • 优点
    • 强大的并行计算能力,可显著提高视频处理速度,尤其是对于高清和超高清视频。
    • 有丰富的NVIDIA GPU支持,在深度学习与视频处理结合的场景下非常有用。
  • 局限性:需要NVIDIA GPU、CUDA工具包的安装,并且开发难度相对较高,因为涉及到CUDA编程知识。

AV_HWDEVICE_TYPE_VAAPI

  • 含义:VA API(Video Acceleration API)是一种开源的视频加速API,主要用于Linux系统。它旨在提供一个通用的接口,使不同的视频处理硬件(如Intel和AMD的GPU)能够在Linux上实现视频加速。
  • 优点
    • 跨不同硬件厂商的GPU(主要是Intel和AMD在Linux下),提供统一的视频加速接口。
    • 有助于提高视频播放和处理效率,减少CPU使用率。
  • 局限性:不同硬件的支持程度可能会有所差异,并且需要系统和驱动的良好支持。

AV_HWDEVICE_TYPE_DXVA2

  • 含义:DXVA2(DirectX Video Acceleration 2)是Microsoft的Windows平台下的视频加速技术。它允许将视频解码任务交给GPU,以提高视频播放和处理性能。
  • 优点
    • 在Windows系统中广泛支持,对于Windows下的视频播放和处理有很好的优化效果。
    • 与Windows操作系统和DirectX生态系统紧密集成。
  • 局限性:仅适用于Windows平台,并且依赖于系统中安装的DirectX版本和GPU驱动。

AV_HWDEVICE_TYPE_QSV

  • 含义:QSV(Intel Quick Sync Video)是Intel的硬件视频编码/解码技术。FFmpeg通过此类型可以利用Intel GPU进行高效的视频处理。
  • 优点
    • 对于Intel集成GPU,提供了快速的视频编码和解码能力。
    • 低功耗且性能表现较好,特别适合于笔记本电脑等设备。
  • 局限性:仅适用于Intel GPU,并且需要特定的驱动和Intel硬件支持。

AV_HWDEVICE_TYPE_VIDEOTOOLBOX

  • 含义:VideoToolbox是Apple在macOS和iOS系统上的视频处理框架。FFmpeg可以通过这个类型利用Apple设备的硬件加速能力。
  • 优点
    • 在Apple设备(Mac、iPhone、iPad等)上实现高效的视频处理,与苹果的硬件和系统紧密结合。
    • 充分利用苹果设备的硬件优势,如A系列芯片的视频处理能力。
  • 局限性:仅适用于Apple的macOS和iOS设备。

AV_HWDEVICE_TYPE_D3D11VA

  • 含义:D3D11VA(Direct3D 11 Video Acceleration)是Microsoft基于Direct3D 11的视频加速技术。它为Windows系统下的视频处理提供了GPU加速的能力。
  • 优点
    • 基于Windows平台的Direct3D 11,有广泛的应用和硬件支持。
    • 可以用于多种视频处理任务的加速,如解码、编码等。
  • 局限性:仅适用于Windows平台且需要支持Direct3D 11的硬件。

AV_HWDEVICE_TYPE_DRM

  • 含义:DRM(Direct Rendering Manager)是Linux内核中的一个子系统,用于管理GPU的访问权限。在FFmpeg中,AV_HWDEVICE_TYPE_DRM可用于与DRM相关的视频处理硬件加速。
  • 优点
    • 在Linux系统下,通过DRM可以更好地管理和利用GPU资源进行视频处理。
    • 有助于实现安全和高效的视频播放和处理。
  • 局限性:主要适用于Linux系统且与系统的DRM实现和硬件支持密切相关。

AV_HWDEVICE_TYPE_OPENCL

  • 含义:OPENCL(Open Computing Language)是一个用于跨平台并行编程的开放标准。FFmpeg中的AVHWDEVICETYPE_OPENCL可以利用支持OPENCL的硬件(如GPU、FPGA等)进行视频处理的加速。
  • 优点
    • 跨多种硬件平台,不仅限于特定品牌的GPU,可以包括FPGA等其他可并行计算的设备。
    • 提供了一个开放的框架,方便开发人员根据不同硬件编写优化的视频处理代码。
  • 局限性:需要硬件和驱动支持OPENCL,并且开发复杂度相对较高,需要对OPENCL编程有一定了解。

AV_HWDEVICE_TYPE_MEDIACODEC

  • 含义:MediaCodec是Android系统中的多媒体编解码框架。FFmpeg通过这个类型可以在Android设备上利用系统的硬件加速能力进行视频处理。
  • 优点
    • 在Android设备上实现高效的视频处理,与Android系统的多媒体框架紧密结合。
    • 可以利用Android设备的硬件编解码能力,节省电量和提高处理速度。
  • 局限性:仅适用于Android设备且依赖于Android系统的MediaCodec实现。

AV_HWDEVICE_TYPE_VULKAN

  • 含义:Vulkan是一种新一代的图形和计算API。在FFmpeg中,AV_HWDEVICE_TYPE_VULKAN可用于利用支持Vulkan的硬件进行视频处理的加速。
  • 优点
    • 提供了更低级别的硬件控制,可能带来更高的性能和效率。
    • 作为新一代的API,有望在未来的硬件上得到更好的支持和优化。
  • 局限性:需要硬件支持Vulkan,并且目前Vulkan在视频处理中的应用还在发展阶段,相关的开发资源和成熟度相对较低。

AV_HWDEVICE_TYPE_D3D12VA

  • 含义:D3D12VA(Direct3D 12 Video Acceleration)是Microsoft基于Direct3D 12的视频加速技术。它是D3D11VA的升级版,为Windows系统下的视频处理提供更高效的GPU加速能力。
  • 优点
    • 基于Windows平台的Direct3D 12,具有更好的性能和资源管理能力。
    • 对于高性能视频处理需求(如游戏中的视频流处理)有更好的支持。
  • 局限性:仅适用于Windows平台且需要支持Direct3D 12的硬件。

AV_HWDEVICE_TYPE_AMF

  • 含义:AMF(Advanced Media Framework)是AMD推出的高级媒体框架。FFmpeg中的AVHWDEVICETYPE_AMF可以利用AMD硬件进行视频处理的加速。
  • 优点
    • 对于AMD硬件,能够充分利用其GPU的视频处理能力。
    • 提供了AMD特定的优化,可能在AMD平台上实现高效的视频处理。
  • 局限性:仅适用于AMD硬件,并且需要安装AMD相关的驱动和软件支持。

FFmpeg 常用指令

# ffmpeg支持的编码器
ffmpeg -codecs

# ffmpeg支持的封装格式
ffmpeg -formats

# ffmpeg支持的封装格式
ffmpeg -muxers

# ffmpeg支持的解封装格式
ffmpeg -demuxers

-formats            show available formats
-muxers             show available muxers
-demuxers           show available demuxers
-devices            show available devices
-codecs             show available codecs
-decoders           show available decoders
-encoders           show available encoders
-bsfs               show available bit stream filters
-protocols          show available protocols
-filters            show available filters
-pix_fmts           show available pixel formats
-layouts            show standard channel layouts
-sample_fmts        show available audio sample formats
-colors             show available color names
-sources device     list sources of the input device
-sinks device       list sinks of the output device
-hwaccels           show available HW acceleration methods

其他指令:

# 查看依赖库
ldd ./ffmpeg

# 查看版本
./ffmpeg -version

FFmpeg 转换指令

ffmpeg -i /data/test.wmv -c:v libx264 -c:a aac -strict -2 /data/output.mp4
  • -s <width>x<height>:指定输出视频的分辨率大小;
  • -b:v <bitrate>:设置视频流的比特率;
  • -r <fps>:设置视频的帧率;
  • -c:a copy:复制音频流而不重新编码`;
  • -c:v libx264:使用libx264编码器对视频进行H.264编码;
  • -preset ultrafast:设置编码速度与质量之间的平衡,ultrafast表示非常快速但画面质量也较差;
  • -crf <quality>:控制视频的质量,值越小则质量越好,通常取18到23之间的数字;
  • -threads <num_of_threads>:并发处理线程数。

FFmpeg 视频转换

使用ffmpeg将h264视频转换为h265,支持qsv,cuda加速

ffplay 常用指令

ffplay 是 FFmpeg 套件中的媒体播放工具,支持大多数视频/音频格式。如果已安装 FFmpeg,通常可以直接使用它。

播放视频文件:

ffplay input.mp4
  • 替换 input.mp4 为你的视频文件路径。
  • q 退出播放,按 空格 暂停/继续。

播放完成后自动退出:

ffplay -autoexit input.mp4

播放rtsp视频流:

ffplay rtsp://192.168.1.100:8554/live

播放时调整速度:

ffplay -vf 

ffmpeg 推流

# 接收端先监听(如用 ffplay)
ffplay tcp://0.0.0.0:8554?listen
ffplay -rtsp_transport tcp rtsp://0.0.0.0:8554/live

# 推流端
ffmpeg -i test.mp4 -f mpegts tcp://0.0.0.0:8554

三、FAQ

FFmpeg 常见问题

音视频实战(5)- FFmpeg 处理音视频常见问题集锦

Q:Invalid data found when processing input

/mnt/test_video # ffmpeg -i person.mp4
ffmpeg version 4.3.8 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 11.1.0 (GCC)
  configuration: --prefix=/home/yoyo/360Downloads/ffmpeg-4.3.8/ffmpeg_build --enable-shared --enable-static --enable-gpl --enable-version3 --enable-avresample --disable-asm --disable-optimizations --cross-prefix=arm-linux-gnueabihf- --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --cpu=armv7 --enable-cross-compile --enable-small --disable-everything --enable-libx264 --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=rtsp --extra-libs=-ldl --enable-ffmpeg --enable-protocol='file,http,rtmp' --extra-ldflags=-L/home/yoyo/360Downloads/x264/x264build/lib --extra-cflags=-I/home/yoyo/360Downloads/x264/x264build/include
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x492d0] moov atom not found
person.mp4: Invalid data found when processing input

错误原因:“moov atom” 一般在录制结束时才会写入,所以异常退出会导致 “moov atom” 缺失,进而无法播放。moov atom 包含视频的元数据和索引,视频播放器播放视频所需的信息也存储在 moov atom 中。当录制视频时录制设备突然关闭,使得 moov atom 丢失,从而出现 “moov atom not found” 错误。

理解 MPEG 的 moov atom

方法一:untrunc-gui.exe 工具(暂未测试)

修复录制异常终止导致的 MP4 文件损坏(moov atom not found)

视频修复工具——untrunc使用指南(moov atom not found)

untrunc 代码仓库:https://github.com/Ch1h5ah/untrunc

untrunc-gui 代码仓库:https://github.com/tech-media/untrunc-gui

下载 untrunc-gui:https://github.com/anthwlock/untrunc/releases

方法二:EaseUS Fixo文件修复工具(暂未测试)

方法三:MP4Box 工具(暂未测试)

下载 MP4Box:https://www.videohelp.com/software/MP4Box

MP4box是什么,win版mac版下载安装使用教程

mp4box -add input.mp4 output.mp4

输出结果:

E:\MyProjects\test_video>mp4box -add demo.mp4 demo_output.mp4
IsoMedia import demo.mp4 - track ID 1 - Video (size 1920 x 1080)
IsoMedia import demo.mp4 - track ID 2 - Audio (SR 48000 - 2 channels)
Saving demo_output.mp4: 0.500 secs Interleaving

方法四:qt-faststart 工具(暂未测试)

qt-faststart input.mp4 output.mp4
E:\MyProjects\test_video>qt-faststart demo.mp4 demo_output.mp4
ftyp          0 32
moov         32 17369
free      17401 8
mdat      17409 28092128
last atom in file was not a moov atom

方法五:ffmpeg工具(暂未测试)

如果文件是本地生成的,可以使用 -movflags faststart 重新封装文件,并将 moov atom 移动到文件开头:

ffmpeg -i input.mp4 -c:v copy -c:a copy -movflags faststart output.mp4

输出结果:

E:\MyProjects\test_video>ffmpeg -i demo.mp4 -c:v copy -c:a copy -movflags faststart demo_output.mp4
ffmpeg version 7.1-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.100 / 61. 19.100
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'demo.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.1.100
  Duration: 00:00:18.56, start: 0.000000, bitrate: 12116 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 12056 kb/s, 29.97 fps, 29.91 tbr, 29910 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : AVC Coding
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 55 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Output #0, mp4, to 'demo_output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.7.100
  Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 12056 kb/s, 29.97 fps, 29.91 tbr, 29910 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : AVC Coding
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 55 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Press [q] to stop, [?] for help
[mp4 @ 000002005df74040] Starting second pass: moving the moov atom to the beginning of the file
[out#0/mp4 @ 000002005d3b5f40] video:27309KiB audio:125KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.062000%
frame=  556 fps=0.0 q=-1.0 Lsize=   27451KiB time=00:00:18.55 bitrate=12119.7kbits/s speed= 502x

如果文件损坏,可以尝试使用 -fflags +genpts 生成缺失的 PTS(Presentation Time Stamp):

ffmpeg -fflags +genpts -i input.mp4 -c copy output.mp4
E:\MyProjects\test_video>ffmpeg -fflags +genpts -i demo.mp4 -c copy demo_output.mp4
ffmpeg version 7.1-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.100 / 61. 19.100
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'demo.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.1.100
  Duration: 00:00:18.56, start: 0.000000, bitrate: 12116 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 12056 kb/s, 29.97 fps, 29.91 tbr, 29910 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : AVC Coding
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 55 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Output #0, mp4, to 'demo_output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.7.100
  Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 12056 kb/s, 29.97 fps, 29.91 tbr, 29910 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : AVC Coding
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 55 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Press [q] to stop, [?] for help
[out#0/mp4 @ 0000013b30467b00] video:27309KiB audio:125KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.062000%
frame=  556 fps=0.0 q=-1.0 Lsize=   27451KiB time=00:00:18.55 bitrate=12119.7kbits/s speed= 809x

网站公告

今日签到

点亮在社区的每一天
去签到