Reading a stream from gstreamer using ffmpeg
I'm trying to get stream from gstreamer by RTMP and push his by HLS Gstreamer use nanoseconds for timestamp but ffmpeg mileseconds
W [InboundWorker:34] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 4294967339, cur.pts: 8589934656, tb(1/1000), diff: 4294967ms W [Decaac:43] Transcoder | transcoder_filter.cpp:94 | Timestamp has changed abnormally. 4294967339 -> 8589934656 E [AW-DASH0:38] FFmpeg | third_parties.cpp:111 | [AVFormatContext: 0x7f8fdc01d9c0] Application provided duration: 206158431216 is invalid E [AW-DASH0:38] Writer | writer.cpp:722 | [0x7f8ff400a4b8] Could not write the frame: Invalid argument Help me please!
But when I use OME as a media server, I get the logs specified above, they are output separately Here's what I see when starting OME
RTMP input is weird like this:
Audio samplerate is 1kHz (usually 44.1kHz or 48kHz is the most common) PTS is always increasing by 4294967, RTMP timebase is 1/1000 and 30fps, so it is normal to increase by about 33. This is not a value expressed in nanoseconds
It is assumed that the encoder is handling the timestamp of the RTMP protocol out of specification. Youtube or other streaming servers may have code to correct this, but OvenMediaEngine does not have a code to correct out-of-standard timestamps.
How use MSECONDS instead of NSECONDS??