我已经创建了一个图表(我正在使用osprey卡输入实时流)
(graphedit工具)
Osprey模拟视频----> GDCL MPEG-4多路复用器---->文件编写器(.mp4文件)
filesize非常大;甚至5秒文件的大小为80 MB。 文件无法播放。
当我用ffmpeg -i,
在ffmpeg中看到文件详细信息时它将给出错误,如流0,缺少必需的原子,断页头
以下是ffmpeg回复。
ffmpeg.exe -i“C:\ Documents and Setti NGS \管理\桌面\ mp4file \ mp4file.mp4" ffmpeg版本N-38938-ge01f478版权所有(c)2000-2012 FFmpeg开发人员 建于2012年3月19日23:18:25,gcc 4.6.2 配置: - disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzli b --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable -libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable -l ibrtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-li bvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable -l ibx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 51. 42.100 / 51. 42.100 libavcodec 54. 12.100 / 54. 12.100 libavformat 54. 2.100 / 54. 2.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 65.101 / 2. 65.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 7.100 / 0. 7.100 libpostproc 52. 0.100 / 52. 0.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 003E28E0]流0,缺少强制原子,破坏h EADER 从'C:\ Documents and Settings \ Administrator输入#0,mov,mp4,m4a,3gp,3g2,mj2 \桌面\ mp4file \ mp4file.mp4' : 元数据: major_brand:mp42 minor_version:0 compatible_brands:mp42isom 持续时间:00:00:00.00,比特率:-2147483 kb / s 流#0:0(eng):视频:rawvideo(YUY2 / 0x32595559),yuyv422,640x480,90k tbr,90k tbn,90k tbc 元数据: handler_name: 必须至少指定一个输出文件
我是否需要进行任何gdcl过滤器设置? 请帮我解决问题。
答案 0 :(得分:0)
多路复用器用于将不同的流复用到单个文件中。大多数情况下,这将是音频和视频流。但多路复用器不编码音频或视频。如果您需要h.264视频,则需要在图表中添加h264编码器。例如,您可以使用ffdshow。
另请参阅维基百科,了解mp4 file format,H.264 video compression format和other parts of mpeg4。
如果您真的想创建一个未压缩的.mp4文件,请查看official supported formats for .mp4。未压缩的视频可能不受官方支持。但即使是这样,你也需要多路复用器作为播放器的支持。在他的网站上,Geraint Davies添加了以下note:
注意:mux和demux过滤器都需要添加少量代码 要支持的每种媒体类型。到目前为止我只添加了一个 有限的类型。如果您需要接受其他类型,请 直接联系可能只有几行代码 需要。
最好将MXF用于未压缩的视频。