Reputation: 150
I have three video. Second video has audio. Others videos has no audio. I'll was run code but video silent totaly
I want to combine them. Ignore the number of videos. Sometimes this number can be very large.
I might try another video extension. I'd be glad if you could help a little with this.
os.system("ffmpeg -f concat -i {f_list} -c copy a.mp4 -y".format(f_list=r"liste.txt"))
ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.3.1 (GCC) 20200523
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000025914e24540] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from 'C:\Users\User\PycharmProjects\YoutubeCCPanel\helper/../static/videos/V758npfi-w4/liste.txt':
Duration: N/A, start: 0.000000, bitrate: 10155 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 10155 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
Metadata:
handler_name : VideoHandler
Output #0, mp4, to 'a.mp4':
Metadata:
encoder : Lavf58.29.100
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, q=2-31, 10155 kb/s, 30 fps, 30 tbr, 15360 tbn, 15360 tbc
Metadata:
handler_name : VideoHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000025914e24540] Auto-inserting h264_mp4toannexb bitstream filter
[concat @ 0000025914e1a600] New audio stream 0:1 at pos:170778 and DTS:26.4438s
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000025914e2c480] Auto-inserting h264_mp4toannexb bitstream filter
Last message repeated 2 times
[concat @ 0000025914e1a600] DTS 1054188 < 1065501 out of order
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065501, current: 1054188; changing to 1065502. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065502, current: 1054700; changing to 1065503. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065503, current: 1055212; changing to 1065504. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065504, current: 1055724; changing to 1065505. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065505, current: 1056236; changing to 1065506. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065506, current: 1056748; changing to 1065507. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065507, current: 1057260; changing to 1065508. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065508, current: 1057772; changing to 1065509. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065509, current: 1058284; changing to 1065510. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065510, current: 1058796; changing to 1065511. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065511, current: 1059308; changing to 1065512. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065512, current: 1059820; changing to 1065513. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065513, current: 1060332; changing to 1065514. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065514, current: 1060844; changing to 1065515. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065515, current: 1061356; changing to 1065516. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065516, current: 1061868; changing to 1065517. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065517, current: 1062380; changing to 1065518. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065518, current: 1062892; changing to 1065519. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065519, current: 1063404; changing to 1065520. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065520, current: 1063916; changing to 1065521. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065521, current: 1064428; changing to 1065522. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065522, current: 1064940; changing to 1065523. This may result in incorrect timestamps in the output file.
[mp4 @ 0000025914eedbc0] Non-monotonous DTS in output stream 0:0; previous: 1065523, current: 1065452; changing to 1065524. This may result in incorrect timestamps in the output file.
frame= 2422 fps=0.0 q=-1.0 Lsize= 94874kB time=00:01:35.06 bitrate=8175.5kbits/s speed= 386x
video:94862kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.012716%
Process finished with exit code 0
My file liste.txt
file part0.mp4
file video_with_audio.mp4
file part1.mp4
video_with_audio create with
ffmpeg_merge_video_audio("temp.mp4",
"temp.m4a',
"video_with_audio.mp4",
vcodec='libx264',
acodec='aac')
Note : if I changed liste.txt like that bottom. video has audio
file video_with_audio.mp4
file part0.mp4
file part1.mp4
Upvotes: 0
Views: 865
Reputation: 150
if video has not sound add sound this is my solution
videos_all= []
videos_all.append(r"C:\.../no-sound.mp4 -f lavfi -t 0.1 -i anullsrc ")
videos_all.append(r"C:\.../withaudio.mp4")
videos_all.append(r"C:\.../no-sound-1.mp4 -f lavfi -t 0.1 -i anullsrc ")
os.system("ffmpeg -y -i {videos} \
-filter_complex \"concat=n={video_len}:v=1:a=1 [v] [a]\" \
-map \"[v]\" -map \"[a]\" {save}".format(video_len=len(videos_all),videos=" -i ".join(videos_all),save="output.mp4"))
Upvotes: 1