ffmpeg를 사용하여 비디오의 무음 감지

1 원본영상정보

ffmpeg -i 명령을 통해 기본 비디오 정보 보기

ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf60.16.100
  Duration: 00:07:49.52, start: 0.000000, bitrate: 20142 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le(tv, bt709, progressive), 1920x2160, 20007 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.31.102 libx264
      timecode        : 00:32:38:24
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74)
    Metadata:
      handler_name    : TimeCodeHandler
      timecode        : 00:32:38:24
At least one output file must be specified

 

2 비디오 무음 감지를 위해 ffmpeg 사용

ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=0.5 -vn -sn -dn -f null /dev/null

  • -af: 무음 감지 기능은 오디오의 최대 볼륨, 평균 볼륨 및 볼륨 히스토그램을 얻는 것입니다. 이 네 가지 형식 만 지원합니다 AV_SAMPLE_FMT_S16 : ,  AV_SAMPLE_FMT_S32 ,  AV_SAMPLE_FMT_FLT 및  AV_SAMPLE_FMT_DBL - 그렇지 않은 경우 물론 FFmpeg는 자동으로 변환할 수 있습니다.

  • 음소거로 간주되는 볼륨은  noise 매개변수에 의해 결정되며 기본값은  -60dB 또는  입니다 0.001. 무음으로 간주되는 지속 시간은 매개  duration 변수에 의해 결정되며 기본값은  2 초입니다. 매개변수  mono 가 non  이면 0 각 채널이 별도로 감지된다는 의미이며, 기본적으로 감지를 위해 채널을 병합하는 것입니다.

  • 결합 감지: 예를 들어 2초간 연속 무음(또는 낮은 소리)이 음소거로 간주되면 채널 중 하나가 표준을 충족하고, 이 기간 동안 다른 채널이 표준을 충족하지 않으면 음소거로 간주되지 않습니다.

  • -vn FFmpeg에 오디오가 아닌 스트림을 무시하도록 지시합니다 -sn . -dn분석 중에 불필요한 작업을 방지하고 속도를 높일 수 있습니다.

참고: Windows에서 사용하는 경우  다중 채널 오디오의 경우 별도로 감지되도록 각 채널을 지정할 수 있습니다 /dev/null . NUL

ffmpeg -i input.mp3 -af "silencedetect=mono=1" -vn -sn -dn -f null /dev/null

3. 테스트 결과 표시

ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf60.16.100
  Duration: 00:07:49.52, start: 0.000000, bitrate: 20142 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le(tv, bt709, progressive), 1920x2160, 20007 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.31.102 libx264
      timecode        : 00:32:38:24
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74)
    Metadata:
      handler_name    : TimeCodeHandler
      timecode        : 00:32:38:24
Stream mapping:
  Stream #0:1 -> #0:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'nul':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf60.16.100
  Stream #0:0(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.31.102 pcm_s16le
