
Recherche avancée
Autres articles (13)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...)
Sur d’autres sites (3657)
-
How to fix laggy ffmpeg screen and audio capture ?
26 juillet 2022, par Wh0r00tI am using
ffmpeg
to capture the screen along with audio.

The
ffmpeg
command that i tried is

ffmpeg -y \
 -f x11grab \
 -framerate 60 \
 -s 1366x768 \
 -i :0.0 \
 -f alsa -i default -ac 2 \
 -r 30 \
 -c:v h264 -crf 0 -preset ultrafast -c:a vorbis -strict experimental \
 "$HOME/Videos/$fname-$(date '+%y%m%d-%H%M-%S').mkv"



The stdout of the
ffmpeg
https://pastebin.com/Qmi5TMKv

ffmpeg version n5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 12.1.0 (GCC)
 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3
 libavutil 57. 17.100 / 57. 17.100
 libavcodec 59. 18.100 / 59. 18.100
 libavformat 59. 16.100 / 59. 16.100
 libavdevice 59. 4.100 / 59. 4.100
 libavfilter 8. 24.100 / 8. 24.100
 libswscale 6. 4.100 / 6. 4.100
 libswresample 4. 3.100 / 4. 3.100
 libpostproc 56. 3.100 / 56. 3.100
[x11grab @ 0x561faf77eb00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0.0':
 Duration: N/A, start: 1658814267.169414, bitrate: 2014248 kb/s
 Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1366x768, 2014248 kb/s, 60 fps, 1000k tbr, 1000k tbn
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, alsa, from 'default':
 Duration: N/A, start: 1658814267.230653, bitrate: 1536 kb/s
 Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
 Stream #1:0 -> #0:1 (pcm_s16le (native) -> vorbis (native))
Press [q] to stop, [?] for help
[libx264 @ 0x561faf7d4300] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA3 BMI1
[libx264 @ 0x561faf7d4300] profile High 4:4:4 Predictive, level 3.2, 4:4:4, 8-bit
[libx264 @ 0x561faf7d4300] 264 - core 164 r3081 19856cc - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=cqp mbtree=0 qp=0
[alsa @ 0x561faf78a940] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
Output #0, matroska, to '/home/earth/Videos/-220726-1114-27.mkv':
 Metadata:
 encoder : Lavf59.16.100
 Stream #0:0: Video: h264 (H264 / 0x34363248), yuv444p(tv, progressive), 1366x768, q=2-31, 30 fps, 1k tbn
 Metadata:
 encoder : Lavc59.18.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: vorbis (oV[0][0] / 0x566F), 48000 Hz, stereo, fltp
 Metadata:
 encoder : Lavc59.18.100 vorbis
[vorbis @ 0x561faf7d5500] Queue input is backward in time0 bitrate=N/A speed= 0x
frame= 153 fps= 31 q=-1.0 Lsize= 2295kB time=00:00:05.06 bitrate=3709.5kbits/s dup=0 drop=150 speed=1.01x
video:2282kB audio:7kB subtitle:0kB other streams:0kB global headers:3kB muxing overhead: 0.281689%
[libx264 @ 0x561faf7d4300] frame I:1 Avg QP: 0.00 size:381729
[libx264 @ 0x561faf7d4300] frame P:152 Avg QP: 0.00 size: 12857
[libx264 @ 0x561faf7d4300] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x561faf7d4300] mb P I16..4: 56.3% 0.0% 0.0% P16..4: 0.1% 0.0% 0.0% 0.0% 0.0% skip:43.6%
[libx264 @ 0x561faf7d4300] coded y,u,v intra: 1.6% 1.6% 1.6% inter: 0.2% 0.2% 0.2%
[libx264 @ 0x561faf7d4300] i16 v,h,dc,p: 99% 1% 0% 0%
[libx264 @ 0x561faf7d4300] kb/s:3664.27
Exiting normally, received signal 15.



I am using the preset ultrafast because I read that it helps not to compress the video too much.
The output of the recorded test file using ffmpeg is as below.


