<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<br>
<br>
<div class="moz-cite-prefix">On 09.06.2025 16:13, Andrew
Randrianasulu wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CA+rFky6vRC6hFhfYbsd_dFiWyEP4X1av3rdkujHXUsa=SAT9og@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote gmail_quote_container">
<div dir="ltr" class="gmail_attr">пн, 9 июн. 2025 г., 00:39
Terje J. Hanssen <<a
href="mailto:terjejhanssen@gmail.com"
moz-do-not-send="true" class="moz-txt-link-freetext">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
<br>
<div>Den 08.06.2025 17:49, skrev Andrew Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">вс, 8 июн.
2025 г., 18:26 Terje J. Hanssen via Cin <<a
href="mailto:cin@lists.cinelerra-gg.org"
target="_blank" rel="noreferrer"
moz-do-not-send="true"
class="moz-txt-link-freetext">cin@lists.cinelerra-gg.org</a>>:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
<br>
<div>Den 06.06.2025 14:17, skrev Terje J.
Hanssen:<br>
</div>
<blockquote type="cite">While the newer
h.264 and hevc are known for best
compression, mpeg2 may have better quality
at video bitrate > 30Mbps <br>
<br>
This example capture a raw video stream
(optional tape playback) from the camera
sensor over HDMI out and transcode audio
to PCM into a high-end mpeg2hd422p.m2ts <br>
-input_format yuyv422 -video_size hd1080
possibly may be commented out, as the
encoder default uses the maximum
capability it get from the capture card
ms2130 and driver v4l2 <br>
<br>
mpeg2video is difficult to get quit
perfect with ffmpeg; muxing overhead:
6.206455% is the minimum I have achieved
as in this case. <br>
<br>
At this high bitrate, 39Mbps here, a
combination with segmented recording is
suggested and preferred to control the
file sizes (segments) and eventually
corrupted parts better. <br>
<br>
<br>
ffmpeg -hide_banner -f v4l2 -framerate 50
-i /dev/video0 -f alsa -ac 2 -i
hw:CARD=UHD,DEV=0 -c:v mpeg2video -refs 1
-bf 2 -b:v 35M -maxrate 35M -minrate 35M
-bufsize 38M -muxrate 38M -dc 10 -c:a
pcm_bluray -mpegts_m2ts_mode 1 -t 30 -f
mpegts mpeg2hd422p_35M.m2ts <br>
<br>
Input #0, video4linux2,v4l2, from
'/dev/video0': <br>
Duration: N/A, start: 79.422429,
bitrate: 1658880 kb/s <br>
Stream #0:0: Video: rawvideo (YUY2 /
0x32595559), yuyv422, 1920x1080, 1658880
kb/s, 50 fps, 50 tbr, 1000k tbn <br>
[aist#1:0/pcm_s16le @ 0x55e2664e95c0]
Guessed Channel Layout: stereo <br>
Input #1, alsa, from 'hw:CARD=UHD,DEV=0':
<br>
Duration: N/A, start: 1749208971.359170,
bitrate: 1536 kb/s <br>
Stream #1:0: Audio: pcm_s16le, 48000 Hz,
stereo, s16, 1536 kb/s <br>
Stream mapping: <br>
Stream #0:0 -> #0:0 (rawvideo
(native) -> mpeg2video (native)) <br>
Stream #1:0 -> #0:1 (pcm_s16le
(native) -> pcm_bluray (native)) <br>
Press [q] to stop, [?] for help <br>
[mpeg2video @ 0x55e2664d0500] Warning
vbv_delay will be set to 0xFFFF (=VBR) as
the specified vbv buffer is too large for
the given bitrate! <br>
<br>
Output #0, mpegts, to
'mpeg2hd422p_35M.m2ts': <br>
Metadata: <br>
encoder : Lavf61.7.100 <br>
Stream #0:0: Video: mpeg2video (4:2:2),
yuv422p(tv, progressive), 1920x1080,
q=2-31, 35000 kb/s, 50 fps, 90k tbn <br>
Metadata: <br>
encoder : Lavc61.19.101
mpeg2video <br>
Side data: <br>
cpb: bitrate max/min/avg:
35000000/35000000/35000000 buffer size:
38000000 vbv_delay: N/A <br>
Stream #0:1: Audio: pcm_bluray, 48000
Hz, stereo, s16, 128 kb/s <br>
Metadata: <br>
encoder : Lavc61.19.101
pcm_bluray <br>
[out#0/mpegts @ 0x55e2664e9740]
video:128445KiB audio:5648KiB
subtitle:0KiB other streams:0KiB global
headers:0KiB muxing overhead: 6.206455% <br>
<br>
frame= 1500 fps= 50 q=3.5 Lsize=
142416KiB time=00:00:29.98
bitrate=38915.0kbits/s speed=0.998x <br>
<br>
</blockquote>
<br>
I have been able to tune the ffmpeg
specifications further:<br>
<ul>
<li>'-profile:v 422p -level:v high' (for
mpeg-2 profile 422P@HL)</li>
<li>'--ch_layout stereo' (as a replacement
for '-ac 2' that caused 'Guessed
Channel Layout: stereo')</li>
</ul>
<br>
And also verified the camera HDMI out 'raw
video' and 'raw audio' (pcm) using just the
ffmpeg input parts:<br>
<br>
ffmpeg -hide_banner -f v4l2 -framerate 50 -i
/dev/video0 -f alsa -ch_layout stereo -i
hw:CARD=UHD,DEV=0<br>
<br>
Input #0, video4linux2,v4l2, from
'/dev/video0':<br>
Duration: N/A, start: 191.096360, bitrate:
1658880 kb/s<br>
Stream #0:0: Video: rawvideo (YUY2 /
0x32595559), yuyv422, 1920x1080, 1658880
kb/s, 50 fps, 50 tbr, 1000k tbn<br>
Input #1, alsa, from 'hw:CARD=UHD,DEV=0':<br>
Duration: N/A, start: 1749375770.007003,
bitrate: 1536 kb/s<br>
Stream #1:0: Audio: pcm_s16le, 48000 Hz,
stereo, s16, 1536 kb/s<br>
<br>
<br>
Attached here is a full ffmpeg debug log
file for verification (command below)<br>
<ul>
<li>mpeg2hd422p_35M.log.gz</li>
</ul>
<br>
ffmpeg -loglevel debug -f v4l2 -framerate 50
-i /dev/video0 -f alsa -ch_layout stereo -i
hw:CARD=UHD,DEV=0 -c:v mpeg2video -profile:v
422p -level:v high -refs 1 -bf 2 -b:v 35M
-maxrate 35M -minrate 35M -bufsize 38M
-muxrate 38M -dc 10 -c:a pcm_bluray
-mpegts_m2ts_mode 1 -t 30 -f mpegts
mpeg2hd422p_35M.m2ts >
mpeg2hd422p_35M.log 2>&1<br>
<br>
-----------<br>
<br>
Among CinGG's existing m2ts presets<br>
<br>
cd /Leap_root/usr/share/cin/ffmpeg/video<br>
<br>
ls -1 *m2ts<br>
<ul>
<li>avc422.m2ts</li>
<li>bluray_bff.m2ts</li>
<li>bluray_dv_ntsc.m2ts</li>
<li>bluray_dv_pal.m2ts</li>
<li>bluray_fakeinterlace.m2ts</li>
<li>bluray_lo.m2ts</li>
<li>bluray.m2ts</li>
<li>bluray_tff.m2ts</li>
<li>hevc422p10.m2ts</li>
<li>hevc422p8.m2ts</li>
<li>lossless.m2ts</li>
<li>visually_lossless.m2ts</li>
</ul>
<br>
grep mpeg2video *m2ts<br>
<ul>
<li>That is none so far for mpeg2video HD
and 422p</li>
</ul>
<br>
If this preset can be specified and
supplemented (?) for use with pcm_bluray and
segmented recording, I can test it next ;)<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">I think you can copy existing mpeg2
m2ts preset with different, desired name (in
same folder where other presets reside)</div>
<div dir="auto"><br>
</div>
<div dir="auto">and just add you parameters there?</div>
<div dir="auto"><br>
</div>
<div dir="auto">or try to put text below in new
profile ....</div>
<div dir="auto"><br>
</div>
<div dir="auto">mpegts mpeg2video</div>
<div dir="auto">cin_pix_fmt=yuv422p</div>
<div dir="auto">b=35M</div>
<div dir="auto">dc=10</div>
<div dir="auto">muxrate=38M</div>
<div dir="auto">minrate=35M</div>
<div dir="auto">maxrate=35M</div>
<div dir="auto">bufsize=38M</div>
<div dir="auto">bf=2</div>
<div dir="auto">profile=high</div>
<div dir="auto">refs=1</div>
</div>
</blockquote>
<br>
Yeah, thank you. Attach the new preset as suggested:<br>
<br>
cat mpeg2hd422p.m2ts<br>
<br>
mpegts mpeg2video<br>
cin_pix_fmt=yuv422p<br>
b=35M<br>
dc=10<br>
muxrate=38M<br>
minrate=35M<br>
maxrate=35M<br>
bufsize=38M<br>
bf=2<br>
profile=high<br>
refs=1<br>
<br>
Recorded a test clip mpeg2hd422p.m2ts Start/Stop as
below, using the new video preset mpeg2hd422p.m2ts and
existing audio preset bluray_lpcm.m2ts, and yes, they
seemingly work ok:<br>
<br>
cin<br>
Cinelerra Infinity - built: May 18 2025 05:16:5<br>
...........<br>
Shift-P preferences as previously<br>
r(ecord)<br>
<br>
DeviceV4L2Base::v4l2_open pixels="YUYV"; res="1920x1080
1600x1200 1360x768 1280x1024 1280x960 1280x720 1024x768
800x600 720x576 720x480 640x480"<br>
v4l2 s_fmt 1920x1080 YUYV<br>
DeviceV4L2Base::v4l2_open VIDIOC_S_STD: Inappropriate
ioctl for device<br>
audio0 pad 16 0 (16)<br>
----------<br>
<br>
ffprobe -hide_banner mpeg2hd422p.m2ts<br>
Input #0, mpegts, from 'mpeg2hd422p.m2ts':<br>
Duration: 00:01:14.84, start: 0.020000, bitrate: 39006
kb/s<br>
Program 1<br>
Stream #0:0[0x1011]: Video: mpeg2video (High)
([2][0][0][0] / 0x0002), yuv422p(tv,
bt709/unknown/unknown, progressive), 1920x1080 [SAR 1:1
DAR 16:9], 50 fps, 50 tbr, 90k tbn<br>
Side data:<br>
cpb: bitrate max/min/avg: 35000000/0/0 buffer
size: 38010880 vbv_delay: N/A<br>
Stream #0:1[0x1100](eng): Audio: pcm_bluray
([128][0][0][0] / 0x0080), 48000 Hz, stereo, s32 (24
bit), 2304 kb/s<br>
<br>
Playback ok with vlc and ffplay<br>
----------<br>
<br>
The next question;<br>
Is segmented recording ready to use here, possibly how?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">you just add/replace on top of previous preset
(do this for both audio and video parts of profile) with this</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div dir="auto">segment mpeg2video</div>
<div dir="auto">segment_format=mpegts</div>
<div dir="auto">segment_time=00:10 <= your segment time</div>
<div dir="auto">reset_timestamps=1</div>
</div>
<div dir="auto">[..] rest of options</div>
<div dir="auto"><br>
</div>
<div dir="auto">and then save as name.seg</div>
<div dir="auto"><br>
</div>
<div dir="auto">basically replace very first word with
"segment" </div>
<div dir="auto">add three lines explaining to libavformat what
kind of muxer/seg. time it must use, save with extension .seg</div>
<div dir="auto"><br>
</div>
<div dir="auto">repeat for audio profile.</div>
</div>
</blockquote>
<br>
Yes, thanks. Segmented recording works.<br>
Attach the completed presets used.<br>
<br>
<blockquote type="cite"
cite="mid:CA+rFky6vRC6hFhfYbsd_dFiWyEP4X1av3rdkujHXUsa=SAT9og@mail.gmail.com">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">For having "format" gui button working you need
patch I send earlier.</div>
</div>
</blockquote>
<br>
I'm not sure I understand what "format" gui button working mean
here?<br>
And is it possible to patch the rpm installation without having the
build system, possibly how to do it?<br>
<br>
<blockquote type="cite"
cite="mid:CA+rFky6vRC6hFhfYbsd_dFiWyEP4X1av3rdkujHXUsa=SAT9og@mail.gmail.com">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_quote gmail_quote_container">
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
<br>
<br>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>