[silencedetect @ 000001ee5a9cb5c0] silence_start: 0   0x
[silencedetect @ 000001ee5a9cb5c0] silence_end: 13.238 | silence_duration: 13.238
[silencedetect @ 000001ee5a9cb5c0] silence_start: 17.0503
[silencedetect @ 000001ee5a9cb5c0] silence_end: 17.5835 | silence_duration: 0.53325
[silencedetect @ 000001ee5a9cb5c0] silence_start: 30.0168
[silencedetect @ 000001ee5a9cb5c0] silence_end: 30.5313 | silence_duration: 0.514437
[silencedetect @ 000001ee5a9cb5c0] silence_start: 35.2619
[silencedetect @ 000001ee5a9cb5c0] silence_end: 35.9293 | silence_duration: 0.667375
[silencedetect @ 000001ee5a9cb5c0] silence_start: 50.3024
[silencedetect @ 000001ee5a9cb5c0] silence_end: 50.909 | silence_duration: 0.606563
[silencedetect @ 000001ee5a9cb5c0] silence_start: 56.8453
[silencedetect @ 000001ee5a9cb5c0] silence_end: 57.9748 | silence_duration: 1.12958
[silencedetect @ 000001ee5a9cb5c0] silence_start: 76.3573
[silencedetect @ 000001ee5a9cb5c0] silence_end: 76.8851 | silence_duration: 0.527792
[silencedetect @ 000001ee5a9cb5c0] silence_start: 83.8969
[silencedetect @ 000001ee5a9cb5c0] silence_end: 84.6447 | silence_duration: 0.747771
[silencedetect @ 000001ee5a9cb5c0] silence_start: 97.7624
[silencedetect @ 000001ee5a9cb5c0] silence_end: 98.294 | silence_duration: 0.531604
[silencedetect @ 000001ee5a9cb5c0] silence_start: 99.3107
[silencedetect @ 000001ee5a9cb5c0] silence_end: 99.8335 | silence_duration: 0.522792
[silencedetect @ 000001ee5a9cb5c0] silence_start: 108.826
[silencedetect @ 000001ee5a9cb5c0] silence_end: 109.517 | silence_duration: 0.690979
[silencedetect @ 000001ee5a9cb5c0] silence_start: 126.216
[silencedetect @ 000001ee5a9cb5c0] silence_end: 126.837 | silence_duration: 0.621333
[silencedetect @ 000001ee5a9cb5c0] silence_start: 126.837
[silencedetect @ 000001ee5a9cb5c0] silence_end: 127.59 | silence_duration: 0.752958
[silencedetect @ 000001ee5a9cb5c0] silence_start: 172.294
[silencedetect @ 000001ee5a9cb5c0] silence_end: 172.929 | silence_duration: 0.634542
[silencedetect @ 000001ee5a9cb5c0] silence_start: 198.802
[silencedetect @ 000001ee5a9cb5c0] silence_end: 199.375 | silence_duration: 0.572875
[silencedetect @ 000001ee5a9cb5c0] silence_start: 203.289
[silencedetect @ 000001ee5a9cb5c0] silence_end: 203.968 | silence_duration: 0.678875
[silencedetect @ 000001ee5a9cb5c0] silence_start: 229.058
[silencedetect @ 000001ee5a9cb5c0] silence_end: 229.595 | silence_duration: 0.537167
[silencedetect @ 000001ee5a9cb5c0] silence_start: 230.641
[silencedetect @ 000001ee5a9cb5c0] silence_end: 231.178 | silence_duration: 0.536604
[silencedetect @ 000001ee5a9cb5c0] silence_start: 240.758
[silencedetect @ 000001ee5a9cb5c0] silence_end: 241.555 | silence_duration: 0.796854
[silencedetect @ 000001ee5a9cb5c0] silence_start: 314.606
[silencedetect @ 000001ee5a9cb5c0] silence_end: 315.126 | silence_duration: 0.519979
[silencedetect @ 000001ee5a9cb5c0] silence_start: 356.308
[silencedetect @ 000001ee5a9cb5c0] silence_end: 356.832 | silence_duration: 0.524271
[silencedetect @ 000001ee5a9cb5c0] silence_start: 358.494
[silencedetect @ 000001ee5a9cb5c0] silence_end: 359.071 | silence_duration: 0.576917
[silencedetect @ 000001ee5a9cb5c0] silence_start: 374.441
[silencedetect @ 000001ee5a9cb5c0] silence_end: 375.158 | silence_duration: 0.717313
[silencedetect @ 000001ee5a9cb5c0] silence_start: 375.999
[silencedetect @ 000001ee5a9cb5c0] silence_end: 376.772 | silence_duration: 0.772271
[silencedetect @ 000001ee5a9cb5c0] silence_start: 389.417
[silencedetect @ 000001ee5a9cb5c0] silence_end: 389.947 | silence_duration: 0.529458
[silencedetect @ 000001ee5a9cb5c0] silence_start: 419.457
[silencedetect @ 000001ee5a9cb5c0] silence_end: 420.038 | silence_duration: 0.581125
[silencedetect @ 000001ee5a9cb5c0] silence_start: 447.481
[silencedetect @ 000001ee5a9cb5c0] silence_end: 447.991 | silence_duration: 0.510146
[silencedetect @ 000001ee5a9cb5c0] silence_start: 454.29
[out#0/null @ 000001ee590392c0] video:0kB audio:88020kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
size=N/A time=00:07:49.41 bitrate=N/A speed= 957x
[silencedetect @ 000001ee5a9cb5c0] silence_end: 469.44 | silence_duration: 15.1504

 

 4 FFmpeg 소개

FFmpeg 프로젝트는 2000년 Fabrice Bellard에 의해 설립되었습니다. 지금까지 FFmpeg 프로젝트 개발자는 여전히 VLC, MPV, dav1d, x264 등과 같은 멀티미디어 오픈 소스 프로젝트와 광범위하게 중복됩니다. Ffmpeg(FastForward Mpeg)는 GPL을 따르고 오디오 및 비디오 처리 성능이 매우 뛰어난 오픈 소스 소프트웨어로 거의 모든 기존 비디오 및 오디오 형식의 인코딩, 디코딩, 트랜스코딩, 믹싱, 필터링 및 재생을 포괄합니다. 가장 널리 사용되는 비디오 및 이미지 처리 소프트웨어로서 다양한 산업 분야의 여러 회사에서 널리 사용됩니다. 또한 Linux, Windows, Mac OSX 및 기타 플랫폼과 완벽하게 호환되는 크로스 플랫폼 소프트웨어입니다. 실제로 이는 오디오 및 비디오 처리 도구의 삼총사로 알려진 3가지 주요 구성 요소로 구성됩니다.

  • Ffmpeg: 명령줄로 구성되며 멀티미디어 형식 변환에 사용됩니다.
  • Ffplay: ffmpeg 오픈 소스 코드 라이브러리 라이브러리를 기반으로 한 멀티미디어 플레이어
  • Ffprobe: ffmpeg 기반 멀티미디어 스트림 분석기

Ffmpeg는 다양한 인코더, 디코더, 패키징 형식 및 필터 기능을 지원하는 FFmpeg 도구 세트의 핵심 도구여야 합니다. FFmpeg 프레임워크의 기본 구성 요소에는 AVFormat, AVCodec, AVFilter, AVDevice, AVUtil 및 기타 모듈 라이브러리가 포함되며 구조 다이어그램은 다음과 같습니다.

  •  AVFormat–FFmpeg 패키징 모듈

AVFormat은 MP4, FLV, KV, TS 및 기타 파일 캡슐화 형식, RTMP, RTSP, MMS, HLS 및 기타 네트워크 프로토콜 캡슐화 형식과 같은 캡슐화 및 캡슐화 해제를 포함하여 멀티미디어 분야에서 현재 미디어 캡슐화 형식의 대부분을 구현합니다. FFmpeg가 특정 미디어 캡슐화 형식을 지원하는지 여부는 이 형식의 캡슐화 라이브러리가 컴파일 중에 포함되는지 여부에 따라 달라집니다. 실제 필요에 따라 미디어 캡슐화 형식을 확장하고 사용자 정의 캡슐화 형식을 추가할 수 있습니다. 즉, 자체 캡슐화 처리 모듈을 AVFormat에 추가할 수 있습니다.

  • AVCodec – FFmpeg의 코덱 모듈

AVCodec은 현재 멀티미디어 분야에서 일반적으로 사용되는 대부분의 코덱 형식을 구현하여 인코딩과 디코딩을 모두 지원합니다. AVCodec은 MPEG4, AAC 및 MJPEG와 같은 내장 미디어 코덱 형식을 지원하는 것 외에도 x264 인코더를 사용해야 하는 H.264(AVC) 인코딩, H.265(HEVC) 인코딩과 같은 타사 코덱도 지원합니다. ) 인코딩의 경우 x264 인코더를 사용해야 하며, MP3(mp3lame) 인코딩의 경우 libmp3lame 인코더를 사용해야 합니다. 자체 인코딩 형식이나 하드웨어 코덱을 추가하려면 AVCodec에 해당 코덱 모듈을 추가해야 합니다.

  • AVFilter – FFmpeg용 필터 모듈

