英文:
Last clip created by splitmuxsink is not working
问题
我正在开发一个屏幕录制和定期保存的流水线,每隔10分钟保存一次。这个流水线可以正常录制和保存,但是当我用CTRL-C终止程序或系统异常崩溃时,最后创建的剪辑无法正常工作。即使在gst-player、ffplay或其他播放器上也无法播放最后一个剪辑,除了最后一个之外的所有剪辑都能正常播放。
我的管道是:
gst-launch-1.0 \
ximagesrc startx=0 \
! 'video/x-raw, framerate=15/1' \
! videoscale \
! videoconvert \
! x264enc speed-preset=superfast tune=zerolatency key-int-max=10 \
! h264parse \
! splitmuxsink location=video%02d.mkv \
async-finalize=true \
muxer-factory=matroskamux \
max-size-time=60000000000 \
muxer-properties="properties, streamable=true"
我的目的是跟踪另一个系统上正在工作的系统,因为它有时会崩溃。这样我就可以观看这些记录。
我仍然在gstreamer网站和文档上进行研究。我尝试过将async-finalize设置为false和true,但没有任何改变。
英文:
I am working on a pipeline to screen record and save them regularly like once in 10 mins. This pipeline is recording and saving properly but when I terminate the program with CTRL-C or the system falls abnormally the last clip created is not working properly. It can not be playyed even on gst-player or ffplay or any other players. All other clips except the last one, is working pretty okay.
My pipe is:
gst-launch-1.0 \
ximagesrc startx=0 \
! 'video/x-raw, framerate=15/1' \
! videoscale \
! videoconvert \
! x264enc speed-preset=superfast tune=zerolatency key-int-max=10 \
! h264parse \
! splitmuxsink location=video%02d.mkv \
async-finalize=true \
muxer-factory=matroskamux \
max-size-time=60000000000 \
muxer-properties="properties, streamable=true"
My purpose is track a system that another ones working on it and it sometimes crashes and falls. So i can watch this records.
I am still searching on gstreamer web site and documents. I tries that async-finalize false and true but nothing changed.
答案1
得分: 0
对于那些像我一样犯了同样错误的人,原因是我的情况下有async-finalize=true
。管道的稳定形式如下:
gst-launch-1.0 \
ximagesrc startx=0 \
! 'video/x-raw, framerate=10/1' \
! videoconvert \
! x264enc speed-preset=veryfast tune=zerolatency key-int-max=10 pass=cbr bitrate=1024 \
! h264parse \
! splitmuxsink location=video%02d.mkv \
max-size-time=600000000000 \
muxer-properties="properties, streamable=true" \
muxer=matroskamux \
max-files=10
英文:
To the ones did same mistake like me the reason was async-finalize=true
in my case. The stable form of the pipeline is below:
gst-launch-1.0 \
ximagesrc startx=0 \
! 'video/x-raw, framerate=10/1' \
! videoconvert \
! x264enc speed-preset=veryfast tune=zerolatency key-int-max=10 pass=cbr bitrate=1024 \
! h264parse \
! splitmuxsink location=video%02d.mkv \
max-size-time=600000000000 \
muxer-properties="properties, streamable=true" \
muxer=matroskamux \
max-files=10
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论