ffmpeg-formats
ນີ້ແມ່ນຄໍາສັ່ງ ffmpeg-formats ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ffmpeg-formats - ຮູບແບບ FFmpeg
ລາຍລະອຽດ
ເອກະສານນີ້ອະທິບາຍຮູບແບບທີ່ຮອງຮັບ (muxers ແລະ demuxers) ທີ່ສະໜອງໃຫ້ໂດຍ
libavformat ຫ້ອງສະຫມຸດ.
ຮູບແບບ OPTIONS
ຫໍສະຫມຸດ libavformat ສະຫນອງບາງທາງເລືອກທົ່ວໂລກທົ່ວໄປ, ເຊິ່ງສາມາດຕັ້ງຄ່າໄດ້ທັງຫມົດ
muxers ແລະ demuxers. ນອກຈາກນັ້ນແຕ່ລະ muxer ຫຼື demuxer ອາດຈະສະຫນັບສະຫນູນອັນທີ່ເອີ້ນວ່າເອກະຊົນ
ທາງເລືອກ, ເຊິ່ງສະເພາະສໍາລັບອົງປະກອບນັ້ນ.
ທາງເລືອກອາດຈະຖືກກໍານົດໂດຍການລະບຸ -ທາງເລືອກ ມູນຄ່າ ໃນເຄື່ອງມື FFmpeg, ຫຼືໂດຍການຕັ້ງ
ຄ່າຢ່າງຈະແຈ້ງໃນຕົວເລືອກ "AVFormatContext" ຫຼືໃຊ້ libavutil/opt.h API ສໍາລັບ
ການນຳໃຊ້ໂປຣແກຣມ.
ບັນຊີລາຍຊື່ຂອງທາງເລືອກທີ່ສະຫນັບສະຫນູນດັ່ງຕໍ່ໄປນີ້:
ທຸງການບິນ ທົງ (ວັດສະດຸປ້ອນ / ຜົນຜະລິດ)
ຄ່າທີ່ເປັນໄປໄດ້:
ໂດຍກົງ
ຫຼຸດຜ່ອນ buffering.
ສຳຫຼວດຂະໜາດ integer (ການປ້ອນຂໍ້ມູນ)
ກໍານົດຂະຫນາດ probing ໃນ bytes, ເຊັ່ນ: ຂະຫນາດຂອງຂໍ້ມູນໃນການວິເຄາະເພື່ອໃຫ້ໄດ້ຮັບນ້ໍາ
ຂໍ້ມູນ. ມູນຄ່າທີ່ສູງຂຶ້ນຈະເຮັດໃຫ້ການກວດສອບຂໍ້ມູນເພີ່ມເຕີມໃນກໍລະນີທີ່ມັນເປັນ
ກະແຈກກະຈາຍເຂົ້າໄປໃນສາຍນ້ໍາ, ແຕ່ຈະເພີ່ມເວລາ latency. ຕ້ອງເປັນຈຳນວນບໍ່ໜ້ອຍ
ຫຼາຍກວ່າ 32. ມັນແມ່ນ 5000000 ໂດຍຄ່າເລີ່ມຕົ້ນ.
ຂະໜາດແພັກເກັດ integer (output)
ກໍານົດຂະຫນາດແພັກເກັດ.
ທຸງ ທົງ (ວັດສະດຸປ້ອນ / ຜົນຜະລິດ)
ຕັ້ງທຸງຮູບແບບ.
ຄ່າທີ່ເປັນໄປໄດ້:
ignidx
ບໍ່ສົນໃຈດັດສະນີ.
ສະແຫວງຫາໄວ
ເປີດໃຊ້ການຊອກຫາໄວ, ແຕ່ບໍ່ຖືກຕ້ອງສໍາລັບບາງຮູບແບບ.
Genpts
ສ້າງ PTS.
nofillin
ຢ່າຕື່ມຄ່າທີ່ຂາດຫາຍໄປທີ່ສາມາດຄິດໄລ່ໄດ້ແນ່ນອນ.
noparse
ປິດການໃຊ້ງານ AVParsers, ອັນນີ້ຕ້ອງການ "+nofillin" ຄືກັນ.
igndts
ບໍ່ສົນໃຈ DTS.
ຍົກເລີກ
ຖິ້ມເຟຣມທີ່ເສຍຫາຍ.
ຄັດ
ພະຍາຍາມແຊກແຊງແພັກເກັດຜົນຜະລິດໂດຍ DTS.
ເຝົ້າ
ຢ່າລວມຂໍ້ມູນດ້ານຂ້າງ.
ກາມ
ເປີດໃຊ້ RTP MP4A-LATM payload.
nobuffer
ຫຼຸດເວລາແຝງທີ່ແນະນຳໂດຍ buffering ທາງເລືອກ
bitexact
ພຽງແຕ່ຂຽນຂໍ້ມູນ platform-, build- ແລະ time-independent. ນີ້ຮັບປະກັນວ່າໄຟລ໌
ແລະ checksums ຂໍ້ມູນແມ່ນສາມາດແຜ່ພັນໄດ້ແລະກົງກັນລະຫວ່າງເວທີ. ການນໍາໃຊ້ຕົ້ນຕໍຂອງຕົນ
ແມ່ນສໍາລັບການທົດສອບ regression.
ຊອກຫາ 2 ຢ່າງ integer (ການປ້ອນຂໍ້ມູນ)
ອະນຸຍາດໃຫ້ຊອກຫາທີ່ບໍ່ແມ່ນ keyframes ໃນລະດັບ demuxer ໃນເວລາທີ່ສະຫນັບສະຫນູນຖ້າຫາກວ່າຕັ້ງເປັນ 1. Default
ແມ່ນ 0.
ໄລຍະເວລາການວິເຄາະ integer (ການປ້ອນຂໍ້ມູນ)
ລະບຸຈໍານວນໄມໂຄວິນາທີທີ່ຖືກວິເຄາະເພື່ອກວດສອບການປ້ອນຂໍ້ມູນ. ມູນຄ່າທີ່ສູງຂຶ້ນຈະ
ເຮັດໃຫ້ການກວດສອບຂໍ້ມູນທີ່ຖືກຕ້ອງຫຼາຍຂຶ້ນ, ແຕ່ຈະເພີ່ມທະວີການ latency. ມັນຕັ້ງໄວ້ໃນຕອນຕົ້ນ
5,000,000 microseconds = 5 ວິນາທີ.
cryptokey ເລກຖານສິບຫົກ string (ການປ້ອນຂໍ້ມູນ)
ຕັ້ງລະຫັດຖອດລະຫັດ.
ດັດຊະນີ integer (ການປ້ອນຂໍ້ມູນ)
ຕັ້ງໜ່ວຍຄວາມຈຳສູງສຸດທີ່ໃຊ້ສຳລັບດັດຊະນີເວລາ (ຕໍ່ກະແສ).
rtbufsize integer (ການປ້ອນຂໍ້ມູນ)
ຕັ້ງຫນ່ວຍຄວາມຈໍາສູງສຸດທີ່ໃຊ້ສໍາລັບການ buffering ເຟຣມເວລາຈິງ.
fdebug ທົງ (ວັດສະດຸປ້ອນ / ຜົນຜະລິດ)
ພິມຂໍ້ມູນດີບັກສະເພາະ.
ຄ່າທີ່ເປັນໄປໄດ້:
ts
max_delay integer (ວັດສະດຸປ້ອນ / ຜົນຜະລິດ)
ກໍານົດການຊັກຊ້າ muxing ຫຼື demuxing ສູງສຸດໃນ microseconds.
fpsprobesize integer (ການປ້ອນຂໍ້ມູນ)
ກໍານົດຈໍານວນເຟຣມທີ່ໃຊ້ໃນການສືບສວນ fps.
audio_preload integer (output)
ຕັ້ງ microseconds ທີ່ແພັກເກັດສຽງຄວນຖືກ interleaved ກ່ອນຫນ້າ.
chunk_ໄລຍະເວລາ integer (output)
ກໍານົດ microseconds ສໍາລັບແຕ່ລະ chunk.
chunk_size integer (output)
ກໍານົດຂະຫນາດໃນ bytes ສໍາລັບແຕ່ລະ chunk.
err_detect, f_err_detect ທົງ (ການປ້ອນຂໍ້ມູນ)
ຕັ້ງທຸງກວດຫາຄວາມຜິດພາດ. "f_err_detect" ຖືກຍົກເລີກ ແລະຄວນຈະຖືກນຳໃຊ້ຜ່ານທາງ
ໄດ້ ffmpeg ເຄື່ອງມື.
ຄ່າທີ່ເປັນໄປໄດ້:
ກວດເຊັກ
ຢືນຢັນ CRCs ທີ່ຝັງໄວ້.
bitstream
ກວດສອບຄວາມແຕກຕ່າງສະເພາະ bitstream.
buffer
ກວດພົບຄວາມຍາວບິດສະຕຣີມທີ່ບໍ່ຖືກຕ້ອງ.
ລະເບີດ
ຍົກເລີກການຖອດລະຫັດໃນການກວດສອບຄວາມຜິດພາດເລັກນ້ອຍ.
ລະມັດລະວັງ
ພິຈາລະນາສິ່ງທີ່ລະເມີດ spec ແລະບໍ່ໄດ້ເຫັນຢູ່ໃນທໍາມະຊາດເປັນ
ຄວາມຜິດພາດ.
compliant
ພິຈາລະນາຂໍ້ກໍານົດທັງຫມົດທີ່ບໍ່ສອດຄ່ອງກັບຄວາມຜິດພາດ.
ຮຸກຮານ
ພິຈາລະນາສິ່ງທີ່ຕົວເຂົ້າລະຫັດທີ່ດີບໍ່ຄວນເຮັດເປັນຄວາມຜິດພາດ.
max_interleave_delta integer (output)
ກໍານົດໄລຍະເວລາ buffering ສູງສຸດສໍາລັບການ interleaving. ໄລຍະເວລາແມ່ນສະແດງອອກໃນ
microseconds, ແລະເລີ່ມຕົ້ນເປັນ 1000000 (1 ວິນາທີ).
ເພື່ອຮັບປະກັນວ່າສາຍນ້ໍາທັງຫມົດຖືກແຊກແຊງຢ່າງຖືກຕ້ອງ, libavformat ຈະລໍຖ້າຈົນກ່ວາມັນ
ມີຢ່າງໜ້ອຍໜຶ່ງແພັກເກັດສຳລັບແຕ່ລະສະຕຣີມ ກ່ອນທີ່ຈະຂຽນແພັກເກັດໃດນຶ່ງໃສ່
ໄຟລ໌ຜົນຜະລິດ. ໃນເວລາທີ່ສາຍນ້ໍາບາງແມ່ນ "sparse" (ເຊັ່ນ: ມີຊ່ອງຫວ່າງຂະຫນາດໃຫຍ່ລະຫວ່າງ
packets ສໍາເລັດ), ນີ້ສາມາດສົ່ງຜົນໃຫ້ buffering ຫຼາຍເກີນໄປ.
ຊ່ອງຂໍ້ມູນນີ້ກໍານົດຄວາມແຕກຕ່າງສູງສຸດລະຫວ່າງເວລາຂອງເວລາທໍາອິດແລະ
ແພັກເກັດສຸດທ້າຍໃນແຖວ muxing, ຂ້າງເທິງທີ່ libavformat ຈະອອກແພັກເກັດ
ໂດຍບໍ່ຄໍານຶງເຖິງວ່າມັນໄດ້ຈັດຄິວຊຸດສໍາລັບສາຍນ້ໍາທັງຫມົດ.
ຖ້າຕັ້ງເປັນ 0, libavformat ຈະສືບຕໍ່ buffering packets ຈົນກ່ວາມັນມີ packet ສໍາລັບ.
ແຕ່ລະການຖ່າຍທອດ, ໂດຍບໍ່ຄໍານຶງເຖິງຄວາມແຕກຕ່າງກັນເວລາສູງສຸດລະຫວ່າງ buffed
ຊອງ.
use_wallclock_as_timestamps integer (ການປ້ອນຂໍ້ມູນ)
ໃຊ້ໂມງຕິດຝາເປັນເຄື່ອງໝາຍເວລາ.
avoid_negative_ts integer (output)
ຄ່າທີ່ເປັນໄປໄດ້:
make_non_negative
ປ່ຽນເວລາສະແຕມເພື່ອເຮັດໃຫ້ພວກມັນບໍ່ເປັນລົບ. ຍັງສັງເກດວ່ານີ້ມີຜົນກະທົບເທົ່ານັ້ນ
ການສະແຕມເວລາທາງລົບນຳໜ້າ, ແລະບໍ່ແມ່ນການສະແຕມເວລາລົບທີ່ບໍ່ແມ່ນ monotononic.
make_zero
Shift timestamps ດັ່ງນັ້ນເວລາທໍາອິດແມ່ນ 0.
ອັດຕະໂນມັດ (ຄ່າເລີ່ມຕົ້ນ)
ເປີດໃຊ້ການປ່ຽນເມື່ອຕ້ອງການຮູບແບບເປົ້າໝາຍ.
disabled
ປິດໃຊ້ງານການປ່ຽນເວລາ.
ເມື່ອການປ່ຽນຖືກເປີດໃຊ້ງານ, ເວລາຜົນຜະລິດທັງໝົດຈະຖືກປ່ຽນດ້ວຍຈຳນວນດຽວກັນ. ສຽງ,
ວິດີໂອ, ແລະຄໍາບັນຍາຍ desynching ແລະຄວາມແຕກຕ່າງຂອງເວລາທີ່ເປັນພີ່ນ້ອງກັນໄດ້ຖືກຮັກສາໄວ້
ປຽບທຽບກັບວິທີການທີ່ເຂົາເຈົ້າຈະເປັນໂດຍບໍ່ມີການປ່ຽນ.
skip_initial_bytes integer (ການປ້ອນຂໍ້ມູນ)
ກໍານົດຈໍານວນ bytes ເພື່ອຂ້າມກ່ອນທີ່ຈະອ່ານ header ແລະ frames ຖ້າຕັ້ງເປັນ 1. Default ແມ່ນ
0.
correct_ts_overflow integer (ການປ້ອນຂໍ້ມູນ)
ແກ້ໄຂການທັບເວລາດຽວທີ່ລົ້ນຖ້າຕັ້ງເປັນ 1. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
flush_packets integer (output)
ລ້າງກະແສ I/O ທີ່ຢູ່ເບື້ອງຫຼັງຫຼັງຈາກແຕ່ລະແພັກເກັດ. Default 1 ເປີດໃຊ້ມັນ, ແລະມີ
ຜົນກະທົບຂອງການຫຼຸດຜ່ອນ latency ໄດ້; 0 ປິດການໃຊ້ງານມັນແລະອາດຈະເພີ່ມປະສິດທິພາບເລັກນ້ອຍໃນ
ບາງກໍລະນີ.
output_ts_offset ຊົດເຊີຍ (output)
ກໍານົດເວລາຜົນຜະລິດຊົດເຊີຍ.
ຊົດເຊີຍ ຕ້ອງເປັນໄລຍະເວລາສະເພາະ, ເບິ່ງ ໄດ້ ທີ່ໃຊ້ເວລາ ໄລຍະເວລາ ສ່ວນ in ໄດ້
ffmpeg-utils(1) ຄູ່ມື.
ການຊົດເຊີຍແມ່ນເພີ່ມໂດຍ muxer ໃສ່ເວລາຜົນຜະລິດ.
ການກໍານົດການຊົດເຊີຍໃນທາງບວກຫມາຍຄວາມວ່າສາຍນ້ໍາທີ່ສອດຄ້ອງກັນແມ່ນຊັກຊ້າ bt
ໄລຍະເວລາທີ່ລະບຸໄວ້ໃນ ຊົດເຊີຍ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ຫມາຍຄວາມວ່າບໍ່ມີການຊົດເຊີຍ
ນຳໃຊ້).
format_whitelist ບັນຊີລາຍຊື່ (ການປ້ອນຂໍ້ມູນ)
"," ແຍກລາຍຊື່ຂອງ demuxers ທີ່ໄດ້ຮັບອະນຸຍາດ. ໂດຍຄ່າເລີ່ມຕົ້ນທັງຫມົດແມ່ນອະນຸຍາດ.
dump_separator string (ການປ້ອນຂໍ້ມູນ)
Separator ໃຊ້ເພື່ອແຍກທົ່ງນາທີ່ພິມຢູ່ໃນເສັ້ນຄໍາສັ່ງກ່ຽວກັບ Stream
ຕົວກໍານົດການ. ຕົວຢ່າງເພື່ອແຍກຊ່ອງຂໍ້ມູນດ້ວຍແຖວໃໝ່ ແລະຫຍໍ້ໜ້າ:
ffprobe -dump_separator "
" -i ~/videos/matrixbench_mpeg2.mpg
ຮູບແບບ ນ້ໍາ specifiers
ຕົວລະບຸຮູບແບບການຖ່າຍທອດອະນຸຍາດໃຫ້ເລືອກໜຶ່ງ ຫຼືຫຼາຍກວ່າໜຶ່ງສະຕຣີມທີ່ກົງກັບສະເພາະ
ຄຸນສົມບັດ.
ຮູບແບບທີ່ເປັນໄປໄດ້ຂອງຕົວລະບຸການຖ່າຍທອດແມ່ນ:
stream_index
ກົງກັບກະແສກັບດັດຊະນີນີ້.
stream_type[:stream_index]
stream_type ແມ່ນຫນຶ່ງໃນຕໍ່ໄປນີ້: 'v' ສໍາລັບວິດີໂອ, 'a' ສໍາລັບສຽງ, 's' ສໍາລັບຄໍາບັນຍາຍ, 'd'
ສໍາລັບຂໍ້ມູນ, ແລະ 't' ສໍາລັບໄຟລ໌ແນບ. ຖ້າ stream_index ແມ່ນໃຫ້, ຫຼັງຈາກນັ້ນມັນກົງກັບ
ໝາຍເລກການຖ່າຍທອດ stream_index ປະເພດນີ້. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນກົງກັບກະແສທັງໝົດນີ້
ປະເພດ
p:program_id[:stream_index]
If stream_index ແມ່ນໃຫ້, ຫຼັງຈາກນັ້ນມັນກົງກັບນ້ໍາທີ່ມີຕົວເລກ stream_index ໃນ
ໂຄງການທີ່ມີ id program_id. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນກົງກັບກະແສທັງໝົດໃນໂປຣແກຣມ.
#stream_id
ຈັບຄູ່ການຖ່າຍທອດໂດຍ ID ຮູບແບບສະເພາະ.
ຄວາມຫມາຍທີ່ແນ່ນອນຂອງຕົວກໍານົດການຖ່າຍທອດແມ່ນຖືກກໍານົດໂດຍ
"avformat_match_stream_specifier()" ຟັງຊັນທີ່ປະກາດໃນ libavformat/avformat.h
header
DEMUXERS
Demuxers ແມ່ນອົງປະກອບທີ່ກໍານົດໄວ້ໃນ FFmpeg ທີ່ສາມາດອ່ານສາຍມັນຕິມີເດຍຈາກ a
ປະເພດໄຟລ໌ໂດຍສະເພາະ.
ໃນເວລາທີ່ທ່ານ configure FFmpeg build ຂອງທ່ານ, ທັງຫມົດ demuxers ສະຫນັບສະຫນູນໄດ້ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.
ທ່ານສາມາດລາຍຊື່ອັນທີ່ມີຢູ່ທັງໝົດໂດຍໃຊ້ຕົວເລືອກການຕັ້ງຄ່າ "--list-demuxers".
ທ່ານສາມາດປິດການໃຊ້ງານ demuxers ທັງຫມົດໂດຍໃຊ້ຕົວເລືອກການຕັ້ງຄ່າ "--disable-demuxers", ແລະ.
ເລືອກເປີດໃຊ້ demuxer ດຽວດ້ວຍທາງເລືອກ "--enable-demuxer=DEMUXER", ຫຼືປິດການໃຊ້ງານ
ມັນມີທາງເລືອກ "--disable-demuxer=DEMUXER".
ຕົວເລືອກ "-formats" ຂອງເຄື່ອງມື ff* ຈະສະແດງລາຍຊື່ຂອງ demuxers ທີ່ເປີດໃຊ້ງານ.
ລາຍລະອຽດຂອງບາງ demuxers ທີ່ມີຢູ່ໃນປັດຈຸບັນດັ່ງຕໍ່ໄປນີ້.
aa
ຮູບແບບສຽງ 2, 3, ແລະ 4 demuxer.
demuxer ນີ້ຖືກນໍາໃຊ້ເພື່ອ demux ຮູບແບບສຽງ 2, 3, ແລະ 4 (.aa).
applehttp
Apple HTTP Live Streaming demuxer.
demuxer ນີ້ນໍາສະເຫນີ AVStreams ທັງຫມົດຈາກສາຍນ້ໍາ variant ທັງຫມົດ. ພາກສະຫນາມ id ຖືກກໍານົດເປັນ
ຕົວເລກດັດຊະນີອັດຕາບິດ. ໂດຍການຕັ້ງຄ່າການຍົກເລີກທຸງໃນ AVStreams (ໂດຍການກົດ 'a'
ຫຼື 'v' ໃນ ffplay), ຜູ້ໂທສາມາດຕັດສິນໃຈວ່າຈະຮັບສາຍພັນອັນໃດແທ້. ໄດ້
ອັດຕາບິດທັງໝົດຂອງຕົວແປທີ່ສະຕຣີມຂຶ້ນນຳແມ່ນມີໃຫ້ຢູ່ໃນລະຫັດເມຕາເດຕາ
ຊື່ວ່າ "variant_bitrate".
apng
Animated Portable Network Graphics demuxer.
demuxer ນີ້ຖືກນໍາໃຊ້ເພື່ອ demux ໄຟລ໌ APNG. ສ່ວນຫົວທັງໝົດ, ແຕ່ລາຍເຊັນ PNG, ເຖິງ (ແຕ່
ບໍ່ລວມ) fcTL chunk ທໍາອິດຖືກສົ່ງເປັນ extradata. ຫຼັງຈາກນັ້ນ, ເຟຣມຖືກແບ່ງອອກ
ເປັນຕ່ອນທັງໝົດລະຫວ່າງ fcTL ສອງອັນ, ຫຼືລະຫວ່າງ fcTL ສຸດທ້າຍ ແລະ IEND chunks.
-ignore_loop bool
ບໍ່ສົນໃຈຕົວແປ loop ໃນໄຟລ໌ຖ້າຕັ້ງ.
-max_fps int
ອັດຕາເຟຣມສູງສຸດໃນເຟຣມຕໍ່ວິນາທີ (0 ໂດຍບໍ່ຈຳກັດ).
-default_fps int
ຄ່າເລີ່ມຕົ້ນໃນເຟຣມຕໍ່ວິນາທີເມື່ອບໍ່ມີການລະບຸໄວ້ໃນໄຟລ໌ (0 ຄວາມຫມາຍ
ໄວເທົ່າທີ່ຈະໄວໄດ້).
asf
Advanced Systems Format demuxer.
demuxer ນີ້ຖືກນໍາໃຊ້ເພື່ອ demux ໄຟລ໌ ASF ແລະສະຕຣີມເຄືອຂ່າຍ MMS.
-no_resync_search bool
ຢ່າພະຍາຍາມ synchronize ໂດຍການຊອກຫາລະຫັດເລີ່ມຕົ້ນທາງເລືອກທີ່ແນ່ນອນ.
concat
Demuxer script concatenation virtual.
demuxer ນີ້ອ່ານບັນຊີລາຍຊື່ຂອງໄຟລ໌ແລະຄໍາແນະນໍາອື່ນໆຈາກໄຟລ໌ຂໍ້ຄວາມແລະ demuxes ໃຫ້ເຂົາເຈົ້າ
ຫຼັງຈາກທີ່ອື່ນໆ, ເປັນຖ້າຫາກວ່າຊອງທັງຫມົດຂອງເຂົາເຈົ້າໄດ້ຮັບການ muxed ເຂົ້າກັນ.
ເວລາໃນໄຟລ໌ຖືກປັບເພື່ອໃຫ້ໄຟລ໌ທໍາອິດເລີ່ມຕົ້ນທີ່ 0 ແລະແຕ່ລະຕໍ່ໄປ
ໄຟລ໌ເລີ່ມຕົ້ນບ່ອນທີ່ອັນກ່ອນຫນ້າສໍາເລັດ. ໃຫ້ສັງເກດວ່າມັນຖືກເຮັດໃນທົ່ວໂລກແລະອາດຈະເຮັດໃຫ້ເກີດ
ຊ່ອງຫວ່າງຖ້າສາຍນ້ໍາທັງຫມົດບໍ່ມີຄວາມຍາວຄືກັນ.
ໄຟລ໌ທັງໝົດຕ້ອງມີສະຕຣີມດຽວກັນ (ຕົວແປງສັນຍານດຽວກັນ, ຖານເວລາດຽວກັນ, ແລະອື່ນໆ).
ໄລຍະເວລາຂອງແຕ່ລະໄຟລ໌ຖືກນໍາໃຊ້ເພື່ອປັບເວລາຂອງໄຟລ໌ຕໍ່ໄປ: ຖ້າ
ໄລຍະເວລາແມ່ນບໍ່ຖືກຕ້ອງ (ເນື່ອງຈາກວ່າມັນໄດ້ຖືກຄິດໄລ່ໂດຍນໍາໃຊ້ bit-rate ຫຼືເນື່ອງຈາກວ່າໄຟລ໌ແມ່ນ
truncated, ສໍາລັບການຍົກຕົວຢ່າງ), ມັນສາມາດເຮັດໃຫ້ເກີດການປອມ. ຄໍາສັ່ງ "ໄລຍະເວລາ" ສາມາດຖືກນໍາໃຊ້ເພື່ອ
override ໄລຍະເວລາທີ່ເກັບໄວ້ໃນແຕ່ລະໄຟລ໌.
syntax
ສະຄຣິບເປັນໄຟລ໌ຂໍ້ຄວາມໃນ Extended-ASCII, ມີຄໍາສັ່ງຫນຶ່ງຕໍ່ແຖວ. ເສັ້ນຫວ່າງເປົ່າ,
ຊ່ອງຫວ່າງຊັ້ນນໍາ ແລະເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍ '#' ແມ່ນຖືກລະເລີຍ. ຄໍາສັ່ງຕໍ່ໄປນີ້ແມ່ນ
ຮັບຮູ້:
"ໄຟລ໌ ເສັ້ນທາງ"
ເສັ້ນທາງໄປຫາໄຟລ໌ທີ່ຈະອ່ານ; ຕົວອັກສອນພິເສດ ແລະຊ່ອງຫວ່າງຕ້ອງຖືກຫລົບໜີດ້ວຍ backslash
ຫຼືວົງຢືມດຽວ.
ຄຳແນະນຳທີ່ກ່ຽວຂ້ອງກັບໄຟລ໌ຕໍ່ໄປທັງໝົດນຳໃຊ້ກັບໄຟລ໌ນັ້ນ.
"ffconcat ສະບັບພາສາ 1.0 "
ກໍານົດປະເພດສະຄິບແລະສະບັບ. ມັນຍັງກໍານົດ ປອດໄພ ທາງເລືອກ 1 ຖ້າຫາກວ່າມັນແມ່ນເພື່ອ
ຄ່າເລີ່ມຕົ້ນຂອງມັນ -1.
ເພື່ອເຮັດໃຫ້ FFmpeg ຮັບຮູ້ຮູບແບບອັດຕະໂນມັດ, ຄໍາສັ່ງນີ້ຈະຕ້ອງປາກົດຢ່າງແນ່ນອນ
ຄືກັບ (ບໍ່ມີພື້ນທີ່ເພີ່ມເຕີມ ຫຼື byte-order-mark) ໃນແຖວທຳອິດຂອງສະຄຣິບ.
"ໄລຍະເວລາ ຍາກ"
ໄລຍະເວລາຂອງໄຟລ໌. ຂໍ້ມູນນີ້ສາມາດຖືກກໍານົດຈາກໄຟລ໌; ການລະບຸມັນ
ໃນທີ່ນີ້ອາດຈະມີປະສິດທິພາບຫຼາຍຂຶ້ນຫຼືຊ່ວຍໄດ້ຖ້າຂໍ້ມູນຈາກໄຟລ໌ບໍ່ມີ
ຫຼືຖືກຕ້ອງ.
ຖ້າໄລຍະເວລາຖືກກໍານົດສໍາລັບໄຟລ໌ທັງຫມົດ, ຫຼັງຈາກນັ້ນມັນກໍ່ເປັນໄປໄດ້ທີ່ຈະຊອກຫາທັງຫມົດ
ວິດີໂອທີ່ປະສົມປະສານ.
"ຈຸດ ເວລາ"
ຢູ່ໃນຈຸດຂອງໄຟລ໌. ເມື່ອ demuxer ເປີດໄຟລ໌ມັນທັນທີຊອກຫາການ
ເວລາທີ່ລະບຸໄວ້. ການສະແຫວງຫາແມ່ນເຮັດໄດ້ເພື່ອໃຫ້ສາຍນ້ໍາທັງຫມົດຖືກນໍາສະເຫນີຢ່າງສໍາເລັດຜົນ
ຢູ່ໃນຈຸດ.
ຄໍາສັ່ງນີ້ໃຊ້ໄດ້ດີທີ່ສຸດກັບຕົວແປງສັນຍານພາຍໃນກອບ, ເພາະວ່າສໍາລັບຕົວແປງສັນຍານທີ່ບໍ່ແມ່ນພາຍໃນ
ປົກກະຕິແລ້ວທ່ານຈະໄດ້ຮັບແພັກເກັດພິເສດກ່ອນຈຸດຕົວຈິງແລະເນື້ອໃນທີ່ຖອດລະຫັດ
ສ່ວນຫຼາຍອາດຈະປະກອບດ້ວຍກອບກ່ອນ In point ຄືກັນ.
ສໍາລັບແຕ່ລະໄຟລ໌, packets ກ່ອນໄຟລ໌ In point ຈະມີ timestamps ຫນ້ອຍກ່ວາ
ການຄິດໄລ່ເວລາເລີ່ມຕົ້ນຂອງໄຟລ໌ (ລົບໃນກໍລະນີຂອງໄຟລ໌ທໍາອິດ), ແລະ
ໄລຍະເວລາຂອງໄຟລ໌ (ຖ້າບໍ່ໄດ້ລະບຸໄວ້ໃນຄໍາສັ່ງ "ໄລຍະເວລາ") ຈະຖືກຫຼຸດລົງ
ອີງໃສ່ຈຸດທີ່ລະບຸໄວ້ຂອງເຂົາເຈົ້າ.
ເນື່ອງຈາກແພັກເກັດທີ່ມີທ່າແຮງກ່ອນຈຸດທີ່ລະບຸໄວ້, ເວລາແພັກເກັດອາດຈະ
ທັບຊ້ອນກັນລະຫວ່າງສອງໄຟລ໌ທີ່ເຊື່ອມຕໍ່ກັນ.
"ຈຸດຫມາຍປາຍທາງ ເວລາ"
ຈຸດອອກຂອງໄຟລ໌. ເມື່ອ demuxer ຮອດເວລາການຖອດລະຫັດທີ່ລະບຸໄວ້ໃນ
ນ້ໍາໃດໆ, ມັນຈັດການມັນເປັນການສິ້ນສຸດຂອງເງື່ອນໄຂໄຟລ໌ແລະຂ້າມກະແສ
ແລະຊຸດທີ່ຍັງເຫຼືອທັງໝົດຈາກສາຍນ້ຳທັງໝົດ.
ຈຸດອອກແມ່ນສະເພາະ, ຊຶ່ງຫມາຍຄວາມວ່າ demuxer ຈະບໍ່ສົ່ງອອກແພັກເກັດທີ່ມີ a
ການຖອດລະຫັດເວລາຫຼາຍກວ່າ ຫຼືເທົ່າກັບຈຸດອອກ.
ຄຳສັ່ງນີ້ໃຊ້ໄດ້ດີທີ່ສຸດກັບຕົວແປງສັນຍານພາຍໃນເຟຣມ ແລະຮູບແບບທີ່ມີກະແສທັງໝົດ
ແຊກແຊງຢ່າງແຫນ້ນຫນາ. ສໍາລັບ codecs ທີ່ບໍ່ແມ່ນ intra frame ປົກກະຕິແລ້ວທ່ານຈະໄດ້ຮັບເພີ່ມເຕີມ
ຊຸດທີ່ມີເວລາການນໍາສະເຫນີຫຼັງຈາກຈຸດ Out ດັ່ງນັ້ນເນື້ອຫາທີ່ຖອດລະຫັດຈະ
ສ່ວນຫຼາຍອາດຈະປະກອບດ້ວຍກອບຫຼັງຈາກຈຸດ Out ຄືກັນ. ຖ້າສາຍນ້ໍາຂອງເຈົ້າບໍ່ແຫນ້ນ
interleaved ທ່ານອາດຈະບໍ່ໄດ້ຮັບຊອງທັງຫມົດຈາກສາຍນ້ໍາທັງຫມົດກ່ອນທີ່ຈະ Out point ແລະທ່ານ
ອາດຈະພຽງແຕ່ສາມາດຖອດລະຫັດການຖ່າຍທອດທີ່ໄວທີ່ສຸດຈົນກ່ວາ Out point.
ໄລຍະເວລາຂອງໄຟລ໌ (ຖ້າບໍ່ໄດ້ລະບຸໄວ້ໃນຄໍາສັ່ງ "ໄລຍະເວລາ") ຈະເປັນ
ຫຼຸດລົງໂດຍອີງໃສ່ຈຸດ Out ທີ່ກໍານົດຂອງພວກເຂົາ.
"file_packet_metadata key=value"
ເມຕາເດຕາຂອງແພັກເກັດຂອງໄຟລ໌. metadata ທີ່ລະບຸໄວ້ຈະຖືກຕັ້ງຄ່າສໍາລັບແຕ່ລະໄຟລ໌
ແພັກເກັດ. ທ່ານສາມາດລະບຸຄໍາສັ່ງນີ້ຫຼາຍຄັ້ງເພື່ອເພີ່ມ metadata ຫຼາຍ
ການອອກສຽງ.
"ກະແສ"
ແນະນຳການຖ່າຍທອດໃນໄຟລ໌ສະເໝືອນ. ຄໍາສັ່ງທີ່ກ່ຽວຂ້ອງກັບການຖ່າຍທອດຕໍ່ໄປທັງໝົດ
ນຳໃຊ້ກັບກະແສທີ່ແນະນຳຫຼ້າສຸດ. ຄຸນສົມບັດການຖ່າຍທອດບາງອັນຈະຕ້ອງຖືກຕັ້ງເພື່ອ
ອະນຸຍາດໃຫ້ກໍານົດສະຕຣີມທີ່ກົງກັນໃນໄຟລ໌ຍ່ອຍໄດ້. ຖ້າບໍ່ມີສາຍນ້ໍາຖືກກໍານົດຢູ່ໃນ
script, streams ຈາກໄຟລ໌ທໍາອິດໄດ້ຖືກຄັດລອກ.
"exact_stream_id id"
ຕັ້ງ id ຂອງ stream ໄດ້. ຖ້າຄໍາສັ່ງນີ້ຖືກມອບໃຫ້, ສະຕິງກັບ
id ທີ່ສອດຄ້ອງກັນໃນໄຟລ໌ຍ່ອຍຈະຖືກໃຊ້. ນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະສໍາລັບ MPEG-PS
(VOB) ໄຟລ໌, ບ່ອນທີ່ຄໍາສັ່ງຂອງສາຍນ້ໍາແມ່ນບໍ່ຫນ້າເຊື່ອຖື.
ທາງເລືອກໃນການ
demuxer ນີ້ຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
ປອດໄພ
ຖ້າຕັ້ງເປັນ 1, ປະຕິເສດເສັ້ນທາງໄຟລ໌ທີ່ບໍ່ປອດໄພ. ເສັ້ນທາງໄຟລ໌ແມ່ນຖືວ່າປອດໄພຖ້າມັນບໍ່ມີ
ປະກອບມີຂໍ້ກໍານົດຂອງໂປໂຕຄອນແລະເປັນພີ່ນ້ອງກັນແລະອົງປະກອບທັງຫມົດມີພຽງແຕ່
ຕົວອັກສອນຈາກຊຸດຕົວອັກສອນແບບເຄື່ອນທີ່ (ຕົວອັກສອນ, ຕົວເລກ, ໄລຍະເວລາ, ຂີດກ້ອງ ແລະ
hyphen) ແລະບໍ່ມີໄລຍະເວລາໃນຕອນຕົ້ນຂອງອົງປະກອບ.
ຖ້າຕັ້ງເປັນ 0, ຊື່ໄຟລ໌ໃດກໍ່ຖືກຍອມຮັບ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ -1, ມັນເທົ່າກັບ 1 ຖ້າຮູບແບບຖືກກວດສອບອັດຕະໂນມັດ ແລະ 0
ຖ້າບໍ່ດັ່ງນັ້ນ.
auto_convert
ຖ້າຕັ້ງເປັນ 1, ພະຍາຍາມເຮັດການແປງອັດຕະໂນມັດໃນຂໍ້ມູນແພັກເກັດເພື່ອເຮັດໃຫ້ການຖ່າຍທອດ
ສາມາດຕໍ່ກັນໄດ້. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ໃນປັດຈຸບັນ, ການແປງພຽງແຕ່ແມ່ນການເພີ່ມຕົວກອງ bitstream h264_mp4toannexb ໃສ່
H.264 ຖ່າຍທອດໃນຮູບແບບ MP4. ນີ້ເປັນສິ່ງຈໍາເປັນໂດຍສະເພາະຖ້າມີການແກ້ໄຂ
ປ່ຽນແປງ.
. flv flv.
Adobe Flash ຮູບແບບວິດີໂອ demuxer.
demuxer ນີ້ຖືກນໍາໃຊ້ເພື່ອ demux ໄຟລ໌ FLV ແລະສະຕຣີມເຄືອຂ່າຍ RTMP.
-flv_metadata bool
ຈັດສັນການຖ່າຍທອດຕາມເນື້ອໃນອາເຣ onMetaData.
libgme
ຫ້ອງສະໝຸດ Game Music Emu ແມ່ນບ່ອນເກັບມ້ຽນໄຟລ໌ເພງວີດີໂອເກມ.
ເບິ່ງhttp://code.google.com/p/game-music-emu/> ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ.
ບາງໄຟລ໌ມີຫຼາຍເພງ. demuxer ຈະເລືອກເອົາເພງທໍາອິດໂດຍຄ່າເລີ່ມຕົ້ນ. ໄດ້
track_index ທາງເລືອກສາມາດຖືກນໍາໃຊ້ເພື່ອຄັດເລືອກເອົາເພງທີ່ແຕກຕ່າງກັນ. ຕິດຕາມດັດສະນີເລີ່ມຕົ້ນທີ່ 0. The
demuxer ສົ່ງອອກຈໍານວນຂອງເພງເປັນ ການຕິດຕາມ ການປ້ອນຂໍ້ມູນ meta.
ສໍາລັບໄຟລ໌ຂະຫນາດໃຫຍ່ຫຼາຍ, ໄດ້ ຂະໜາດສູງສຸດ ທາງເລືອກອາດຈະຕ້ອງໄດ້ຮັບການປັບ.
libquvi
ຫຼິ້ນສື່ຈາກການບໍລິການອິນເຕີເນັດໂດຍໃຊ້ໂຄງການ quvi.
demuxer ຍອມຮັບ a ຮູບແບບ ທາງເລືອກທີ່ຈະຮ້ອງຂໍໃຫ້ມີຄຸນນະພາບສະເພາະ. ມັນແມ່ນຕັ້ງໄວ້ໃນຕອນຕົ້ນ
ທີ່ດີທີ່ສຸດ.
ເບິ່ງhttp://quvi.sourceforge.net/> ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ.
FFmpeg ຕ້ອງໄດ້ຮັບການສ້າງດ້ວຍ "--enable-libquvi" ເພື່ອໃຫ້ demuxer ນີ້ຖືກເປີດໃຊ້.
gif
Animated GIF demuxer.
ມັນຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
min_delay
ກໍານົດຄວາມລ່າຊ້າທີ່ຖືກຕ້ອງຂັ້ນຕ່ໍາລະຫວ່າງເຟຣມໃນຫຼາຍຮ້ອຍວິນາທີ. ໄລຍະແມ່ນ 0 ຫາ
6000. ຄ່າເລີ່ມຕົ້ນແມ່ນ 2.
max_gif_delay
ກໍານົດຄວາມລ່າຊ້າທີ່ຖືກຕ້ອງສູງສຸດລະຫວ່າງເຟຣມໃນຮ້ອຍວິນາທີ. ໄລຍະແມ່ນ 0 ຫາ
65535. ຄ່າເລີ່ມຕົ້ນແມ່ນ 65535 (ເກືອບສິບເອັດນາທີ), ຄ່າສູງສຸດທີ່ອະນຸຍາດໂດຍ
ສະເພາະ.
default_delay
ກໍານົດຄວາມລ່າຊ້າເລີ່ມຕົ້ນລະຫວ່າງເຟຣມໃນຫຼາຍຮ້ອຍວິນາທີ. ຊ່ວງແມ່ນ 0 ຫາ 6000.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 10.
ignore_loop
ໄຟລ໌ GIF ສາມາດບັນຈຸຂໍ້ມູນເພື່ອ loop ຈໍານວນເວລາທີ່ແນ່ນອນ (ຫຼືບໍ່ມີຂອບເຂດ).
If ignore_loop ຖືກຕັ້ງເປັນ 1, ຫຼັງຈາກນັ້ນການຕັ້ງຄ່າ loop ຈາກ input ຈະຖືກລະເລີຍແລະ
looping ຈະບໍ່ເກີດຂຶ້ນ. ຖ້າຕັ້ງເປັນ 0, ຫຼັງຈາກນັ້ນການ looping ຈະເກີດຂຶ້ນແລະຈະວົງຈອນຕົວເລກ
ເວລາອີງຕາມ GIF. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ຕົວຢ່າງ, ດ້ວຍການກັ່ນຕອງການວາງຊ້ອນ, ວາງ GIF ທີ່ບໍ່ສິ້ນສຸດໃນວິດີໂອອື່ນ:
ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay=shortest=1 out.mkv
ໃຫ້ສັງເກດວ່າໃນຕົວຢ່າງຂ້າງເທິງທາງເລືອກທີ່ສັ້ນທີ່ສຸດສໍາລັບການກັ່ນຕອງການຊ້ອນກັນຖືກນໍາໃຊ້ເພື່ອສິ້ນສຸດ
ວິດີໂອຜົນຜະລິດໃນຄວາມຍາວຂອງໄຟລ໌ input ທີ່ສັ້ນທີ່ສຸດ, ເຊິ່ງໃນກໍລະນີນີ້ແມ່ນ input.mp4 as
GIF ໃນຕົວຢ່າງນີ້ loops infinite.
image2
ໄຟລ໌ຮູບພາບ demuxer.
demuxer ນີ້ອ່ານຈາກບັນຊີລາຍຊື່ຂອງໄຟລ໌ຮູບພາບທີ່ລະບຸໄວ້ໂດຍຮູບແບບ. syntax ແລະ
ຄວາມຫມາຍຂອງຮູບແບບແມ່ນກໍານົດໂດຍທາງເລືອກ ຮູບແບບ _ ປະເພດ.
ຮູບແບບອາດມີຄຳຕໍ່ທ້າຍທີ່ໃຊ້ເພື່ອກຳນົດຮູບແບບຂອງ
ຮູບພາບທີ່ມີຢູ່ໃນໄຟລ໌.
ຂະຫນາດ, ຮູບແບບ pixels ລວງ, ແລະຮູບແບບຂອງແຕ່ລະຮູບພາບຈະຕ້ອງຄືກັນສໍາລັບທັງຫມົດ
ໄຟລ໌ຢູ່ໃນລໍາດັບ.
demuxer ນີ້ຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
framerate
ກໍານົດອັດຕາເຟຣມສໍາລັບການຖ່າຍທອດວິດີໂອ. ມັນຕັ້ງໄວ້ເປັນ 25.
loop
ຖ້າຕັ້ງເປັນ 1, loop over the input. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
ຮູບແບບ _ ປະເພດ
ເລືອກປະເພດຮູບແບບທີ່ໃຊ້ເພື່ອຕີຄວາມໝາຍຊື່ໄຟລ໌ທີ່ສະໜອງໃຫ້.
ຮູບແບບ _ ປະເພດ ຍອມຮັບຫນຶ່ງໃນຄຸນຄ່າຕໍ່ໄປນີ້.
none
ປິດການໃຊ້ງານການຈັບຄູ່ຮູບແບບ, ດັ່ງນັ້ນວິດີໂອຈະມີພຽງແຕ່ລະບຸໄວ້
ຮູບ. ທ່ານຄວນໃຊ້ທາງເລືອກນີ້ຖ້າທ່ານບໍ່ຕ້ອງການສ້າງລໍາດັບຈາກ
ຫຼາຍຮູບ ແລະຊື່ໄຟລ໌ຂອງທ່ານອາດມີຕົວອັກສອນທີ່ມີຮູບແບບພິເສດ.
ລໍາດັບ
ເລືອກປະເພດຮູບແບບລໍາດັບ, ໃຊ້ເພື່ອລະບຸລໍາດັບຂອງໄຟລ໌ທີ່ຖືກດັດສະນີໂດຍ
ຕົວເລກລໍາດັບ.
ຮູບແບບລໍາດັບອາດມີສະຕຣິງ "%d" ຫຼື "%0Nd ", ເຊິ່ງລະບຸ
ຕໍາແຫນ່ງຂອງຕົວອັກສອນທີ່ເປັນຕົວແທນຂອງຕົວເລກລໍາດັບໃນແຕ່ລະຊື່ໄຟລ໌
ຈັບຄູ່ໂດຍຮູບແບບ. ຖ້າແບບຟອມ "%d0Nd" ຖືກນໍາໃຊ້, ສະຕຣິງທີ່ເປັນຕົວແທນຂອງ
ຕົວເລກໃນແຕ່ລະຊື່ໄຟລ໌ແມ່ນ 0-padded ແລະ N ແມ່ນຕົວເລກທັງໝົດຂອງ 0-padded digits
ເປັນຕົວແທນຂອງຕົວເລກ. ສາມາດລະບຸຕົວອັກສອນ '%' ໃນຮູບແບບ
ດ້ວຍສະຕຣິງ "%%".
ຖ້າຮູບແບບລໍາດັບມີ "%d" ຫຼື "%0Nd ", ຊື່ໄຟລ໌ທໍາອິດຂອງໄຟລ໌
ບັນຊີລາຍຊື່ທີ່ລະບຸໄວ້ໂດຍຮູບແບບຈະຕ້ອງມີຕົວເລກລວມຢູ່ໃນລະຫວ່າງ
start_number ແລະ start_number+start_number_range-1, ແລະຕົວເລກຕໍ່ໄປນີ້ທັງໝົດ
ຈະຕ້ອງເປັນລໍາດັບ.
ສໍາລັບຕົວຢ່າງ, ຮູບແບບ "img-%03d.bmp" ຈະກົງກັບລໍາດັບຂອງຊື່ໄຟລ໌ຂອງ.
ຮູບແບບ img-001.bmp, img-002.bmp, ... , img-010.bmp, ແລະອື່ນໆ; ຮູບແບບ
"i%%m%%g-%d.jpg" loading="lazy" ຈະກົງກັບລໍາດັບຂອງຊື່ໄຟລ໌ຂອງແບບຟອມ. i%m%g-1.jpg,
i%m%g-2.jpg, ... , i%m%g-10.jpg, ແລະອື່ນໆ
ຈື່ໄວ້ວ່າຮູບແບບຈະຕ້ອງບໍ່ຈຳເປັນມີ "%d" ຫຼື "%0Nd", ສໍາລັບການຍົກຕົວຢ່າງ
ປ່ຽນໄຟລ໌ຮູບພາບດຽວ img.jpeg ທ່ານສາມາດໃຊ້ຄໍາສັ່ງ:
ffmpeg -i img.jpeg img.png
ໂລກ
ເລືອກປະເພດຮູບແບບສັນຍາລັກຂອງຮູບດາວ.
ຮູບແບບດັ່ງກ່າວຖືກຕີຄວາມຄືກັບຮູບແບບ "glob()". ນີ້ແມ່ນພຽງແຕ່ເລືອກໄດ້ຖ້າຫາກວ່າ
libavformat ໄດ້ຖືກລວບລວມດ້ວຍການສະຫນັບສະຫນູນ globbing.
glob_sequence (ຄັດຄ້ານ, ຈະ be ລຶບອອກແລ້ວ)
ເລືອກຮູບສັນຍາລັກຮູບດາວແບບປະສົມ/ລຳດັບ.
ຖ້າຫາກວ່າສະບັບ libavformat ຂອງທ່ານໄດ້ຖືກສັງລວມໂດຍການສະຫນັບສະຫນູນ globbing, ແລະ
ຮູບແບບທີ່ສະໜອງໃຫ້ມີຢ່າງໜ້ອຍໜຶ່ງຕົວອັກສອນ meta glob ໃນບັນດາ "%*?[]{}" ນັ້ນຄື
ກ່ອນໜ້າດ້ວຍ "%", ຮູບແບບຖືກຕີຄວາມໝາຍຄືກັບຮູບແບບ "glob()",
ຖ້າບໍ່ດັ່ງນັ້ນມັນຖືກຕີຄວາມຄືກັບຮູບແບບລໍາດັບ.
ຕົວອັກສອນພິເສດທັງໝົດຂອງ glob "%*?[]{}" ຈະຕ້ອງຖືກນຳໜ້າດ້ວຍ "%". ໜີ ກ
ຕົວອັກສອນ "%" ເຈົ້າຈະໃຊ້ "%%".
ຕົວຢ່າງ: ຮູບແບບ "foo-%*.jpeg" ຈະກົງກັບຊື່ໄຟລ໌ທັງໝົດທີ່ນຳໜ້າໂດຍ
"foo-" ແລະສິ້ນສຸດດ້ວຍ ".jpeg", ແລະ "foo-%?%?%?.jpeg" ຈະກົງກັບທຸກອັນ.
ຊື່ໄຟລ໌ທີ່ນຳໜ້າດ້ວຍ "foo-", ຕິດຕາມດ້ວຍລຳດັບສາມຕົວອັກສອນ, ແລະ
ສິ້ນສຸດດ້ວຍ ".jpeg".
ປະເພດຮູບແບບນີ້ຖືກປະຕິເສດໃນເງື່ອນໄຂ ໂລກ ແລະ ລໍາດັບ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ glob_sequence.
pixel_format
ກໍານົດຮູບແບບ pixels ລວງຂອງຮູບພາບທີ່ຈະອ່ານ. ຖ້າບໍ່ໄດ້ລະບຸຮູບແບບ pixel ແມ່ນ
ເດົາຈາກໄຟລ໌ຮູບພາບທໍາອິດໃນລໍາດັບ.
start_number
ກໍານົດດັດຊະນີຂອງໄຟລ໌ທີ່ກົງກັບຮູບແບບໄຟລ໌ຮູບພາບເພື່ອເລີ່ມຕົ້ນການອ່ານຈາກ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
start_number_range
ກໍານົດຂອບເຂດໄລຍະຫ່າງຂອງດັດຊະນີເພື່ອກວດເບິ່ງໃນເວລາທີ່ຊອກຫາໄຟລ໌ຮູບພາບທໍາອິດໃນ
ລໍາດັບ, ເລີ່ມຈາກ start_number. ຄ່າເລີ່ມຕົ້ນແມ່ນ 5.
ts_from_file
ຖ້າຕັ້ງເປັນ 1, ຈະຕັ້ງເວລາກອບເປັນເວລາດັດແກ້ຂອງໄຟລ໌ຮູບພາບ. ໃຫ້ສັງເກດວ່າ
monotonity ຂອງ timestamps ບໍ່ໄດ້ສະຫນອງໃຫ້: ຮູບພາບໄປຢູ່ໃນລໍາດັບດຽວກັນໂດຍບໍ່ມີການນີ້
ທາງເລືອກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0. ຖ້າຕັ້ງເປັນ 2, ຈະຕັ້ງເວລາກອບເປັນການແກ້ໄຂ
ເວລາຂອງໄຟລ໌ຮູບພາບໃນຄວາມແມ່ນຍໍາ nanosecond.
video_size
ກໍານົດຂະຫນາດວິດີໂອຂອງຮູບພາບທີ່ຈະອ່ານ. ຖ້າບໍ່ໄດ້ລະບຸຂະຫນາດວິດີໂອແມ່ນຄາດເດົາ
ຈາກໄຟລ໌ຮູບພາບທໍາອິດໃນລໍາດັບ.
ຕົວຢ່າງ
· ການນໍາໃຊ້ ffmpeg ສໍາລັບການສ້າງວິດີໂອຈາກຮູບພາບຕ່າງໆໃນລໍາດັບໄຟລ໌ img-001.jpeg,
img-002.jpeg, ..., ສົມມຸດວ່າອັດຕາເຟຣມຂາເຂົ້າ 10 ເຟຣມຕໍ່ວິນາທີ:
ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
· ດັ່ງຂ້າງເທິງ, ແຕ່ເລີ່ມຕົ້ນໂດຍການອ່ານຈາກໄຟລ໌ທີ່ມີດັດຊະນີ 100 ໃນລໍາດັບ:
ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
· ອ່ານຮູບພາບທີ່ກົງກັບຮູບແບບ "*.png" loading="lazy" glob, ນັ້ນແມ່ນໄຟລ໌ທັງໝົດທີ່ສິ້ນສຸດດ້ວຍ.
".png" loading="lazy" ຕໍ່ທ້າຍ:
ffmpeg -framerate 10 -pattern_type glob -i "*.png" loading="lazy" out.mkv
mov/mp4/3gp/Quicktme
Quicktime / MP4 demuxer.
demuxer ນີ້ຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
enable_drefs
ເປີດໃຊ້ການໂຫຼດເພງພາຍນອກ, ປິດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ. ການເປີດໃຊ້ງານນີ້ສາມາດ
ຂໍ້ມູນທາງທິດສະດີຮົ່ວໄຫຼໃນບາງກໍລະນີການນໍາໃຊ້.
use_absolute_path
ອະນຸຍາດໃຫ້ການໂຫຼດຂອງທາງນອກໂດຍຜ່ານທາງທີ່ແທ້ຈິງ, ປິດການທໍາງານໂດຍຄ່າເລີ່ມຕົ້ນ. ການເປີດໃຊ້ງານ
ນີ້ເຮັດໃຫ້ເກີດຄວາມສ່ຽງດ້ານຄວາມປອດໄພ. ມັນຄວນຈະຖືກເປີດໃຊ້ພຽງແຕ່ຖ້າແຫຼ່ງທີ່ຮູ້ວ່າບໍ່ແມ່ນ
ເປັນອັນຕະລາຍ.
mpegts
MPEG-2 ການຂົນສົ່ງສະຕຣີມ demuxer.
demuxer ນີ້ຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
resync_size
ກໍານົດຂອບເຂດຈໍາກັດຂະຫນາດສໍາລັບການຊອກຫາ synchronization ໃຫມ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 65536.
fix_teletext_pts
ຍົກເລີກຄ່າແພັກເກັດ teletext PTS ແລະ DTS ດ້ວຍເວລາທີ່ຄິດໄລ່ຈາກ
PCR ຂອງໂຄງການທໍາອິດທີ່ກະແສ teletext ແມ່ນສ່ວນຫນຶ່ງຂອງແລະບໍ່ໄດ້ຖືກຍົກເລີກ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 1, ຕັ້ງຕົວເລືອກນີ້ເປັນ 0 ຖ້າທ່ານຕ້ອງການ packet teletext PTS ແລະ DTS ຂອງທ່ານ.
ຄຸນຄ່າທີ່ບໍ່ໄດ້ສໍາພັດ.
ts_packetsize
ຕົວເລືອກຜົນຜະລິດທີ່ບັນຈຸຂະໜາດແພັກເກັດດິບເປັນໄບຕ໌. ສະແດງຊຸດວັດຖຸດິບທີ່ກວດພົບ
ຂະຫນາດ, ບໍ່ສາມາດກໍານົດໂດຍຜູ້ໃຊ້.
scan_all_pmts
ສະແກນແລະສົມທົບ PMTs ທັງຫມົດ. ຄ່າແມ່ນຈໍານວນເຕັມທີ່ມີມູນຄ່າຈາກ -1 ຫາ 1 (-1 ຫມາຍຄວາມວ່າ
ການຕັ້ງຄ່າອັດຕະໂນມັດ, 1 ຫມາຍຄວາມວ່າເປີດໃຊ້ງານ, 0 ຫມາຍຄວາມວ່າປິດການໃຊ້ງານ). ຄ່າເລີ່ມຕົ້ນແມ່ນ -1.
ວິດີໂອດິບ
Demuxer ວິດີໂອດິບ.
demuxer ນີ້ອະນຸຍາດໃຫ້ຫນຶ່ງເພື່ອອ່ານຂໍ້ມູນວິດີໂອດິບ. ເນື່ອງຈາກວ່າບໍ່ມີສ່ວນຫົວທີ່ລະບຸ
ຕົວກໍານົດການວິດີໂອສົມມຸດ, ຜູ້ໃຊ້ຕ້ອງລະບຸໃຫ້ເຂົາເຈົ້າໃນຄໍາສັ່ງທີ່ຈະສາມາດຖອດລະຫັດໄດ້
ຂໍ້ມູນຢ່າງຖືກຕ້ອງ.
demuxer ນີ້ຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
framerate
ກໍານົດອັດຕາເຟຣມວິດີໂອການປ້ອນຂໍ້ມູນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 25.
pixel_format
ກໍານົດຮູບແບບ pixels ລວງຂອງວິດີໂອ input. ຄ່າເລີ່ມຕົ້ນແມ່ນ "yuv420p".
video_size
ກໍານົດຂະຫນາດວິດີໂອການປ້ອນຂໍ້ມູນ. ຄ່ານີ້ຕ້ອງຖືກລະບຸຢ່າງຈະແຈ້ງ.
ຕົວຢ່າງເພື່ອອ່ານໄຟລ໌ວິດີໂອດິບ input.raw ກັບ ffplay, ສົມມຸດວ່າຮູບແບບ pixel ຂອງ
"rgb24", ຂະຫນາດວິດີໂອ "320x240", ແລະອັດຕາເຟຣມຂອງ 10 ຮູບພາບຕໍ່ວິນາທີ, ນໍາໃຊ້.
ຄໍາສັ່ງ:
ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
sbg
SBaGen script demuxer.
demuxer ນີ້ອ່ານພາສາສະຄິບທີ່ໃຊ້ໂດຍ SBaGenhttp://uazu.net/sbagen/> ເຖິງ
ສ້າງ binaural beats sessions. ສະຄຣິບ SBG ເບິ່ງຄືວ່າ:
-ສ
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
ປິດ: -
ດຽວນີ້ == ກ
+0:07:00 == ຂ
+0:14:00 == ກ
+0:21:00 == ຂ
+0:30:00 ປິດ
ສະຄຣິບ SBG ສາມາດປະສົມການສະແຕມເວລາຢ່າງແທ້ຈິງ ແລະສົມທຽບໄດ້. ຖ້າສະຄຣິບໃຊ້ພຽງແຕ່
ການສະແຕມເວລາຢ່າງແທ້ຈິງ (ລວມທັງເວລາເລີ່ມຕົ້ນຂອງສະຄຣິບ) ຫຼືພຽງແຕ່ອັນທີ່ກ່ຽວຂ້ອງ, ຈາກນັ້ນມັນ
ຮູບແບບຖືກແກ້ໄຂ, ແລະການແປງແມ່ນກົງໄປກົງມາ. ໃນທາງກົງກັນຂ້າມ, ຖ້າ script
ປະສົມທັງສອງປະເພດຂອງ timestamps, ຫຼັງຈາກນັ້ນໄດ້ NOW ການອ້າງອິງສໍາລັບການສະແຕມເວລາທີ່ກ່ຽວຂ້ອງຈະເປັນ
ເອົາມາຈາກເວລາປະຈຸບັນຂອງມື້ໃນເວລາທີ່ອ່ານ script, ແລະຮູບແບບ script
ຈະຖືກແຊ່ແຂງຕາມການອ້າງອີງນັ້ນ. ນັ້ນຫມາຍຄວາມວ່າຖ້າ script ແມ່ນໂດຍກົງ
ມີຄົນຫຼິ້ນ, ເວລາຕົວຈິງຈະກົງກັບເວລາທີ່ແນ່ນອນຂຶ້ນກັບຕົວຄວບຄຸມສຽງ
ຄວາມຖືກຕ້ອງຂອງໂມງ, ແຕ່ຖ້າຜູ້ໃຊ້ຢຸດການຫຼິ້ນຫຼືຊອກຫາ, ເວລາທັງຫມົດຈະເປັນ
ຍ້າຍຕາມຄວາມເຫມາະສົມ.
ຄຳບັນຍາຍ
ຄຳບັນຍາຍ JSON ໃຊ້ສຳລັບhttp://www.ted.com/>.
TED ບໍ່ໄດ້ສະຫນອງການເຊື່ອມຕໍ່ກັບຄໍາບັນຍາຍ, ແຕ່ພວກເຂົາສາມາດຄາດເດົາໄດ້ຈາກຫນ້າ. ໄດ້
ເອກະສານ tools/bookmarklets.html ຈາກຕົ້ນໄມ້ແຫຼ່ງ FFmpeg ມີ bookmarklet ທີ່ຈະເປີດເຜີຍ
ໃຫ້ເຂົາເຈົ້າ.
demuxer ນີ້ຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
start_time
ຕັ້ງເວລາເລີ່ມຕົ້ນຂອງການສົນທະນາ TED, ເປັນ milliseconds. ຄ່າເລີ່ມຕົ້ນແມ່ນ 15000 (15ວິ). ມັນແມ່ນ
ໃຊ້ເພື່ອຊິງຄ໌ຄຳບັນຍາຍກັບວິດີໂອທີ່ສາມາດດາວໂຫຼດໄດ້, ເພາະວ່າພວກມັນປະກອບມີ 15s
ແນະນຳ.
ຕົວຢ່າງ: ປ່ຽນຄຳບັນຍາຍເປັນຮູບແບບທີ່ຜູ້ຫຼິ້ນສ່ວນໃຫຍ່ເຂົ້າໃຈ:
ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
MUXERS
Muxers ແມ່ນອົງປະກອບທີ່ກໍາຫນົດຄ່າໃນ FFmpeg ເຊິ່ງອະນຸຍາດໃຫ້ຂຽນ multimedia streams ກັບ a
ປະເພດໄຟລ໌ໂດຍສະເພາະ.
ໃນເວລາທີ່ທ່ານ configure FFmpeg build ຂອງທ່ານ, ທັງຫມົດ muxers ສະຫນັບສະຫນູນໄດ້ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ. ເຈົ້າ
ສາມາດລາຍຊື່ muxers ທີ່ມີຢູ່ທັງຫມົດໂດຍໃຊ້ຕົວເລືອກ configure "--list-muxers".
ທ່ານສາມາດປິດການໃຊ້ງານ muxers ທັງໝົດດ້ວຍຕົວເລືອກການຕັ້ງຄ່າ "--disable-muxers" ແລະ
ເລືອກເປີດ / ປິດການໃຊ້ງານ muxers ດຽວດ້ວຍຕົວເລືອກ "--enable-muxer=MUXER" /
"--disable-muxer=MUXER".
ຕົວເລືອກ "-formats" ຂອງເຄື່ອງມື ff* ຈະສະແດງລາຍຊື່ຂອງ muxers ທີ່ເປີດໃຊ້ງານ.
ລາຍລະອຽດຂອງບາງ muxers ທີ່ມີຢູ່ໃນປັດຈຸບັນດັ່ງຕໍ່ໄປນີ້.
oof
muxer ຮູບແບບເອກະສານແລກປ່ຽນສຽງ.
ທາງເລືອກໃນການ
ມັນຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
write_id3v2
ເປີດໃຊ້ງານການຂຽນແທັກ ID3v2 ເມື່ອຕັ້ງເປັນ 1. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ປິດໃຊ້ງານ).
id3v2_version
ເລືອກລຸ້ນ ID3v2 ເພື່ອຂຽນ. ໃນປັດຈຸບັນມີພຽງແຕ່ສະບັບ 3 ແລະ 4 (aka. ID3v2.3 ແລະ
ID3v2.4) ສະຫນັບສະຫນູນ. ຄ່າເລີ່ມຕົ້ນແມ່ນລຸ້ນ 4.
crc
ຮູບແບບການທົດສອບ CRC (Cyclic Redundancy Check).
muxer ນີ້ computes ແລະພິມ Adler-32 CRC ຂອງທັງຫມົດ input ສຽງແລະວິດີໂອກອບ.
ໂດຍຄ່າເລີ່ມຕົ້ນຂອງເຟຣມສຽງຈະຖືກປ່ຽນເປັນຮູບດິບ 16-ບິດສຽງ ແລະເຟຣມວິດີໂອເປັນດິບ
ວິດີໂອກ່ອນທີ່ຈະຄິດໄລ່ CRC.
ຜົນຜະລິດຂອງ muxer ປະກອບດ້ວຍເສັ້ນດຽວຂອງແບບຟອມ: CRC=0xCRC, ບ່ອນທີ່ CRC ເປັນ
ເລກຖານສິບຫົກ 0-padded ເປັນ 8 ຕົວເລກທີ່ມີ CRC ສໍາລັບທຸກ input ຖອດລະຫັດ.
ກອບ.
ເບິ່ງອີກ framecrc muxer.
ຕົວຢ່າງ
ຕົວຢ່າງເພື່ອຄິດໄລ່ CRC ຂອງວັດສະດຸປ້ອນ, ແລະເກັບໄວ້ໃນໄຟລ໌ out.crc:
ffmpeg -i INPUT -f crc out.crc
ທ່ານສາມາດພິມ CRC ເພື່ອ stdout ດ້ວຍຄໍາສັ່ງ:
ffmpeg -i INPUT -f crc -
ທ່ານສາມາດເລືອກຮູບແບບຜົນຜະລິດຂອງແຕ່ລະກອບທີ່ມີ ffmpeg ໂດຍການລະບຸສຽງແລະ
ຕົວແປງສັນຍານວິດີໂອແລະຮູບແບບ. ຕົວຢ່າງເພື່ອຄິດໄລ່ CRC ຂອງສຽງປ້ອນເຂົ້າທີ່ປ່ຽນເປັນ PCM
unsigned 8-bit ແລະວິດີໂອການປ້ອນຂໍ້ມູນທີ່ປ່ຽນເປັນວິດີໂອ MPEG-2, ໃຊ້ຄໍາສັ່ງ:
ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
framecrc
ຮູບແບບການທົດສອບ CRC (Cyclic Redundancy Check) ຕໍ່ຊຸດ.
muxer ນີ້ຄິດໄລ່ແລະພິມ Adler-32 CRC ສໍາລັບແຕ່ລະຊຸດສຽງແລະວິດີໂອ. ໂດຍ
ເຟຣມສຽງເລີ່ມຕົ້ນຖືກປ່ຽນເປັນຮູບດິບ 16-ບິດສຽງ ແລະເຟຣມວິດີໂອເປັນດິບ
ວິດີໂອກ່ອນທີ່ຈະຄິດໄລ່ CRC.
ຜົນຜະລິດຂອງ muxer ປະກອບດ້ວຍເສັ້ນສໍາລັບແຕ່ລະຊຸດສຽງແລະວິດີໂອຂອງແບບຟອມ:
, , , , , 0x
CRC ແມ່ນຕົວເລກເລກຖານສິບຫົກ 0-padded ກັບ 8 ຕົວເລກທີ່ມີ CRC ຂອງແພັກເກັດ.
ຕົວຢ່າງ
ຕົວຢ່າງເພື່ອຄິດໄລ່ CRC ຂອງກອບສຽງແລະວິດີໂອໃນ ປັດໄຈນໍາເຂົ້າ, ປ່ຽນເປັນວັດຖຸດິບ
ແພັກເກັດສຽງ ແລະວິດີໂອ, ແລະເກັບໄວ້ໃນໄຟລ໌ out.crc:
ffmpeg -i INPUT -f framecrc out.crc
ເພື່ອພິມຂໍ້ມູນໃສ່ stdout, ໃຊ້ຄໍາສັ່ງ:
ffmpeg -i INPUT -f framecrc -
ກັບ ffmpeg, ທ່ານສາມາດເລືອກເອົາຮູບແບບຜົນຜະລິດທີ່ຮູບພາບສຽງແລະວິດີໂອແມ່ນ
ເຂົ້າລະຫັດໄວ້ກ່ອນທີ່ຈະຄິດໄລ່ CRC ສໍາລັບແຕ່ລະແພັກເກັດໂດຍການລະບຸຕົວແປງສັນຍານສຽງ ແລະວິດີໂອ.
ຕົວຢ່າງ, ເພື່ອຄິດໄລ່ CRC ຂອງແຕ່ລະກອບສຽງປ້ອນເຂົ້າທີ່ຖອດລະຫັດປ່ຽນເປັນ PCM
unsigned 8-bit ແລະແຕ່ລະກອບວິດີໂອການປ້ອນຂໍ້ມູນຖອດລະຫັດປ່ຽນເປັນວິດີໂອ MPEG-2, ໃຊ້
ຄໍາສັ່ງ:
ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f framecrc -
ເບິ່ງອີກ crc muxer.
framemd5
ຮູບແບບການທົດສອບຕໍ່ແພັກເກັດ MD5.
muxer ນີ້ຄິດໄລ່ແລະພິມ hash MD5 ສໍາລັບແຕ່ລະຊຸດສຽງແລະວິດີໂອ. ໂດຍຄ່າເລີ່ມຕົ້ນ
ເຟຣມສຽງຖືກປ່ຽນເປັນສຽງດິບ 16-ບິດ ແລະກອບວິດີໂອເປັນວິດີໂອດິບກ່ອນ
ການຄິດໄລ່ hash ໄດ້.
ຜົນຜະລິດຂອງ muxer ປະກອບດ້ວຍເສັ້ນສໍາລັບແຕ່ລະຊຸດສຽງແລະວິດີໂອຂອງແບບຟອມ:
, , , , ,
MD5 ແມ່ນເລກຖານສິບຫົກທີ່ເປັນຕົວແທນຂອງ hash MD5 ທີ່ຄຳນວນແລ້ວສຳລັບແພັກເກັດ.
ຕົວຢ່າງ
ສໍາລັບຕົວຢ່າງທີ່ຈະຄິດໄລ່ MD5 ຂອງເຟຣມສຽງແລະວິດີໂອໃນ ປັດໄຈນໍາເຂົ້າ, ປ່ຽນເປັນວັດຖຸດິບ
ແພັກເກັດສຽງ ແລະວິດີໂອ, ແລະເກັບໄວ້ໃນໄຟລ໌ out.md5:
ffmpeg -i INPUT -f framemd5 out.md5
ເພື່ອພິມຂໍ້ມູນໃສ່ stdout, ໃຊ້ຄໍາສັ່ງ:
ffmpeg -i INPUT -f framemd5 -
ເບິ່ງອີກ md5 muxer.
gif
Animated GIF muxer.
ມັນຍອມຮັບທາງເລືອກຕໍ່ໄປນີ້:
loop
ກໍານົດຈໍານວນເວລາທີ່ຈະ loop ຜົນຜະລິດ. ໃຊ້ "-1" ສໍາລັບການບໍ່ມີ loop, 0 ສໍາລັບ looping
ບໍ່ມີກຳນົດ (ຄ່າເລີ່ມຕົ້ນ).
final_delay
ບັງຄັບຄວາມລ່າຊ້າ (ສະແດງອອກເປັນ centiseconds) ຫຼັງຈາກກອບສຸດທ້າຍ. ແຕ່ລະກອບຈົບລົງດ້ວຍ
ການຊັກຊ້າຈົນກ່ວາກອບຕໍ່ໄປ. ຄ່າເລີ່ມຕົ້ນແມ່ນ "-1", ເຊິ່ງເປັນຄ່າພິເສດທີ່ຈະບອກ
muxer ເພື່ອໃຊ້ຄືນຄວາມລ່າຊ້າທີ່ຜ່ານມາ. ໃນກໍລະນີຂອງ loop, ທ່ານອາດຈະຕ້ອງການປັບແຕ່ງ
ຄ່ານີ້ເພື່ອໝາຍການຢຸດຊົ່ວຄາວເຊັ່ນ.
ຕົວຢ່າງ, ເພື່ອເຂົ້າລະຫັດ gif looping 10 ເທື່ອ, ດ້ວຍການຊັກຊ້າ 5 ວິນາທີລະຫວ່າງ loops:
ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif
ຫມາຍເຫດ 1: ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະແຍກກອບໃນໄຟລ໌ GIF ແຍກຕ່າງຫາກ, ທ່ານຈໍາເປັນຕ້ອງໄດ້ບັງຄັບ
image2 muxer:
ffmpeg -i INPUT -c:v gif -f image2 "out%d.gif"
ຫມາຍເຫດ 2: ຮູບແບບ GIF ມີຖານທີ່ໃຊ້ເວລາຂະຫນາດນ້ອຍຫຼາຍ: ການຊັກຊ້າລະຫວ່າງສອງເຟຣມບໍ່ສາມາດເປັນ
ນ້ອຍກວ່າໜຶ່ງເຊັນຕິວິນາທີ.
hls
Apple HTTP Live Streaming muxer ທີ່ແບ່ງສ່ວນ MPEG-TS ຕາມ HTTP Live Streaming
(HLS).
ມັນສ້າງໄຟລ໌ playlist, ແລະຫນຶ່ງຫຼືຫຼາຍ segment ໄຟລ໌. ຊື່ໄຟລ໌ຜົນຜະລິດກໍານົດ
ຊື່ໄຟລ໌ລາຍການຫຼິ້ນ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, muxer ສ້າງໄຟລ໌ສໍາລັບແຕ່ລະພາກສ່ວນທີ່ຜະລິດ. ໄຟລ໌ເຫຼົ່ານີ້ມີຄືກັນ
ຊື່ເປັນລາຍການຫຼິ້ນ, ຕາມດ້ວຍເລກລໍາດັບ ແລະນາມສະກຸນ .ts.
ສໍາລັບຕົວຢ່າງ, ການປ່ຽນໄຟລ໌ປ້ອນຂໍ້ມູນທີ່ມີ ffmpeg:
ffmpeg -i in.nut out.m3u8
ຕົວຢ່າງນີ້ຈະຜະລິດລາຍການຫຼິ້ນ, out.m3u8, ແລະໄຟລ໌ segment: out0.ts, out1.ts,
out2.ts, ແລະອື່ນໆ
ເບິ່ງອີກ ສ່ວນ muxer, ເຊິ່ງສະຫນອງການປະຕິບັດທົ່ວໄປແລະມີຄວາມຍືດຫຍຸ່ນຫຼາຍຂອງ a
segmenter, ແລະສາມາດຖືກນໍາໃຊ້ເພື່ອປະຕິບັດການແບ່ງສ່ວນ HLS.
ທາງເລືອກໃນການ
muxer ນີ້ສະຫນັບສະຫນູນທາງເລືອກດັ່ງຕໍ່ໄປນີ້:
hls_time ວິນາທີ
ກໍານົດຄວາມຍາວຂອງສ່ວນເປັນວິນາທີ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 2.
hls_list_size ຂະຫນາດ
ກໍານົດຈໍານວນສູງສຸດຂອງລາຍການ playlist. ຖ້າຕັ້ງເປັນ 0 ໄຟລ໌ລາຍຊື່ຈະມີທັງໝົດ
ສ່ວນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 5.
hls_ts_options options_list
ຕັ້ງຕົວເລືອກຮູບແບບຜົນຜະລິດໂດຍໃຊ້ :-separated list of key=value parameters. ຄຸນຄ່າ
ມີ ":" ຕົວອັກສອນພິເສດຕ້ອງຖືກຫລົບຫນີ.
hls_wrap ຫໍ່
ກໍານົດຕົວເລກຫຼັງຈາກນັ້ນຈໍານວນຊື່ໄຟລ໌ segment (ຈໍານວນທີ່ລະບຸໄວ້ໃນແຕ່ລະ
segment file) wraps. ຖ້າຕັ້ງເປັນ 0 ຕົວເລກຈະບໍ່ຖືກຫໍ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດເພື່ອຫຼີກເວັ້ນການຕື່ມຂໍ້ມູນໃສ່ແຜ່ນທີ່ມີໄຟລ໌ segment ຫຼາຍ, ແລະຂໍ້ຈໍາກັດ
ຈໍານວນສູງສຸດຂອງໄຟລ໌ segment ລາຍລັກອັກສອນໃນ disk ກັບ ຫໍ່.
start_number ຈໍານວນ
ເລີ່ມເລກລໍາດັບລາຍການຫຼິ້ນຈາກ ຈໍານວນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
hls_allow_cache ອະນຸຍາດແຄດ
ກໍານົດຢ່າງຊັດເຈນວ່າລູກຄ້າອາດຈະ \fis0(1) ຫຼືຕ້ອງບໍ່ \fis0(0) cache media
ສ່ວນ.
hls_base_url baseurl
ເອກະສານຊ້ອນທ້າຍ baseurl ຕໍ່ກັບທຸກໆລາຍການໃນລາຍການຫຼິ້ນ. ເປັນປະໂຫຍດເພື່ອສ້າງ playlists ກັບ
ເສັ້ນທາງຢ່າງແທ້ຈິງ.
ກະລຸນາຮັບຊາບວ່າໝາຍເລກລຳດັບລາຍການຫຼິ້ນຈະຕ້ອງບໍ່ຊໍ້າກັນສຳລັບແຕ່ລະພາກສ່ວນ ແລະມັນບໍ່ແມ່ນ
ທີ່ຈະສັບສົນກັບຕົວເລກລໍາດັບຊື່ໄຟລ໌ segment ທີ່ສາມາດເປັນວົງຈອນ, ສໍາລັບ
ຕົວຢ່າງຖ້າຫາກວ່າ ຫໍ່ ທາງເລືອກແມ່ນລະບຸໄວ້.
hls_segment_filename ຊື່ເອກະສານ
ຕັ້ງຊື່ໄຟລ໌ສ່ວນ. ເວັ້ນເສຍແຕ່ວ່າ hls_flags single_file ຈະຖືກຕັ້ງ ຊື່ເອກະສານ ຖືກນໍາໃຊ້ເປັນ
ຮູບແບບສະຕຣິງທີ່ມີເລກສ່ວນ:
ffmpeg in.nut -hls_segment_filename 'file%03d.ts' out.m3u8
ຕົວຢ່າງນີ້ຈະຜະລິດລາຍການຫຼິ້ນ, out.m3u8, ແລະໄຟລ໌ segment: file000.ts,
file001.ts, file002.ts, ແລະອື່ນໆ
hls_key_info_file key_info_file
ໃຊ້ຂໍ້ມູນໃນ key_info_file ສໍາລັບການເຂົ້າລະຫັດສ່ວນ. ເສັ້ນທໍາອິດຂອງ
key_info_file ລະບຸລະຫັດ URI ທີ່ຂຽນໃສ່ລາຍການຫຼິ້ນ. URL ທີ່ສໍາຄັນຖືກນໍາໃຊ້ເພື່ອ
ເຂົ້າເຖິງລະຫັດການເຂົ້າລະຫັດໃນລະຫວ່າງການຫຼິ້ນ. ແຖວທີສອງລະບຸເສັ້ນທາງໄປຫາ
ໄຟລ໌ທີ່ສໍາຄັນນໍາໃຊ້ເພື່ອໄດ້ຮັບກະແຈໃນລະຫວ່າງການຂະບວນການເຂົ້າລະຫັດ. ໄຟລ໌ທີ່ສໍາຄັນແມ່ນອ່ານເປັນ
array packed ດຽວຂອງ 16 octets ໃນຮູບແບບຖານສອງ. ແຖວທີສາມທາງເລືອກກໍານົດ
vector ການເລີ່ມຕົ້ນ (IV) ເປັນ string ເລກຖານສິບຫົກທີ່ຈະໃຊ້ແທນ
ໝາຍເລກລຳດັບ segment (ຄ່າເລີ່ມຕົ້ນ) ສຳລັບການເຂົ້າລະຫັດ. ການປ່ຽນແປງ key_info_file ຈະມີຜົນ
ໃນການເຂົ້າລະຫັດພາກສ່ວນທີ່ມີກະແຈໃຫມ່ / IV ແລະການເຂົ້າໃນ playlist ສໍາລັບກະແຈໃຫມ່
URI/IV.
ຮູບແບບໄຟລ໌ຂໍ້ມູນຫຼັກ:
(ທາງເລືອກ)
ຕົວຢ່າງ URI ຫຼັກ:
http://server/file.key
/path/to/file.key
file.key
ຕົວຢ່າງເສັ້ນທາງໄຟລ໌ທີ່ສໍາຄັນ:
file.key
/path/to/file.key
ຕົວຢ່າງ IV:
0123456789ABCDEF0123456789ABCDEF
ຕົວຢ່າງໄຟລ໌ຂໍ້ມູນຫຼັກ:
http://server/file.key
/path/to/file.key
0123456789ABCDEF0123456789ABCDEF
ຕົວຢ່າງ shell script:
#!/ ຖັງ / sh
BASE_URL=${1:-'.'}
openssl rand 16 > file.key
echo $BASE_URL/file.key > file.keyinfo
echo file.key >> file.keyinfo
echo $(openssl rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \
-hls_key_info_file file.keyinfo out.m3u8
hls_flags single_file
ຖ້າທຸງນີ້ຖືກຕັ້ງ, muxer ຈະເກັບທຸກພາກສ່ວນໃນໄຟລ໌ MPEG-TS ດຽວ, ແລະ
ຈະໃຊ້ຂອບເຂດ byte ໃນລາຍການຫຼິ້ນ. ລາຍການຫຼິ້ນ HLS ທີ່ສ້າງຂຶ້ນດ້ວຍວິທີນີ້ຈະມີ
ສະບັບເລກທີ 4. ຕົວຢ່າງ:
ffmpeg -i in.nut -hls_flags single_file out.m3u8
ຈະສ້າງ playlist ໄດ້, out.m3u8, ແລະໄຟລ໌ພາກສ່ວນດຽວ, out.ts.
hls_flags delete_segments
ໄຟລ໌ສ່ວນທີ່ເອົາອອກຈາກ playlist ໄດ້ຖືກລຶບອອກຫຼັງຈາກໄລຍະເວລາທີ່ເທົ່າກັບ
ໄລຍະເວລາຂອງພາກສ່ວນບວກກັບໄລຍະເວລາຂອງລາຍການຫຼິ້ນ.
ico
ICO file muxer.
ຮູບແບບໄຟລ໌ໄອຄອນຂອງ Microsoft (ICO) ມີຂໍ້ຈຳກັດທີ່ເຄັ່ງຄັດທີ່ຄວນສັງເກດ:
· ຂະໜາດບໍ່ສາມາດເກີນ 256 pixels ໃນທຸກມິຕິ
·ພຽງແຕ່ຮູບພາບ BMP ແລະ PNG ສາມາດຖືກເກັບໄວ້
· ຖ້າຫາກວ່າຮູບພາບ BMP ຖືກນໍາໃຊ້, ມັນຈະຕ້ອງເປັນຫນຶ່ງໃນຮູບແບບ pixel ດັ່ງຕໍ່ໄປນີ້:
BMP ຄວາມເລິກບິດຮູບແບບ FFmpeg Pixel
ໝູ່ 1 ບິດ 8
ໝູ່ 4 ບິດ 8
ໝູ່ 8 ບິດ 8
16ບິດ rgb555le
24bit bgr24
32 ບິດ bgra
· ຖ້າໃຊ້ຮູບພາບ BMP, ມັນຕ້ອງໃຊ້ສ່ວນຫົວ BITMAPIINFOHEADER DIB
· ຖ້າໃຊ້ຮູບພາບ PNG, ມັນຕ້ອງໃຊ້ຮູບແບບ rgba pixel
image2
muxer ໄຟລ໌ຮູບພາບ.
ໄຟລ໌ຮູບພາບ muxer ຂຽນກອບວິດີໂອກັບໄຟລ໌ຮູບພາບ.
ຊື່ໄຟລ໌ຜົນຜະລິດໄດ້ຖືກກໍານົດໂດຍຮູບແບບ, ເຊິ່ງສາມາດຖືກນໍາໃຊ້ເພື່ອຜະລິດຕາມລໍາດັບ
ຈໍານວນຊຸດຂອງໄຟລ໌. ຮູບແບບດັ່ງກ່າວອາດມີສະຕຣິງ "%d" ຫຼື "%0Nd ", ສາຍນີ້
ກໍານົດຕໍາແຫນ່ງຂອງຕົວອັກສອນທີ່ເປັນຕົວແທນຂອງຕົວເລກໃນຊື່ໄຟລ໌. ຖ້າ
ແບບຟອມ "%0Nd" ຖືກນໍາໃຊ້, ສະຕຣິງທີ່ເປັນຕົວແທນຂອງຕົວເລກໃນແຕ່ລະຊື່ໄຟລ໌ແມ່ນ 0-padded ກັບ N
ຕົວເລກ. ຕົວອັກສອນ '%' ສາມາດຖືກລະບຸໄວ້ໃນຮູບແບບທີ່ມີສະຕຣິງ "%%".
ຖ້າຮູບແບບມີ "%d" ຫຼື "%0Nd", ຊື່ໄຟລ໌ທໍາອິດຂອງລາຍການໄຟລ໌ທີ່ລະບຸໄວ້ຈະ
ມີຕົວເລກ 1, ຕົວເລກຕໍ່ໄປນີ້ທັງຫມົດຈະເປັນລໍາດັບ.
ຮູບແບບອາດມີຄຳຕໍ່ທ້າຍທີ່ໃຊ້ເພື່ອກຳນົດຮູບແບບຂອງ
ໄຟລ໌ຮູບພາບທີ່ຈະຂຽນ.
ຕົວຢ່າງເຊັ່ນຮູບແບບ "img-%03d.bmp" ຈະລະບຸລໍາດັບຂອງຊື່ໄຟລ໌ຂອງແບບຟອມ.
img-001.bmp, img-002.bmp, ... , img-010.bmp, ແລະອື່ນໆ ຮູບແບບ "img%%-%d.jpg" loading="lazy" ຈະລະບຸ
ລຳດັບຂອງຊື່ໄຟລ໌ຂອງແບບຟອມ img%-1.jpg, img%-2.jpg, ... , img%-10.jpg, ແລະອື່ນໆ
ຕົວຢ່າງ
ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນວິທີການນໍາໃຊ້ ffmpeg ສໍາລັບການສ້າງລໍາດັບຂອງໄຟລ໌
img-001.jpeg, img-002.jpeg, ... , ຖ່າຍຮູບຫນຶ່ງໃນທຸກໆວິນາທີຈາກວິດີໂອການປ້ອນຂໍ້ມູນ:
ffmpeg -i in.avi -vsync 1 -r 1 -f image2 'img-%03d.jpeg'
ໃຫ້ສັງເກດວ່າກັບ ffmpeg, ຖ້າຮູບແບບບໍ່ໄດ້ຖືກລະບຸດ້ວຍຕົວເລືອກ "-f" ແລະຜົນຜະລິດ
filename ກໍານົດຮູບແບບໄຟລ໌ຮູບພາບ, image2 muxer ຖືກເລືອກອັດຕະໂນມັດ, ດັ່ງນັ້ນ
ຄໍາສັ່ງທີ່ຜ່ານມາສາມາດຂຽນເປັນ:
ffmpeg -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'
ກະລຸນາຮັບຊາບວ່າຮູບແບບຈະຕ້ອງບໍ່ຈຳເປັນມີ "%d" ຫຼື "%0Nd", ສໍາລັບການຍົກຕົວຢ່າງ
ສ້າງໄຟລ໌ຮູບພາບດຽວ img.jpeg ຈາກວິດີໂອການປ້ອນຂໍ້ມູນທີ່ທ່ານສາມາດໃຊ້ຄໍາສັ່ງ:
ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
ໄດ້ ເວລາຕໍ່ເວລາ ທາງເລືອກອະນຸຍາດໃຫ້ທ່ານສາມາດຂະຫຍາຍຊື່ໄຟລ໌ທີ່ມີຂໍ້ມູນວັນທີແລະເວລາ.
ກວດເບິ່ງເອກະສານຂອງຟັງຊັນ "strftime()" ສໍາລັບ syntax.
ຕົວຢ່າງເພື່ອສ້າງໄຟລ໌ຮູບພາບຈາກຮູບແບບ "strftime()" "%Y-%m-%d_%H-%M-%S",
ດັ່ງຕໍ່ໄປນີ້ ffmpeg ຄໍາສັ່ງສາມາດນໍາໃຊ້:
ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"
ທາງເລືອກໃນການ
start_number
ເລີ່ມຕົ້ນລໍາດັບຈາກຈໍານວນທີ່ກໍານົດໄວ້. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
ການປັບປຸງ
ຖ້າຕັ້ງເປັນ 1, ຊື່ໄຟລ໌ຈະຖືກຕີຄວາມໝາຍວ່າເປັນພຽງຊື່ໄຟລ໌ສະເໝີ, ບໍ່ແມ່ນ a
ຮູບແບບ, ແລະໄຟລ໌ທີ່ສອດຄ້ອງກັນຈະຖືກຂຽນທັບຢ່າງຕໍ່ເນື່ອງດ້ວຍຮູບພາບໃຫມ່.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
ເວລາຕໍ່ເວລາ
ຖ້າຕັ້ງເປັນ 1, ຂະຫຍາຍຊື່ໄຟລ໌ດ້ວຍຂໍ້ມູນວັນທີ ແລະເວລາຈາກ "strftime()".
ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
muxer ຮູບພາບສະຫນັບສະຫນູນຮູບແບບໄຟລ໌ .YUV. ຮູບແບບນີ້ແມ່ນພິເສດໃນນັ້ນ
ແຕ່ລະກອບຮູບພາບປະກອບດ້ວຍສາມໄຟລ໌, ສໍາລັບແຕ່ລະອົງປະກອບ YUV420P. ອ່ານຫຼື
ຂຽນຮູບແບບໄຟລ໌ຮູບພາບນີ້, ລະບຸຊື່ຂອງໄຟລ໌ '.Y'. muxer ຈະ
ເປີດໄຟລ໌ '.U' ແລະ '.V' ໂດຍອັດຕະໂນມັດຕາມຄວາມຕ້ອງການ.
ມາໂທສກາ
Matroska container muxer.
muxer ນີ້ປະຕິບັດຂໍ້ກໍານົດຂອງ matroska ແລະ webm container.
Metadata
ການຕັ້ງຄ່າ metadata ທີ່ຮັບຮູ້ໃນ muxer ນີ້ແມ່ນ:
ຫົວຂໍ້
ກໍານົດຊື່ຫົວຂໍ້ທີ່ສະຫນອງໃຫ້ກັບເພງດຽວ.
ພາສາ
ລະບຸພາສາຂອງການຕິດຕາມໃນຮູບແບບພາສາ Matroska.
ພາສາສາມາດເປັນ 3 ຕົວອັກສອນ bibliographic ISO-639-2 (ISO 639-2/B) ຮູບແບບ
(ເຊັ່ນ: "ຟຣີ" ສໍາລັບພາສາຝຣັ່ງ), ຫຼືລະຫັດພາສາປະສົມກັບລະຫັດປະເທດສໍາລັບການພິເສດ
ໃນພາສາຕ່າງໆ (ເຊັ່ນ "fre-ca" ສໍາລັບພາສາຝຣັ່ງການາດາ).
stereo_mode
ກໍານົດຮູບແບບວິດີໂອ 3D stereo ຂອງສອງວິວໃນເພງດຽວ.
ຄ່າຕໍ່ໄປນີ້ຖືກຮັບຮູ້:
mono
ວິດີໂອບໍ່ແມ່ນສະເຕີລິໂອ
ຊ້າຍຂວາ
ທັດສະນະທັງສອງແມ່ນຈັດລຽງຂ້າງ, ມຸມເບິ່ງຊ້າຍແມ່ນຢູ່ເບື້ອງຊ້າຍ
ລຸ່ມສຸດ
ມຸມເບິ່ງທັງສອງຖືກຈັດລຽງຢູ່ໃນທິດທາງເທິງຫາລຸ່ມ, ມຸມເບິ່ງຊ້າຍຢູ່ລຸ່ມ
ເທິງ_ລຸ່ມ
ທັດສະນະທັງສອງຖືກຈັດລຽງຢູ່ໃນທິດທາງເທິງຫາລຸ່ມ, ມຸມເບິ່ງຊ້າຍຢູ່ເທິງ
checkerboard_rl
ແຕ່ລະມຸມເບິ່ງຖືກຈັດລຽງຢູ່ໃນຮູບແບບຂອງ checkerboard interleaved, ຊ້າຍ-ຕາເປັນ
ຄັ້ງທໍາອິດ
checkerboard_lr
ແຕ່ລະມຸມເບິ່ງຖືກຈັດຢູ່ໃນຮູບແບບ checkerboard interleaved, ມຸມເບິ່ງຂວາ
ຄັ້ງທໍາອິດ
row_interleaved_rl
ແຕ່ລະມຸມເບິ່ງແມ່ນປະກອບດ້ວຍແຖວທີ່ອີງໃສ່ interleaving, ມຸມເບິ່ງຂວາແມ່ນແຖວທໍາອິດ
row_interleaved_lr
ແຕ່ລະມຸມເບິ່ງແມ່ນປະກອບດ້ວຍແຖວທີ່ອີງໃສ່ interleaving, ມຸມເບິ່ງຊ້າຍແມ່ນແຖວທໍາອິດ
col_interleaved_rl
ທັດສະນະທັງສອງຖືກຈັດລຽງຢູ່ໃນຖັນໂດຍອີງໃສ່ລັກສະນະ interleaving, ມຸມເບິ່ງຂວາແມ່ນ
ຖັນທໍາອິດ
col_interleaved_lr
ມຸມເບິ່ງທັງສອງຖືກຈັດລຽງເປັນຖັນໂດຍອີງໃສ່ລັກສະນະ interleaving, ທັດສະນະຊ້າຍແມ່ນ
ຖັນທໍາອິດ
anaglyph_cyan_red
ເຟຣມທັງໝົດຢູ່ໃນຮູບແບບ anaglyph ສາມາດເບິ່ງໄດ້ຜ່ານຕົວກອງສີແດງ-ສີຟ້າຂຽວ
ຂວາຊ້າຍ
ມຸມເບິ່ງທັງສອງຖືກຈັດລຽງຂ້າງກັນ, ມຸມເບິ່ງຂວາແມ່ນຢູ່ເບື້ອງຊ້າຍ
anaglyph_green_magenta
ເຟຣມທັງໝົດຢູ່ໃນຮູບແບບ anaglyph ສາມາດເບິ່ງໄດ້ຜ່ານຕົວກອງສີຂຽວ-ສີມ່ວງແດງ
block_lr
ທັງສອງຕາ laced ໃນຫນຶ່ງ Block, ຊ້າຍຕາເບິ່ງທໍາອິດ
block_rl
ທັງສອງຕາ laced ໃນຫນຶ່ງຕັນ, ມຸມເບິ່ງຂວາເປັນຄັ້ງທໍາອິດ
ຕົວຢ່າງ, clip WebM 3D ສາມາດຖືກສ້າງຂື້ນໂດຍໃຊ້ເສັ້ນຄໍາສັ່ງຕໍ່ໄປນີ້:
ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
ທາງເລືອກໃນການ
muxer ນີ້ສະຫນັບສະຫນູນທາງເລືອກດັ່ງຕໍ່ໄປນີ້:
reserve_index_space
ໂດຍຄ່າເລີ່ມຕົ້ນ, muxer ນີ້ຂຽນດັດສະນີສໍາລັບການຊອກຫາ (ເອີ້ນວ່າ cues ໃນຂໍ້ກໍານົດ Matroska) ຢູ່.
ໃນຕອນທ້າຍຂອງໄຟລ໌, ເນື່ອງຈາກວ່າມັນບໍ່ສາມາດຮູ້ລ່ວງຫນ້າວ່າມີພື້ນທີ່ຫຼາຍປານໃດທີ່ຈະປ່ອຍໃຫ້ສໍາລັບ
index ໃນຕອນຕົ້ນຂອງໄຟລ໌. ຢ່າງໃດກໍຕາມ, ສໍາລັບບາງກໍລະນີການນໍາໃຊ້ - ເຊັ່ນ: streaming
ບ່ອນທີ່ການຊອກຫາເປັນໄປໄດ້ແຕ່ຊ້າ - ມັນເປັນປະໂຫຍດທີ່ຈະເອົາດັດສະນີໃນຕອນເລີ່ມຕົ້ນ
ຂອງໄຟລ໌.
ຖ້າຕົວເລືອກນີ້ຖືກຕັ້ງເປັນຄ່າທີ່ບໍ່ແມ່ນສູນ, muxer ຈະສະຫງວນຈໍານວນທີ່ລະບຸໄວ້
space ໃນ header ໄຟລ໌ແລະຫຼັງຈາກນັ້ນພະຍາຍາມຂຽນ cues ຢູ່ທີ່ນັ້ນໃນເວລາທີ່ muxing
ສໍາເລັດ. ຖ້າພື້ນທີ່ທີ່ມີຢູ່ບໍ່ພຽງພໍ, muxing ຈະລົ້ມເຫລວ. ຂະຫນາດທີ່ປອດໄພສໍາລັບ
ກໍລະນີທີ່ໃຊ້ຫຼາຍທີ່ສຸດຄວນຈະມີປະມານ 50kB ຕໍ່ຊົ່ວໂມງຂອງວິດີໂອ.
ໃຫ້ສັງເກດວ່າ cues ຖືກຂຽນພຽງແຕ່ຖ້າຜົນຜະລິດສາມາດຊອກຫາໄດ້ແລະທາງເລືອກນີ້ຈະບໍ່ມີ
ຜົນກະທົບຖ້າຫາກວ່າມັນບໍ່ແມ່ນ.
md5
ຮູບແບບການທົດສອບ MD5.
muxer ນີ້ຄິດໄລ່ແລະພິມ hash MD5 ຂອງທຸກ input ສຽງແລະວິດີໂອກອບ. ໂດຍ
ເຟຣມສຽງເລີ່ມຕົ້ນຖືກປ່ຽນເປັນຮູບດິບ 16-ບິດສຽງ ແລະເຟຣມວິດີໂອເປັນດິບ
ວິດີໂອກ່ອນທີ່ຈະຄິດໄລ່ hash.
ຜົນຜະລິດຂອງ muxer ປະກອບດ້ວຍເສັ້ນດຽວຂອງຮູບແບບ: MD5=MD5, ບ່ອນທີ່ MD5 ເປັນ
ເລກຖານສິບຫົກທີ່ເປັນຕົວແທນຂອງ hash MD5 ທີ່ຄຳນວນແລ້ວ.
ສໍາລັບຕົວຢ່າງທີ່ຈະຄິດໄລ່ MD5 hash ຂອງການປ້ອນຂໍ້ມູນທີ່ປ່ຽນເປັນສຽງແລະວິດີໂອດິບ, ແລະ
ເກັບໄວ້ໃນໄຟລ໌ out.md5:
ffmpeg -i INPUT -f md5 out.md5
ທ່ານສາມາດພິມ MD5 ເພື່ອ stdout ດ້ວຍຄໍາສັ່ງ:
ffmpeg -i INPUT -f md5 -
ເບິ່ງອີກ framemd5 muxer.
ຍ້າຍ, mp4, ismv
MOV/MP4/ISMV (Smooth Streaming) muxer.
mov/mp4/ismv muxer ຮອງຮັບການແບ່ງສ່ວນ. ໂດຍປົກກະຕິ, ໄຟລ໌ MOV / MP4 ມີທັງຫມົດ
metadata ກ່ຽວກັບແພັກເກັດທັງຫມົດທີ່ເກັບໄວ້ໃນຫນຶ່ງສະຖານທີ່ (ຂຽນຢູ່ໃນຕອນທ້າຍຂອງໄຟລ໌, ມັນສາມາດເຮັດໄດ້
ຖືກຍ້າຍໄປທີ່ຈຸດເລີ່ມຕົ້ນສໍາລັບການຫຼິ້ນທີ່ດີຂຶ້ນໂດຍການເພີ່ມ ເລີ່ມໄວ ການ movflags, ຫຼືການ ນຳ ໃຊ້
ໄດ້ qt-faststart ເຄື່ອງມື). ໄຟລ໌ fragmented ປະກອບດ້ວຍຈໍານວນຂອງ fragment, ບ່ອນທີ່ packets
ແລະ metadata ກ່ຽວກັບແພັກເກັດເຫຼົ່ານີ້ຖືກເກັບໄວ້ຮ່ວມກັນ. ການຂຽນໄຟລ໌ fragmented ມີ
ປະໂຫຍດທີ່ໄຟລ໌ສາມາດຖອດລະຫັດໄດ້ເຖິງແມ່ນວ່າການຂຽນຖືກລົບກວນ (ໃນຂະນະທີ່ປົກກະຕິ
MOV/MP4 ແມ່ນ undecodable ຖ້າຫາກວ່າມັນບໍ່ໄດ້ສໍາເລັດຢ່າງຖືກຕ້ອງ), ແລະມັນຮຽກຮ້ອງໃຫ້ມີຄວາມຈໍາຫນ້ອຍໃນເວລາທີ່
ຂຽນໄຟລ໌ຍາວຫຼາຍ (ນັບຕັ້ງແຕ່ການຂຽນໄຟລ໌ MOV / MP4 ປົກກະຕິເກັບຮັກສາຂໍ້ມູນກ່ຽວກັບການທຸກດຽວ
packet ໃນຫນ່ວຍຄວາມຈໍາຈົນກ່ວາໄຟລ໌ຖືກປິດ). downside ແມ່ນວ່າມັນມີຄວາມເຂົ້າກັນໄດ້ຫນ້ອຍ
ກັບຄໍາຮ້ອງສະຫມັກອື່ນໆ.
ທາງເລືອກໃນການ
Fragmentation ຖືກເປີດໃຊ້ໂດຍການຕັ້ງຄ່າຫນຶ່ງຂອງ AVOptions ທີ່ກໍານົດວິທີການຕັດໄຟລ໌
ເປັນຊິ້ນສ່ວນ:
-moov_size ໄບ
ສະຫງວນພື້ນທີ່ສໍາລັບອະຕອມ moov ໃນຕອນຕົ້ນຂອງໄຟລ໌ແທນທີ່ຈະວາງ
moov atom ໃນຕອນທ້າຍ. ຖ້າພື້ນທີ່ສະຫງວນບໍ່ພຽງພໍ, muxing ຈະລົ້ມເຫລວ.
-movflags frag_keyframe
ເລີ່ມຊິ້ນສ່ວນໃໝ່ໃນແຕ່ລະຄີເຟຣມວິດີໂອ.
-frag_duration ໄລຍະເວລາ
ສ້າງ fragments ທີ່ ໄລຍະເວລາ microseconds ຍາວ.
-frag_size ຂະຫນາດ
ສ້າງຊິ້ນສ່ວນທີ່ບັນຈຸເຖິງ ຂະຫນາດ bytes ຂອງຂໍ້ມູນ payload.
-movflags frag_custom
ອະນຸຍາດໃຫ້ຜູ້ໂທເລືອກຄູ່ມືໃນເວລາທີ່ຈະຕັດ fragments, ໂດຍການໂທຫາ
"av_write_frame(ctx, NULL)" ເພື່ອຂຽນຊິ້ນສ່ວນກັບແພັກເກັດທີ່ຂຽນມາເຖິງຕອນນັ້ນ. (ນີ້
ເປັນປະໂຫຍດພຽງແຕ່ກັບຄໍາຮ້ອງສະຫມັກອື່ນໆທີ່ປະສົມປະສານ libavformat, ບໍ່ແມ່ນມາຈາກ ffmpeg.)
-min_frag_duration ໄລຍະເວລາ
ຢ່າສ້າງຊິ້ນສ່ວນທີ່ສັ້ນກວ່າ ໄລຍະເວລາ microseconds ຍາວ.
ຖ້າມີຫຼາຍກວ່າຫນຶ່ງເງື່ອນໄຂ, ຊິ້ນສ່ວນຈະຖືກຕັດເມື່ອຫນຶ່ງຂອງທີ່ກໍານົດໄວ້
ເງື່ອນໄຂແມ່ນບັນລຸໄດ້. ຂໍ້ຍົກເວັ້ນນີ້ແມ່ນ "-min_frag_duration", ເຊິ່ງຕ້ອງມີ
ປະຕິບັດຕາມເງື່ອນໄຂອື່ນໆທີ່ຈະນໍາໃຊ້.
ນອກຈາກນັ້ນ, ວິທີທີ່ໄຟລ໌ຜົນຜະລິດໄດ້ຖືກຂຽນສາມາດຖືກປັບຜ່ານບາງອັນ
ຕົວເລືອກ:
-movflags ຫວ່າງ_moov
ຂຽນອະຕອມ moov ເບື້ອງຕົ້ນໂດຍກົງໃນຕອນເລີ່ມຕົ້ນຂອງໄຟລ໌, ໂດຍບໍ່ມີການອະທິບາຍໃດໆ
ຕົວຢ່າງໃນມັນ. ໂດຍທົ່ວໄປແລ້ວ, ຄູ່ mdat/moov ຖືກຂຽນໄວ້ໃນຕອນຕົ້ນຂອງໄຟລ໌, ເປັນ
ໄຟລ໌ MOV/MP4 ປົກກະຕິ, ມີພຽງສ່ວນສັ້ນຂອງໄຟລ໌. ດ້ວຍທາງເລືອກນີ້
ທີ່ກໍານົດໄວ້, ບໍ່ມີອະຕອມ mdat ໃນເບື້ອງຕົ້ນ, ແລະອາຕອມ moov ພຽງແຕ່ອະທິບາຍການຕິດຕາມແຕ່
ມີໄລຍະເວລາສູນ.
ທາງເລືອກນີ້ແມ່ນໄດ້ຖືກກໍານົດ implicitly ໃນເວລາທີ່ຂຽນໄຟລ໌ ismv (Smooth Streaming).
-movflags ແຍກຕ່າງຫາກ_moof
ຂຽນອະຕອມ moof (ຊິ້ນຮູບເງົາ) ແຍກຕ່າງຫາກສໍາລັບແຕ່ລະເພງ. ປົກກະຕິແລ້ວ, ຊຸດສໍາລັບທຸກຄົນ
ຕິດຕາມຖືກຂຽນໄວ້ໃນອະຕອມ moof (ເຊິ່ງມີປະສິດທິພາບຫຼາຍກ່ວາເລັກນ້ອຍ), ແຕ່ນີ້
ທາງເລືອກທີ່ກໍານົດໄວ້, muxer ຂຽນຫນຶ່ງ moof / mdat ຄູ່ສໍາລັບແຕ່ລະເພງ, ເຮັດໃຫ້ມັນງ່າຍຂຶ້ນ
ເພງແຍກຕ່າງຫາກ.
ທາງເລືອກນີ້ແມ່ນໄດ້ຖືກກໍານົດ implicitly ໃນເວລາທີ່ຂຽນໄຟລ໌ ismv (Smooth Streaming).
-movflags ເລີ່ມໄວ
ແລ່ນຜ່ານທີສອງຍ້າຍດັດຊະນີ (moov atom) ໄປຫາຈຸດເລີ່ມຕົ້ນຂອງໄຟລ໌. ນີ້
ການດໍາເນີນງານສາມາດໃຊ້ເວລາໃນຂະນະທີ່, ແລະຈະບໍ່ເຮັດວຽກໃນສະຖານະການຕ່າງໆເຊັ່ນ: fragmented
ຜົນຜະລິດ, ດັ່ງນັ້ນມັນບໍ່ໄດ້ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.
-movflags rtphint
ຕື່ມການຕິດຕາມຄໍາແນະນໍາ RTP ກັບໄຟລ໌ຜົນຜະລິດໄດ້.
-movflags disable_chpl
ປິດການໃຊ້ງານເຄື່ອງໝາຍບົດ Nero (chpl atom). ໂດຍປົກກະຕິ, ທັງບົດ Nero ແລະ a
ຕິດຕາມບົດ QuickTime ຖືກຂຽນໃສ່ໄຟລ໌. ດ້ວຍຕົວເລືອກນີ້, ມີພຽງແຕ່
ຕິດຕາມບົດ QuickTime ຈະຖືກຂຽນ. ບົດ Nero ສາມາດເຮັດໃຫ້ເກີດຄວາມລົ້ມເຫລວໃນເວລາທີ່
ໄຟລ໌ຖືກປະມວນຜົນຄືນໃໝ່ດ້ວຍໂປຣແກຣມແທັກສະເພາະ, ເຊັ່ນ mp3Tag 2.61a ແລະ iTunes 11.3,
ສ່ວນຫຼາຍອາດຈະ, ສະບັບອື່ນໆໄດ້ຮັບຜົນກະທົບເຊັ່ນດຽວກັນ.
-movflags omit_tfhd_offset
ຫ້າມຂຽນຂໍ້ມູນ base_data_offset ຢ່າງແທ້ຈິງໃນອະຕອມ tfhd. ນີ້ຫຼີກເວັ້ນການຜູກມັດຊິ້ນສ່ວນ
ກັບຕໍາແຫນ່ງ byte ຢ່າງແທ້ຈິງໃນໄຟລ໌ / streams.
-movflags default_base_moof
ເຊັ່ນດຽວກັນກັບ omit_tfhd_offset, ທຸງນີ້ຫຼີກເວັ້ນການຂຽນຢ່າງແທ້ຈິງ
ຊ່ອງຂໍ້ມູນ base_data_offset ໃນອະຕອມ tfhd, ແຕ່ເຮັດແນວນັ້ນໂດຍໃຊ້ default-base-is-
ທຸງ moof ແທນ. ທຸງນີ້ແມ່ນໃຫມ່ຈາກ 14496-12: 2012. ນີ້ອາດຈະເຮັດໃຫ້ຊິ້ນ
ແຍກວິເຄາະໄດ້ງ່າຍກວ່າໃນບາງກໍລະນີ (ຫຼີກລ່ຽງສະຖານທີ່ຕິດຕາມຊິ້ນສ່ວນ
ການຄິດໄລ່ໃນຕອນທ້າຍ implicit ຂອງຊິ້ນການຕິດຕາມທີ່ຜ່ານມາ).
ຍົກຕົວຢ່າງ
ເນື້ອຫາສະຕີມສະຕີມສາມາດຖືກຊຸກດັນໃນເວລາຈິງໄປຫາຈຸດເຜີຍແຜ່ໃນ IIS ດ້ວຍສິ່ງນີ້
muxer. ຕົວຢ່າງ:
ffmpeg -re < > -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(ຕົວເຂົ້າລະຫັດ 1)
Audible AAX
ໄຟລ໌ AAX ທີ່ສາມາດຟັງໄດ້ແມ່ນຖືກເຂົ້າລະຫັດໄຟລ໌ M4B, ແລະພວກເຂົາສາມາດຖອດລະຫັດໄດ້ໂດຍການລະບຸ 4
ຄວາມລັບການເປີດໃຊ້ byte.
ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c:a copy output.mp4
mp3
MP3 muxer ຂຽນນ້ໍາ MP3 ດິບທີ່ມີລັກສະນະທາງເລືອກດັ່ງຕໍ່ໄປນີ້:
· ສ່ວນຫົວເມຕາເດຕາ ID3v2 ໃນຕອນຕົ້ນ (ເປີດໃຊ້ງານຕາມຄ່າເລີ່ມຕົ້ນ). ລຸ້ນ 2.3 ແລະ 2.4
ໄດ້ຮັບການສະຫນັບສະຫນູນ, "id3v2_version" ທາງເລືອກສ່ວນຕົວຄວບຄຸມວ່າອັນໃດຖືກໃຊ້ (3 ຫຼື 4).
ການຕັ້ງຄ່າ "id3v2_version" ເປັນ 0 ປິດການໃຊ້ງານສ່ວນຫົວ ID3v2 ຢ່າງສົມບູນ.
muxer ສະຫນັບສະຫນູນການຂຽນຮູບພາບທີ່ຕິດຄັດມາ (APIC frames) ກັບຫົວ ID3v2. ໄດ້
ຮູບພາບແມ່ນສະຫນອງໃຫ້ muxer ໃນຮູບແບບຂອງນ້ໍາວິດີໂອທີ່ມີຊຸດດຽວ.
ສາມາດມີຈໍານວນຂອງສາຍນ້ໍາເຫຼົ່ານັ້ນ, ແຕ່ລະຄົນຈະກົງກັນກັບກອບ APIC ດຽວ.
ແທັກ metadata ຂອງກະແສ ຫົວຂໍ້ ແລະ ຄວາມຄິດເຫັນ ແຜນທີ່ APIC ຄໍາອະທິບາຍ ແລະ ຮູບ ປະເພດ
ຕາມລໍາດັບ. ເບິ່ງhttp://id3.org/id3v2.4.0-frames> ສໍາລັບປະເພດຮູບພາບທີ່ອະນຸຍາດ.
ໃຫ້ສັງເກດວ່າກອບ APIC ຕ້ອງໄດ້ຮັບການຂຽນໃນຕອນເລີ່ມຕົ້ນ, ດັ່ງນັ້ນ muxer ຈະ buffer
ກອບສຽງຈົນກ່ວາມັນໄດ້ຮັບຮູບພາບທັງຫມົດ. ດັ່ງນັ້ນຈຶ່ງແນະນໍາໃຫ້ສະຫນອງ
ຮູບພາບໄວເທົ່າທີ່ເປັນໄປໄດ້ເພື່ອຫຼີກເວັ້ນການ buffering ຫຼາຍເກີນໄປ.
· ກອບ Xing/LAME ຫຼັງຈາກສ່ວນຫົວ ID3v2 (ຖ້າມີ). ມັນຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ,
ແຕ່ຈະຖືກຂຽນພຽງແຕ່ຖ້າຜົນຜະລິດສາມາດຊອກຫາໄດ້. ຕົວເລືອກສ່ວນຕົວ "write_xing".
ສາມາດໃຊ້ເພື່ອປິດການໃຊ້ງານມັນໄດ້. ກອບມີຂໍ້ມູນຕ່າງໆທີ່ອາດຈະເປັນປະໂຫຍດ
ໄປຫາຕົວຖອດລະຫັດ, ເຊັ່ນໄລຍະເວລາສຽງ ຫຼືການລ່າຊ້າຂອງຕົວເຂົ້າລະຫັດ.
· ແທັກ ID3v1 ທີ່ເປັນມໍລະດົກຢູ່ໃນຕອນທ້າຍຂອງໄຟລ໌ (ປິດການໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ). ມັນອາດຈະຖືກເປີດໃຊ້
ດ້ວຍຕົວເລືອກສ່ວນຕົວ "write_id3v1", ແຕ່ຍ້ອນວ່າຄວາມສາມາດຂອງມັນມີຈໍາກັດຫຼາຍ, ຂອງມັນ
ການນໍາໃຊ້ແມ່ນບໍ່ແນະນໍາ.
ຕົວຢ່າງ:
ຂຽນ mp3 ດ້ວຍສ່ວນຫົວ ID3v2.3 ແລະສ່ວນທ້າຍ ID3v1:
ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
ເພື່ອແນບຮູບໃສ່ໄຟລ໌ mp3 ເລືອກທັງສຽງ ແລະຮູບຖ່າຍດ້ວຍ
"ແຜນທີ່":
ffmpeg -i input.mp3 -i cover.png -c ສຳເນົາ -map 0 -map 1
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
ຂຽນ MP3 "ສະອາດ" ໂດຍບໍ່ມີຄຸນສົມບັດເພີ່ມເຕີມ:
ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3
mpegts
MPEG stream muxer ການຂົນສົ່ງ.
muxer ນີ້ປະຕິບັດ ISO 13818-1 ແລະສ່ວນຫນຶ່ງຂອງ ETSI EN 300 468.
ການຕັ້ງຄ່າ metadata ທີ່ຮັບຮູ້ໃນ mpegts muxer ແມ່ນ "service_provider" ແລະ
"service_name". ຖ້າພວກເຂົາບໍ່ໄດ້ຕັ້ງຄ່າເລີ່ມຕົ້ນສໍາລັບ "service_provider" ແມ່ນ "FFmpeg" ແລະ
ຄ່າເລີ່ມຕົ້ນຂອງ "service_name" ແມ່ນ "Service01".
ທາງເລືອກໃນການ
ທາງເລືອກ muxer ແມ່ນ:
-mpegts_original_network_id ຈໍານວນ
ຕັ້ງ original_network_id (ຄ່າເລີ່ມຕົ້ນ 0x0001). ນີ້ແມ່ນຕົວລະບຸສະເພາະຂອງເຄືອຂ່າຍ
ໃນ DVB. ການນໍາໃຊ້ຕົ້ນຕໍຂອງມັນແມ່ນຢູ່ໃນການກໍານົດເປັນເອກະລັກຂອງການບໍລິການຜ່ານເສັ້ນທາງ
Original_Network_ID, Transport_Stream_ID.
-mpegts_transport_stream_id ຈໍານວນ
ຕັ້ງຄ່າ transport_stream_id (ຄ່າເລີ່ມຕົ້ນ 0x0001). ນີ້ກໍານົດ transponder ໃນ DVB.
-mpegts_service_id ຈໍານວນ
ຕັ້ງ service_id (ຄ່າເລີ່ມຕົ້ນ 0x0001) ທີ່ເອີ້ນກັນວ່າໂປຣແກຣມໃນ DVB.
-mpegts_service_type ຈໍານວນ
ຕັ້ງຄ່າໂປຣແກຣມ service_type (ຄ່າເລີ່ມຕົ້ນ digital_tv), ເບິ່ງຂ້າງລຸ່ມນີ້ບັນຊີລາຍຊື່ຂອງທີ່ກໍານົດໄວ້ລ່ວງຫນ້າ
ຄ່າ.
-mpegts_pmt_start_pid ຈໍານວນ
ຕັ້ງ PID ທໍາອິດສໍາລັບ PMT (ຄ່າເລີ່ມຕົ້ນ 0x1000, ສູງສຸດ 0x1f00).
-mpegts_start_pid ຈໍານວນ
ຕັ້ງ PID ທໍາອິດສໍາລັບຊຸດຂໍ້ມູນ (ຄ່າເລີ່ມຕົ້ນ 0x0100, ສູງສຸດ 0x0f00).
-mpegts_m2ts_mode ຈໍານວນ
ເປີດໃຊ້ໂໝດ m2ts ຖ້າຕັ້ງເປັນ 1. ຄ່າເລີ່ມຕົ້ນແມ່ນ -1 ເຊິ່ງປິດການນຳໃຊ້ໂໝດ m2ts.
-muxrate ຈໍານວນ
ກໍານົດ muxrate ຄົງທີ່ (VBR ເລີ່ມຕົ້ນ).
-pcr_period ຈໍານວນ
ລົບລ້າງເວລາສົ່ງຕໍ່ PCR ເລີ່ມຕົ້ນ (ຄ່າເລີ່ມຕົ້ນ 20ms), ຖືກລະເລີຍຖ້າຕົວແປ
muxrate ຖືກເລືອກ.
pat_period ຈໍານວນ
ເວລາສູງສຸດເປັນວິນາທີລະຫວ່າງຕາຕະລາງ PAT/PMT.
sdt_period ຈໍານວນ
ເວລາສູງສຸດເປັນວິນາທີລະຫວ່າງຕາຕະລາງ SDT.
-pes_payload_size ຈໍານວນ
ກຳນົດການໂຫຼດແພັກເກັດ PES ຕ່ຳສຸດເປັນໄບຕ໌.
-mpegts_flags ທົງ
ກໍານົດທຸງ (ເບິ່ງຂ້າງລຸ່ມນີ້).
-mpegts_copyts ຈໍານວນ
ຮັກສາເວລາເດີມໄວ້, ຖ້າຄ່າຖືກຕັ້ງເປັນ 1. ຄ່າເລີ່ມຕົ້ນແມ່ນ -1, ເຊິ່ງຜົນໄດ້ຮັບ
ໃນການປ່ຽນເວລາສະແຕມເພື່ອໃຫ້ພວກມັນເລີ່ມຈາກ 0.
-tables_version ຈໍານວນ
ຕັ້ງຄ່າ PAT, PMT ແລະ SDT ເວີຊັ່ນ (ຄ່າເລີ່ມຕົ້ນ 0, ຄ່າທີ່ຖືກຕ້ອງແມ່ນຕັ້ງແຕ່ 0 ຫາ 31, ລວມທັງໝົດ).
ຕົວເລືອກນີ້ອະນຸຍາດໃຫ້ປັບປຸງໂຄງສ້າງການຖ່າຍທອດເພື່ອໃຫ້ຜູ້ບໍລິໂພກມາດຕະຖານສາມາດກວດພົບໄດ້
ການປ່ຽນແປງ. ເພື່ອເຮັດແນວນັ້ນ, ເປີດຄືນຜົນຜະລິດ AVFormatContext (ໃນກໍລະນີຂອງການນໍາໃຊ້ API) ຫຼື restart
ຕົວຢ່າງ ffmpeg, ການປ່ຽນແປງຮອບວຽນມູນຄ່າ tables_version:
ffmpeg -i source1.ts -codec ສຳເນົາ -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec ສຳເນົາ -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -codec ສຳເນົາ -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -codec ສຳເນົາ -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec ສຳເນົາ -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ທາງເລືອກ mpegts_service_type ຍອມຮັບຄ່າຕໍ່ໄປນີ້:
hex_value
ຄ່າເລກຖານສິບຫົກລະຫວ່າງ 0x01 ຫາ 0xff ຕາມທີ່ກຳນົດໄວ້ໃນ ETSI 300 468.
digital_tv
ບໍລິການໂທລະທັດດິຈິຕອນ.
ວິທະຍຸດິຈິຕອລ
ບໍລິການວິທະຍຸດິຈິຕອນ.
teletext
ບໍລິການ Teletext.
advanced_codec_digital_radio
ບໍລິການວິທະຍຸດິຈິຕອລ Codec ຂັ້ນສູງ.
mpeg2_digital_hdtv
ບໍລິການ MPEG2 Digital HDTV.
advanced_codec_digital_sdtv
Advanced Codec Digital SDTV ບໍລິການ.
advanced_codec_digital_hdtv
Advanced Codec Digital HDTV ບໍລິການ.
ທາງເລືອກ mpegts_flags ອາດຈະໃຊ້ຊຸດຂອງທຸງດັ່ງກ່າວ:
reend_headers
ສົ່ງຄືນ PAT/PMT ກ່ອນທີ່ຈະຂຽນຊຸດຕໍ່ໄປ.
ກາມ
ໃຊ້ການຫຸ້ມຫໍ່ LATM ສໍາລັບ AAC.
pat_pmt_at_frames
ສົ່ງຄືນ PAT ແລະ PMT ໃນແຕ່ລະກອບວິດີໂອ.
ຍົກຕົວຢ່າງ
ffmpeg -i file.mpg -c ສຳເນົາ \
-mpegts_original_network_id 0x1122 \
-mpegts_transport_stream_id 0x3344 \
-mpegts_service_id 0x5566 \
-mpegts_pmt_start_pid 0x1500 \
-mpegts_start_pid 0x150 \
-metadata service_provider="ຜູ້ໃຫ້ບໍລິການບາງຄົນ" \
-metadata service_name="ບາງຊ່ອງ" \
-y out.ts
mxf, mxf_d10
MXF muxer.
ທາງເລືອກໃນການ
ທາງເລືອກ muxer ແມ່ນ:
store_user_comments bool
ກໍານົດວ່າຄໍາຄິດຄໍາເຫັນຂອງຜູ້ໃຊ້ຄວນຈະຖືກເກັບໄວ້ຖ້າມີຫຼືບໍ່ເຄີຍ. IRT D-10 ບໍ່ອະນຸຍາດ
ຄວາມຄິດເຫັນຂອງຜູ້ໃຊ້. ຄ່າເລີ່ມຕົ້ນແມ່ນດັ່ງນັ້ນເພື່ອຂຽນພວກມັນສໍາລັບ mxf ແຕ່ບໍ່ແມ່ນສໍາລັບ mxf_d10
null
null muxer.
muxer ນີ້ບໍ່ໄດ້ສ້າງໄຟລ໌ຜົນຜະລິດໃດຫນຶ່ງ, ມັນເປັນປະໂຫຍດສ່ວນໃຫຍ່ສໍາລັບການທົດສອບຫຼື
ຈຸດປະສົງ benchmarking.
ຍົກຕົວຢ່າງເພື່ອ benchmark decoding ກັບ ffmpeg ທ່ານສາມາດນໍາໃຊ້ຄໍາສັ່ງ:
ffmpeg -benchmark -i INPUT -f null out.null
ໃຫ້ສັງເກດວ່າຄໍາສັ່ງຂ້າງເທິງບໍ່ໄດ້ອ່ານຫຼືຂຽນ out.null ໄຟລ໌, ແຕ່ວ່າການລະບຸ
ໄຟລ໌ຜົນຜະລິດແມ່ນຕ້ອງການໂດຍ ffmpeg syntax
ອີກທາງເລືອກ, ທ່ານສາມາດຂຽນຄໍາສັ່ງເປັນ:
ffmpeg -benchmark -i INPUT -f null -
ຫມາກແຫ້ງເປືອກແຂງ
- syncpoints ທົງ
ປ່ຽນການນໍາໃຊ້ syncpoint ໃນຫມາກແຫ້ງເປືອກແຂງ:
Default ການນໍາໃຊ້ ໄດ້ ປົກກະຕິ ຕໍ່າສຸດ ກໍາລັງຊອກຫາ ເຄື່ອງຊ່ວຍ.
none do ບໍ່ ການນໍາໃຊ້ ໄດ້ ຈຸດເຊື່ອມຕໍ່ at ທັງ ໝົດ, ການຫຼຸດຜ່ອນ ໄດ້ overhead ແຕ່ ເຮັດໃຫ້ ໄດ້ ນ້ໍາ
ບໍ່ສາມາດຊອກຫາໄດ້;
ການນໍາໃຊ້ທາງເລືອກນີ້ບໍ່ໄດ້ຖືກແນະນໍາໃຫ້, ເນື່ອງຈາກວ່າໄຟລ໌ຜົນໄດ້ຮັບແມ່ນຄວາມເສຍຫາຍຫຼາຍ
ທີ່ລະອຽດອ່ອນ ແລະການຊອກຫາແມ່ນເປັນໄປບໍ່ໄດ້. ນອກຈາກນີ້ໂດຍທົ່ວໄປ overhead ຈາກ
syncpoints ແມ່ນ negligible. ຫມາຍເຫດ, -C 0 ສາມາດຖືກນໍາໃຊ້ເພື່ອປິດການໃຊ້ງານ
ຕາຕະລາງການຂະຫຍາຍຕົວທັງຫມົດຂອງຂໍ້ມູນ, ປ່ອຍໃຫ້ມີການສະຕຣີມບໍ່ມີທີ່ສິ້ນສຸດທີ່ມີຄວາມຈໍາຈໍາກັດ
ແລະບໍ່ມີຂໍ້ເສຍເຫຼົ່ານີ້.
ເວລາ ຂະຫຍາຍ ໄດ້ ຈຸດເຊື່ອມຕໍ່ ກັບ a ຝາຜະ ໜັງ ພາກສະຫນາມ.
ໄດ້ none ແລະ ເວລາ ທຸງແມ່ນການທົດລອງ.
-write_index bool
ຂຽນດັດສະນີໃນຕອນທ້າຍ, ຄ່າເລີ່ມຕົ້ນແມ່ນການຂຽນດັດສະນີ.
ffmpeg -i INPUT -f_strict ການທົດລອງ -syncpoints none - | ໂຮງງານຜະລິດ
ogg
Ogg container muxer.
-page_duration ໄລຍະເວລາ
ໄລຍະເວລາຂອງໜ້າທີ່ຕ້ອງການ, ເປັນ microseconds. muxer ຈະພະຍາຍາມສ້າງຫນ້າທີ່
ແມ່ນປະມານ ໄລຍະເວລາ microseconds ຍາວ. ນີ້ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ປະນີປະນອມ
ລະຫວ່າງຊອກຫາ granularity ແລະ overhead container. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1 ວິນາທີ. ຄ່າຂອງ 0
ຈະຕື່ມຂໍ້ມູນໃສ່ທຸກສ່ວນ, ເຮັດໃຫ້ຫນ້າໃຫຍ່ເທົ່າທີ່ເປັນໄປໄດ້. ຄ່າຂອງ 1 ຈະ
ນຳໃຊ້ 1 ຊອງຕໍ່ໜ້າຢ່າງມີປະສິດທິພາບໃນສະຖານະການສ່ວນໃຫຍ່, ໃຫ້ມີຂະໜາດນ້ອຍ
ໃນຄ່າໃຊ້ຈ່າຍຂອງ overhead ຕູ້ຄອນເທນເນີເພີ່ມເຕີມ.
-serial_offset ມູນຄ່າ
ຄ່າ Serial ທີ່ຈະຕັ້ງໝາຍເລກ Serial streams. ການຕັ້ງຄ່າມັນເປັນທີ່ແຕກຕ່າງກັນແລະ
ມູນຄ່າຂະຫນາດໃຫຍ່ພຽງພໍຮັບປະກັນວ່າໄຟລ໌ ogg ທີ່ຜະລິດສາມາດຖືກຕ່ອງໂສ້ຢ່າງປອດໄພ.
ຕອນ, stream_segment, ພາກສ່ວນ
ສ່ວນການຖ່າຍທອດພື້ນຖານ.
muxer ນີ້ outputs streams ກັບຈໍານວນຂອງໄຟລ໌ແຍກຕ່າງຫາກຂອງໄລຍະເວລາເກືອບຄົງທີ່. ຜົນຜະລິດ
ຮູບແບບຊື່ໄຟລ໌ສາມາດຖືກຕັ້ງໃນຮູບແບບທີ່ຄ້າຍຄືກັບ image2, ຫຼືໂດຍໃຊ້ "srftime"
ແມ່ແບບຖ້າຫາກວ່າ ເວລາຕໍ່ເວລາ ທາງເລືອກແມ່ນເປີດໃຫ້ໃຊ້ງານ.
"stream_segment" ແມ່ນຕົວແປຂອງ muxer ທີ່ໃຊ້ໃນການຂຽນເພື່ອຖ່າຍທອດຮູບແບບຜົນຜະລິດ, ie.
ເຊິ່ງບໍ່ຈຳເປັນຕ້ອງມີສ່ວນຫົວທົ່ວໂລກ, ແລະແນະນຳໃຫ້ສົ່ງຜົນອອກ ເຊັ່ນ: MPEG
ພາກສ່ວນກະແສການຂົນສົ່ງ. "ssegment" ເປັນນາມແຝງທີ່ສັ້ນກວ່າສໍາລັບ "stream_segment".
ທຸກໆພາກສ່ວນເລີ່ມຕົ້ນດ້ວຍຄີເຟຣມຂອງກະແສອ້າງອີງທີ່ເລືອກ, ເຊິ່ງຖືກຕັ້ງໄວ້
ໂດຍຜ່ານການ reference_stream ທາງເລືອກ.
ໃຫ້ສັງເກດວ່າຖ້າທ່ານຕ້ອງການການແບ່ງປັນທີ່ຖືກຕ້ອງສໍາລັບໄຟລ໌ວິດີໂອ, ທ່ານຈໍາເປັນຕ້ອງເຮັດລະຫັດປ້ອນຂໍ້ມູນ
ເຟຣມກົງກັບເວລາແຍກທີ່ແນ່ນອນທີ່ຄາດໄວ້ໂດຍ segmenter, ຫຼື segment
muxer ຈະເລີ່ມຕົ້ນພາກສ່ວນໃຫມ່ດ້ວຍກອບທີ່ສໍາຄັນທີ່ພົບເຫັນຕໍ່ໄປຫຼັງຈາກການເລີ່ມຕົ້ນທີ່ກໍານົດ
ເວລາ.
ພາກສ່ວນ muxer ເຮັດວຽກທີ່ດີທີ່ສຸດກັບວິດີໂອອັດຕາເຟມຄົງທີ່ດຽວ.
ທາງເລືອກທີ່ມັນສາມາດສ້າງບັນຊີລາຍຊື່ຂອງພາກສ່ວນທີ່ສ້າງຂຶ້ນ, ໂດຍການຕັ້ງຄ່າທາງເລືອກ
segment_list. ປະເພດບັນຊີໄດ້ລະບຸໄວ້ໂດຍ segment_list_type ທາງເລືອກ. ການເຂົ້າ
ຊື່ໄຟລ໌ໃນລາຍການສ່ວນແມ່ນຖືກຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນຂອງຊື່ພື້ນຖານທີ່ສອດຄ້ອງກັນ
ໄຟລ໌ສ່ວນ.
ເບິ່ງອີກ hls muxer, ເຊິ່ງສະຫນອງການປະຕິບັດສະເພາະສໍາລັບ HLS
ການແບ່ງສ່ວນ.
ທາງເລືອກໃນການ
ພາກສ່ວນ muxer ສະຫນັບສະຫນູນທາງເລືອກຕໍ່ໄປນີ້:
reference_stream ຕົວລະບຸ
ຕັ້ງສະຕຣີມອ້າງອີງ, ຕາມທີ່ກຳນົດໄວ້ໂດຍສະຕຣິງ ຕົວລະບຸທີ່ຢູ່ ຖ້າຫາກວ່າ ຕົວລະບຸ ແມ່ນໄດ້ກໍານົດໄວ້
ກັບ "ອັດຕະໂນມັດ", ການອ້າງອີງຖືກເລືອກໂດຍອັດຕະໂນມັດ. ຖ້າບໍ່ດັ່ງນັ້ນມັນຕ້ອງເປັນກະແສ
ຕົວລະບຸ (ເບິ່ງບົດ ``ຕົວລະບຸສະຕຣີມ'' ໃນຄູ່ມື ffmpeg) ເຊິ່ງລະບຸ
ກະແສອ້າງອີງ. ຄ່າເລີ່ມຕົ້ນແມ່ນ "ອັດຕະໂນມັດ".
segment_format ຮູບແບບ
ລົບລ້າງຮູບແບບບັນຈຸພາຍໃນ, ໂດຍຄ່າເລີ່ມຕົ້ນມັນຖືກຄາດເດົາໂດຍຊື່ໄຟລ໌
ການຂະຫຍາຍ.
segment_format_options options_list
ຕັ້ງຕົວເລືອກຮູບແບບຜົນຜະລິດໂດຍໃຊ້ :-separated list of key=value parameters. ຄຸນຄ່າ
ປະກອບດ້ວຍຕົວອັກສອນພິເສດ ":" ຕ້ອງໄດ້ຮັບການຫລົບຫນີ.
segment_list ຊື່
ສ້າງລາຍຊື່ໄຟລ໌ທີ່ມີຊື່ ຊື່. ຖ້າບໍ່ໄດ້ລະບຸບໍ່ມີລາຍຊື່ໄຟລ໌ຖືກສ້າງ.
segment_list_flags ທົງ
ຕັ້ງທຸງສົ່ງຜົນກະທົບຕໍ່ການສ້າງລາຍຊື່ພາກສ່ວນ.
ໃນປັດຈຸບັນມັນສະຫນັບສະຫນູນທຸງດັ່ງຕໍ່ໄປນີ້:
ຖານຄວາມຈໍາ
ອະນຸຍາດໃຫ້ຖານຄວາມຈໍາ (ພຽງແຕ່ມີຜົນກະທົບໄຟລ໌ລາຍຊື່ M3U8).
ດໍາລົງຊີວິດ
ອະນຸຍາດໃຫ້ສ້າງໄຟລ໌ທີ່ເປັນມິດກັບຊີວິດ.
segment_list_size ຂະຫນາດ
ປັບປຸງໄຟລ໌ບັນຊີລາຍຊື່ເພື່ອໃຫ້ມັນມີຫຼາຍທີ່ສຸດ ຂະຫນາດ ພາກສ່ວນ. ຖ້າ 0 ໄຟລ໌ບັນຊີລາຍຊື່
ຈະມີສ່ວນທັງໝົດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
segment_list_entry_prefix ຄຳ ນຳ ໜ້າ
ລ່ວງໜ້າ ຄຳ ນຳ ໜ້າ ໃນແຕ່ລະລາຍການ. ມີປະໂຫຍດໃນການສ້າງເສັ້ນທາງຢ່າງແທ້ຈິງ. ໂດຍຄ່າເລີ່ມຕົ້ນບໍ່ມີຄໍານໍາຫນ້າ
ຖືກນໍາໃຊ້.
segment_list_type ປະເພດ
ເລືອກຮູບແບບລາຍຊື່.
ຄ່າຕໍ່ໄປນີ້ຖືກຮັບຮູ້:
ແປ
ສ້າງບັນຊີລາຍຊື່ຮາບພຽງສໍາລັບພາກສ່ວນທີ່ສ້າງຂື້ນ, ຫນຶ່ງສ່ວນຕໍ່ແຖວ.
csv, ext
ສ້າງບັນຊີລາຍຊື່ສໍາລັບພາກສ່ວນທີ່ສ້າງຂຶ້ນ, ຫນຶ່ງສ່ວນຕໍ່ແຖວ, ແຕ່ລະເສັ້ນກົງກັນ
ຮູບແບບ (ຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ):
, ,
segment_filename ແມ່ນຊື່ຂອງໄຟລ໌ຜົນຜະລິດທີ່ສ້າງຂຶ້ນໂດຍ muxer ຕາມ
ກັບຮູບແບບທີ່ສະຫນອງໃຫ້. ການຫລົບຫນີ CSV (ອີງຕາມ RFC4180) ຖືກນໍາໃຊ້ຖ້າ
ຕ້ອງການ.
segment_start_time ແລະ segment_end_time ລະບຸຕອນເລີ່ມຕົ້ນ ແລະເວລາສິ້ນສຸດ
ສະແດງອອກໃນວິນາທີ.
ໄຟລ໌ລາຍຊື່ທີ່ມີຄຳຕໍ່ທ້າຍ ".csv" ຫຼື ".ext" ຈະເລືອກຮູບແບບນີ້ໂດຍອັດຕະໂນມັດ.
ext ຖືກປະຕິເສດໃນເງື່ອນໄຂຫຼື csv.
ffconcat
ສ້າງໄຟລ໌ ffconcat ສໍາລັບພາກສ່ວນທີ່ສ້າງຂຶ້ນ. ໄຟລ໌ຜົນໄດ້ຮັບສາມາດອ່ານໄດ້
ໃຊ້ FFmpeg concat demuxer.
ໄຟລ໌ລາຍຊື່ທີ່ມີຄຳຕໍ່ທ້າຍ ".ffcat" ຫຼື ".ffconcat" ຈະເລືອກຮູບແບບນີ້ໂດຍອັດຕະໂນມັດ.
m3u8
ສ້າງໄຟລ໌ M3U8 ຂະຫຍາຍ, ຮຸ່ນ 3, ສອດຄ່ອງກັບ
<http://tools.ietf.org/id/draft-pantos-http-live-streaming>.
ໄຟລ໌ລາຍຊື່ທີ່ມີຄຳຕໍ່ທ້າຍ ".m3u8" ຈະເລືອກຮູບແບບນີ້ໂດຍອັດຕະໂນມັດ.
ຖ້າບໍ່ໄດ້ລະບຸປະເພດແມ່ນຄາດເດົາຈາກຊື່ໄຟລ໌ລາຍຊື່.
segment_time ທີ່ໃຊ້ເວລາ
ກໍານົດໄລຍະເວລາຂອງພາກສ່ວນເປັນ ທີ່ໃຊ້ເວລາ, ຄ່າຈະຕ້ອງເປັນໄລຍະເວລາສະເພາະ. ຄ່າເລີ່ມຕົ້ນ
ຄ່າແມ່ນ "2". ເບິ່ງຍັງ segment_times ທາງເລືອກ.
ຈື່ໄວ້ວ່າການແຍກອາດຈະບໍ່ຖືກຕ້ອງ, ເວັ້ນເສຍແຕ່ວ່າທ່ານບັງຄັບໃຫ້ກະແຈສະຕຣີມອ້າງອີງ-
ເຟຣມໃນເວລາທີ່ກໍານົດ. ເບິ່ງແຈ້ງການແນະນໍາແລະຕົວຢ່າງຂ້າງລຸ່ມນີ້.
segment_atclocktime 1 | 0
ຖ້າຕັ້ງເປັນ "1" ແຍກໃນຊ່ວງເວລາປົກກະຕິຂອງໂມງເລີ່ມຕົ້ນຈາກ 00:00 ໂມງ. ໄດ້
ທີ່ໃຊ້ເວລາ ຄ່າທີ່ລະບຸໄວ້ໃນ segment_time ຖືກນໍາໃຊ້ເພື່ອກໍານົດຄວາມຍາວຂອງການແບ່ງປັນ
ໄລຍະຫ່າງ
ສໍາລັບການຍົກຕົວຢ່າງກັບ segment_time ຕັ້ງເປັນ "900" ນີ້ເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະສ້າງໄຟລ໌ທີ່
12:00 ໂມງ, 12:15, 12:30, ແລະອື່ນໆ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ "0".
segment_time_delta delta
ລະບຸເວລາຄວາມຖືກຕ້ອງໃນເວລາທີ່ເລືອກເວລາເລີ່ມຕົ້ນສໍາລັບພາກສ່ວນໃດຫນຶ່ງ, ສະແດງເປັນ a
ໄລຍະເວລາສະເພາະ. ຄ່າເລີ່ມຕົ້ນແມ່ນ "0".
ເມື່ອ delta ຖືກລະບຸ, key-frame ຈະເລີ່ມຕົ້ນພາກສ່ວນໃຫມ່ຖ້າ PTS ຂອງມັນພໍໃຈ.
ສາຍພົວພັນ:
PTS >= start_time - time_delta
ຕົວເລືອກນີ້ມີປະໂຫຍດໃນເວລາທີ່ແຍກເນື້ອຫາວິດີໂອ, ເຊິ່ງສະເຫມີແບ່ງອອກຢູ່ GOP
ຂອບເຂດຊາຍແດນ, ໃນກໍລະນີທີ່ພົບກອບທີ່ສໍາຄັນກ່ອນເວລາທີ່ກໍານົດ.
ໂດຍສະເພາະອາດຈະຖືກນໍາໃຊ້ໃນການປະສົມປະສານກັບ ffmpeg ທາງເລືອກ force_key_frames. ໄດ້
ເວລາກອບຫຼັກທີ່ລະບຸໂດຍ force_key_frames ອາດຈະບໍ່ຖືກກໍານົດຢ່າງຖືກຕ້ອງຍ້ອນ
ບັນຫາຮອບໆ, ດ້ວຍຜົນສະທ້ອນທີ່ເວລາກອບທີ່ສໍາຄັນອາດຈະສົ່ງຜົນໃຫ້ກໍານົດໄວ້ກ່ອນ
ເວລາທີ່ກໍານົດໄວ້. ສຳລັບວິດີໂອອັດຕາເຟຣມຄົງທີ່ ຄ່າ 1/(2*frame_rate) ຄວນ
ແກ້ໄຂກໍລະນີທີ່ບໍ່ກົງກັນທີ່ຮ້າຍແຮງທີ່ສຸດລະຫວ່າງເວລາທີ່ກໍານົດໄວ້ແລະເວລາທີ່ກໍານົດໂດຍ
force_key_frames.
segment_times ເວລາ
ລະບຸລາຍຊື່ຈຸດແບ່ງ. ເວລາ ມີລາຍຊື່ໄລຍະເວລາທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ
ສະເພາະ, ໃນຄໍາສັ່ງເພີ່ມຂຶ້ນ. ເບິ່ງຍັງ segment_time ທາງເລືອກ.
segment_frames ນໍາ
ລະບຸລາຍຊື່ຂອງຕົວເລກກອບວິດີໂອທີ່ແບ່ງອອກ. ນໍາ ມີລາຍຊື່ຂອງເຄື່ອງໝາຍຈຸດທີ່ແຍກອອກ
ຕົວເລກຈໍານວນເຕັມ, ໃນຄໍາສັ່ງເພີ່ມຂຶ້ນ.
ຕົວເລືອກນີ້ກຳນົດໃຫ້ເລີ່ມພາກສ່ວນໃໝ່ທຸກຄັ້ງທີ່ກອບກະແຈສະຕຣີມອ້າງອີງ
ພົບແລະຕົວເລກລໍາດັບ (ເລີ່ມຕົ້ນຈາກ 0) ຂອງກອບແມ່ນໃຫຍ່ກວ່າຫຼືເທົ່າກັບ
ມູນຄ່າຕໍ່ໄປໃນບັນຊີລາຍຊື່.
segment_wrap ກໍານົດຂອບເຂດ
ຫໍ່ຮອບດັດຊະນີສ່ວນເມື່ອມັນໄປຮອດ ກໍານົດຂອບເຂດ.
segment_start_number ຈໍານວນ
ກໍານົດຈໍານວນລໍາດັບຂອງສ່ວນທໍາອິດ. ຄ່າເລີ່ມຕົ້ນເປັນ 0.
ເວລາຕໍ່ເວລາ 1 | 0
ໃຊ້ຟັງຊັນ "strftime" ເພື່ອກໍານົດຊື່ຂອງພາກສ່ວນໃຫມ່ທີ່ຈະຂຽນ. ຖ້ານີ້
ຖືກເລືອກ, ຊື່ພາກສ່ວນຜົນຜະລິດຕ້ອງມີແມ່ແບບຟັງຊັນ "strftime".
ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
break_non_keyframes 1 | 0
ຖ້າເປີດໃຊ້ງານ, ອະນຸຍາດໃຫ້ພາກສ່ວນເລີ່ມຕົ້ນໃນເຟຣມອື່ນນອກເໜືອໄປຈາກຄີເຟຣມ. ນີ້ປັບປຸງ
ພຶດຕິກໍາໃນບາງຜູ້ນໃນເວລາທີ່ເວລາລະຫວ່າງຄີເຟຣມບໍ່ສອດຄ່ອງ, ແຕ່ອາດຈະເຮັດໃຫ້
ສິ່ງທີ່ຮ້າຍແຮງກວ່າເກົ່າກ່ຽວກັບຄົນອື່ນ, ແລະສາມາດເຮັດໃຫ້ເກີດຄວາມແປກປະຫລາດບາງຢ່າງໃນລະຫວ່າງການຊອກຫາ. ຄ່າເລີ່ມຕົ້ນເປັນ 0.
reset_timestamps 1 | 0
ຣີເຊັດສະແຕມເວລາໃນຕອນເລີ່ມຕົ້ນຂອງແຕ່ລະພາກສ່ວນ, ດັ່ງນັ້ນແຕ່ລະພາກສ່ວນຈະເລີ່ມຕົ້ນດ້ວຍ
ເວລາໃກ້ສູນ. ມັນມີຈຸດປະສົງເພື່ອຜ່ອນຄາຍການຫຼິ້ນຂອງພາກສ່ວນທີ່ສ້າງຂຶ້ນ. ພຶດສະພາ
ບໍ່ເຮັດວຽກກັບບາງການປະສົມປະສານຂອງ muxers/codecs. ມັນຖືກກໍານົດເປັນ 0 ໂດຍຄ່າເລີ່ມຕົ້ນ.
initial_offset ຊົດເຊີຍ
ລະບຸເວລາຊົດເຊີຍເພື່ອນຳໃຊ້ກັບການສະແຕມເວລາແພັກເກັດຜົນຜະລິດ. ການໂຕ້ຖຽງຕ້ອງ
ເປັນສະເພາະຂອງໄລຍະເວລາ, ແລະເລີ່ມຕົ້ນເປັນ 0.
ຕົວຢ່າງ
· Remux ເນື້ອໃນຂອງໄຟລ໌ in.mkv ກັບບັນຊີລາຍຊື່ຂອງພາກສ່ວນ out-000.nut, out-001.nut, ແລະອື່ນໆ,
ແລະຂຽນບັນຊີລາຍຊື່ຂອງພາກສ່ວນທີ່ສ້າງຂຶ້ນ out.list:
ffmpeg -i in.mkv -codec ສຳເນົາ -map 0 -f segment -segment_list out.list out%03d.nut
· ການປ້ອນຂໍ້ມູນພາກສ່ວນແລະກໍານົດທາງເລືອກຮູບແບບຜົນຜະລິດສໍາລັບພາກສ່ວນຜົນຜະລິດໄດ້:
ffmpeg -i in.mkv -f segment -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4
· ແບ່ງໄຟລ໌ປ້ອນຂໍ້ມູນຕາມຈຸດແບ່ງທີ່ລະບຸໄວ້ໂດຍ segment_times
ຕົວເລືອກ:
ffmpeg -i in.mkv -codec ສຳເນົາ -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut
· ໃຊ້ ffmpeg force_key_frames ທາງເລືອກທີ່ຈະບັງຄັບເຟຣມທີ່ສໍາຄັນໃນການປ້ອນຂໍ້ມູນທີ່
ສະຖານທີ່ທີ່ລະບຸໄວ້, ພ້ອມກັບຕົວເລືອກສ່ວນ segment_time_delta ບັນຊີສໍາລັບ
ຮອບທີ່ເປັນໄປໄດ້ດໍາເນີນການໃນເວລາທີ່ກໍານົດເວລາກອບທີ່ສໍາຄັນ.
ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
-f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut
ເພື່ອບັງຄັບກອບຄີໃນໄຟລ໌ປ້ອນຂໍ້ມູນ, ຈໍາເປັນຕ້ອງມີການປ່ຽນລະຫັດ.
·ແບ່ງໄຟລ໌ປ້ອນຂໍ້ມູນໂດຍການແຍກໄຟລ໌ປ້ອນຂໍ້ມູນຕາມຕົວເລກກອບ
ລໍາດັບທີ່ລະບຸໄວ້ກັບ segment_frames ຕົວເລືອກ:
ffmpeg -i in.mkv -codec ສຳເນົາ -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
· ແປງ in.mkv ໄປຫາພາກສ່ວນ TS ໂດຍໃຊ້ຕົວເຂົ້າລະຫັດ "libx264" ແລະ "libfaac":
ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts
·ແບ່ງໄຟລ໌ປ້ອນຂໍ້ມູນ, ແລະສ້າງລາຍການຫຼິ້ນສົດ M3U8 (ສາມາດໃຊ້ເປັນ HLS ສົດ
ແຫຼ່ງ):
ffmpeg -re -i in.mkv -codec ສຳເນົາ -map 0 -f segment -segment_list playlist.m3u8 \
-segment_list_flags +live -segment_time 10 out%03d.mkv
ກ້ຽງ
Smooth Streaming muxer ສ້າງຊຸດຂອງໄຟລ໌ (Manifest, chunks) ທີ່ເຫມາະສົມສໍາລັບການບໍລິການ.
ກັບເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ທໍາມະດາ.
window_size
ລະບຸຈໍານວນຂອງຊິ້ນສ່ວນທີ່ເກັບໄວ້ໃນ manifest. ຄ່າເລີ່ມຕົ້ນ 0 (ຮັກສາໄວ້ທັງໝົດ).
extra_window_size
ລະບຸຈໍານວນຂອງຊິ້ນສ່ວນທີ່ເກັບຮັກສາໄວ້ຢູ່ນອກ manifest ກ່ອນທີ່ຈະເອົາອອກຈາກ
ແຜ່ນ. ຄ່າເລີ່ມຕົ້ນ 5.
lookahead_count
ລະບຸຈໍານວນຊິ້ນສ່ວນການເບິ່ງ. ຄ່າເລີ່ມຕົ້ນ 2.
min_frag_duration
ລະບຸໄລຍະເວລາຕໍາ່ສຸດທີ່ fragment (ເປັນ microseconds). ຄ່າເລີ່ມຕົ້ນ 5000000.
remove_at_exit
ລະບຸວ່າຈະເອົາຊິ້ນສ່ວນທັງໝົດອອກບໍ່ເມື່ອສໍາເລັດ. ຄ່າເລີ່ມຕົ້ນ 0 (ບໍ່ເອົາອອກ).
tee
tee muxer ສາມາດຖືກນໍາໃຊ້ເພື່ອຂຽນຂໍ້ມູນດຽວກັນກັບຫຼາຍໄຟລ໌ຫຼືປະເພດອື່ນໆຂອງ
muxer. ມັນສາມາດຖືກນໍາໃຊ້, ສໍາລັບການຍົກຕົວຢ່າງ, ທັງສອງນ້ໍາວິດີໂອກັບເຄືອຂ່າຍແລະບັນທຶກມັນໃສ່
disk ໃນເວລາດຽວກັນ.
ມັນແຕກຕ່າງຈາກການລະບຸຜົນຜະລິດຫຼາຍອັນກັບ ffmpeg ເຄື່ອງມືເສັ້ນຄໍາສັ່ງເນື່ອງຈາກວ່າ
ຂໍ້ມູນສຽງແລະວິດີໂອຈະຖືກເຂົ້າລະຫັດພຽງແຕ່ຄັ້ງດຽວກັບ tee muxer; ການເຂົ້າລະຫັດສາມາດເປັນ
ຂະບວນການລາຄາແພງຫຼາຍ. ມັນບໍ່ເປັນປະໂຫຍດເມື່ອໃຊ້ libavformat API ໂດຍກົງເພາະວ່າ
ຫຼັງຈາກນັ້ນ, ມັນເປັນໄປໄດ້ທີ່ຈະໃຫ້ອາຫານຊອງດຽວກັນກັບ muxers ຫຼາຍໂດຍກົງ.
ຜົນໄດ້ຮັບຂອງທາດຖືກລະບຸໄວ້ໃນຊື່ໄຟລ໌ທີ່ມອບໃຫ້ muxer, ແຍກດ້ວຍ '|'. ຖ້າ
ຊື່ທາດໃດນຶ່ງມີ '|' ຕົວແຍກ, ຊັ້ນນໍາ ຫຼື ແຖວຫຼັງ ຫຼື ໃດໆ
ລັກສະນະພິເສດ, ມັນຕ້ອງໄດ້ຮັບການຫລົບຫນີ (ເບິ່ງ ໄດ້ "ການອ້າງອີງ ແລະ ໜີ" ສ່ວນ in ໄດ້
ffmpeg-utils(1) ຄູ່ມື).
ທາງເລືອກ Muxer ສາມາດໄດ້ຮັບການລະບຸໄວ້ສໍາລັບສໍາລອງແຕ່ລະຄົນໂດຍ prepending ໃຫ້ເຂົາເຈົ້າເປັນບັນຊີລາຍການຂອງ ທີ່ສໍາຄັນ=ມູນຄ່າ
ຄູ່ທີ່ແຍກດ້ວຍ ':', ລະຫວ່າງວົງເລັບສີ່ຫຼ່ຽມ. ຖ້າຄ່າທາງເລືອກປະກອບດ້ວຍພິເສດ
ລັກສະນະຫຼືຕົວແຍກ ':', ພວກເຂົາເຈົ້າຕ້ອງໄດ້ຮັບການຫນີ; ໃຫ້ສັງເກດວ່ານີ້ແມ່ນລະດັບທີສອງ
ໜີ.
ທາງເລືອກພິເສດຕໍ່ໄປນີ້ຍັງຖືກຮັບຮູ້:
f ລະບຸຊື່ຮູບແບບ. ເປັນປະໂຫຍດຖ້າມັນບໍ່ສາມາດຄາດເດົາໄດ້ຈາກຄໍາຕໍ່ທ້າຍຊື່ຜົນໄດ້ຮັບ.
bsfs[/ສະເປັກ]
ລະບຸລາຍຊື່ຕົວກອງ bitstream ເພື່ອນຳໃຊ້ກັບຜົນຜະລິດທີ່ລະບຸ.
ມັນເປັນໄປໄດ້ທີ່ຈະລະບຸວ່າຕົວກອງ bitstream ໃດຖືກນຳໃຊ້, ໂດຍ
ຕື່ມຂໍ້ມູນໃສ່ຕົວລະບຸການຖ່າຍທອດໃຫ້ກັບຕົວເລືອກທີ່ແຍກອອກດ້ວຍ "/". ສະເປັກ ຕ້ອງເປັນກະແສ
ຕົວລະບຸ (ເບິ່ງ ຮູບແບບ ນ້ໍາ specifiers). ຖ້າຕົວລະບຸການຖ່າຍທອດບໍ່ໄດ້ຖືກລະບຸ,
ຕົວກອງ bitstream ຈະຖືກນໍາໃຊ້ກັບສາຍນ້ໍາທັງຫມົດໃນຜົນໄດ້ຮັບ.
ການກັ່ນຕອງ bitstream ຫຼາຍສາມາດຖືກກໍານົດ, ແຍກອອກໂດຍ ",".
ເລືອກ
ເລືອກສະຕຣີມທີ່ຄວນຈະຖືກສ້າງແຜນທີ່ກັບຜົນອອກມາຂອງທາດ, ລະບຸໂດຍສະຕຣີມ
ຕົວລະບຸ. ຖ້າບໍ່ໄດ້ລະບຸ, ອັນນີ້ຈະເປັນຄ່າເລີ່ມຕົ້ນຂອງກະແສການປ້ອນຂໍ້ມູນທັງໝົດ.
ຕົວຢ່າງ
·ເຂົ້າລະຫັດບາງສິ່ງບາງຢ່າງແລະທັງສອງເກັບໄວ້ໃນໄຟລ໌ WebM ແລະຖ່າຍທອດມັນເປັນ MPEG-TS ຜ່ານ UDP
(ສາຍນ້ຳຕ້ອງຖືກສ້າງແຜນທີ່ຢ່າງຈະແຈ້ງ):
ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
"archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"
· ການນໍາໃຊ້ ffmpeg ເພື່ອເຂົ້າລະຫັດການປ້ອນຂໍ້ມູນ, ແລະສົ່ງຜົນໄດ້ຮັບໄປຫາສາມຈຸດຫມາຍປາຍທາງທີ່ແຕກຕ່າງກັນ.
ຕົວກອງ bitstream "dump_extra" ຖືກນໍາໃຊ້ເພື່ອເພີ່ມຂໍ້ມູນ extradata ກັບທັງຫມົດ
ສົ່ງອອກແພັກເກັດຄີເຟຣມວິດີໂອ, ຕາມການຮ້ອງຂໍຂອງຮູບແບບ MPEG-TS. ທາງເລືອກທີ່ເລືອກ
ຖືກນໍາໃຊ້ກັບ out.aac ເພື່ອເຮັດໃຫ້ມັນມີຊຸດສຽງເທົ່ານັ້ນ.
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -ແບບທົດລອງຢ່າງເຂັ້ມງວດ
-f tee "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac"
· ດັ່ງລຸ່ມນີ້, ແຕ່ເລືອກເອົາພຽງແຕ່ stream "a: 1" ສໍາລັບການອອກສຽງ. ໃຫ້ສັງເກດວ່າລະດັບທີສອງ
ການຫລົບຫນີຕ້ອງຖືກປະຕິບັດ, ເພາະວ່າ ":" ແມ່ນລັກສະນະພິເສດທີ່ໃຊ້ເພື່ອແຍກທາງເລືອກ.
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -ແບບທົດລອງຢ່າງເຂັ້ມງວດ
-f tee "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.aac"
ຫມາຍເຫດ: ບາງຕົວແປງສັນຍານອາດຈະຕ້ອງການທາງເລືອກທີ່ແຕກຕ່າງກັນຂຶ້ນຢູ່ກັບຮູບແບບຜົນຜະລິດ; ອັດຕະໂນມັດ -
ການກວດພົບນີ້ບໍ່ສາມາດເຮັດວຽກກັບ tee muxer ໄດ້. ຕົວຢ່າງຕົ້ນຕໍແມ່ນ global_header
ທຸງ.
webm_dash_manifest
WebM DASH Manifest muxer.
muxer ນີ້ປະຕິບັດຂໍ້ກໍາຫນົດ WebM DASH Manifest ເພື່ອສ້າງ DASH manifest
XML. ມັນຍັງສະຫນັບສະຫນູນການຜະລິດ manifest ສໍາລັບການຖ່າຍທອດສົດ DASH.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມເບິ່ງ:
· WebM DASH Specification:
<https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>
· ISO DASH Specification:
<http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip>
ທາງເລືອກໃນການ
muxer ນີ້ສະຫນັບສະຫນູນທາງເລືອກດັ່ງຕໍ່ໄປນີ້:
adaptation_sets
ຕົວເລືອກນີ້ມີ syntax ຕໍ່ໄປນີ້: "id=x,streams=a,b,c id=y,streams=d,e" ບ່ອນທີ່ x
ແລະ y ແມ່ນຕົວລະບຸທີ່ເປັນເອກະລັກຂອງຊຸດການປັບຕົວ ແລະ a,b,c,d ແລະ e ແມ່ນ
ຕົວຊີ້ວັດຂອງການຖ່າຍທອດສຽງ ແລະວິດີໂອທີ່ສອດຄ້ອງກັນ. ຈໍານວນຂອງຊຸດການປັບຕົວ
ສາມາດເພີ່ມໄດ້ໂດຍໃຊ້ຕົວເລືອກນີ້.
ດໍາລົງຊີວິດ
ຕັ້ງຄ່ານີ້ເປັນ 1 ເພື່ອສ້າງການຖ່າຍທອດສົດ DASH Manifest. ຄ່າເລີ່ມຕົ້ນ: 0.
chunk_start_index
ດັດຊະນີເລີ່ມຕົ້ນຂອງ chunk ທໍາອິດ. ນີ້ຈະໄປໃນ ໝາຍເລກເລີ່ມຕົ້ນ ຄຸນລັກສະນະຂອງ
ແມ່ແບບ Segment ອົງປະກອບໃນ manifest ໄດ້. ຄ່າເລີ່ມຕົ້ນ: 0.
chunk_duration_ms
ໄລຍະເວລາຂອງແຕ່ລະ chunk ເປັນ milliseconds. ນີ້ຈະໄປໃນ ໄລຍະເວລາ ຄຸນລັກສະນະຂອງ
ແມ່ແບບ Segment ອົງປະກອບໃນ manifest ໄດ້. ຄ່າເລີ່ມຕົ້ນ: 1000.
utc_timeing_url
URL ຂອງຫນ້າທີ່ຈະສົ່ງຄືນເວລາ UTC ໃນຮູບແບບ ISO. ນີ້ຈະໄປໃນ
ມູນຄ່າ ຄຸນລັກສະນະຂອງ UTCTiming ອົງປະກອບໃນ manifest ໄດ້. ຄ່າເລີ່ມຕົ້ນ: ບໍ່ມີ.
time_shift_buffer_depth
ເວລາທີ່ນ້ອຍທີ່ສຸດ (ເປັນວິນາທີ) buffer ການເຄື່ອນຍ້າຍທີ່ຕົວແທນໃດໆແມ່ນຮັບປະກັນ
ສາມາດໃຊ້ໄດ້. ນີ້ຈະໄປໃນ timeShiftBufferDepth ຄຸນລັກສະນະຂອງ MPD
ອົງປະກອບ. ຄ່າເລີ່ມຕົ້ນ: 60.
ໄລຍະເວລາການອັບເດດຕໍາ່ສຸດທີ່
ໄລຍະເວລາການປັບປຸງຂັ້ນຕ່ໍາ (ເປັນວິນາທີ) ຂອງ manifest. ນີ້ຈະໄປໃນ
ໄລຍະເວລາການອັບເດດຂັ້ນຕໍ່າ ຄຸນລັກສະນະຂອງ MPD ອົງປະກອບ. ຄ່າເລີ່ມຕົ້ນ: 0.
ຍົກຕົວຢ່າງ
ffmpeg -f webm_dash_manifest -i video1.webm \
-f webm_dash_manifest -i video2.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-map 0 -map 1 -map 2 -map 3 \
-c ສຳເນົາ \
-f webm_dash_manifest \
-adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" \
manifest.xml
webm_chunk
WebM Live Chunk Muxer.
muxer ນີ້ຂຽນອອກສ່ວນຫົວ WebM ແລະ chunks ເປັນໄຟລ໌ແຍກຕ່າງຫາກທີ່ສາມາດບໍລິໂພກໄດ້
ລູກຄ້າທີ່ສະຫນັບສະຫນູນ WebM Live streams ຜ່ານ DASH.
ທາງເລືອກໃນການ
muxer ນີ້ສະຫນັບສະຫນູນທາງເລືອກດັ່ງຕໍ່ໄປນີ້:
chunk_start_index
ດັດຊະນີຂອງ chunk ທໍາອິດ (ຄ່າເລີ່ມຕົ້ນເປັນ 0).
header
ຊື່ໄຟລ໌ຂອງສ່ວນຫົວທີ່ຂໍ້ມູນເບື້ອງຕົ້ນຈະຖືກຂຽນ.
audio_chunk_duration
ໄລຍະເວລາຂອງແຕ່ລະຊ່ອງສຽງເປັນ milliseconds (ຄ່າເລີ່ມຕົ້ນເປັນ 5000).
ຍົກຕົວຢ່າງ
ffmpeg -f v4l2 -i /dev/video0 \
-f alsa -i hw:0 \
- ແຜນທີ່ 0:0 \
-c:v libvpx-vp9 \
-s 640x360 -keyint_min 30 -g 30 \
-f webm_chunk \
-header webm_live_video_360.hdr \
-chunk_start_index 1 \
webm_live_video_360_%d.chk \
- ແຜນທີ່ 1:0 \
-c:a libvorbis \
-b:a 128k \
-f webm_chunk \
-header webm_live_audio_128.hdr \
-chunk_start_index 1 \
-audio_chunk_duration 1000 \
webm_live_audio_128_%d.chk
METADATA
FFmpeg ສາມາດຖິ້ມເມຕາເດຕາຈາກໄຟລ໌ມີເດຍເຂົ້າໄປໃນຂໍ້ຄວາມທີ່ເຂົ້າລະຫັດ UTF-8 ທີ່ເຂົ້າລະຫັດ INI ແບບງ່າຍດາຍ.
ໄຟລ໌ແລະຫຼັງຈາກນັ້ນໂຫຼດມັນຄືນໂດຍໃຊ້ metadata muxer/demuxer.
ຮູບແບບໄຟລ໌ດັ່ງຕໍ່ໄປນີ້:
1. ໄຟລ໌ປະກອບດ້ວຍສ່ວນຫົວ ແລະແທັກ metadata ຈໍານວນໜຶ່ງແບ່ງອອກເປັນພາກສ່ວນ, ແຕ່ລະອັນ
ຢູ່ໃນສາຍຂອງຕົນເອງ.
2. ສ່ວນຫົວແມ່ນ ກ ;FFMETADATA ສະຕຣິງ, ຕາມດ້ວຍເລກເວີຊັ່ນ (ດຽວນີ້ 1).
3. ແທັກເມຕາເດຕາມີຮູບແບບ key=value
4. ທັນທີຫຼັງຈາກ header ປະຕິບັດຕາມ metadata ທົ່ວໂລກ
5. ຫຼັງຈາກ metadata ທົ່ວໂລກອາດຈະມີສ່ວນທີ່ມີ metadata ຕໍ່ສະຕຣີມ/ຕໍ່ບົດ.
6. ພາກສ່ວນໜຶ່ງເລີ່ມຕົ້ນດ້ວຍຊື່ພາກໃນຕົວພິມໃຫຍ່ (ເຊັ່ນ: STREAM ຫຼື CHAPTER) ໃນ
ວົງເລັບ ([, ]) ແລະລົງທ້າຍດ້ວຍພາກຕໍ່ໄປ ຫຼືທ້າຍຂອງໄຟລ໌.
7. ໃນຕອນຕົ້ນຂອງພາກບົດໜຶ່ງ ອາດມີໄລຍະເວລາທາງເລືອກທີ່ຈະໃຊ້
ຄ່າເລີ່ມຕົ້ນ/ສິ້ນສຸດ. ມັນຕ້ອງຢູ່ໃນຮູບແບບ TIMEBASE=num/ໄດ້, ບ່ອນທີ່ num ແລະ ໄດ້ ເປັນຈໍານວນເຕັມ.
ຖ້າ timebase ຫາຍໄປ, ເວລາເລີ່ມຕົ້ນ / ສິ້ນສຸດແມ່ນສົມມຸດວ່າເປັນ milliseconds.
ຕໍ່ໄປ ພາກສ່ວນຂອງບົດຈະຕ້ອງມີເວລາເລີ່ມຕົ້ນ ແລະເວລາສິ້ນສຸດໃນແບບຟອມ START=num,
END=num, ບ່ອນທີ່ num ເປັນຈໍານວນບວກ.
8. ເສັ້ນເປົ່າແລະເສັ້ນເລີ່ມຕົ້ນດ້ວຍ ; or # ຖືກລະເລີຍ.
9. ລະຫັດເມຕາເດຕາ ຫຼືຄ່າທີ່ມີຕົວອັກສອນພິເສດ (=, ;, #, \ ແລະແຖວໃໝ່) ຕ້ອງ
ຖືກຫລົບຫນີດ້ວຍ backslash \.
10. ໃຫ້ສັງເກດວ່າ whitespace ໃນ metadata (ເຊັ່ນ ຟູ = ພາທະນາຍຄວາມ) ຖືວ່າເປັນສ່ວນຫນຶ່ງຂອງ
tag (ໃນຕົວຢ່າງຂ້າງເທິງທີ່ສໍາຄັນແມ່ນ ຟູ , ມູນຄ່າແມ່ນ
ພາທະນາຍຄວາມ).
ໄຟລ໌ ffmetadata ອາດຈະເບິ່ງຄືວ່ານີ້:
;FFMETADATA1
title=bike\\shed
;ນີ້ແມ່ນຄໍາເຫັນ
artist=FFmpeg ທີມງານ troll
[ບົດ]
TIMEBASE=1/1000
START=0
#ບົດຈົບລົງເວລາ 0:01:00 ໂມງ
END=60000
title=ບົດທີ \#1
[ສະຕຣີມ]
title=multi\
ອອນໄລນ໌
ໂດຍການນໍາໃຊ້ ffmetadata muxer ແລະ demuxer ມັນເປັນໄປໄດ້ທີ່ຈະສະກັດ metadata ຈາກການປ້ອນຂໍ້ມູນ
ໄຟລ໌ໄປຫາໄຟລ໌ ffmetadata, ແລະຫຼັງຈາກນັ້ນ transcode ໄຟລ໌ເຂົ້າໄປໃນໄຟລ໌ຜົນຜະລິດທີ່ມີ
ແກ້ໄຂໄຟລ໌ ffmetadata.
ສະກັດໄຟລ໌ ffmetadata ກັບ ffmpeg ໄປດັ່ງຕໍ່ໄປນີ້:
ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
ການໃສ່ຂໍ້ມູນເມຕາເດຕາທີ່ຖືກແກ້ໄຂຄືນໃໝ່ຈາກໄຟລ໌ FFMETADATAFILE ສາມາດເຮັດໄດ້ດັ່ງນີ້:
ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec ສຳເນົາ OUTPUT
ໃຊ້ ffmpeg-formats ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net