SOLVED: Recording with avimux problem

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

SOLVED: Recording with avimux problem

killerrats
Administrator
This post was updated on .
Main Source
----------------
         | queue1 -> rtph264depay -> h264parse -> vtee --------|
rtspsrc                                                                                  _________
                                                                                              | RecBin |
         | queue2 -> rtpmp4gdepay -> aacparse -> faad -> atee |

RecBin
---------
queue3 |
            avimux -> appsink
queue4 |

Steps unlink and link
-----------------
1. unlink mux to appsink
2. unlink the pad vtee to record bin ghost pad "Videosink"
3. unlink the pad atee to record bin ghost pad "audiosink"
4. unlink the pad queue3 to mux
5. unlink the pad queue4 to mux
6. release pad from vtee and atee
7. gst_element_remove_pad q3 to mux
8. gst_element_remove_pad q4 to mux
9. null the record bin
10. remove each item in record bin
11. remove from main pipeline

Linking back up
-----------------
12. setup each item and add to record bin.
13. request pad from mux "video_0" and link q3 to mux
14 request pad from mux "audio_0" and link q4 to mux
15 add record bin to main pipeline
16. create "videosink" ghost pad and link ghost pad to q3
17. create "audiosink" ghost pad and link ghost pad to q4
18. gst_state_null on record bin
19. request pad from vtee "src_1" and link to ghost pad "videosink"
20. request pad from atee "src_1" and link to ghost pad "audiosink"
21. link mux to appsink
22. put play on record bin and setup appsink emit signal function



question:
--------------
I have successfully send eos through record bin to then unlink and link back
up. the recording of the video works for audio and video works great the
first time but when it comes to re-linking the RecBin back up, it only
records audio.

if I just hook up video it does the same thing. appsink show buffers going
through but when i look at the file it says has no frames. if i hook up
either AV or just Audio the audio is fine. I can hook up a autovideosink to
the queue that handles the video side and show up with video but when it
goes through the mux it doesn't seem to show up in the file.

Gstreamer Version 1.6.2

I have tried 1.12 seems to do the same.

Any Ideas?




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
------------------------------
Gstreamer 1.16.2
------------------------------
Windows
Reply | Threaded
Open this post in threaded view
|

Re: Recording with avimux problem

Gst-Geek
Is incoming video stream has periodic key frames ??  Make sure input has
periodic key frames.

Video will not be playable without key frame. You can force h264parse to
introduce key frame headers through property config-interval. you can set it
to 1 sec.

~ Vinod



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Recording with avimux problem

killerrats
Administrator
Thanks! that work!

GstElement* parse = gst_element_factory_make ("h264parse", "videoparse");
g_object_set (parse,"config-interval",1,NULL);



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
------------------------------
Gstreamer 1.16.2
------------------------------
Windows