LogoLogo
HomeMPEG-5 LCEVCSMPTE VC-6V-Nova PresenZV-Nova Platform
MPEG-5 LCEVC
MPEG-5 LCEVC
  • V-NOVA LCEVC
    • Overview
    • LCEVC Best Practices
  • Encoder
    • Getting Started
    • SDK
      • Encoder Integration Layer (EIL)
        • EIL Integration Process
          • Error Handling
          • Base Encoder Plugin
        • Features
        • Encoding Configuration Properties
        • CBR vs CRF
        • Lower Resolutions (720p and below)
        • V-Nova LCEVC-specific Parameters
        • Metadata
        • API (version 3.9)
    • NDK
      • LCEVC Encoder IP Core
  • Decoder
    • Getting Started
    • SDK
      • LCEVC Decoder for Web (LCEVCdecJS)
      • Decoder Integration Layer (DIL)
        • Functionality
        • API Overview
        • Example Integration Code
        • DIL API
        • DIL Types and Enumerations
        • DIL Properties API
    • NDK
      • LCEVC Decoder IP Core
        • LCEVC Decoder IP Core Deliverables
      • LCEVC Hybrid Driver-level Decoder
  • Integrations
    • LCEVC in Chromium
    • LCEVC in WebRTC
    • FFmpeg with LCEVC
      • Example Script
      • FFmpeg Encoder
      • FFmpeg Decoder
      • Putting the Software Together
    • Player Integrations
      • AVPlayer with LCEVC
      • VLCKit with LCEVC
      • Shaka Player with LCEVC
      • Embedding LCEVC-enabled demo hls.js player
      • AndroidX (ExoPlayer) with LCEVC
    • LCEVC in Android Open-Source Project
  • Carriage
    • Getting started
  • Overview of Carriage Solutions
  • Carriage Implementations
Powered by GitBook
LogoLogo

© Copyright V-Nova 2025

On this page

Was this helpful?

  1. Integrations
  2. FFmpeg with LCEVC

Example Script

to encode, decode and calculate metrics

Important: If you intend to run objective metrics, then please remember to disable dithering on the decoder.

~/vnova/ffmpeg/ffmpeg \ -framerate $FPS \ -vcodec rawvideo \ -pix_fmt yuv420p \ -s $RESO \ -i $INPUT \ -vcodec lcevc_h264 \ -base_encoder x264 \ -b:v $BITRATE \ -eil_params "lcevc_tune=vmaf;dc_dithering_type=none;preset=medium;rc_pcrf_window_type=rolling" \ -f mp4 \ outputs/"$FILE"_vnova.mp4

ffmpeg \ -s $RESO \ -framerate $FPS \ -vcodec rawvideo \ -i $INPUT \ -vcodec libx264 \ -b:v $BITRATE \ -preset medium \ -g $FPS \ -f mp4 \ outputs/"$FILE"_libx.mp4

~/vnova/ffmpeg/ffmpeg -y \ -vcodec lcevc_hevc \ -disable_dithering 1 \ -i outputs/"$FILE"_vnova.mp4 \ -vcodec rawvideo \ -s $RESO \ -framerate $FPS \ -pix_fmt yuv420p \ -i $INPUT \ -filter_complex "[0:v]scale=1920x1080:flags=bicubic[main];[main][1:v]libvmaf=model_path=/path/to/vmaf_v0.6.1.pk1" \ -f null -

~/vnova/ffmpeg/ffmpeg -y \ -i outputs/"$FILE"_libx.mp4 \ -s $RESO \ -framerate $FPS \ -pix_fmt yuv420p \ -i $INPUT \ -filter_complex "[0:v]scale=1920x1080:flags=bicubic[main];[main][1:v]libvmaf" \ -f null -

PreviousFFmpeg with LCEVCNextFFmpeg Encoder

Last updated 2 months ago

Was this helpful?