AVFilter 라이브러리는 오디오, 비디오, 자막 등에 대한 일반적인 필터 처리 프레임워크를 제공합니다. AVFilter에서 필터 프레임은 여러 입력과 여러 출력을 가질 수 있습니다.

  • swresample – FFmpeg의 오디오 변환 계산 모듈

swresample 모듈은 고급 오디오 리샘플링 API를 제공합니다. 예를 들어 오디오 샘플링, 오디오 채널 레이아웃 변환 및 레이아웃 조정을 조작할 수 있습니다.

  • swscale – FFmpeg의 비디오 이미지 변환 계산 모듈

swscale 모듈은 고급 이미지 변환 API를 제공합니다. 예를 들어 1080p에서 720p 또는 480p로 이미지를 스케일링하거나 이미지 데이터를 YUV420p에서 YUYV로 변환하거나 YUV 변환에서 흔히 볼 수 있는 이미지 스케일링 및 픽셀 형식 변환을 허용합니다. .RGB 및 기타 이미지 형식 변환.

5 FFmpeg 공통 매개변수

5.1 능력 세트 목록

  • -formats: 지원되는 파일 형식을 나열합니다.
  • -codecs: 지원되는 코덱을 나열합니다.
  • -decoders: 지원되는 디코더를 나열합니다.
  • -encoders: 지원되는 인코더를 나열합니다.
  • -protocols: 지원되는 프로토콜을 나열합니다.
  • -bsfs: 지원되는 비트스트림 필터를 나열합니다.
  • -filters: 지원되는 필터를 나열합니다.
  • -pix_fmts: 지원되는 이미지 샘플링 형식을 나열합니다.
  • -sample_fmts: 지원되는 사운드 샘플 형식을 나열합니다.

