<div dir="ltr"><div>Hi all-</div><div>I'm wondering if anyone can give me pointers about how to go about manipulating the output PTS values in mpeg transport streams produced by the mpegtsmux element? I've got a source container with PTS values starting at nonzero values (think HLS segments), and I'd like to rescale and transcode the container, while preserving the timestamps of the source in the destination. <br></div><div><br></div><div>As a strawman example:</div><div><br></div><div>gst-launch-1.0 -q filesrc location=./15.src.ts \</div><div>! tsdemux ! h264parse ! avdec_h264 \</div><div>! videorate ! videoscale ! videoflip method=clockwise \<br></div><div>! video/x-raw,width=720,height=1280,framerate=30/1 \</div><div>! x264enc ! mpegtsmux ! \<br></div><div>queue ! filesink location=./15.trans.ts sync=false <br></div><div><br></div><div>When inspecting the source and dest files, we can see the PTS values reset to zero (or kinda zero - I'm not sure why it likes to start at 3.6 seconds, but you get the idea):</div><div><br></div><div>$ ffprobe -v -8 -hide_banner -show_entries frame=pkt_pts_time -of csv -i 26.src.ts | head -1 <br>frame,3753.511222</div><div>$ ffprobe -v -8 -hide_banner -show_entries frame=pkt_pts_time -of csv -i 26.trans.ts | head -1 <br>frame,3600.000000</div><div><br></div><div>Any tips or tricks would be most appreciated. Thank you!</div><br></div>