Tôi có một vài MP4 mà tôi muốn tải lên tài khoản flickr của mình nhưng chúng có kích thước tối đa 500mb vì tôi chỉ có khoảng 550, tôi dự định chỉ cần chia chúng ra một nửa rồi tải chúng lên, nhưng tôi muốn chắc chắn rằng tất cả meta dữ liệu được bao gồm nhưng dường như không phải vậy. Tôi đã thử từng cách sau đây nhưng không có may mắn, (ở cuối bài này tôi có bản gốc và các kết quả đầu ra mới của ffprobe):
ffmpeg -ss 00:00:00.00 -t 00:04:19.35 -i SANY0069.MP4 -acodec copy -vcodec copy -map_metadata 0:0 SANY0069A.MP4
ffmpeg -ss 00:00:00.00 -t 00:04:19.35 -i SANY0069.MP4 -acodec copy -vcodec copy -map_meta_data SANY0069.MP4:SANY0069A.MP4 SANY0069A.MP4
với cái này tôi tự sản xuất các thẻ meta riêng lẻ mà tôi đã lấy từ lệnh này
ffmpeg -i SANY0069A.MP4 -f ffmetadata meta.txt
ffmpeg -ss 00:00:00.00 -t 00:04:19.35 -i SANY0069.MP4 -acodec copy -vcodec copy -metadata major_brand="mp42" -metadata minor_version="1" -metadata compatible_brands="mp42avc1" -metadata creation_time="2012-09-29 09:05:50" -metadata comment="SANYO DIGITAL CAMERA CA9" -metadata comment-eng="SANYO DIGITAL CAMERA CA9" SANY0069A.MP4
sử dụng đầu ra của lệnh cũ tôi cũng đã thử điều này:
ffmpeg -ss 00:00:00.00 -t 00:04:19.35 -i SANY0069.MP4 -acodec copy -vcodec copy -f ffmetadata -i meta.txt SANY0069A.MP4
Đầu ra: đầu ra mẫu từ lệnh đầu tiên của tôi:
ffmpeg -ss 00:00:00.00 -t 00:04:19.35 -i SANY0069.MP4 -acodec copy -vcodec copy -map_metadata 0:0 SANY0069A.MP4
ffmpeg version 0.8.12, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 13 2012 09:57:38 with gcc 4.6.3 20120306 (Red Hat 4.6.3-2)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --enable-libcelt --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 51. 9. 1 / 51. 9. 1
libavcodec 53. 8. 0 / 53. 8. 0
libavformat 53. 5. 0 / 53. 5. 0
libavdevice 53. 1. 1 / 53. 1. 1
libavfilter 2. 23. 0 / 2. 23. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'SANY0069.MP4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1
creation_time : 2012-09-29 09:05:50
comment : SANYO DIGITAL CAMERA CA9
comment-eng : SANYO DIGITAL CAMERA CA9
Duration: 00:08:38.71, start: 0.000000, bitrate: 9142 kb/s
Stream #0.0(eng): Video: h264 (Constrained Baseline), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 9007 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
Metadata:
creation_time : 2012-09-29 09:05:50
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 127 kb/s
Metadata:
creation_time : 2012-09-29 09:05:50
File 'SANY0069A.MP4' already exists. Overwrite ? [y/N] y
Output #0, mp4, to 'SANY0069A.MP4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1
creation_time : 2012-09-29 09:05:50
comment : SANYO DIGITAL CAMERA CA9
comment-eng : SANYO DIGITAL CAMERA CA9
encoder : Lavf53.5.0
Stream #0.0(eng): Video: libx264, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 9007 kb/s, 30k tbn, 29.97 tbc
Metadata:
creation_time : 2012-09-29 09:05:50
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, 127 kb/s
Metadata:
creation_time : 2012-09-29 09:05:50
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
frame= 7773 fps=4644 q=-1.0 Lsize= 289607kB time=00:04:19.35 bitrate=9147.4kbits/s
video:285416kB audio:4033kB global headers:0kB muxing overhead 0.054571%
và cuối cùng, khi tôi so sánh ffprobe của phần gốc và phần tách đầu tiên tôi nhận được 2 kết quả sau: bản gốc
ffprobe version 0.8.12, Copyright (c) 2007-2011 the FFmpeg developers
built on Jun 13 2012 09:57:38 with gcc 4.6.3 20120306 (Red Hat 4.6.3-2)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --enable-libcelt --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 51. 9. 1 / 51. 9. 1
libavcodec 53. 8. 0 / 53. 8. 0
libavformat 53. 5. 0 / 53. 5. 0
libavdevice 53. 1. 1 / 53. 1. 1
libavfilter 2. 23. 0 / 2. 23. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'SANY0069.MP4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1
creation_time : 2012-09-29 09:05:50
comment : SANYO DIGITAL CAMERA CA9
comment-eng : SANYO DIGITAL CAMERA CA9
Duration: 00:08:38.71, start: 0.000000, bitrate: 9142 kb/s
Stream #0.0(eng): Video: h264 (Constrained Baseline), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 9007 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
Metadata:
creation_time : 2012-09-29 09:05:50
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 127 kb/s
Metadata:
creation_time : 2012-09-29 09:05:50
Tách
ffprobe version 0.8.12, Copyright (c) 2007-2011 the FFmpeg developers
built on Jun 13 2012 09:57:38 with gcc 4.6.3 20120306 (Red Hat 4.6.3-2)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --enable-libcelt --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 51. 9. 1 / 51. 9. 1
libavcodec 53. 8. 0 / 53. 8. 0
libavformat 53. 5. 0 / 53. 5. 0
libavdevice 53. 1. 1 / 53. 1. 1
libavfilter 2. 23. 0 / 2. 23. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'SANY0069A.MP4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf53.5.0
comment : SANYO DIGITAL CAMERA CA9
Duration: 00:04:19.37, start: 0.000000, bitrate: 9146 kb/s
Stream #0.0(eng): Video: h264 (Constrained Baseline), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 9015 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 127 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
Tôi biết điều này là vô cùng dài nhưng nó thực sự là một câu hỏi khá đơn giản. Tôi nghĩ rằng tốt nhất là cung cấp càng nhiều chi tiết càng tốt.
bất kỳ lời khuyên nào ở đây sẽ là tuyệt vời,
Cảm ơn
creation_time
trừ (trừ khi nó bị bỏ qua) và comment
được đặt tự động. Hành vi của creation_time
dường như khác nhau giữa 0.8.12
và ffmpeg hiện tại từ Git; nó không xuất hiện để thêm / sao chép này trừ khi tôi đưa nó vào. Tôi đã không đề cập đến mã, nhưng không sao chép creation_time
khi sao chép luồng có thể hoặc không được coi là một lỗi tùy thuộc vào người bạn yêu cầu.