5.2 공통 입력 옵션

  • -i filename: 입력 파일 이름을 지정합니다.
  • -f fmt: 기능 집합 목록의 이름을 사용하여 파일 형식을 강제로 설정합니다(기본값은 확장명에 따라 선택됨).
  • -ss hh:mm:ss[.xxx]: 입력 파일의 시작 시점을 설정합니다.시작 후 해당 시점으로 점프하여 데이터 읽기를 시작합니다.

입력의 경우 다음 옵션은 일반적으로 자동으로 인식되지만 강제로 인식될 수도 있습니다.

  • -c 코덱: 기능 집합 목록의 이름을 사용하여 디코더를 지정합니다.
  • -acodec 코덱: 기능 세트 목록의 이름을 사용하여 사운드 디코더를 지정합니다.
  • -vcodec 코덱: 기능 집합 목록의 이름을 사용하여 비디오의 코덱을 지정합니다.
  • -b:v 비트 전송률: 비디오 스트림의 비트 전송률, 정수, 단위 bps를 설정합니다.
  • -r fps: 비디오 스트림의 프레임 속도, 정수, 단위 fps를 설정합니다.
  • -s WxH: 비디오 화면 크기를 설정합니다. 이는 화면 줌 필터를 장착하여 달성할 수도 있습니다.
  • -pix_fmt 형식: 비디오 스트림의 이미지 형식(예: RGB 또는 YUV)을 설정합니다.
  • -ar 샘플 속도: 오디오 스트림의 샘플링 속도, 정수, 단위 Hz를 설정합니다.
  • -ab bitrate: 오디오 스트림의 비트 전송률, 정수, 단위 bps를 설정합니다.
  • -ac 채널: 오디오 스트림의 채널 수를 설정합니다.

5.3 공통 출력 옵션

  • -f fmt: 기능 집합 목록의 이름을 사용하여 파일 형식을 강제로 설정합니다(기본값은 확장명에 따라 선택됨).
  • -c 코덱: 인코더를 지정하고 기능 집합 목록의 이름을 사용합니다(인코더는 인코딩이나 디코딩이 없음을 나타내기 위해 "복사"로 설정됩니다).
  • -acodec 코덱: 기능 집합 목록의 이름을 사용해야 하는 사운드 코덱을 지정합니다(코덱은 인코딩 및 디코딩이 없음을 나타내기 위해 "복사"로 설정됨).
  • -vcodec 코덱: 비디오의 인코더를 지정합니다.기능 집합 목록에 있는 이름을 사용해야 합니다(코덱은 인코딩이나 디코딩이 수행되지 않음을 나타내기 위해 "복사"로 설정됨).
  • -r fps: 비디오 인코더의 프레임 속도를 정수로 설정합니다. 단위: fps.
  • -pix_fmt 형식: 비디오 인코더에서 사용하는 이미지 형식(예: RGB 또는 YUV)을 설정합니다.
  • -ar 샘플 속도: 오디오 인코더의 샘플링 속도, 정수, 단위 Hz를 설정합니다.
  • -b 비트 전송률: 오디오 및 비디오 인코더에서 출력되는 비트 전송률을 정수, 단위 bps로 설정합니다.
  • -ab bitrate: 오디오 인코더 출력의 비트 전송률, 정수, 단위 bps를 설정합니다.
  • -ac 채널: 오디오 인코더의 채널 수를 설정합니다.
  • -an 오디오 스트림을 무시합니다.
  • -vn 모든 비디오 스트림을 무시합니다.
  • -t hh:mm:ss[.xxx]: 출력 파일의 시간 길이를 설정합니다.
  • -to hh:mm:ss[.xxx]: 출력 파일의 시간 길이를 설정하지 않은 경우 종료 시점을 설정할 수 있습니다.

