gpt4 book ai didi

video - 用 ffmpeg 剪切视频(用 Kodi 录制)没有图像

转载 作者:行者123 更新时间:2023-12-04 23:26:16 24 4
gpt4 key购买 nike

我正在尝试剪切从 Kodi 中的 IPTV 插件获得的视频。原始视频可以用VLC、Mplayer、xine等观看,但是复制后没有图像。根据 mediainfo 有一个视频流,但什么都看不到。我使用的命令是:

ffmpeg -y -i test-1.mpeg  -scodec copy -vcodec copy -c:a copy -map 0 -ss 00:00:10.000 -t 00:00:10.000 test-1-cut.mpeg

我认为 Kodi 录制的原始视频有问题,但它们对任何播放器都没有问题。一个简短的示例视频是这个:

https://drive.google.com/open?id=0B0WC80aT-4WrSDNENzhxRUxkOXc

-report 选项的输出是这个:
ffmpeg started on 2017-09-10 at 02:27:38
Report written to "ffmpeg-20170910-022738.log"
Command line:
ffmpeg -y -report -i test-1.mpeg -scodec copy -vcodec copy -c:a copy -map 0 -ss 00:00:10.000 -t 00:00:10.000 test-1-cut.mpeg
ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/i386-linux-gnu --incdir=/usr/include/i386-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enabl libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Splitting the commandline.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-i' ... matched as input url with argument 'test-1.mpeg'.
Reading option '-scodec' ... matched as option 'scodec' (force subtitle codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '00:00:10.000'.
Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '00:00:10.000'.
Reading option 'test-1-cut.mpeg' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url test-1.mpeg.
Successfully parsed a group of options.
Opening an input file: test-1.mpeg.
[mpegts @ 0x8292960] Format mpegts probed with size=2048 and score=100
[mpegts @ 0x8292960] stream=0 stream_type=1b pid=65 prog_reg_desc=
[mpegts @ 0x8292960] stream=1 stream_type=3 pid=c9 prog_reg_desc=
[mpegts @ 0x8292960] stream=2 stream_type=3 pid=ca prog_reg_desc=
[mpegts @ 0x8292960] stream=3 stream_type=6 pid=191 prog_reg_desc=
[mpegts @ 0x8292960] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 14
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 14
[h264 @ 0x8296880] Frame num gap 190 185
[h264 @ 0x8296880] Frame num gap 190 186
[h264 @ 0x8296880] Frame num gap 190 187
[h264 @ 0x8296880] Frame num gap 190 188
[h264 @ 0x8296880] mmco: unref short failure
[h264 @ 0x8296880] no picture ooo
[h264 @ 0x8296880] Increasing reorder buffer to 2
[h264 @ 0x8296880] no picture ooo
[h264 @ 0x8296880] Increasing reorder buffer to 3
[h264 @ 0x8296880] no picture ooo
[h264 @ 0x8296880] no picture ooo
[h264 @ 0x8296880] no picture ooo
[h264 @ 0x8296880] no picture ooo
[h264 @ 0x8296880] no picture ooo
[h264 @ 0x8296880] no picture
[h264 @ 0x8296880] mmco: unref short failure
[h264 @ 0x8296880] no picture
[h264 @ 0x8296880] no picture
[mpegts @ 0x8292960] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
[NULL @ 0x8298500] start time for stream 3 is not set in estimate_timings_from_pts
[mpegts @ 0x8292960] PES packet size mismatch
[mpegts @ 0x8292960] After avformat_find_stream_info() pos: 0 bytes read:4378768 seeks:2 frames:529
Input #0, mpegts, from 'test-1.mpeg':
Duration: 00:01:21.19, start: 74380.458944, bitrate: 6510 kb/s
Program 3102
Stream #0:0[0x65], 127, 1/90000: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0xc9](esp), 204, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s (clean effects)
Stream #0:2[0xca](vo), 198, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s (clean effects)
Stream #0:3[0x191](esp), 0, 1/90000: Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Successfully opened the file.
Parsing a group of options: output url test-1-cut.mpeg.
Applying option scodec (force subtitle codec ('copy' to copy stream)) with argument copy.
Applying option vcodec (force video codec ('copy' to copy stream)) with argument copy.
Applying option c:a (codec name) with argument copy.
Applying option map (set input stream mapping) with argument 0.
Applying option ss (set the start time offset) with argument 00:00:10.000.
Applying option t (record or transcode "duration" seconds of audio/video) with argument 00:00:10.000.
Successfully parsed a group of options.
Opening an output file: test-1-cut.mpeg.
Successfully opened the file.
[mpeg @ 0x829a0e0] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'test-1-cut.mpeg':
Metadata:
encoder : Lavf56.40.101
Stream #0:0, 0, 1/90000: Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
Stream #0:1(esp), 0, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 192 kb/s (clean effects)
Stream #0:2(vo), 0, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 128 kb/s (clean effects)
Stream #0:3(esp), 0, 1/90000: Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)
Press [q] to stop, [?] for help
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 14
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 14
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 1 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 1 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 1
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 1
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 5 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 5 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 5
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 5
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 10 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 10 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 10
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 10
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 5 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 5 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 5
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 5
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 1 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 1 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 1
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 1
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 3 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 3 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 3
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 3
frame= 231 fps=0.0 q=-1.0 size= 0kB time=00:00:10.03 bitrate= 0.0kbits/s
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 13 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 13 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 13
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 13
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 0 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 0 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 0
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 0
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 10 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 9 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 9
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 10
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 6 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 6 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 6
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 6
frame= 231 fps=231 q=-1.0 size= 0kB time=00:00:10.03 bitrate= 0.0kbits/s
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 0 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 0 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 0
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 0
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 2 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 1 got 7
[mpegts @ 0x8292960] Continuity check failed for pid 100 expected 8 got 1
[mpegts @ 0x8292960] Continuity check failed for pid 0 expected 8 got 2
[mpegts @ 0x8292960] PES packet size mismatch
No more output streams to write to, finishing.
[mpeg @ 0x829a0e0] First SCR: 0 First DTS: 45000
frame= 231 fps=149 q=-1.0 Lsize= 7344kB time=00:00:10.03 bitrate=5995.5kbits/s
video:6918kB audio:391kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.483494%
Input file #0 (test-1.mpeg):
Input stream #0:0 (video): 2016 packets read (60807549 bytes);
Input stream #0:1 (audio): 3360 packets read (1935360 bytes);
Input stream #0:2 (audio): 3363 packets read (1291096 bytes);
Input stream #0:3 (subtitle): 0 packets read (0 bytes);
Total: 8739 packets (64034005 bytes) demuxed
Output file #0 (test-1-cut.mpeg):
Output stream #0:0 (video): 231 packets muxed (7083751 bytes);
Output stream #0:1 (audio): 417 packets muxed (240192 bytes);
Output stream #0:2 (audio): 417 packets muxed (160128 bytes);
Output stream #0:3 (subtitle): 0 packets muxed (0 bytes);
Total: 1065 packets (7484071 bytes) muxed
0 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x82f9860] Statistics: 0 seeks, 3672 writeouts
[AVIOContext @ 0x829b1a0] Statistics: 70457008 bytes read, 2 seeks

根据评论的建议,我尝试了 ffmpeg 最新版本的静态构建。生成的文件再次具有视频流,但播放器无法播放。日志如下:
ffmpeg started on 2017-09-18 at 00:14:22
Report written to "ffmpeg-20170918-001422.log"
Command line:
./ffmpeg -y -report -i test-1.mpeg -scodec copy -vcodec copy -c:a copy -map 0 -ss 00:00:10.000 -t 00:00:10.000 test-1-cut.mpeg
ffmpeg version N-87286-g6ce4a635ed-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.4.0 (Debian 6.4.0-4) 20170820
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
libavutil 55. 74.100 / 55. 74.100
libavcodec 57.105.100 / 57.105.100
libavformat 57. 82.100 / 57. 82.100
libavdevice 57. 8.100 / 57. 8.100
libavfilter 6.105.100 / 6.105.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Splitting the commandline.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-i' ... matched as input url with argument 'test-1.mpeg'.
Reading option '-scodec' ... matched as option 'scodec' (force subtitle codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '00:00:10.000'.
Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '00:00:10.000'.
Reading option 'test-1-cut.mpeg' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url test-1.mpeg.
Successfully parsed a group of options.
Opening an input file: test-1.mpeg.
[NULL @ 0x4e6d900] Opening 'test-1.mpeg' for reading
[file @ 0x4e6e1a0] Setting default whitelist 'file,crypto'
[mpegts @ 0x4e6d900] Format mpegts probed with size=2048 and score=50
[mpegts @ 0x4e6d900] stream=0 stream_type=1b pid=65 prog_reg_desc=
[mpegts @ 0x4e6d900] stream=1 stream_type=3 pid=c9 prog_reg_desc=
[mpegts @ 0x4e6d900] stream=2 stream_type=3 pid=ca prog_reg_desc=
[mpegts @ 0x4e6d900] stream=3 stream_type=6 pid=191 prog_reg_desc=
[mpegts @ 0x4e6d900] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:4
[mpegts @ 0x4e6d900] Continuity check failed for pid 0 expected 8 got 14
[mpegts @ 0x4e6d900] Continuity check failed for pid 100 expected 8 got 14
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[AVBSFContext @ 0x4f23c80] nal_unit_type: 9, nal_ref_idc: 0
[AVBSFContext @ 0x4f23c80] nal_unit_type: 7, nal_ref_idc: 3
[AVBSFContext @ 0x4f23c80] nal_unit_type: 8, nal_ref_idc: 3
[AVBSFContext @ 0x4f23c80] nal_unit_type: 6, nal_ref_idc: 0
[AVBSFContext @ 0x4f23c80] nal_unit_type: 1, nal_ref_idc: 2
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 7, nal_ref_idc: 3
[h264 @ 0x4e72500] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 1, nal_ref_idc: 2
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] Reinit context to 1920x1088, pix_fmt: yuv420p
[h264 @ 0x4e72500] Frame num gap 190 185
[h264 @ 0x4e72500] Frame num gap 190 186
[h264 @ 0x4e72500] Frame num gap 190 187
[h264 @ 0x4e72500] Frame num gap 190 188
[h264 @ 0x4e72500] mmco: unref short failure
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 1, nal_ref_idc: 2
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] no picture ooo
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 1, nal_ref_idc: 2
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] Increasing reorder buffer to 2
[h264 @ 0x4e72500] no picture ooo
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 1, nal_ref_idc: 0
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] Increasing reorder buffer to 3
[h264 @ 0x4e72500] no picture ooo
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 1, nal_ref_idc: 2
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] no picture ooo
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
................. a lot of similar lines .......................
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 1, nal_ref_idc: 2
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x4e72500] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x4e72500] nal_unit_type: 1, nal_ref_idc: 0
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
.......... a lot of similar lines...........
[h264 @ 0x4e72500] ct_type:0 pic_struct:3
[mpegts @ 0x4e6d900] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
[mpegts @ 0x4e6d900] start time for stream 3 is not set in estimate_timings_from_pts
[mpegts @ 0x4e6d900] PES packet size mismatch
[mpegts @ 0x4e6d900] After avformat_find_stream_info() pos: 0 bytes read:4378768 seeks:2 frames:529
Input #0, mpegts, from 'test-1.mpeg':
Duration: 00:01:21.19, start: 74380.458944, bitrate: 6510 kb/s
Program 3102
Stream #0:0[0x65], 127, 1/90000: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0xc9](esp), 204, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s (clean effects)
Stream #0:2[0xca](vo), 198, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s (clean effects)
Stream #0:3[0x191](esp), 0, 1/90000: Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Successfully opened the file.
Parsing a group of options: output url test-1-cut.mpeg.
Applying option scodec (force subtitle codec ('copy' to copy stream)) with argument copy.
Applying option vcodec (force video codec ('copy' to copy stream)) with argument copy.
Applying option c:a (codec name) with argument copy.
Applying option map (set input stream mapping) with argument 0.
Applying option ss (set the start time offset) with argument 00:00:10.000.
Applying option t (record or transcode "duration" seconds of audio/video) with argument 00:00:10.000.
Successfully parsed a group of options.
Opening an output file: test-1-cut.mpeg.
[file @ 0x4eb6020] Setting default whitelist 'file,crypto'
Successfully opened the file.
[mpeg @ 0x4ea6560] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'test-1-cut.mpeg':
Metadata:
encoder : Lavf57.82.100
Stream #0:0, 0, 1/90000: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
Stream #0:1(esp), 0, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s (clean effects)
Stream #0:2(vo), 0, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s (clean effects)
Stream #0:3(esp), 0, 1/90000: Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[NULL @ 0x4e72500] nal_unit_type: 7, nal_ref_idc: 3
[NULL @ 0x4e72500] nal_unit_type: 8, nal_ref_idc: 3
[mpegts @ 0x4e6d900] Continuity check failed for pid 0 expected 8 got 14
[mpegts @ 0x4e6d900] Continuity check failed for pid 100 expected 8 got 14
[NULL @ 0x4e72500] ct_type:0 pic_struct:3
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[NULL @ 0x4e72500] ct_type:0 pic_struct:3
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
........... a lot of similar lines .............
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[NULL @ 0x4e72500] ct_type:0 pic_struct:3
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[mpegts @ 0x4e6d900] PES packet size mismatch
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[NULL @ 0x4e72500] ct_type:0 pic_struct:3
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
No more output streams to write to, finishing.
[mpeg @ 0x4ea6560] First SCR: 0 First DTS: 45000
frame= 231 fps=0.0 q=-1.0 Lsize= 7344kB time=00:00:09.99 bitrate=6019.5kbits/s speed=42.1x
video:6918kB audio:391kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.483494%
Input file #0 (test-1.mpeg):
Input stream #0:0 (video): 2016 packets read (60807549 bytes);
Input stream #0:1 (audio): 3360 packets read (1935360 bytes);
Input stream #0:2 (audio): 3363 packets read (1291096 bytes);
Input stream #0:3 (subtitle): 0 packets read (0 bytes);
Total: 8739 packets (64034005 bytes) demuxed
Output file #0 (test-1-cut.mpeg):
Output stream #0:0 (video): 231 packets muxed (7083751 bytes);
Output stream #0:1 (audio): 417 packets muxed (240192 bytes);
Output stream #0:2 (audio): 417 packets muxed (160128 bytes);
Output stream #0:3 (subtitle): 0 packets muxed (0 bytes);
Total: 1065 packets (7484071 bytes) muxed
0 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x4ef6300] Statistics: 0 seeks, 3672 writeouts
[AVIOContext @ 0x4e6e040] Statistics: 70457008 bytes read, 2 seeks

最佳答案

解决方案是将输出文件的文件名更改为 .ts。
那么命令是:

ffmpeg -y -i test-1.mpeg  -scodec copy -vcodec copy -c:a copy -map 0 -ss 00:00:10.000 -t 00:00:10.000 test-1-cut.ts

.ts 文件可从初始时间开始播放。

我不知道它为什么起作用。这个解决方案是我使用的 kodi 插件的开发者建议的。

感谢所有提供反馈的人。

关于video - 用 ffmpeg 剪切视频(用 Kodi 录制)没有图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46268166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com