чт, 25 бер. 2021 о 18:12 Carl Zwanzig <c...@tuunq.com> пише:
> IRC isn't email, of course :); PB may be ok for sharing the text on IRC.
> Please take a look at the mailing list FAQ-
> https://ffmpeg.org/mailing-list-faq.html
>
> (which also tells us not to top-post)
>
> Later,
>
> z!


So I've come back to this task after some time. I've switched to
using Alpine with building ffmpeg from the latest snapshot.

I want to achieve such a workflow:
1) Have 24 * 60 * 2 chunks for each day in high and low quality.
Each chunk corresponds to 30-seconds period. Video should be black
if there was no input stream.
2) Afterwards I want to be able to cut/concatenate any part from all
this chunks as mp4.

Currently I'm using this command to save video every 30 seconds
(except first chunk), transcode it, save on disk and also restream
to another server:

ffmpeg -i rtmp://localhost/live/test -vsync passthrough -c:v libx264
-preset fast -crf 23 -b:v 6000k -minrate 6000k -maxrate 6000k
-vf "scale=1920:1080" -r 25 -g 25 -keyint_min 25 -sc_threshold 0
-codec:a aac -af "aresample=48000:async=1000" -ac 2 -b:a 128k
-reset_timestamps 1 -f tee -map 0
"[f=stream_segment:segment_atclocktime=1:segment_time=30:strftime=1]
/var/rec/%s.ts|[f=flv]rtmp://localhost/transcoded/test";

Having gop 25 has helped with segment sizes. Keyframe is inserted
every second and ffmpeg doesn't have any problems cutting segments.
The problem happens with concatenating parts. I'vetried to cut first
part, cut last part and then use ffconcat to glue everything together
without having to reencode. I'm using the same parameters to be able
to use "-c copy" afterwards. Example:
ffmpeg -y -i 000000.ts -ss 01.10 -codec:v libx264 -preset fast
-crf 23 -b:v 6000k -minrate 6000k -maxrate 6000k -codec:a aac
-f mpegts tempchunkstart.ts

ffmpeg -y -i 000100.ts -codec:v libx264 -preset fast
-crf 23 -b:v 6000k -minrate 6000k -maxrate 6000k -codec:a aac
-to 05.00 -f mpegts tempchunkend.ts

Then I'm preparing input for ffconcat like
file 'tempchunk.ts'
file '000030.ts'
file 'tempchunkend.ts'

ffmpeg -y -f concat -safe 0 -i concat_list.txt -c copy output.ts

Afterwards I'm converting .ts to .mp4

ffmpeg -i output.ts -map 0 -c copy output.mp4

The problem happens with the last audio frame between chunks. I'm
feeling that I'm doing something completely wrong. Should I somehow
tell ffmpeg explicitly to use timestamps from original .ts files?

Thanks for pointing me in the right direction,
Marian Klymov
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to