是否有命令行命令可以在一行中为 gstreamer 管道测试 appsrc 和 appsink?
Is there command line command to test appsrc and appsink in a single line for gstreamer pipeline?
我要编写的代码
- 从 h264 编码的 mp4 文件获取缓冲区
- 将缓冲区传递给 appsink
- 然后在另一个管道中,appsrc 将读取缓冲区
- 缓冲区将是 h264parse,然后使用 GstRTSPServer 通过 rtp 发送出去
想要针对 CLI 管道对此进行模拟以确保视频上限正常工作:
我的尝试如下:
gst-launch-1.0 filesrc location=video.mp4 !应用程序接收器名称=我的接收器!应用程序名称=mysrc! video/x-h264 宽度=720 高度=480 帧率=30/1 ! h264parse 配置间隔=1! rtph264pay name=pay0 pt=96 ! udpsink 主机=192.168.x.x 端口=1234
但这并没有真正起作用,我不太确定这就是 appsrc 和 appsink 的使用方式
哪位大侠能赐教一下吗
编辑:
我正在尝试播放的文件具有以下 属性
一般
完整名称:video3.mp4
格式 : AVC
Format/Info : 高级视频编解码器
文件大小:45.4 MiB
Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L2.2
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=30
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 3:2
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
谢谢
您将无法使用 appsink
和 appsrc
执行此操作,因为它们明确表示要由应用程序用来处理 input/output 缓冲区。
也就是说,如果您真正想要测试两侧的电容,只需将它们连接在一起即可。他们都宣传“任何”上限,这意味着他们不会真正影响上限谈判。
gst-launch-1.0 filesrc location=video.mp4 ! \
"video/x-h264, width=720, height=480, framerate=30/1" ! \
h264parse config-interval=1 ! \
rtph264pay name=pay0 pt=96 ! \
udpsink host=192.168.x.x port=1234
你也会得到一个错误,因为 MP4 与 H264 不同:前者是一种容器格式,而后者是一种视频编解码器。在你的情况下,MP4 文件可能包含一个 H.264 视频:在这种情况下,它应该通过在 filesrc
.
之后放置一个 qtdemux
元素来工作。
我要编写的代码
- 从 h264 编码的 mp4 文件获取缓冲区
- 将缓冲区传递给 appsink
- 然后在另一个管道中,appsrc 将读取缓冲区
- 缓冲区将是 h264parse,然后使用 GstRTSPServer 通过 rtp 发送出去
想要针对 CLI 管道对此进行模拟以确保视频上限正常工作:
我的尝试如下: gst-launch-1.0 filesrc location=video.mp4 !应用程序接收器名称=我的接收器!应用程序名称=mysrc! video/x-h264 宽度=720 高度=480 帧率=30/1 ! h264parse 配置间隔=1! rtph264pay name=pay0 pt=96 ! udpsink 主机=192.168.x.x 端口=1234
但这并没有真正起作用,我不太确定这就是 appsrc 和 appsink 的使用方式
哪位大侠能赐教一下吗
编辑: 我正在尝试播放的文件具有以下 属性
一般 完整名称:video3.mp4 格式 : AVC Format/Info : 高级视频编解码器 文件大小:45.4 MiB
Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L2.2
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=30
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 3:2
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
谢谢
您将无法使用 appsink
和 appsrc
执行此操作,因为它们明确表示要由应用程序用来处理 input/output 缓冲区。
也就是说,如果您真正想要测试两侧的电容,只需将它们连接在一起即可。他们都宣传“任何”上限,这意味着他们不会真正影响上限谈判。
gst-launch-1.0 filesrc location=video.mp4 ! \
"video/x-h264, width=720, height=480, framerate=30/1" ! \
h264parse config-interval=1 ! \
rtph264pay name=pay0 pt=96 ! \
udpsink host=192.168.x.x port=1234
你也会得到一个错误,因为 MP4 与 H264 不同:前者是一种容器格式,而后者是一种视频编解码器。在你的情况下,MP4 文件可能包含一个 H.264 视频:在这种情况下,它应该通过在 filesrc
.
qtdemux
元素来工作。