Re: [Live-devel] Streaming G711 audio
It works! Thanks a lot! On Nov 15, 2024, at 2:53 AM, d.gorde...@ngslab.ru wrote: Hi, Now I have a streamer that streams video with AAC audio: audio_sink_ = MPEG4GenericRTPSink::createNew(*env_, audio_rtp_socket_.get(), payload, 16000, "audio", "AAC-hbr", "", 1); and it works well. I need also stream G711U or G711A audio. How to make it? Try the following: SimpleRTPSink::createNew(*env_, audio_rtp_socket_.get(), payload, 8000, “audio”, “PCMU”, 1); for G711U. (For G711A, replace “PCMU” with “PCMA”.) Ross Finlayson Live Networks, Inc. http://www.live555.com/ ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel
[Live-devel] Streaming G711 audio
Hi, Now I have a streamer that streams video with AAC audio: audio_sink_ = MPEG4GenericRTPSink::createNew(*env_, audio_rtp_socket_.get(), payload, 16000, "audio", "AAC-hbr", "", 1); and it works well. I need also stream G711U or G711A audio. How to make it? I see there are some classes derived from AudioRTPSink, but doubt which one should I use. ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel
Re: [Live-devel] Receiving slice-based frames
It works, thanks a lot! On Feb 22, 2025, at 1:10 AM, d.gorde...@ngslab.ru wrote: Hello I need to receive slice-based frames from a video server. These frames, as you know come by slices. The last slice (packet) comes with Mark=True in the RTP header. I have a class which receives the frames: class VideoSink final : public MediaSink {} It has afterGettingFrame() method which gets the frames and works well for usual frames. After getting frames I save them in archive and later send them to a receiver. So, when I send them, I need to set the Mark flag to say the receiver what is it - a intermediate slice or a last slice or a usual frame. But I don't know nothing about the Mark, because I receive only video payload. So, how to get this flag, or is there other method to know about which slice comes? In general, it's the job of the decoder to figure out how to render the incoming NAL units - which includes deciding when a received slice is the last slice in a video frame. However, as a hint, you can use the value of the RTP packet's 'M' (i.e., 'marker') bit, which is (supposed to be) set for the last RTP packet of an 'access unit' (i.e., video frame). I.e., you can call "RTPSource::curPacketMarkerBit()" to test this. Ross Finlayson Live Networks, Inc. http://www.live555.com/ ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel
[Live-devel] Receiving slice-based frames
Hello I need to receive slice-based frames from a video server. These frames, as you know come by slices. The last slice (packet) comes with Mark=True in the RTP header. I have a class which receives the frames: class VideoSink final : public MediaSink {} It has afterGettingFrame() method which gets the frames and works well for usual frames. After getting frames I save them in archive and later send them to a receiver. So, when I send them, I need to set the Mark flag to say the receiver what is it - a intermediate slice or a last slice or a usual frame. But I don't know nothing about the Mark, because I receive only video payload. So, how to get this flag, or is there other method to know about which slice comes? ___ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel