FFmpeg'i yeni öğrendim ve MP4 dosyalarının her birini son 20 saniyeye kesmek için ihtiyacım var. Her MP4 dosyası bir video parçasına ve iki ses parçasına sahiptir .
Bu kod satırını kullanıyorum:
for %F in (*.mp4) do ffmpeg -sseof -20 -i "%F" -map 0:v -map 0:a -c:v copy -c:a copy "%~nF_trimmed.mp4"
Düzeltme iyi gidiyor ancak sesle ilgili bir sorun var. Bu hata, kırpma işlemini iptal etmeden görüntülenir:
[mp4 @ 0000025740443740] track 1: codec frame size is not set
[mp4 @ 0000025740443740] track 2: codec frame size is not set
Kırpılan dosyaları bir video düzenleme yazılımına bıraktığımda şu görülebilir: https://i.imgur.com/OrhK2gV.png
İkinci ses parçası video izinden daha uzun.
Kodlamaya aşina olmadığımı ve sadece video düzenleme amacıyla buna ihtiyacım olduğunu unutmayın. Bir yol bulmaya çalıştım ama şansım olmadı. Herhangi bir fikir?
Kullanıyorsa, konsol tam işlem İşte:
D:\User Libraries\Desktop\Test>for %F in (*.mp4) do ffmpeg -sseof -20 -i "%F" -map 0:v -map 0:a -c:v copy -c:a copy "%~nF_trimmed.mp4"
D:\User Libraries\Desktop\Test>ffmpeg -sseof -20 -i "Test1.mp4" -map 0:v -map 0:a -c:v copy -c:a copy "Test1_trimmed.mp4"
ffmpeg version N-91024-g293a6e8332 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --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
libavutil 56. 18.100 / 56. 18.100
libavcodec 58. 19.101 / 58. 19.101
libavformat 58. 13.102 / 58. 13.102
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 21.100 / 7. 21.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Test1.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2018-05-05T06:59:14.000000Z
date : 2018
Duration: 00:02:57.53, start: 0.000000, bitrate: 48706 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt470m), 1920x1080 [SAR 1:1 DAR 16:9], 48332 kb/s, 59.83 fps, 59.94 tbr, 90k tbn, 120 tbc (default)
Metadata:
creation_time : 2018-05-05T06:59:14.000000Z
handler_name : VideoHandle
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 171 kb/s (default)
Metadata:
creation_time : 2018-05-05T06:59:14.000000Z
handler_name : SoundHandle
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 195 kb/s (default)
Metadata:
creation_time : 2018-05-05T06:59:14.000000Z
handler_name : SoundHandle
Output #0, mp4, to 'Test1_trimmed.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
date : 2018
encoder : Lavf58.13.102
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt470m), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 48332 kb/s, 59.83 fps, 59.94 tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2018-05-05T06:59:14.000000Z
handler_name : VideoHandle
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 171 kb/s (default)
Metadata:
creation_time : 2018-05-05T06:59:14.000000Z
handler_name : SoundHandle
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 195 kb/s (default)
Metadata:
creation_time : 2018-05-05T06:59:14.000000Z
handler_name : SoundHandle
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
frame= 1211 fps=833 q=-1.0 Lsize= 124193kB time=00:00:19.98 bitrate=50911.9kbits/s speed=13.8x
video:123268kB audio:887kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.030864%
D:\User Libraries\Desktop\Test>ffmpeg -sseof -20 -i "Test2.mp4" -map 0:v -map 0:a -c:v copy -c:a copy "Test2_trimmed.mp4"
ffmpeg version N-91024-g293a6e8332 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --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
libavutil 56. 18.100 / 56. 18.100
libavcodec 58. 19.101 / 58. 19.101
libavformat 58. 13.102 / 58. 13.102
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 21.100 / 7. 21.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Test2.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2018-05-05T07:02:30.000000Z
date : 2018
Duration: 00:02:36.73, start: 0.000000, bitrate: 49260 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt470m), 1920x1080 [SAR 1:1 DAR 16:9], 48916 kb/s, 58.73 fps, 59.94 tbr, 90k tbn, 120 tbc (default)
Metadata:
creation_time : 2018-05-05T07:02:30.000000Z
handler_name : VideoHandle
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 139 kb/s (default)
Metadata:
creation_time : 2018-05-05T07:02:30.000000Z
handler_name : SoundHandle
Stream #0:2(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 195 kb/s (default)
Metadata:
creation_time : 2018-05-05T07:02:30.000000Z
handler_name : SoundHandle
[mp4 @ 000001cf28f53740] track 1: codec frame size is not set
[mp4 @ 000001cf28f53740] track 2: codec frame size is not set
Output #0, mp4, to 'Test2_trimmed.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
date : 2018
encoder : Lavf58.13.102
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt470m), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 48916 kb/s, 58.73 fps, 59.94 tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2018-05-05T07:02:30.000000Z
handler_name : VideoHandle
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 139 kb/s (default)
Metadata:
creation_time : 2018-05-05T07:02:30.000000Z
handler_name : SoundHandle
Stream #0:2(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 195 kb/s (default)
Metadata:
creation_time : 2018-05-05T07:02:30.000000Z
handler_name : SoundHandle
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
frame= 1225 fps=834 q=-1.0 Lsize= 125448kB time=00:00:19.98 bitrate=51429.4kbits/s speed=13.6x
video:124591kB audio:815kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.034254%