我很困惑......音频/视频编解码器(显然是“编码器/解码器”的简写,有点像“调制解调器”实际上是“调制器/解调器”)和音频/视频编解码器之间有什么区别?视频格式?
(我什至使用了正确的术语吗?)
即:说某事是“MPEG-4”和说某事使用“DivX”编解码器有什么区别?为什么 Windows Media Player 有时运行.mpg文件,有时不运行?
另外,以下哪些是编解码器,哪些是文件格式,哪些都不是?
我有一堆由单个 index.m3u8 文件描述的 ts 段:
index.m3u8
segment1_0_av.ts
segment2_0_av.ts
segment3_0_av.ts
segment4_0_av.ts
segment5_0_av.ts
Run Code Online (Sandbox Code Playgroud)
我知道它们都以相同的方式编码。ffprobe 给了我以下内容:
Input #0, mpegts, from 'segment1_0_av.ts':
Duration: 00:00:10.00, start: 0.100511, bitrate: 1251 kb/s
Program 1
Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 960x540 [SAR 1:1 DAR 16:9], 12.50 fps, 25 tbr, 90k tbn, 25 tbc
Stream #0:1[0x101]: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 105 kb/s
Stream #0:2[0x102]: Unknown: none ([21][0][0][0] / 0x0015)
Run Code Online (Sandbox Code Playgroud)
我想将它们组合成一个 mp4 容器。但是当我尝试以下命令时:
ffmpeg -f concat -i filelist.txt -c copy output.mp4 …Run Code Online (Sandbox Code Playgroud) 使用-vcodec copy和-sameq使用 FFmpeg 有什么区别?
他们做同样的事情吗?
阅读有关视频质量的文章时,我发现它取决于分辨率、每秒帧数和比特率,后者决定了视频的大小。
我的问题是比特率是如何计算的以及它如何不同。
假设视频的分辨率为 360x240。每帧需要 86400 像素。帧速率为 30 Hz。所以视频每秒需要 86400 × 30 = 2592000 像素。
因此,假设 1 像素是 3 字节(24 位)的数据:我们有 2592000 × 24 位/秒的视频(62208000 位),即 62208 kBits(这听起来不正确,可能是我计算中的一些问题)。
但它如何不同以及它如何在质量上产生差异?
我需要以一种可以在 windows xp 上使用 windows media player 播放的格式对短视频进行编码,而无需安装任何额外的编解码器。对于重新编码过程,我使用的是 ffmpeg。
我已经尝试过msmpeg4v2编解码器,但质量很差(与您看到大“块”的原始视频相比),所以我正在寻找其他开箱即用的编解码器,并且至少具有“好的”质量。
由于评论表明它可能不是编解码器而是比特率问题,这是我使用的命令:
ffmpeg -i x.flv -vcodec msmpeg4v2 -acodec adpcm_ima_wav x.avi
Run Code Online (Sandbox Code Playgroud)
输出:
Input #0, flv, from 'x.flv':
Metadata:
moovPosition : 39337765
avcprofile : 100
avclevel : 30
aacaot : 2
videoframerate : 25
audiochannels : 2
Duration: 00:06:19.52, start: 0.000000, bitrate: 836 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 702x396 [SAR 2596:3679 DAR 354:283], 25 tbr, 1k tbn, 50 tbc
Stream #0:1: Audio: aac, 48000 Hz, stereo, s16
w:702 h:396 …Run Code Online (Sandbox Code Playgroud) 我在 vlc 播放某些文件格式时遇到了问题,例如 mkv 或 m2ts(不过我没有注意到 avi 有这个问题)。声音播放正常,然后消失一两秒钟,然后重新出现。它大约每 10 秒发生一次。这真的很烦人,并阻止我对这些文件使用 VLC,顺便说一下,这些文件在 Media Player 中完全可以播放。
这是我已经尝试做的事情:
我的配置是:
我还能尝试什么来解决这个问题?
最近我想尝试 Webm 编解码器 VP8 和 VP9,但是当我跑ffmpeg将 H.264 MP4 文件编码到其他两个编解码器之一时,我意识到编码速度(几乎一个数量级)慢。
从 H.264 到 VP9 的 3 MBit/s 的 1080p30 视频正在以大约 6-7 fps 的速度编码,而同一视频以大约 40 fps 的速度编码到 H.264。我在 VP9 格式中使用了libvpx-vp9编解码器ffmpeg。对于 VP8 和 Theora,我也得到了相同的结果。
有人可以向我解释为什么 VP9 这么慢吗?我尝试了另一台机器,它使用手刹给了我类似的结果。
基本设置
在我的 Windows 7 Professional 64 位系统上,我安装了 K-Lite Codec Pack 7.10 和 K-Lite Codec Pack 64-bit 4.6,只有以下选项(这个想法是只添加缺少的东西,而不是替换 Microsoft 已有的东西):
结果是 .3gp、.flv 和 .webm 文件在 Windows Media Player 中打开并播放视频和音频,而 .flv 文件在 Windows 资源管理器中显示缩略图。
调整
我按照这些 指南使用首选过滤器调整器配置缩略图,通过将 ffdshow 设置为首选 H.264 编解码器并禁用 .3gp 的媒体基础,但正如我预期的那样,它不起作用。这些指南甚至没有提到 H.263 或 .webm(使用 VP8)。
我做的最后一件事是在Haali Media …
codec ×10
ffmpeg ×4
video ×4
audio ×2
video-codecs ×2
avi ×1
command-line ×1
encoding ×1
file-format ×1
m4a ×1
mp3 ×1
mp4 ×1
windows-7 ×1