5.4 ffmpeg 스트림 식별

FFMPEG의 일부 옵션은 특정 미디어 스트림에서 작동할 수 있으며, 이 경우 옵션 뒤에 스트림 식별자를 추가해야 합니다. 스트림 식별자에는 다음 형식이 허용됩니다.

  • 스트림 시퀀스 번호. 예를 들어 ":1"은 두 번째 스트림을 나타냅니다.
  • 스트림 유형. 예를 들어 ":a"는 오디오 스트림을 나타내며 스트림 유형은 스트림 번호와 결합될 수 있습니다. 예를 들어 ":a:1"은 두 번째 오디오 스트림을 나타냅니다.
  • 프로그램. 프로그램 번호와 스트림 번호를 결합할 수 있습니다.
  • 스트림 ID. 스트림 ID는 내부 식별 번호입니다.

두 번째 오디오 스트림을 복사하도록 설정하려면 -codec:a:1 copy를 지정해야 합니다.

5.5 ffmpeg 오디오 옵션

  • -aframes: 출력할 오디오 프레임 수를 지정하는 데 사용되는 출력 옵션인 프레임:a와 동일합니다.
  • -aq: q:a와 동일하며 이전 버전은 qscale:a이며 오디오 품질을 설정하는 데 사용됩니다.
  • -atag: tag:a와 동일하며 오디오 스트림의 태그를 설정하는 데 사용됩니다.
  • -af: 사운드 후처리 필터 체인을 설정하는 데 사용되는 filter:a와 동일하며 해당 매개변수는 사운드 후처리 체인을 설명하는 문자열입니다.

5.6 ffmpeg 비디오 옵션

  • -vframes: 출력 비디오 프레임 수를 지정하는 데 사용되는 출력 옵션인 프레임:v와 동일합니다.
  • -aspect: 4:3, 16:9, 1.3333, 1.7777 등 화면 비율을 설정합니다.
  • -bits_per_raw_sample: 픽셀당 비트 수를 설정합니다.
  • -vstats: 비디오 통계를 생성합니다.
  • -vf: 이미지의 후처리 필터 체인을 설정하는 데 사용되는 filter:v와 동일하며 해당 매개변수는 이미지 후처리 체인을 설명하는 문자열입니다.
  • -vtag: tag:v와 동일하며 비디오 스트림의 태그를 설정하는 데 사용됩니다.
  • -force_fps: 비디오 프레임 속도를 강제로 설정합니다.
  • -force_key_frames: 키 프레임 삽입을 명시적으로 제어합니다. 매개변수는 문자열이며 타임스탬프 또는 "expr:" 접두사가 붙은 표현식일 수 있습니다. 예: "-force_key_frames 0:05:00", "-force_key_frames expr:gte(t,n_forced*5)"

5.7 ffmpeg 필터 옵션

-filter_simple은 간단한 필터를 추가합니다.

-filter_complex FILTER 복합 필터 추가

5.8 ffmpeg 고급 옵션

  • -re: 입력 데이터가 설정된 속도로 처리되어야 합니다. 이 속도는 입력 파일의 프레임 속도입니다.
  • -map: 출력 파일의 스트림 매핑 관계를 지정합니다. 예를 들어 "-map 1:0 -map 1:1"을 사용하려면 두 번째 입력 파일의 첫 번째 및 두 번째 스트림이 출력 파일에 기록되어야 합니다. -map 옵션이 없으면 ffmpeg는 기본 매핑 관계를 사용합니다.

5.9 ffprobe 매개변수

