При перекодировании фильмов из AVI в mp4 иногда FFMPEG неправильно устанавливает «Продолжительность источника».
Это портит воспроизведение на устройствах IOS. В частности, это приводит к тому, что видео обрывается на «Исходной длительности», в то время как звук все еще воспроизводится.
Выходной транскод FFMPEG вообще не показывает ничего странного. Выглядит нормально, никаких ошибок или предупреждений.
- Могу ли я заставить FFMPEG никогда не добавлять метаданные «Продолжительность источника»?
- Как отредактировать метаданные трека, отображаемые mediainfo? Я попробовал Mp4box и несколько других, но не могу понять, как редактировать метаданные уровня трека.
Спасибо.
Лог ниже.
ffmpeg version N-77455-g4707497 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 5.2.0 (GCC) configuration: --enable-gpl
--enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 11.100 / 55. 11.100 libavcodec 57. 20.100 / 57. 20.100 libavformat 57. 20.100 / 57. 20.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 21.101 /
6. 21.101 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Input #0, avi, from 'E:\MEDIA\Central.Intelligence.2016.HC.HDRip.XviD.AC3-EVO\Central.Intelligence.2016.HC.HDRip.XviD.AC3-EVO.avi': Metadata:
encoder : VirtualDubMod 1.5.10.2 (build 2542/release) Duration: 01:51:43.27, start: 0.000000, bitrate: 1765 kb/s
Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x304 [SAR 1:1 DAR 45:19], 1563 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s [libx264 @ 000000f3c80a0a80] using SAR=405/304 [libx264 @ 000000f3c80a0a80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 [libx264 @ 000000f3c80a0a80] profile High, level 3.1 [libx264 @ 000000f3c80a0a80] 264 - core 148 r2638 7599210 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=1280 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'F:\STREAMS\Central.Intelligence.2016.HC.HDRip.XviD.AC3-EVO.avi.1280x720_1000kbps.TEMP.mp4': Metadata:
encoder : Lavf57.20.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 405:304 DAR 45:19], q=-1--1, 1280 kb/s, 23.98 fps, 10000k tbn, 23.98 tbc
Metadata:
encoder : Lavc57.20.100 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 160 kb/s
Metadata:
encoder : Lavc57.20.100 aac Stream mapping: Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (ac3 (native) -> aac (native)) Press [q] to stop, [?] for help [mpeg4 @ 000000f3c80ae220] Video uses a non-standard and wasteful way to store B-frames ('packed B-frames'). Consider using the mpeg4_unpack_bframes bitstream filter without encoding but stream copy to fix it.
frame= 15 fps=0.0 q=0.0 size= 0kB time=00:00:01.18 bitrate= 0.3kbits/s dup=1 drop=0 speed=2.36x
--SNIP---
frame=160704 fps= 16 q=30.0 size= 1180376kB time=01:51:43.08 bitrate=1442.6kbits/s dup=1 drop=0 speed=0.671x
[libx264 @ 0000001f60c5d900] frame I:1167 Avg QP:19.08 size: 44465
[libx264 @ 0000001f60c5d900] frame P:63049 Avg QP:22.26 size: 12774
[libx264 @ 0000001f60c5d900] frame B:110691 Avg QP:24.81 size: 2739
[libx264 @ 0000001f60c5d900] consecutive B-frames: 6.0% 22.8% 18.3% 53.0%
[libx264 @ 0000001f60c5d900] mb I I16..4: 14.0% 76.1% 9.9%
[libx264 @ 0000001f60c5d900] mb P I16..4: 2.5% 6.6% 0.4% P16..4: 44.5% 10.8% 5.2% 0.0% 0.0% skip:30.0%
[libx264 @ 0000001f60c5d900] mb B I16..4: 0.1% 0.3% 0.0% B16..8: 32.1% 1.6% 0.2% direct: 0.9% skip:64.9% L0:37.9% L1:58.7% BI: 3.5%
[libx264 @ 0000001f60c5d900] final ratefactor: 23.25
[libx264 @ 0000001f60c5d900] 8x8 transform intra:70.8% inter:85.8%
[libx264 @ 0000001f60c5d900] coded y,uvDC,uvAC intra: 47.1% 56.6% 19.5% inter: 10.7% 14.2% 0.4%
[libx264 @ 0000001f60c5d900] i16 v,h,dc,p: 46% 20% 8% 26%
[libx264 @ 0000001f60c5d900] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 17% 25% 5% 7% 7% 7% 6% 6%
[libx264 @ 0000001f60c5d900] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 20% 12% 5% 10% 9% 8% 5% 4%
[libx264 @ 0000001f60c5d900] i8c dc,h,v,p: 58% 18% 18% 6%
[libx264 @ 0000001f60c5d900] Weighted P-Frames: Y:1.4% UV:0.8%
[libx264 @ 0000001f60c5d900] ref P L0: 62.6% 12.9% 18.9% 5.6% 0.1%
[libx264 @ 0000001f60c5d900] ref B L0: 87.6% 11.0% 1.4%
[libx264 @ 0000001f60c5d900] ref B L1: 94.6% 5.4%
[libx264 @ 0000001f60c5d900] kb/s:1272.59
[aac @ 0000001f60b52180] Qavg: 954.859
Изменить
Это как-то связано с данными, когда я запускаю эту команду (сокращение на 10 минут)
ffmpeg.exe -i CI.mp4 -ss 00:00:00 -t 00:08:00 -vcodec copy -map_metadata 0 -acodec copy CI2.mp4
Медиаинфо показывает
Duration : 9mn 49s
Source duration : 2mn 40s
Когда я запускаю это (18 минут)
ffmpeg.exe -i CI.mp4 -ss 00:00:00 -t 00:18:00 -vcodec copy -map_metadata 0 -acodec copy CI2.mp4
Медиаинфо шоу
Duration : 17mn 49s
Source duration : 3mn 30s
Как я могу редактировать метаданные напрямую
-report
к команде и вставить созданный файл журнала. - person Gyan   schedule 03.08.2016ffmpeg -i somefile.mp4 -options=showUsed ...etc etc.
- person VC.One   schedule 03.08.2016-acodec copy
в команде преобразования avi в mp4? MP4 ожидает аудио в формате mp3 или aac. - person VC.One   schedule 05.08.2016acodec
(поскольку FFmpeg автоматически установит правильные параметры для вашего формата mp4). - person VC.One   schedule 05.08.2016