我正在使用 Jetson Nano,想法是在按下按钮时播放视频。我目前正在通过等待按钮推送事件然后使用subprocess.call()运行 shell 脚本来调用我编写的包含 gstreamer 命令的 shell 脚本来运行视频。
我的下一个目标是能够停止视频,即使是中间视频,如果按下按钮。做一些研究(又名搜索 stackoverflow),似乎停止 gstreamer 视频的最佳方法是告诉管道终止。从我发现的内容来看,我的代码基本上如下:
import subprocess
p = subprocess.Popen("./open-video.sh")
time.sleep(2)
p.kill()
这不会停止视频,我尝试过的其他变体如下(没有一个有效):
import subprocess, os
import signal
p = subprocess.Popen("./open-video.sh")
time.sleep(2)
os.kill(p.pid, signal.SIGINT)
import subprocess
p = subprocess.call("./open-video.sh")
p.kill()
的内容open-video.sh
:
gst-launch-1.0 filesrc location=CES_AE_3D.mp4 ! qtdemux name=demux ! h264parse ! omxh264dec ! nvoverlaysink -e
谢谢阅读。