我遇到MP4Box问题,无法在一个视频中连接视频。我出去了.mp4文件(~103 MB)但omxplayer无法播放。我有6个非常简单的.mp4视频,我希望它们合并在一个视频中。到目前为止,我能够通过命令做到这一点,没有任何问题:
MP4Box -cat Awards\ -\ Recognitions\ Screens\ Video.mp4 -cat Cornaro\ USLUGE\ video1.mp4 -cat Cornaro\ USLUGE\ video1.mp4 -cat DIOCLETIANS_BREAKFAST.mp4 -cat FLAVOURS_OF_DALMATIA.mp4 -cat Prognoza.mp4 -cat Restaurants\ -\ Bars\ 2016.mp4 -cat WineHappyHour3.mp4 -new out.mp4
但现在omxplayer(也是vlc)无法播放out.mp4视频。以下是6个视频中每个视频的mediainfo输出:
General
Complete name : Awards - Recognitions Screens Video.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 16.8 MiB
Duration : 45s 379ms
Overall bit rate : 3 114 Kbps
Writing application : Lavf55.33.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 45s 379ms
Bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 16.8 MiB (100%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
General
Complete name : Cornaro USLUGE video1.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 22.8 MiB
Duration : 1mn 13s
Overall bit rate : 2 624 Kbps
Writing application : Lavf55.33.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1mn 13s
Bit rate : 2 621 Kbps
Nominal bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.042
Stream size : 22.8 MiB (100%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
General
Complete name : DIOCLETIANS_BREAKFAST.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 11.6 MiB
Duration : 33s 0ms
Overall bit rate : 2 950 Kbps
Writing application : Lavf55.33.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 33s 0ms
Bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 11.6 MiB (100%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
General
Complete name : FLAVOURS_OF_DALMATIA.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 11.4 MiB
Duration : 33s 0ms
Overall bit rate : 2 891 Kbps
Writing application : Lavf55.33.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 33s 0ms
Bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 11.4 MiB (100%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
General
Complete name : Prognoza.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 3.27 MiB
Duration : 10s 44ms
Overall bit rate : 2 733 Kbps
Writing application : Lavf55.33.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 10s 44ms
Bit rate : 2 730 Kbps
Nominal bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.044
Stream size : 3.27 MiB (100%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English`
General
Complete name : Restaurants - Bars 2016.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 33.4 MiB
Duration : 1mn 35s
Overall bit rate : 2 929 Kbps
Writing application : Lavf55.33.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1mn 35s
Bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 33.4 MiB (100%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
General
Complete name : WineHappyHour3.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 4.10 MiB
Duration : 13s 581ms
Overall bit rate : 2 533 Kbps
Writing application : Lavf55.33.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 13s 581ms
Bit rate : 2 530 Kbps
Nominal bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.041
Stream size : 4.10 MiB (100%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
所以所有6个视频都有良好的mediainfo输出,但是我试图执行命令测试没有1个视频(逐个),然后合并它们,但结果相同。执行mp4box命令时,我得到奇怪的命令行输出:
Appending file Awards - Recognitions Screens Video.mp4
No suitable destination track found - creating new one (type vide)
Appending file Cornaro USLUGE video1.mp4
Appending file Cornaro USLUGE video1.mp4
No suitable destination track found - creating new one (type vide)
Appending file DIOCLETIANS_BREAKFAST.mp4
Appending file FLAVOURS_OF_DALMATIA.mp4
Appending file Prognoza.mp4
Appending file Restaurants - Bars 2016.mp4
No suitable destination track found - creating new one (type vide)
Appending file WineHappyHour3.mp4
Saving out.mp4: 0.500 secs Interleaving
这是out.mp4视频的mediainfo:
General
Complete name : out.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 126 MiB
Duration : 4mn 50s
Overall bit rate : 3 651 Kbps
Encoded date : UTC 2016-06-10 15:32:13
Tagged date : UTC 2016-06-10 15:32:13
Video #1
ID : 1
Format : avc3
Codec ID : avc3
Duration : 1mn 58s
Bit rate : 2 809 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Bits/(Pixel*Frame) : 0.045
Stream size : 39.6 MiB (31%)
Language : English
Tagged date : UTC 2016-06-10 15:32:15
Video #2
ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 4mn 41s
Source duration : 3mn 28s
Bit rate : 2 143 Kbps
Nominal bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 23.432 fps
Minimum frame rate : 0.022 fps
Maximum frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.044
Stream size : 53.1 MiB (42%)
Source stream size : 53.1 MiB (42%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
Tagged date : UTC 2016-06-10 15:32:15
Video #3
ID : 3
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 4mn 50s
Source duration : 1mn 35s
Nominal bit rate : 3 000 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Source stream size : 33.4 MiB (26%)
Writing library : x264 core 142 r2389 956c8d8
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0 / me=dia / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
Tagged date : UTC 2016-06-10 15:32:15
正如您所注意到的那样#"#"视频部分为"找不到合适的目的地曲目......"线条,很奇怪。到目前为止,解决我的问题最接近的是这个命令:
MP4Box -force-cat -add Awards\ -\ Recognitions\ Screens\ Video.mp4 -cat Cornaro\ USLUGE\ video1.mp4 -cat Cornaro\ USLUGE\ video1.mp4 -cat DIOCLETIANS_BREAKFAST.mp4 -cat FLAVOURS_OF_DALMATIA.mp4 -cat Prognoza.mp4 -cat Restaurants\ -\ Bars\ 2016.mp4 -cat WineHappyHour3.mp4 out.mp4
但它连续两次显示第二个视频(Cornaro USLUGE video1.mp4)然后休息是正常的。我真的不知道该怎么做。任何帮助将不胜感激。
答案 0 :(得分:1)
这是https://github.com/gpac/gpac/issues/549的副本,其答案如下:FFmpeg有时会在SPS中添加PAR可选字段。因此MP4Box检测到不同的SPS并且无法合并。
GPAC是否应该能够将此更改视为一种解决方法,目前仍在讨论中。请在根本问题上表达您的意见:https://github.com/gpac/gpac/issues/13。
NB @IncBrain:bs-switching是DASH的一个功能,而不是MP4。
答案 1 :(得分:1)
感谢您的帮助,但我需要使用MP4Box来合并视频而不是ffmpeg因为我只在我的RPi3上安装了MP4Box。 无论如何,改变了命令并且可以确认这有点像魅力(即使视频缺少PAR参数信息):
MP4Box -force-cat -cat Awards\ -\ Recognitions\ Screens\ Video.mp4 -cat Cornaro\ USLUGE\ video1.mp4 -cat Cornaro\ USLUGE\ video1.mp4 -cat DIOCLETIANS_BREAKFAST.mp4 -cat FLAVOURS_OF_DALMATIA.mp4 -cat Prognoza.mp4 -cat Restaurants\ -\ Bars\ 2016.mp4 -cat WineHappyHour3.mp4 output.mp4
答案 2 :(得分:0)
您还可以使用var dt = DateTime.ParseExact(
"06-03-2016T06:42:44.252Z",
"MM-dd-yyyyTHH:mm:ss.fffZ",
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal);
Console.WriteLine(dt); // June 03 2016 06:42 (...)
Console.WriteLine(dt.Kind); // Utc
连接您的mp4文件,如here所述:
首先,您需要将视频转码为MPEG2-TS,如下所示:
ffmpeg
然后将它们连接起来:
ffmpeg -i vid1.mp4 -c:v copy -bsf:v h264_mp4toannexb -f mpegts inter1.ts
ffmpeg -i vid2.mp4 -c:v copy -bsf:v h264_mp4toannexb -f mpegts inter2.ts
ffmpeg -i vid3.mp4 -c:v copy -bsf:v h264_mp4toannexb -f mpegts inter3.ts
...
我用your videos测试了它(你在github上发布的链接)它运行得很好。
还可以在不使用命名管道创建中间.ts文件的情况下执行此操作,这可能与此类似:
ffmpeg -i "concat:inter1.ts|inter2.ts|inter3.ts" -c copy out.mp4
答案 3 :(得分:0)
但它连续两次显示第二个视频(Cornaro USLUGE video1.mp4)
在我看来,你是从命令行添加它两次。