用ffmpeg对视频转码,视频格式转换

查看 flv文件音频和视频的编码格式    ffmpeg -i 069.flv

返回的最后几行
Input #0, flv, from '069.flv':
  Duration: 00:32:28.50, start: 0.000000, bitrate: 2848 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s
  Stream #0:1: Video: flv1, yuv420p, 1280x720, 2903 kb/s, 30 fps, 30 tbr, 1k tbn
At least one output file must be specified

音频Audio 是 44100 Hz 的 mp3
视频Video 编码格式 yuv420p 分辨率 1280x720 

由于 mp4 的视频编码一般为 h264 , 需要对视频进行重新编码,而不是单纯的拷贝。
(flv1, yuv420p, 1280x720 (flv) -> h264 (libx264))

ffmpeg -i 069.flv -vcodec libx264 -acodec copy output.mp4
ffmpeg -i 069.flv -vcodec libx264 -acodec libmp3lame output.mp4
ffmpeg -i 069.flv -c:a copy output.mp4

音频比特率 -ab 128k  或者 -b:a 128k      -ar '44100' 
视频比特率/码率           -b:v 1020k     -s  '1280x720'


如果FLV文件的编码分别为H.264和AAC,仅需拷贝即可
ffmpeg -i 069.flv -vcodec copy -acodec copy output.mp4

也可以 ffmpeg 自动识别重新编码转换
ffmpeg -i 069.flv output.mp4


视频比特率×视频持续时间(秒)÷ 8 = 视频文件大小

https://www.freeconvert.com/flv-to-mp4/download
https://cloudconvert.com/flv-to-mp4

格式工厂
http://formatfactory.cn
http://www.pcfreetime.com/formatfactory/CN/index.html

   狸窝

===========================================
https://*.com/questions/3255674/convert-audio-files-to-mp3-using-ffmpeg


ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3

此示例中使用的参数说明:

-i - 输入文件

-vn - 禁用视频,以确保在源为视频文件时不包含视频(包括专辑封面图片)

-ar- 设置音频采样频率。对于输出流,它默认设置为相应输入流的频率。对于输入流,此选项仅对音频抓取设备和原始解复用器有意义,并映射到相应的解复用器选项。

-ac- 设置音频通道数。对于输出流,它默认设置为输入音频通道的数量。对于输入流,此选项仅对音频抓取设备和原始解复用器有意义,并映射到相应的解复用器选项。所以在这里用来确保它是立体声(2 声道)

-b:a - 将音频比特率转换为每秒 192kbit

===========================================

如果是单个文件,就用如下命令:

ffmpeg -i "069.flv" -c copy "output.mp4"

将这里的input改为你的文件名,output改为你想得到的文件名即可。

如果是整个文件夹中的所有flv文件需要批量转成mp4,那么使用以下命令:

for %i in (*.flv) do ffmpeg -i "%i" -c copy "%~ni.mp4"

注:新生成的mp4文件会沿用原文件名。

知乎 https://www.zhihu.com/question/65224766/answer/252226264

===========================================

在使用ffmpeg转码的过程中,由于我的flv文件使用的视频编码是h264,音频是aac,所以转码的过程中flv->mp4,仅仅是容器改变了,编码方式几乎没有变化

ffmpeg -i input.flv output.mp4

此过程需要对视频进行重新编码,耗费资源和cpu较为严重,因为我的视频编码和音频编码都为h264 aac,这里就不需要对视频进行重新编码,仅仅需要对文件重新加以MP4容器即可

所以使用的代码为:

ffmpeg -i input.flv -vcodec copy -acodec copy output.mp4

能够解决大部分计算资源,速度等同于拷贝文件。这里提到主要是大部分的网站都没有提到这个事情,希望能够给需要的人有所帮助。

稀土掘金 作者:ArlenFuCN  https://juejin.cn/post/6844903757503807495

  

上一篇:ERNIE代码解析


下一篇:PAT1017 A除以B (20 分)