问题描述
我有一个包含h.624视频和AAC音频流的mpeg2-TS文件.我需要以推送模式呈现此媒体文件.我只想使用免费软件过滤器.
I have a mpeg2-TS file containing h.624 video and AAC audio stream. I need to render this media file in push mode. I wish to use only freeware filters.
我使用MPEG解复用器(Microsoft)对文件进行解复用,并使用ffdshow音频和视频解码器进行解码. MPEG Demuxer以及一些许可的解码器工作正常.带有其他多路分解器的ffdshow过滤器(最佳源过滤器)也可以正常工作. 但它们在一起却无法正常工作.
I use MPEG demultiplexer (Microsoft) to demux the file and ffdshow audio and video decoders to decode. MPEG Demuxer, along with some licensed decoders, is working fine. Also ffdshow filters with other demuxers(gabest source filters) are working well too. But together they are not working.
我认为这可能是由于从解复用器发送的数据不同或在解复用器的输出引脚上声明了不同的媒体信息所致.假设后来是我更改媒体信息的原因.在尝试了各种媒体类型的输出引脚解复用器之后,我能够 得到一些失真的视频.但是,如果使用相同的媒体信息和其他解复用器,则视频会更加失真.
I felt it may due to either different data sent out of demuxer or different media info declared on output pin of demuxer. Assuming later to be the cause I varied the media info. After trying various media types of output pins demuxer, i was able to get some distorted video. But with same media info and some other demuxer, the video was even more distorted.
另一方面,我使用TSMuxer.exe将TS文件转码为相同格式.尽管TS文件的所有参数和属性都相同,但是大小几乎没有增加.但是MPEG demuxer和ffdshow一起能够渲染视频(不是音频).
On other note, I transcoded the TS file back into same format using TSMuxer.exe. Although all parameters and properties of TS file were same, there was small increase in size. But MPEG demuxer along with ffdshow was able to render video(not audio).
我对媒体格式和DirectShow的兴趣不多,因此我无法理解这里实际存在的问题.
I am not much into media formats and directshow so I am not able to understand what actually wrong here. Can somebody shed some light on situation?
推荐答案
我使用MPEG解复用器(Microsoft)对文件进行解复用,并使用ffdshow音频和视频解码器进行解码. MPEG Demuxer以及一些许可的解码器工作正常.带有其他多路分解器的ffdshow过滤器(最佳源过滤器)也可以正常工作. 但它们在一起却无法正常工作.
I use MPEG demultiplexer (Microsoft) to demux the file and ffdshow audio and video decoders to decode. MPEG Demuxer, along with some licensed decoders, is working fine. Also ffdshow filters with other demuxers(gabest source filters) are working well too. But together they are not working.
我认为这可能是由于从解复用器发送的数据不同或在解复用器的输出引脚上声明了不同的媒体信息所致.假设后来是我更改媒体信息的原因.在尝试了各种媒体类型的输出引脚解复用器之后,我能够 得到一些失真的视频.但是,如果使用相同的媒体信息和其他解复用器,则视频会更加失真.
I felt it may due to either different data sent out of demuxer or different media info declared on output pin of demuxer. Assuming later to be the cause I varied the media info. After trying various media types of output pins demuxer, i was able to get some distorted video. But with same media info and some other demuxer, the video was even more distorted.
另一方面,我使用TSMuxer.exe将TS文件转码为相同格式.尽管TS文件的所有参数和属性都相同,但是大小几乎没有增加.但是MPEG demuxer和ffdshow一起能够渲染视频(不是音频).
On other note, I transcoded the TS file back into same format using TSMuxer.exe. Although all parameters and properties of TS file were same, there was small increase in size. But MPEG demuxer along with ffdshow was able to render video(not audio).
我对媒体格式和DirectShow的兴趣不多,因此我无法理解这里实际存在的问题.有人可以说明情况吗?
I am not much into media formats and directshow so I am not able to understand what actually wrong here. Can somebody shed some light on situation?
这篇关于MPEG解复用器和ffdshow无法在传输流中呈现h.264的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!