간단히 말해서 ffprobe는 멀티미디어 스트림 분석 도구입니다. 멀티미디어 스트림에서 정보를 수집하여 사람과 기계가 읽을 수 있는 형식으로 인쇄합니다. 멀티미디어 스트림의 컨테이너 유형은 물론 각 멀티미디어 스트림의 형식과 유형을 감지하는 데 사용할 수 있습니다. 독립형 애플리케이션으로 사용하거나 텍스트 필터와 결합하여 보다 복잡한 처리를 수행할 수 있습니다.

  • -f 형식은 특정 형식을 강제합니다.
  • -60진수 시간 단위 형식 HOURS:MM:SS.MICROSECONDS
  • -예쁜 형식의 미화
  • -print_format 형식(선택값: default, Compact, csv, flat, ini, json, xml)
  • -형식 -print_format 별칭
  • -select_streams stream_specifier는 지정된 스트림을 선택합니다.
  • -섹션은 섹션 구조와 정보를 인쇄합니다.
  • -show_data 패킷 데이터 표시
  • -show_data_hash 패킷 데이터 해시 값 표시
  • -show_error 파일 감지/감지 오류 표시
  • -show_format은 형식 또는 컨테이너 정보를 표시합니다.
  • -show_frames는 프레임 정보를 표시합니다.
  • -show_format_entry 항목 형식/컨테이너 정보를 기반으로 지정된 항목을 표시합니다.
  • -show_packets는 패킷 정보를 표시합니다.
  • -show_programs 프로그램 정보 표시
  • -show_streams 스트림 정보 표시
  • -show_chapters는 장 정보를 표시합니다.
  • -count_frames는 각 스트림의 프레임 수를 계산합니다.
  • -count_packets는 각 흐름의 패킷 수를 계산합니다.
  • -show_program_version ffprobe 버전 표시
  • -show_library_versions 라이브러리 버전 표시
  • -show_versions 프로그램 및 라이브러리 버전 표시
  • -show_pixel_formats 픽셀 형식 표시
  • -show_private_data 개인 데이터 표시
  • -private은 show_private_data와 동일
  • -bitexact force bitexact 출력
  • -read_intervals read_intervals 읽기 간격 설정
  • -기본 일반 캐치 올 옵션

5.10 ffplayer 매개변수

  • -x는 비디오 표시 창의 너비를 강제합니다.
  • -y는 비디오 표시 창의 높이를 강제로 설정합니다.
  • -S는 비디오 디스플레이의 너비와 높이를 설정합니다.
  • -fs 강제로 전체 화면 표시
  • -an 블록 오디오
  • -vn 차단 비디오
  • -Sn은 자막을 차단합니다.
  • -ss 설정된 초를 기준으로 위치 지정 및 드래그
  • -t 재생 비디오/오디오 길이를 설정합니다.
  • -Bytes는 위치 지정 및 끌기 전략을 설정합니다. 0은 끌 수 없음을 의미하고 1은 끌 수 있음을 의미하며 -1은 자동을 의미합니다.
  • -Nodisp는 그래픽 디스플레이 창을 닫습니다.
  • -f는 설정된 형식을 구문 분석에 사용하도록 강제합니다.
  • -window_title은 표시 창의 제목을 설정합니다.
  • -af는 오디오 필터를 설정합니다.
  • -코덱은 디코딩을 위해 설정된 코덱을 강제로 사용합니다.
  • -autorotate는 비디오를 자동으로 회전시킵니다.
  • -ast는 재생할 오디오 스트림을 설정합니다.
  • -vst는 재생할 비디오 스트림을 설정합니다.
  • -sst는 재생할 자막 스트림을 설정합니다.
  • - 통계 출력 멀티미디어 재생 상태
  • -빠른 비표준 멀티미디어 호환성 최적화
  • -동기화 오디오 및 비디오 동기화 설정은 오디오 및 비디오, 비디오 시간 참조 또는 외부 확장 시간 참조를 기반으로 하는 참조로 설정할 수 있습니다.
  • -autoexit 멀티미디어 재생 후 자동으로 ffplay를 종료합니다. 기본적으로 ffplay는 재생이 완료된 후 플레이어를 종료하지 않습니다.
  • -exitonkeydown 키 누르기 이벤트가 발생하면 ffplay를 종료합니다.
  • -exitonmousedown 마우스 버튼 이벤트가 발생하면 ffplay를 종료합니다.
  • -loop는 멀티미디어 파일의 루프 재생 횟수를 설정합니다.
  • -framedrop CPU 리소스 사용량이 너무 높으면 자동으로 프레임을 삭제합니다.
  • -infbuf는 무제한 플레이어 버퍼를 설정합니다. 이 옵션은 일반적으로 실시간 스트리밍 미디어 재생 시나리오에서 사용됩니다.
  • -vf 비디오 필터 설정
  • -acodec은 설정된 오디오 코덱을 강제로 사용합니다.
  • -vcodec은 설정된 비디오 코덱을 강제로 사용합니다.
  • -scodec은 설정된 자막 디코더를 강제로 사용합니다.

추천

출처blog.csdn.net/lsb2002/article/details/135485520