首页 > 其他分享 >mkv转码mp4(ffmpeg工具)

mkv转码mp4(ffmpeg工具)

时间:2025-01-18 22:23:12浏览次数:1  
标签:enable ffmpeg -- mkv mp4 disable file

mkv转码mp4(ffmpeg工具)

基于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" ]; then
            mv "$file" "$target_directory/$new_filename"
            echo "Renamed: $filename -> $new_filename"
        fi
    fi
done
# 再次遍历文件夹,过滤出所有 .mkv 后缀的文件
echo "Remaining MKV files after renaming:"
for file in "$target_directory"/*.mkv; do
    # 确保是文件而不是目录
    if [ -f "$file" ]; then
        input_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>&1
    fi
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
      

标签:enable,ffmpeg,--,mkv,mp4,disable,file
From: https://www.cnblogs.com/JarryShu/p/18678954

相关文章

  • windows安装ffmpeg
    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。ffmpeg安装打开FFmpeg官网,选择下载。选择Windows平台,下面有两个链接,都是可以的,选择其一。本文以点击第一个链接......
  • ffmpeg简易播放器(2)--了解音频格式
    声音是个啥初中物理学过,声音是由物体振动产生的,声音是一种机械波,传播的介质是空气。声音的频率决定了声音的音调,频率越高,音调越高。声音的振幅决定了声音的大小,振幅越大,声音越大。也就是说,声音实质上是一个连续的信号,他有着频率以及振幅这两个基本属性。而我们的音频文件无非就......
  • ffmpeg简易播放器(1)--了解视频格式
    视频帧对于一份视频,实质上是多张图片高速播放形成的。每一张图片即为该视频的一帧。而每秒钟播放的图片张数便为所谓的帧率(FrameRate/FramePerSecond)。常见的帧率有24fps(即一秒播放24张图片),60fps(一秒播放60张图片)等。也就是说,对于一个时长60秒的图片,如果帧率为24fps,那么......
  • 基于FFmpeg 6.x与SDL2的音视频播放器开发全解析
    多媒体播放器系列基于FFmpeg6.x与SDL2的音视频播放器开发全解析多媒体播放器系列基于FFmpeg6.x与SDL2的音视频播放器开发全解析一、引言二、FFmpeg6.x基础理论(一)FFmpeg概述(二)重要的数据结构(三)音视频解码流程三、SDL2基础理论(一)SDL2概述(二)重要的模......
  • 关于安卓edge无法播放Wordpress上传的mp4视频问题
    使用默认插件上传后,电脑端可以播放视频,其他手机浏览器均可播放视频,但是安卓edge无法加载视频。大概是如下图样子:经查发现电脑打开页面会显示站点部分不安全的提示,说明edge端做了一些阻挡处理,导致视频无法播放。找了一些资料后,发现可以自行修改加载视频的代码框架,于是修改如下:......
  • IIS6 MP4无法播放视频或无法找到文件的解决方法
    在WindowsServer2003的IIS6中,MP4文件无法播放通常是因为IIS没有正确配置MP4文件的MIME类型。为了解决这个问题,请按照以下步骤操作:检查文件路径和URL路径:确保上传的MP4文件路径正确。确认播放代码中的URL路径正确无误。配置IIS的MIME类型:打开IIS管理器。在需要设置......
  • FFmpeg音视频流媒体,视频编解码性能优化
    你是不是也有过这样一个疑问:视频如何从一个简单的文件变成你手机上快速播放的短片,或者是那种占满大屏幕的超高清大片?它背后的法宝,离不开一个神奇的工具——FFmpeg!说它强大,完全不为过,它在音视频处理领域专业度很高。从格式转换、音视频编解码,到流媒体处理,FFmpeg就像是视频领......
  • 记录一次FFmpeg的安装过程
    系统版本:CentOS7事情起因:生产环境因为外网开放,密码强度为初始密码,造成挖矿病毒攻击,删除过程中发现,删除文件的同时,病毒会同时从外网下载,怎么也删除不干净,故决定重装系统。同事是在2024年6月19日部署的生产环境,不巧的是CentOS7在2024年6月30日停止维护了,造成无法通过yum命......
  • ffmpeg 使用小记
    mp4转图片./ffmpeg.exe-i./v/1.mp4-r1./v/img/img_%04d.jpgmp4兼容平板quicktime./ffmpeg.exe-i./v/1.mp4-c:vlibx265-c:aaac-crf25-tag:vhvc1output265.mp4wmv格式转mp4./ffmpeg.exe-i./v/2.wmv-c:vlibx264-crf20-c:aaac-strictexperim......
  • mac m1 安装ffmpeg,配置环境变量
    1首先要安装brew2  gitclonehttps://git.ffmpeg.org/ffmpeg.gitffmpeg3 cdffmpeg4执行脚本 ./configure--prefix=/opt/local5编译 sudomake,需要提权,要不系统目录无法创建文件夹6安装 makeinstall7安装成功,查看 ffmpeg版本  /opt/local/bin/ffmpeg-ve......