【发布时间】:2018-02-26 08:00:54
【问题描述】:
我正在尝试剪辑从 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
【问题讨论】:
-
为了确保这个问题在这些文件储物柜链接将来被破坏后仍然存在,您能否使用电影快照(例如 4x4 网格静止图像)来说明问题?然后,您可以使用官方 Stack Overflow CDN (imgur.com) 将它们作为图像上传。
-
感谢您的反馈。快照(可能是电影中的随机图像)不会提供有关该问题的相关信息。我提供了视频的链接,以便任何人都可以通过使用相同的文件作为输入来重现问题。处理此视频和其他视频后,任何播放器都无法复制结果。但是我可以添加日志文件的一部分。
-
好的,我可以复制所有的日志文件,所以我删除了它的链接。我维护输入视频文件的链接。谢谢
-
更新您的 ffmpeg 并重试。从johnvansickle.com/ffmpeg获取它
-
感谢您的意见。我在 johnvansickle.com/ffmpeg 上尝试过静态构建,但结果是一样的。生成的文件有视频流,但播放器无法播放。我将使用新日志更新问题。