我在一个项目中,我必须能够播放几乎音频/视频文件(格式).
.mkv(matroska,可选)
.mp3(你可能知道这个)
我已经安装了所有上述编解码器,并且在我的系统上运行良好(使用WMP 10,Media Player Classic Home Cinema,VLC和Zoom Player进行了尝试).
我已经尝试过基本的TMediaPlayer,但不能在.avi上用于视频,然后我抓住DSPack但它不能播放.avi(xvid/divx)也不能播放.mkv,我抓住了VLC但它只给了我更令人头痛的是因为它只是ActiveX包装器(没有纯vcl组件).
有人可以建议另一个组件?免费或开源将是首选.
编辑:我已经解决了DSPack的问题,看起来我必须使用FDDShow来使用DSPack进行视频播放.
我从Excel导出UTF-8文本,我想使用Python读取和解析传入的数据.我已经阅读了所有在线信息,所以我已经尝试过这个,例如:
txtFile = codecs.open( 'halout.txt', 'r', 'utf-8' )
for line in txtFile:
print repr( line )
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0xff:意外的代码字节
在Hex编辑器中查看文本文件,第一个值是FFFE我也尝试过:
txtFile.seek( 2 )
Run Code Online (Sandbox Code Playgroud)
在"打开"之后,这只会导致不同的错误.
我有一个巨大的gzip文本文件,我需要逐行阅读.我选择以下内容:
for i, line in enumerate(codecs.getreader('utf-8')(gzip.open('file.gz'))):
print i, line
Run Code Online (Sandbox Code Playgroud)
在文件后面的某个时刻,python输出与文件不同.这是因为线条因python认为是换行符的奇怪特殊字符而被破坏.当我在'vim'中打开文件时,它们是正确的,但可疑字符的格式很奇怪.有什么我可以做的来解决这个问题吗?
我尝试过其他编解码器,包括utf-16,latin-1.我也试过没有编解码器.
我用'od'查看了文件.果然,它们不应该是\n个字符.但是,"错误的"前缀是一个奇怪的角色.我认为这里有一些编码,一些字符是2字节,但如果没有正确查看,则尾随字节为\n.
根据'od -h file',违规字符为'1d1c'.
如果我更换:
gzip.open('file.gz')
Run Code Online (Sandbox Code Playgroud)
附:
os.popen('zcat file.gz')
Run Code Online (Sandbox Code Playgroud)
它工作正常(实际上,更快).但是,我想知道我哪里出错了.
您好,感谢您的时间,我正在创建一个应用程序,可以移动视频文件以供其他应用程序处理.过去,我在ruby中使用了mediainfo和ffmpeg来获取有关每个文件的编解码器信息.然而,我想将所有这些转移到一个漂亮的可可应用程序中.我已经搜索和搜索,仍然无法找到解决方案(不使用ffmpeg)如何做到这一点.我基本上在寻找与quicktime视频检查窗口(apple + i)相同的信息.任何帮助将非常感谢,示例代码,甚至更多.谢谢.
我想.flv从
Opencv 写文件并花了很多时间... OpenCv 2.3文档说我们可以用这个编解码器创建flv文件
CV_FOURCC('F','L','V','1')
Run Code Online (Sandbox Code Playgroud)
但我总是得到这个错误.
[flv @ 0x9bf5000] Tag FLV1/0x31564c46 incompatible with output codec id '22'
Run Code Online (Sandbox Code Playgroud)
请帮助....目前我在Ubuntu 10.10上使用OpenCv 2.3
我刚刚在R. Laganiere的"OpenCV 2计算机视觉应用程序设计手册"一书中读过这篇文章:
请务必注意,为了打开指定的视频文件,您的计算机必须安装相应的编解码器,否则cv :: VideoCapture将无法理解输入文件.通常情况下,如果您能够在计算机上使用视频播放器打开视频文件(例如Windows Media Player),那么OpenCV也应该能够读取此文件.
不幸的是,事情对我来说并不容易.是的,我可以在我的视频播放器上读取avi文件,但它不适用于我的OpenCV-Qt应用程序.VideoCapture isOpen()方法返回false,尽管路径是正确的,并且所需的每个编解码器似乎都在这里.我尝试了几个文件,因此它与一种特定格式无关.
这里有人有使用OpenCV在Ubuntu中打开avi文件的经验吗?我认为这是一个大问题,在互联网上找不到任何相关的解决方案......
谢谢 !!
[编辑]这是我正在努力的功能; 这里的一些变量是类成员,因此可能看起来不完整.但是,正是这段代码无法正常工作.特别是,我实例化一个新的VideoCapture对象的行.
void MainWindow::on_actionOuvrir_fichier_triggered()
{
//mettre a -1 streamId
streamId = -1;
//get path to the avi file
QString fileName = QFileDialog::getOpenFileName(this,tr("Ouvrir fichier video"),"/home", tr("Videos (*.avi)"));
std::string utf8_text = fileName.toUtf8().constData();
//open .avi
capture = new VideoCapture(utf8_text);
//check
if(!capture->isOpened())
cout << "probleme ouverture fichier video" << endl;
//delay between each frame in ms
rate = capture->get(CV_CAP_PROP_FPS);
delay = 1000 / rate;
//start Qtimer recordId
recordId = startTimer(delay);
//capture …Run Code Online (Sandbox Code Playgroud) 我希望能够将AR Drone 2的视频源从Debian Server重新映射到Flash.
我知道AR Drone使用编解码器p264.在视频编解码器方面,我完全是绿色的,所以我不知道什么适合我想实现的目标?
与使用ffplay直接连接到AR Drone相比,我能够从AR Drone流式传输视频,但延迟非常高且质量极低.
我目前在标准的ffserver.conf中使用.swf示例:
<Stream test.swf>
Feed feed1.ffm
Format swf
VideoFrameRate 30
VideoIntraOnly
NoAudio
</Stream>
Run Code Online (Sandbox Code Playgroud)
并且.ffm Feed的设置如下:
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 17K
ACL allow 127.0.0.1
NoAudio
</Feed>
Run Code Online (Sandbox Code Playgroud)
我用来为ffserver feed提供输入的命令:
ffmpeg -i http://192.168.1.1:5555 http://localhost:8090/feed1.ffm
Run Code Online (Sandbox Code Playgroud)
我如何才能实现更低的延迟和更高的质量,因为流目前无法获取?
众所周知,在Smooth Stream客户端清单文件中,视频标记中包含"CodecPrivateData"属性.在我初步调查之后,我发现这个字符串是使用SPS和PPS形成的,它们基本上是NAL单位.
我正在寻找一种从视频GOP中提取该信息的方法,以便我可以使用相同的方法创建清单文件并手动替换编解码器私有数据
基本上,我期待使用ffmpeg创建自定义应用程序以创建流畅的表示
我想G.729在我的Android应用程序上使用音频编解码器.我对此做了很多研究,并且开始知道这pjsip是最有希望的解决方案.但我对这一切并不太了解.有人可以为我提供pjsip在现有Android应用程序中使用的完整步骤,以及如何通过包含对G729编解码器的支持pjsip.
任何帮助将不胜感激.
编辑:
这是我的android.mk档案.我想知道,我做对了吗?以及如何C在我的java代码中使用这些函数???
include $(CLEAR_VARS)
LOCAL_MODULE := pjsua-arm-unknown-linux-androideabi
LOCAL_SRC_FILES := $(MY_PJLIB_PATH)/libpjsua-arm-unknown-linux-androideabi.a
PJSIP_LIBS := $(addprefix pjsip_libs/, \
libg7221codec-arm-unknown-linux-androideabi.a \
libg7221codec-i686-apple-darwin9.a \
libgsmcodec-arm-unknown-linux-androideabi.a \
libgsmcodec-i686-apple-darwin9.a \
libilbccodec-arm-unknown-linux-androideabi.a \
libmilenage-arm-unknown-linux-androideabi.a \
libmilenage-i686-apple-darwin9.a \
libpj-arm-unknown-linux-androideabi.a \
libpj-i686-apple-darwin9.a \
libpjlib-util-arm-unknown-linux-androideabi.a \
libpjlib-util-i686-apple-darwin9.a \
libpjmedia-audiodev-i686-apple-darwin9.a \
libpjmedia-codec-i686-apple-darwin9.a \
libpjmedia-i686-apple-darwin9.a \
libpjmedia-videodev-i686-apple-darwin9.a \
libpjnath-arm-unknown-linux-androideabi.a \
libpjnath-i686-apple-darwin9.a \
libpjsdp-i686-apple-darwin9.a \
libpjsip-i686-apple-darwin9.a \
libpjsip-simple-i686-apple-darwin9.a \
libpjsip-ua-i686-apple-darwin9.a \
libpjsua-i686-apple-darwin9.a \
libportaudio-i686-apple-darwin9.a \
libresample-arm-unknown-linux-androideabi.a \
libresample-i686-apple-darwin9.a …Run Code Online (Sandbox Code Playgroud) 当我学习Cocoa Audio Queue文档时,我在音频编解码器中遇到了几个术语.在名为AudioStreamBasicDescription的结构中定义.
以下是术语:
1.采样率
2.数据包
3.帧
4.通道
我知道sample rate和channel.我是如何被其他两个混淆的.其他两个术语是什么意思?
您也可以通过示例回答这个问题.例如,我有一个双通道PCM-16信号源,采样率为44.1kHz,这意味着每秒有2*44100 = 88200字节的PCM数据.但如何packet和frame?
提前谢谢你!
codec ×10
ffmpeg ×2
opencv ×2
python ×2
android ×1
ar.drone ×1
audio ×1
avi ×1
cocoa ×1
components ×1
delphi ×1
flash ×1
flv ×1
gzip ×1
h.264 ×1
libavcodec ×1
line-breaks ×1
multimedia ×1
objective-c ×1
parsing ×1
pcm ×1
pjsip ×1
sip ×1
streaming ×1
ubuntu ×1
unicode ×1
video ×1
vlc ×1
voip ×1
xml ×1