我正在寻找一种在Windows XP/Vista机器上枚举所有视频编解码器的好方法.
我需要向用户呈现一组视频编解码器,包括压缩器和解压缩器.输出看起来像
Available Decoders DiVX Version 6.0 XVID Motion JPEG CompanyX's MPEG-2 Decoder Windows Media Video **Available Encoders** DiVX Version 6.0 Windows Media Video
我遇到的问题是没有可靠的方法来捕获系统可用的所有解码器.例如:
有没有人使用任何Windows API找到解决此问题的通用解决方案?Windows Vista Media Foundation API是否解决了这些问题?
我想了解视频和音频解码的工作原理,特别是定时同步(如何获得30fps视频,如何将其与音频耦合等).我不想知道所有的细节,只是它的本质.我希望能够编写实际视频/音频解码器的高级简化.
你能指点一下吗?MPEG2视频/音频解码器的实际C/C++源代码将是理解我认为的那些事情的最快方式.
我正在Windows上开发一个HTML5播放器,但是制作一个真正的跨浏览器和平台HTML5视频播放器我有一些真正的困难:
似乎Firefox和Safari在他们的视频标签上有不同的格式支持,.ogg用于Firefox,mp4用于Safari.
同时Firefox支持.ogg格式而无需进一步插件,Apple Safari需要Quicktime插件才能在标签视频中播放mp4视频.这听起来不太好.
Apple因其CPU消耗和额外的插件而讨厌Flash,但对于自身而言,需要一个Quicktime插件来播放HTML5上的视频.为什么这些浏览器不使用标准?
我从以下位置获取了Visual Studio 2010的现有单声道(非立体声)NAudio示例:
http://mark-dot-net.blogspot.com/2009/10/playback-of-sine-wave-in-naudio.html
并将其更改为具有两个声道的立体声音频,如下所示:
public abstract class WaveProvider32 : IWaveProvider
{
public WaveProvider32() : this(44100, 2) // Was 44100, 1
{
}
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
当我尝试将正确的采样值放置在缓冲区的第一个浮点中并将零放置在缓冲区的第二个浮点中时,我期望在右声道上得到正弦波,而在左声道上没有音频。
我在左通道和右通道上看到相同频率的正弦波相位偏低10倍。
是由于某种信号流失还是我不理解代码应如何工作?
这是我如何更改WaveProvider32的示例:
public class SineWaveProvider32 : WaveProvider32
{
.
.
.
public override int Read(float[] buffer, int offset, int sampleCount)
{
int sampleRate = WaveFormat.SampleRate;
for (int n = 0; n < sampleCount; n += 1)
{
buffer[n+offset] = (float)(Amplitude * Math.Sin((2 * Math.PI * sample * Frequency) / sampleRate));
buffer[n+offset+1] …Run Code Online (Sandbox Code Playgroud) 我对Qt开发以及音频编解码器都很陌生.我最近发现了一种使用QSound播放mp3声音的方法.我想使用QAudioOutput在我的qt项目中播放它,但QAudioDeviceInfo :: supportedCodecs()中没有mp3编解码器.
我尝试安装mp3编解码器,但它仍未在QAudioDeviceInfo :: supportedCodecs()中列出.如何向QAudioDeviceInfo :: supportedCodecs()添加编解码器?
我想知道用于编码HTML5视频的视频编解码器,主要是音频编解码器,因为例如Firefox支持MP4视频,但是在其Windows版本中,如果音频使用“ sowt”编码,则声音将不起作用。在这种情况下,我可以提供WEBM来源,但是我必须首先知道MP4来源是否有问题。
我发现了这一点,但这是其他浏览器尚未实现的IE11属性。
你怎么看?这可能吗?
先感谢您。
我想拥有支持mp3和ffmpeg编解码器的cef lib.如何在其中使用这些编解码器功能重新编译cef库.
我想学习,我应该在cef库或cefsharp中编辑哪里?然后如何编译它来重用它..
我正在使用cefsharp版本47.
我有一个普通的ASCII文件.当我尝试打开它时codecs.open(..., "utf-8"),我无法读取单个字符.ASCII是UTF-8的子集,为什么不能codecs以UTF-8模式打开这样的文件?
# test.py
import codecs
f = codecs.open("test.py", "r", "utf-8")
# ASCII is supposed to be a subset of UTF-8:
# http://www.fileformat.info/info/unicode/utf8.htm
assert len(f.read(1)) == 1 # OK
f.readline()
c = f.read(1)
print len(c)
print "'%s'" % c
assert len(c) == 1 # fails
# max% p test.py
# 63
# '
# import codecs
#
# f = codecs.open("test.py", "r", "utf-8")
#
# # ASC'
# Traceback (most recent call last):
# File "test.py", …Run Code Online (Sandbox Code Playgroud)