河汉清且浅,牵牛敦而纯
随笔 - 76,  文章 - 0,  评论 - 1,  阅读 - 66818
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
查看 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://stackoverflow.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

  

posted on   伊索  阅读(1556)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)

点击右上角即可分享
微信分享提示