On Tue, 25 Feb 2020 at 17:13, Simon Brown <[email protected]> wrote:
> I'm trying to convert an incoming transport stream to DASH without > re-encoding. > > I've done this using two separate ffmpeg commands and it works, but as > each instance of FFMpeg spends time locking onto the stream, finding the > first I-frame, etc the resulting latency is unacceptable. I thought I > could streamline this somewhat by writing it using the libav libraries that > come with FFmpeg. > > I've taken the demux_decode.c example and receive the stream. I don't > decode it, I just get a packet from the stream using: > > av_read_frame(fmt_ctx, &pkt) > > Once read, I try and write it to the stream using: > > ret = av_interleaved_write_frame(oc, &pkt); > > having setup oc as an output context for muxer "dash". > > avformat_alloc_output_context2(&oc, NULL, "dash", filename); > > However, I seem to have missed some vital steps, because the dash muxer > responds with: > Output #0, dash, to 'vid.mpd': > Stream #0:0: Unknown: none > > The muxing.c example is all about taking some generated frames and > encoding them before sending them out and that sets up a codec context > which is added to the dash muxer, but I don't want a codec context, because > I don't want to encode an already encoded stream. > > Any help would be greatly appreciated. > > Regards, > Simon > _______________________________________________ > Libav-user mailing list > [email protected] > https://ffmpeg.org/mailman/listinfo/libav-user > > To unsubscribe, visit link above, or email > [email protected] with subject "unsubscribe". See the "remuxing.c" example. Use avcodec_parameters_copy to copy the codecpar from the demuxer's AVStream to the muxer's one.
_______________________________________________ Libav-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/libav-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