(+) Video --vid=1 (h264 1366x768 30.000fps)
 (+) Audio --aid=1 (vorbis 2ch 48000Hz)
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1366x768 yuv444p
AV: 00:00:03 / 00:00:19 (17%) A-V: 0.000
[mkv] Discarding potentially broken or useless index.
AV: 00:00:14 / 00:00:19 (73%) A-V: 0.000

Exiting... (Quit)



The recording works but there is a audio lag. If I record the same using
simplescreenrecorder
with the same settings like,

audio backend - alsa


source - default


audio codec - vorbis


video codec - h.264


container - matroska


preset - superfast


The
simplescreenrecorder
log https://pastebin.com/83hMMRQF

[PageRecord::StartPage] Starting page ...
[PageRecord::StartPage] Started page.
[PageRecord::StartOutput] Starting output ...
[PageRecord::StartOutput] Output file: /home/earth/Videos/simplescreenrecorder-2022-07-26_11.18.13.mkv
[Muxer::Init] Using format matroska (Matroska).
[Muxer::AddStream] Using codec libx264 (libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10).
[VideoEncoder::PrepareStream] Using pixel format nv12.
[libx264 @ 0x563436cbfd40] using SAR=1/1
[libx264 @ 0x563436cbfd40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA3 BMI1
[libx264 @ 0x563436cbfd40] profile High, level 3.2, 4:2:0, 8-bit
[libx264 @ 0x563436cbfd40] 264 - core 164 r3081 19856cc - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 pb_ratio=1.30 aq=1:1.00
[Muxer::AddStream] Using codec libvorbis (libvorbis).
[BaseEncoder::EncoderThread] Encoder thread started.
[AudioEncoder::PrepareStream] Using sample format f32p.
[BaseEncoder::EncoderThread] Encoder thread started.
[Muxer::MuxerThread] Muxer thread started.
[PageRecord::StartOutput] Started output.
[Synchronizer::SynchronizerThread] Synchronizer thread started.
[PageRecord::StartInput] Starting input ...
[X11Input::Init] Using X11 shared memory.
[X11Input::Init] Detecting screen configuration ...
[X11Input::Init] Screen 0: x1 = 0, y1 = 0, x2 = 1366, y2 = 768
[X11Input::InputThread] Input thread started.
[ALSAInput::InputThread] Using sample format s16.
[PageRecord::StartInput] Started input.
[ALSAInput::InputThread] Input thread started.
[FastResampler::Resample] Resample ratio is 1.0000 (was 0.0000).
[PageRecord::StopOutput] Stopping output ...
[PageRecord::StopOutput] Stopped output.
[PageRecord::StopInput] Stopping input ...
[X11Input::~X11Input] Stopping input thread ...
[X11Input::InputThread] Input thread stopped.
[ALSAInput::~ALSAInput] Stopping input thread ...
[ALSAInput::InputThread] Input thread stopped.
[PageRecord::StopInput] Stopped input.



It works perfectly without any lag whatsoever. The output of the recorded test file using simplescreenrecorder is as below.


(+) Video --vid=1 (h264 1366x768)
 (+) Audio --aid=1 (vorbis 2ch 48000Hz)
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1366x768 yuv420p
AV: 00:00:01 / 00:00:17 (7%) A-V: 0.000
[mkv] Discarding potentially broken or useless index.
AV: 00:00:08 / 00:00:17 (47%) A-V: 0.000

Exiting... (Quit)



The only difference that I saw between these two recordings is
VO: [gpu] 1366x768 yuv444p

VO: [gpu] 1366x768 yuv420p
for ffmpeg and simplescreenrecorder receptively.
I do not know if this matters but is there something that I could tweak to makeffmpeg
to capture the screen and audio without any lag.
Like answered here https://unix.stackexchange.com/questions/675436/ffmpeg-recording-slows-down-when-audio-inputs-are-added
I do open pavucontrol but its not much of a help.

The reason that I going with
ffmpeg
is because I can kill the process usingpid
at a particular time using cronjobs.
These are my system information, in case if it helps

System:
 Host: taco Kernel: 5.18.12-arch1-1 arch: x86_64 bits: 64 Desktop: dwm
 v: 6.2 Distro: Arch Linux
Machine:
 Type: Desktop Mobo: Acer model: A75F2-M v: P21-A1 serial: N/A BIOS: Acer
 v: P21-A1 date: 02/07/2014
CPU:
 Info: quad core model: AMD A8-5500B APU with Radeon HD Graphics bits: 64
 type: MT MCP cache: L2: 4 MiB
 Speed (MHz): avg: 1400 min/max: 1400/3200 cores: 1: 1400 2: 1400 3: 1400
 4: 1400
Graphics:
 Device-1: AMD Trinity [Radeon HD 7560D] driver: radeon v: kernel
 Display: server: X.Org v: 21.1.4 driver: X: loaded: modesetting
 gpu: radeon resolution: 1366x768~60Hz
 OpenGL: renderer: AMD ARUBA (DRM 2.50.0 / 5.18.12-arch1-1 LLVM 14.0.6)
 v: 4.3 Mesa 22.1.3
Audio:
 Device-1: AMD FCH Azalia driver: snd_hda_intel
 Sound Server-1: ALSA v: k5.18.12-arch1-1 running: yes
 Sound Server-2: PulseAudio v: 16.1 running: yes
 Sound Server-3: PipeWire v: 0.3.56 running: yes



Any help is much appreciated.


-
Can't convert .ts files that downloaded from .m3u8 file to mp4
23 juin 2023, par smartnimaI Have This Files :


001.ts 014.ts 027.ts 040.ts 053.ts 066.ts 079.ts 092.ts 105.ts 118.ts 131.ts 144.ts 157.ts 170.ts 183.ts 196.ts 209.ts 222.ts 235.ts 248.ts 261.ts 274.ts 287.ts 300.ts 313.ts 326.ts
002.ts 015.ts 028.ts 041.ts 054.ts 067.ts 080.ts 093.ts 106.ts 119.ts 132.ts 145.ts 158.ts 171.ts 184.ts 197.ts 210.ts 223.ts 236.ts 249.ts 262.ts 275.ts 288.ts 301.ts 314.ts 327.ts
003.ts 016.ts 029.ts 042.ts 055.ts 068.ts 081.ts 094.ts 107.ts 120.ts 133.ts 146.ts 159.ts 172.ts 185.ts 198.ts 211.ts 224.ts 237.ts 250.ts 263.ts 276.ts 289.ts 302.ts 315.ts 328.ts
004.ts 017.ts 030.ts 043.ts 056.ts 069.ts 082.ts 095.ts 108.ts 121.ts 134.ts 147.ts 160.ts 173.ts 186.ts 199.ts 212.ts 225.ts 238.ts 251.ts 264.ts 277.ts 290.ts 303.ts 316.ts 329.ts
005.ts 018.ts 031.ts 044.ts 057.ts 070.ts 083.ts 096.ts 109.ts 122.ts 135.ts 148.ts 161.ts 174.ts 187.ts 200.ts 213.ts 226.ts 239.ts 252.ts 265.ts 278.ts 291.ts 304.ts 317.ts 330.ts
006.ts 019.ts 032.ts 045.ts 058.ts 071.ts 084.ts 097.ts 110.ts 123.ts 136.ts 149.ts 162.ts 175.ts 188.ts 201.ts 214.ts 227.ts 240.ts 253.ts 266.ts 279.ts 292.ts 305.ts 318.ts 331.ts
007.ts 020.ts 033.ts 046.ts 059.ts 072.ts 085.ts 098.ts 111.ts 124.ts 137.ts 150.ts 163.ts 176.ts 189.ts 202.ts 215.ts 228.ts 241.ts 254.ts 267.ts 280.ts 293.ts 306.ts 319.ts 332.ts
008.ts 021.ts 034.ts 047.ts 060.ts 073.ts 086.ts 099.ts 112.ts 125.ts 138.ts 151.ts 164.ts 177.ts 190.ts 203.ts 216.ts 229.ts 242.ts 255.ts 268.ts 281.ts 294.ts 307.ts 320.ts 333.ts
009.ts 022.ts 035.ts 048.ts 061.ts 074.ts 087.ts 100.ts 113.ts 126.ts 139.ts 152.ts 165.ts 178.ts 191.ts 204.ts 217.ts 230.ts 243.ts 256.ts 269.ts 282.ts 295.ts 308.ts 321.ts 334.ts
010.ts 023.ts 036.ts 049.ts 062.ts 075.ts 088.ts 101.ts 114.ts 127.ts 140.ts 153.ts 166.ts 179.ts 192.ts 205.ts 218.ts 231.ts 244.ts 257.ts 270.ts 283.ts 296.ts 309.ts 322.ts
011.ts 024.ts 037.ts 050.ts 063.ts 076.ts 089.ts 102.ts 115.ts 128.ts 141.ts 154.ts 167.ts 180.ts 193.ts 206.ts 219.ts 232.ts 245.ts 258.ts 271.ts 284.ts 297.ts 310.ts 323.ts
012.ts 025.ts 038.ts 051.ts 064.ts 077.ts 090.ts 103.ts 116.ts 129.ts 142.ts 155.ts 168.ts 181.ts 194.ts 207.ts 220.ts 233.ts 246.ts 259.ts 272.ts 285.ts 298.ts 311.ts 324.ts
013.ts 026.ts 039.ts 052.ts 065.ts 078.ts 091.ts 104.ts 117.ts 130.ts 143.ts 156.ts 169.ts 182.ts 195.ts 208.ts 221.ts 234.ts 247.ts 260.ts 273.ts 286.ts 299.ts 312.ts 325.ts



That I Downloaded With This Python Program (m3u8 File Does Not Work !) :


import requests
import shutil
import os
import subprocess


def strip_end(text, suffix):
 if not text.endswith(suffix):
 return text
 return text[:len(text)-len(suffix)]


def download_file(url):
 cwd = os.getcwd()
 command = f"wget -O {cwd}/ts_files/{url.split('/')[-1]} {url}"
 subprocess.call(command, shell=True)


base_url = "https://stream.example.com/video/2021/example/720p_{}.ts"

if not os.path.exists('ts_files'):
 print('ts_file folder is not found, creating the folder.')
 os.makedirs('ts_files')

i = 1
while True:
 if len(str(i)) == 1:
 num = f"00{i}"
 elif len(str(i)) == 2:
 num = f"0{i}"
 else:
 num = str(i)
 url = base_url.replace("{}", num)
 r = requests.get(url, stream=True)
 print(f'downloading {i}')
 if r.status_code != 404:
 download_file(url) # comment out this line to download ts files.
 else:
 print("404")
 break
 i = i+1

cwd = os.getcwd() # Get the current working directory (cwd)
TS_DIR = 'ts_files'
with open('merged.ts', 'wb') as merged:
 for ts_file in os.listdir(f'{cwd}/{TS_DIR}'):
 with open(f'{cwd}/{TS_DIR}/{ts_file}', 'rb') as mergefile:
 shutil.copyfileobj(mergefile, merged)




My Problem Is When I Want To Convert All This Files To One .ts File And Then An MP4 File With ffmpeg, I Get An Error :


nima@funlife:~/ts_files$ cat ./*.ts > all.ts
nima@funlife:~/ts_files$ ffmpeg -i all.ts -acodec copy -vcodec copy all.mp4
ffmpeg version 5.0.1-3+b1 Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 11 (Debian 11.3.0-4)
 configuration: --prefix=/usr --extra-version=3+b1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libplacebo --enable-libx264 --enable-shared
 libavutil 57. 17.100 / 57. 17.100
 libavcodec 59. 18.100 / 59. 18.100
 libavformat 59. 16.100 / 59. 16.100
 libavdevice 59. 4.100 / 59. 4.100
 libavfilter 8. 24.100 / 8. 24.100
 libswscale 6. 4.100 / 6. 4.100
 libswresample 4. 3.100 / 4. 3.100
 libpostproc 56. 3.100 / 56. 3.100
all.ts: Invalid data found when processing input



.ts Files Content Is Like This :


}��,.g���}��
 �����c����Ww�c���c���eo��m�����ŧ� 䱉
�b(+��D�FG�zPe��7�&#bz�1ɶ��� C
�`,��>Ϲc4J��̀��T�I}�"��ކ�R�1��w͋� "� <�#B`ƪ�̸�co
 �9���+��W�
P���N���w��T\5g��
\�E�N�E�v��͑4f��U�@]�ΩX�U�x�E��bwm=ְ�iA�����p���M�����\=�_�I3C�hL�h����0)�ο��*��`���eZ� �ؗ4To�0V��S,�+�>�8_]�W�lNJD�|7e�2s�1X)̃5�0h�������~8ߩg���?e��EK�>۷�L
 ��:6|������>\ �N�WW��,�w
bk��1?*��/��/�5��k����~�� Lޕ}�a���2�{��l��$�d=����g�{a2��L�����
 jҫַ��ʿ�"1`ZZ.he)�=�x��E_4:Vg�����H=���x1�����}��W::y�



Are They Encrypted Or Something ?
I'm Trying To Do This Works With Debian 11.3.0-4, Python 3.10.5


Edit : Thanks Johnny, I Saw This Post : How to concatenate two MP4 files using FFmpeg ?
I Tried But I Get An Error Again !


nima@funlife:~/ts_files$ ffmpeg -f concat -i file.txt -c copy output.ts
ffmpeg version 5.0.1-3+b1 Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 11 (Debian 11.3.0-4)
 configuration: --prefix=/usr --extra-version=3+b1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libplacebo --enable-libx264 --enable-shared
 libavutil 57. 17.100 / 57. 17.100
 libavcodec 59. 18.100 / 59. 18.100
 libavformat 59. 16.100 / 59. 16.100
 libavdevice 59. 4.100 / 59. 4.100
 libavfilter 8. 24.100 / 8. 24.100
 libswscale 6. 4.100 / 6. 4.100
 libswresample 4. 3.100 / 4. 3.100
 libpostproc 56. 3.100 / 56. 3.100
[concat @ 0x55932dbf2500] Impossible to open '001.ts'
file.txt: Invalid data found when processing input



Same Error With ffmpeg -f concat -safe 0 -i file.txt -c copy output.ts


file.txt is The List Of Files !


-
Dash output with ffmpeg not producing durations specified with -seg_duration
30 juillet 2022, par CodieThere is a .mp4 file of 35 MB and 51 seconds. I have to create 51 chunks, each corresponding to 1 second with a size of less than 1MB (the total size should be almost the same as the original file). Please note that I have to implement lossless converting.


I've tried many times, but it just produces about 10 files above 10 MB.



Command :


ffmpeg -re -i input.mp4 -map 0:v -c:v libx264 -crf 0 -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 -b_strategy 0 -use_template 1 -seg_duration 1 -window_size 60 -adaptation_sets "id=0,streams=v id=1,streams=a" -f dash ./dashTest/out.mpd




Command line log :


ffmpeg version 5.1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 57. 28.100 / 57. 28.100
 libavcodec 59. 37.100 / 59. 37.100
 libavformat 59. 27.100 / 59. 27.100
 libavdevice 59. 7.100 / 59. 7.100
 libavfilter 8. 44.100 / 8. 44.100
 libswscale 6. 7.100 / 6. 7.100
 libswresample 4. 7.100 / 4. 7.100
 libpostproc 56. 6.100 / 56. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 creation_time : 2022-07-27T09:13:31.000000Z
 Duration: 00:00:50.03, start: 0.000000, bitrate: 5716 kb/s
 Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 5396 kb/s, 25 fps, 25 tbr, 25k tbn (default)
 Metadata:
 creation_time : 2022-07-27T09:13:31.000000Z
 handler_name : ?Mainconcept Video Media Handler
 vendor_id : [0][0][0][0]
 encoder : AVC Coding
 Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
 Metadata:
 creation_time : 2022-07-27T09:13:31.000000Z
 handler_name : #Mainconcept MP4 Sound Media Handler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 000001d13acb0380] using SAR=1/1
[libx264 @ 000001d13acb0380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 000001d13acb0380] profile High 4:4:4 Predictive, level 3.1, 4:2:0, 8-bit
[libx264 @ 000001d13acb0380] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=120 keyint_min=61 scenecut=0 intra_refresh=0 rc=cqp mbtree=0 qp=0
[dash @ 000001d13a2a4680] No bit rate set for stream 0
[dash @ 000001d13a2a4680] Opening './dashTest/init-stream0.m4s' for writing
Output #0, dash, to './dashTest/out.mpd':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 encoder : Lavf59.27.100
 Stream #0:0(eng): Video: h264, yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 12800 tbn (default)
 Metadata:
 creation_time : 2022-07-27T09:13:31.000000Z
 handler_name : ?Mainconcept Video Media Handler
 vendor_id : [0][0][0][0]
 encoder : Lavc59.37.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00001.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.849x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00002.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.918x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00003.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.942x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00004.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.957x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00005.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.964x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00006.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.971x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00007.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.975x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00008.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.978x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00009.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.981x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00010.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.982x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00011.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.983x
frame= 1250 fps= 25 q=-1.0 Lsize=N/A time=00:00:49.96 bitrate=N/A speed=0.992x
video:171641kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 000001d13acb0380] frame I:11 Avg QP: 0.00 size:255122
[libx264 @ 000001d13acb0380] frame P:1239 Avg QP: 0.00 size:139591
[libx264 @ 000001d13acb0380] mb I I16..4: 52.8% 8.8% 38.4%
[libx264 @ 000001d13acb0380] mb P I16..4: 3.9% 0.7% 1.3% P16..4: 28.0% 13.9% 11.3% 0.0% 0.0% skip:40.8%
[libx264 @ 000001d13acb0380] 8x8 transform intra:11.9% inter:33.4%
[libx264 @ 000001d13acb0380] coded y,uvDC,uvAC intra: 68.6% 80.1% 78.9% inter: 38.0% 47.1% 46.5%
[libx264 @ 000001d13acb0380] i16 v,h,dc,p: 65% 28% 5% 2%
[libx264 @ 000001d13acb0380] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 33% 28% 2% 1% 1% 1% 1% 1%
[libx264 @ 000001d13acb0380] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 36% 7% 3% 5% 3% 4% 3% 2%
[libx264 @ 000001d13acb0380] i8c dc,h,v,p: 17% 38% 44% 1%
[libx264 @ 000001d13acb0380] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000001d13acb0380] ref P L0: 86.4% 7.6% 4.6% 1.4%
[libx264 @ 000001d13acb0380] kb/s:28121.58




.mpd file :


<?xml version="1.0" encoding="utf-8"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT50.0S" maxsegmentduration="PT1.0S" minbuffertime="PT9.6S">
 <programinformation>
 </programinformation>
 <servicedescription>
 </servicedescription>
 <period start="PT0.0S">
 <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="25/1" maxwidth="1280" maxheight="720" par="16:9" lang="eng">
 <representation mimetype="video/mp4" codecs="avc1.f4001f" bandwidth="28122926" width="1280" height="720" sar="1:1">
 <segmenttemplate timescale="12800" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
 <segmenttimeline>
 <s t="0" d="61440" r="9"></s>
 <s d="25600"></s>
 </segmenttimeline>
 </segmenttemplate>
 </representation>
 </adaptationset>
 <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true">
 </adaptationset>
 </period>
</mpd>




Please, if you want to put a negative point, mention your reason in the comments !