我刚刚从https://gstreamer.freedesktop.org/data/pkg/ios/1.8.1/下载了gstreamer ios二进制文件。来自https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/的gstreamer sdk(7个月没有更新? - 是否有新版本)?
当我在gst_ios_init.h中启用以下功能时,我无法按如下方式解析符号。有更新的SDK吗?我不需要liveadder或碎片或编辑工具,但ios压缩支持似乎有用。
启用时:
#define GST_IOS_PLUGINS_EFFECTS
我明白了:
Undefined symbols for architecture x86_64:
"_gst_plugin_liveadder_register", referenced from:
_gst_ios_init in gst_ios_init.o
启用时:
#define GST_IOS_PLUGINS_CODECS
我明白了:
Undefined symbols for architecture x86_64:
"_gst_plugin_fragmented_register", referenced from:
_gst_ios_init in gst_ios_init.o
启用时:
#define GST_IOS_PLUGINS_EDITING
我明白了:
Undefined symbols for architecture x86_64:
"_gst_plugin_gnonlin_register", referenced from:
_gst_ios_init in gst_ios_init.o
启用时:
#define GST_IOS_PLUGINS_SYS
我明白了:
Undefined symbols for architecture x86_64:
"_VTCompressionSessionCompleteFrames", referenced from:
_gst_vtenc_finish in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_VTCompressionSessionCreate", referenced from:
_plugin_init in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-plugin.o)
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_VTCompressionSessionEncodeFrame", referenced from:
_gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_VTCompressionSessionInvalidate", referenced from:
_gst_vtenc_destroy_session in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_VTCompressionSessionPrepareToEncodeFrames", referenced from:
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_VTDecompressionSessionCreate", referenced from:
_gst_vtdec_negotiate in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o)
"_VTDecompressionSessionDecodeFrame", referenced from:
_gst_vtdec_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o)
"_VTDecompressionSessionInvalidate", referenced from:
_gst_vtdec_invalidate_session in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o)
"_VTDecompressionSessionWaitForAsynchronousFrames", referenced from:
_gst_vtdec_push_frames_if_needed in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o)
"_VTSessionCopyProperty", referenced from:
_gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_session_dump_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_VTSessionCopySupportedPropertyDictionary", referenced from:
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_VTSessionSetProperty", referenced from:
_gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_session_configure_property_double in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_session_configure_property_int in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_AllowFrameReordering", referenced from:
_gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_AllowTemporalCompression", referenced from:
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_AverageBitRate", referenced from:
_gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_ExpectedFrameRate", referenced from:
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_MaxKeyFrameInterval", referenced from:
_gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration", referenced from:
_gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_NumberOfPendingFrames", referenced from:
_gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_ProfileLevel", referenced from:
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_Quality", referenced from:
_gst_vtenc_set_quality in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTCompressionPropertyKey_RealTime", referenced from:
_gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
_gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
"_kVTEncodeFrameOptionKey_ForceKeyFrame", referenced from:
_gst_vtenc_init in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o)
答案 0 :(得分:0)
这是因为您安装的gstreamer
框架与教程不同。根据{{1}}和gst_ios_init.h
复制到教程项目将解决问题
答案 1 :(得分:0)
只需将VideoToolBox框架添加到您的项目中即可。