我正在尝试以H.265编码未压缩的视频;但是,当我编写以下流水线时,我收到一条无法解决的错误消息。我正在遵循Tegra X1多媒体用户指南中的示例代码,我不明白为什么下面的管道不能工作。我是一个视频压缩的初学者,所以任何帮助都会非常有用。代码/错误消息:
ubuntu@tegra-ubuntu:~$ gst-launch-1.0 filesrc location=small_mem_vid.mov ! 'video/x-raw, format=(string)I420, framerate=(fraction)30/1, width=(int)1280, height=(int)720' ! omxh265enc ! filesink location=new_encode.mov -e
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and MjstreamingPipeline is PREROLLING ...
Framerate set to : 30 at NvxVideoEncoderSetParameterNvMMLiteOpen : Block : BlockType = 8
===== MSENC =====
NvMMLiteBlockCreate : Block : BlockType = 8
ERROR: from element /GstPipeline:pipeline0/GstOMXH265Enc-omxh265enc:omxh265enc-omxh265enc0: Could not write to resource. 其他调试信息:
/dvs/git/dirty/git-master_linux/external/gstreamer/gst-omx/omx/gstomxvideoenc.c(2139): gst_omx_video_enc_handle_frame (): /GstPipeline:pipeline0/GstOMXH265Enc-omxh265enc:omxh265enc-omxh265enc0:
Failed to write input into the OpenMAX buffer
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
ubuntu@tegra-ubuntu:~$发布于 2016-07-08 11:51:23
你确定.mov文件真的是未压缩的视频吗?.mov扩展通常用于quicktime视频。您可以在Linux中使用"mediainfo“来发现有关文件格式的更多细节。在这种情况下,我不认为您可以直接从filesrc转到编码器。你可能需要一个qtdemux和一个解码器,也许是avdec_h264,这取决于mediainfo所显示的内容。
您可能还想启用一些更详细的调试:导出GST_DEBUG=*:4
https://stackoverflow.com/questions/38253163
复制相似问题