資源簡介
c++使用ffmpeg把h264/h265和mp3寫入mp4文件,內含ffmpeg庫、示例demo、視頻素材。
代碼片段和文件信息
/*
?*?Copyright?(c)?2014?Lukasz?Marek
?*
?*?Permission?is?hereby?granted?free?of?charge?to?any?person?obtaining?a?copy
?*?of?this?software?and?associated?documentation?files?(the?“Software“)?to?deal
?*?in?the?Software?without?restriction?including?without?limitation?the?rights
?*?to?use?copy?modify?merge?publish?distribute?sublicense?and/or?sell
?*?copies?of?the?Software?and?to?permit?persons?to?whom?the?Software?is
?*?furnished?to?do?so?subject?to?the?following?conditions:
?*
?*?The?above?copyright?notice?and?this?permission?notice?shall?be?included?in
?*?all?copies?or?substantial?portions?of?the?Software.
?*
?*?THE?SOFTWARE?IS?PROVIDED?“AS?IS“?WITHOUT?WARRANTY?OF?ANY?KIND?EXPRESS?OR
?*?IMPLIED?INCLUDING?BUT?NOT?LIMITED?TO?THE?WARRANTIES?OF?MERCHANTABILITY
?*?FITNESS?FOR?A?PARTICULAR?PURPOSE?AND?NONINFRINGEMENT.?IN?NO?EVENT?SHALL
?*?THE?AUTHORS?OR?COPYRIGHT?HOLDERS?BE?LIABLE?FOR?ANY?CLAIM?DAMAGES?OR?OTHER
?*?LIABILITY?WHETHER?IN?AN?ACTION?OF?CONTRACT?TORT?OR?OTHERWISE?ARISING?FROM
?*?OUT?OF?OR?IN?CONNECTION?WITH?THE?SOFTWARE?OR?THE?USE?OR?OTHER?DEALINGS?IN
?*?THE?SOFTWARE.
?*/
#include?
#include?
#include?
static?const?char?*type_string(int?type)
{
????switch?(type)?{
????case?AVIO_ENTRY_DIRECTORY:
????????return?““;
????case?AVIO_ENTRY_FILE:
????????return?““;
????case?AVIO_ENTRY_BLOCK_DEVICE:
????????return?““;
????case?AVIO_ENTRY_CHARACTER_DEVICE:
????????return?““;
????case?AVIO_ENTRY_NAMED_PIPE:
????????return?““;
????case?AVIO_ENTRY_SYMBOLIC_link:
????????return?“nk>“;
????case?AVIO_ENTRY_SOCKET:
????????return?““;
????case?AVIO_ENTRY_SERVER:
????????return?““;
????case?AVIO_ENTRY_SHARE:
????????return?““;
????case?AVIO_ENTRY_WORKGROUP:
????????return?““;
????case?AVIO_ENTRY_UNKNOWN:
????default:
????????break;
????}
????return?““;
}
static?int?list_op(const?char?*input_dir)
{
????AVIODirEntry?*entry?=?NULL;
????AVIODirContext?*ctx?=?NULL;
????int?cnt?ret;
????char?filemode[4]?uid_and_gid[20];
????if?((ret?=?avio_open_dir(&ctx?input_dir?NULL))?0)?{
????????av_log(NULL?AV_LOG_ERROR?“Cannot?open?directory:?%s.\n“?av_err2str(ret));
????????goto?fail;
????}
????cnt?=?0;
????for?(;;)?{
????????if?((ret?=?avio_read_dir(ctx?&entry))?0)?{
????????????av_log(NULL?AV_LOG_ERROR?“Cannot?list?directory:?%s.\n“?av_err2str(ret));
????????????goto?fail;
????????}
????????if?(!entry)
????????????break;
????????if?(entry->filemode?==?-1)?{
????????????snprintf(filemode?4?“???“);
????????}?else?{
????????????snprintf(filemode?4?“%3“PRIo64?entry->filemode);
????????}
????????snprintf(uid_and_gid?20?“%“PRId64“(%“PRId64“)“?entry->user_id?entry->group_id);
????????if?(cnt?==?0)
????????????av_log(NULL?AV_LOG_INFO?“%-9s?%12s?%30s?%10s?%s?%16s?%16s?%16s\n“
???????????????????“TYPE“?“SIZE“?“NAME“?“UID(GID)“?“UGO“?“MODIFIED“
???????????????????“ACCE
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????4915591??2016-09-06?15:31??ffmpegMp4\AvPktAIn.mp3
?????文件????4813052??2016-06-30?03:21??ffmpegMp4\AvPktVIn.264
?????文件?????686760??2016-08-27?10:47??ffmpegMp4\AvPktVIn.265
?????文件???25633792??2016-09-05?23:11??ffmpegMp4\Debug\avcodec-57.dll
?????文件????4962816??2016-09-05?23:11??ffmpegMp4\Debug\avformat-57.dll
?????文件?????564224??2016-09-05?23:11??ffmpegMp4\Debug\avutil-55.dll
?????文件??????44544??2016-09-06?17:33??ffmpegMp4\Debug\ffmpegMp4.exe
?????文件?????470244??2016-09-06?17:33??ffmpegMp4\Debug\ffmpegMp4.ilk
?????文件?????830464??2016-09-06?17:33??ffmpegMp4\Debug\ffmpegMp4.pdb
?????文件?????258176??2016-08-26?17:46??ffmpegMp4\Debug\out.264
?????文件?????292352??2016-09-05?23:11??ffmpegMp4\Debug\swresample-2.dll
?????文件??????41559??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\developer.html
?????文件???????5642??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\avio_dir_cmd.c
?????文件???????4060??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\avio_reading.c
?????文件??????19624??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\decoding_encoding.c
?????文件??????14714??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\demuxing_decoding.c
?????文件???????5747??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\extract_mvs.c
?????文件??????10058??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\filtering_audio.c
?????文件???????9180??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\filtering_video.c
?????文件??????11854??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\filter_audio.c
?????文件???????5213??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\http_multiclient.c
?????文件???????1758??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\Makefile
?????文件???????1941??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\me
?????文件??????21668??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\muxing.c
?????文件??????14366??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\qsvdec.c
?????文件????????888??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\README
?????文件???????5631??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\remuxing.c
?????文件???????8005??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\resampling_audio.c
?????文件???????5028??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\scaling_video.c
?????文件??????29409??2016-09-05?23:11??ffmpegMp4\ffmpegLib\doc\examples\transcode_aac.c
............此處省略267個文件信息
評論
共有 條評論