gdcl多路复用器创建的原始视频不是h264文件 [英] gdcl multiplexer create file with raw video not h264

查看:396
本文介绍了gdcl多路复用器创建的原始视频不是h264文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已按照以下方式创建了一张图表(我正在使用osprey卡输入实时流)

i have created one graph as per below (i am using osprey card for input live stream)

(图形编辑工具)

-> GDCL MPEG-4 mulitplexer中的鱼鹰模拟视频---->文件编写器(.mp4文件)

Osprey analog video in ----> GDCL MPEG-4 mulitplexer ----> File Writer (.mp4 file)

文件大小非常大;甚至5秒的文件也只有80 mb. 文件无法播放.

filesize is very big; even 5 seconds file have 80 mb size. file doesn't get played.

当我使用ffmpeg -i在ffmpeg中查看文件详细信息时,

when i see file detail in ffmpeg with ffmpeg -i,

它将产生错误,例如流0,缺少必需的原子,标头损坏

it will give error like stream 0, missing mandatory atoms, broken header

下面是ffmpeg响应.

below is ffmpeg response.

ffmpeg.exe -i"C:\ Documents and Setti ngs \ Administrator \ Desktop \ 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 渴望 从'C:\ Documents and Settings \ Administrator输入#0,mov,mp4,m4a,3gp,3g2,mj2 \ Desktop \ mp4file \ mp4file.mp4': 元数据: major_brand:mp42 minor_version:0 兼容品牌:mp42isom 持续时间:00:00:00.00,比特率:-2147483 kb/s 流#0:0(eng):视频:rawvideo(YUY2/0x32595559),yuyv422、640x480、90k tbr,90k tbn,90k tbc 元数据: handler_name: 必须至少指定一个输出文件

ffmpeg.exe -i "C:\Documents and Setti ngs\Administrator\Desktop\mp4file\mp4file.mp4" ffmpeg version N-38938-ge01f478 Copyright (c) 2000-2012 the FFmpeg developers built on Mar 19 2012 23:18:25 with gcc 4.6.2 configuration: --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] stream 0, missing mandatory atoms, broken h eader Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Documents and Settings\Administrator \Desktop\mp4file\mp4file.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng): Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 90k tbr, 90k tbn, 90k tbc Metadata: handler_name : At least one output file must be specified

我需要进行任何gdcl过滤器设置吗? 请帮助我解决问题.

do i need to make any gdcl filter settings? please help me to solve problem.

推荐答案

多路复用器用于将不同的流多路复用到单个文件中.在大多数情况下,这将是音频和视频流.但是多路复用器不对音频或视频进行编码.如果需要h.264视频,则需要向图形添加h264编码器.例如,您可以为此使用 ffdshow .

A multiplexer is used to multiplex different streams into a single file. Most of the time this will be an audio and a video stream. But a multiplexer does not encode audio or video. If you need h.264 video, you need to add a h264 encoder to the graph. For example you can use ffdshow for that.

另请参阅维基百科,以获取 mp4文件格式

See also wikipedia for the mp4 file format, H.264 video compression format, and other parts of mpeg4.

如果您真的想创建未压缩的.mp4文件,请查看官方.mp4支持的格式.未压缩的视频可能不受官方支持.但是即使是这样,您也需要多路复用器作为播放器的支持.杰林特·戴维斯(Geraint Davies)在他的网站上添加了以下注释:

If you really mean to create an uncompressed .mp4 file, take a look at the official supported formats for .mp4. Uncompressed video is probably not officially supported. But even if it is, you also need support from both the multiplexer as the player. On his website Geraint Davies has added the following note:

注意:mux和demux过滤器都需要添加少量代码以用于 支持的每种媒体类型.到目前为止,我只添加了一个 有限的类型集.如果您需要其他类型的物品,请 直接取得联系很可能只有几行代码 需要.

Note: both mux and demux filters need a small amount of code added for each media type that is to be supported. So far I have only added a limited set of types. If you need other types to be accepted, please get in touch directly It's likely that only a few lines of code will be needed.

对于未压缩的视频,最好使用 MXF .

It is probably better to use MXF for uncompressed video.

这篇关于gdcl多路复用器创建的原始视频不是h264文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