mkv转码mp4(ffmpeg工具)

server/2025/1/22 12:18:00/

基于windows,Linux也可以用,都是命令行

下载路径(https://github.com/BtbN/FFmpeg-Builds/releases)
下载安装包:ffmpeg-n6.1-latest-win64-lgpl-6.1.zip,(根据自己的平台选择下载)并解压到对应目录,拷贝解压后的目录,添加到环境变量

新增配置:D:\ffmpeg-n6.1-latest-win64-lgpl-6.1(换成你自己的路径)

path配置:%FFMPEG_HOME%/bin

然后打开终端输入:ffmpeg -version,看是否有以下内容输出,有则配置成功

C:\Users\actor>ffmpeg -version
ffmpeg version n6.1.2-21-gac60bc2bb0-20250117 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 14.2.0 (crosstool-NG 1.26.0.120_4d36f27)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-libxml2 --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --disable-avisynth --enable-chromaprint --enable-libdav1d --disable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --disable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --disable-librubberband --enable-schannel --enable-sdl2 --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --disable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --disable-libx264 --disable-libx265 --disable-libxavs2 --disable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20250117
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

开始转码

命令行输入

D:\Download>ffmpeg -i 练习.mkv -vcodec copy -acodec copy 练习.mp4

批量转码

我自己写的脚本,把一个目录下所有的mkv文件全部转码,只需要把脚本拷贝到存有mkv文件的目录下执行即可。装有git的 Windows 电脑也可以执行(在git命令行中执行)。

#!/bin/bash
# 设置目标文件夹
target_directory="."
# 遍历所有 .mkv 后缀的文件
for file in "$target_directory"/*.mkv; do# 确保是文件而不是目录if [ -f "$file" ]; then# 提取文件名并去掉路径filename=$(basename "$file")# 去掉文件名中的空格new_filename=$(echo "$filename" | tr -d ' ')# 如果文件名发生了变化,重命名文件if [ "$filename" != "$new_filename" ]; thenmv "$file" "$target_directory/$new_filename"echo "Renamed: $filename -> $new_filename"fifi
done
# 再次遍历文件夹,过滤出所有 .mkv 后缀的文件
echo "Remaining MKV files after renaming:"
for file in "$target_directory"/*.mkv; do# 确保是文件而不是目录if [ -f "$file" ]; theninput_file_name="$(basename "$file")"output_file_name="$(basename "$file" .mkv)"echo "转换:$input_file_name"ffmpeg -i "$input_file_name" -vcodec copy -acodec copy "$output_file_name.mp4" >> ffmpeg_output.log 2>&1fi
done

ffmpeg 是一个非常强大的工具,支持几乎所有音频和视频格式的相互转换。以下是一些常见的格式和编码器,ffmpeg 支持它们之间的相互转换;你可以根据自己的需求选择适当的编解码器和容器格式来进行转换。通过简单的命令,ffmpeg 可以处理非常复杂的格式转换任务。

1. 视频格式转换

ffmpeg 支持广泛的视频格式之间的转换,包括但不限于:

  • 视频格式:

    • .mp4 (H.264/AAC)
    • .mkv (H.264, H.265, VP9 等)
    • .avi (DivX, XviD, MJPEG 等)
    • .mov (H.264, ProRes, HEVC 等)
    • .flv (Flash Video)
    • .webm (VP8, VP9)
    • .wmv (Windows Media Video)
    • .mpg/.mpeg (MPEG-1, MPEG-2)
    • .3gp (3GPP)
    • .ogv (Theora)
  • 音频格式

    • .mp3 (MPEG-1 Audio Layer 3)
    • .aac (Advanced Audio Codec)
    • .ogg (Ogg Vorbis)
    • .flac (Free Lossless Audio Codec)
    • .wav (Waveform Audio)
    • .m4a (Apple Audio)
    • .alac (Apple Lossless Audio Codec)
    • .wma (Windows Media Audio)
    • .opus (Opus)
  • 转码示例:

    • wav转换为 mp3

      ffmpeg -i input.wav -acodec libmp3lame output.mp3
      
    • ogg转换为 .flac

      ffmpeg -i input.ogg -acodec flac output.flac
      

http://www.ppmy.cn/server/160453.html

相关文章

SSTI注入

ssti漏洞成因 ssti服务端模板注入,ssti主要为python的一些框架 jinja2 mako tornado django,PHP框架smarty twig,java框架jade velocity等等使用了渲染函数时,由于代码不规范或信任了用户输入而导致了服务端模板注入,…

C#集合操作优化:高效实现批量添加与删除

在C#中,对集合进行批量操作(如批量添加或删除元素)通常涉及使用集合类型提供的方法和特性,以及可能的循环或LINQ查询来高效地处理大量数据。以下是一些常见的方法和技巧: 批量添加元素 使用集合的AddRange方法&#x…

vif-方差膨胀因子计算

vif-方差膨胀因子 使用statsmodels中的variance_inflation_factor,数据集使用乳腺癌数据集 import pandas as pd import numpy as np from sklearn.datasets import load_breast_cancer from tqdm import notebook from statsmodels.stats.outliers_influence impor…

利用 Java 爬虫获取 1688 商品评论的实践指南

在电商领域,商品评论是消费者决策的重要参考因素,同时也是商家了解产品反馈、优化服务的关键数据来源。1688 作为国内知名的 B2B 电商平台,拥有海量的商品评论数据。本文将详细介绍如何利用 Java 爬虫技术获取 1688 商品评论,并提…

Dify:低代码 AI 应用开发平台详解与实战指南

Dify:低代码 AI 应用开发平台详解与实战指南 近年来,大语言模型(LLM)的快速发展使得 AI 应用的开发变得更加高效,而 Dify 作为一款低代码 AI 应用开发平台,让开发者可以更轻松地构建和部署 AI 驱动的智能助…

虚幻商城 Fab 免费资产自动化入库

文章目录 一、背景二、实现效果展示三、实现自动化入库一、背景 上一次写了个这篇文章 虚幻商城 Quixel 免费资产一键入库,根据这个构想,便决定将范围扩大,使 Fab 商城的所有的免费资产自动化入库,是所有!所有! 上一篇文章是根据下图这部分资产一键入库: 而这篇文章则…

OS2.【Linux】基本命令入门(1)

目录 1.操作系统是什么? 2.好操作系统的衡量标准 3.操作系统的核心工作 4.在计算机上所有行为都会被转换为硬件行为 5.文件 6.简单介绍一些基本命令 1.clear 2.pwd 3.ls 1.ls -l 2.隐藏文件的创建 3.ls -al 4.ls -ld 5.ls -F(注意是大写) 4.cd 1.cd .. "…