Files
ccextractor/docs/FFMPEG.md

49 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

# Overview
FFmpeg Integration was done to support multiple encapsulations.
## Dependencies
FFmpeg libraries
### Download and Install FFmpeg on your Linux pc:
Download latest source code from following link
https://ffmpeg.org/download.html
Then following command to install ffmpeg:
`./configure && make && make install`
Note:If you installed ffmpeg on non-standard location, please change/update your
environment variable `$PATH` and `$LD_LIBRARY_PATH`
### Download and Install FFmpeg on your Windows pc:
1. Download vcpkg (prefer version `2023.02.24` as it is supported)
2. Integrate vcpkg into your system, run the below command in the downloaded vcpkg folder:
```
vcpkg integrate install
```
3. Set Environment Variable for Vcpkg triplet, you can choose between x86 or x64 based on your system.
```
setx VCPKG_DEFAULT_TRIPLET "x64-windows-static"
setx RUSTFLAGS "-Ctarget-feature=+crt-static"
```
4. Install ffmpeg from vcpkg
In this step we are using `x64-windows-static` triplet, but you will have to use the triplet you set in Step 3
```
vcpkg install ffmpeg --triplet x64-windows-static
```
## How to compile ccextractor
### On Linux:
`make ENABLE_FFMPEG=yes`
### On Windows:
#### Set preprocessor flag `ENABLE_FFMPEG=1`
[rust] add parser (#1619) * feat: unpack gpac * fix: linux ci * fix: mac build * fix: remove unused [no ci] * fix: ignore config.h [no ci] * temp commit, will drop this soon * fix: install gpac * fix: gpac * fix: formatting * fix: preproccessor directive * fix: comment display version for now * fix: display dlls code * fix: bundle vcruntime in hardsubx windows * fix: again * fix: erros in ci * fix: ci * fix: add vcruntime in additional dependencies * fix: try to copy vcruntime after build * fix: space in runtime library * fix: remove for now [no ci] * fix: things in vcxproj * fix: ci for leptonica sys * fix: docs * fix: copy dlls on post build event * fix: copy vcruntime after build * feat: add arguments through clap * fix: type of some arguments * fix: "-" and "--" in comments * fix: format files * fix: add argument parsing till mkvlang * fix: one todo item * chore: lint fixes * fix: nocodec value * fix: for nocodec * fix: add cfg feature for hardsubx * feat: complete till startcreditstext * fix: add more notes, args: option affect processed * feat: port all till network stuff * fix: complete almost all argument parsing * fix: error free code * fix: complete params port * fix: hardsubx erros * feat: clean up main function * fix: pr reviews * fix: make input,output function better * fix: variant not used warning * fix: warnings * fix: all clippy warnings * feat: add tests * feat: add tests * chore: lint fixes * fix: move unit tests to correct folder * fix: remove unncessary files * fix: make function for parse_args * fix: review changes * fix: Impl CcxOptions whenever I could * fix: try to convert rust to c * chore: push c code * fix: add more rust to c conversions * fix: use set methods for bitfield * fix: errors * fix: arguments parsing * fix: all issues * fix: many errors * chore: lint fix * fix: err * fix: unsafe function error * fix: unsafe warning * fix: safety lint * chore: add docs * fix: windows build * fix: function * fix: dependencies * fix: set_binary_mode * chore: lint fix * fix: set_binary_mode for windows * fix: error * fix: undefined reference error * chore: remove comment * fix: output field * chore: fix lint * fix: ru1, ru2, ru3 * fix: undef before * fix: parameter and update deps * chore: update vcpkg * feat: add release-with-debug profile * fix; uncomment code * fix: update visual studio to 2022 * chore: update docs * fix: use default vcpkg * fix: caching logic on release ci * fix: vcpkg caching * fix: add setup vcpkg * chore: remove unneccesary formatting * fix: Always write 2 bytes for UTF-16BE * fix: formatting * feat: add rest of the notes to bring continuity * fix: remove extra line * fix: add hardsubx note * fix: source code format error * chore: lint fixes acc to rustfmt * feat: add unit test ci * fix: conversion of strings, add file queue handling * fix: decoder cfg * fix: update dependencies * chore: lint fix * chore: add safety doc * fix: default value for CcxOptions * fix(rust): default value for teletext * fix: leptonica version for windows * fix: format errors * fix: workflow * Revert "fix: leptonica version for windows" This reverts commit 461ef55e7b89b6c57bea8c9035bf7bb18955c052. * fix: pin ffmpeg to 6 for mac * fix(parser): default values and unwrap's * fix(parser): hardsubx fixes * chore(parse): lint fixes * fix(windows): switch back to sdk 2019 * fix(workflow): windows workflow revert * fix(windows): revert to old files which were working before * fix(workflow): pin vcpkg packages * chore(rust): downgrade leptonica * fix(windows): move vcpkg.json to correct place * fix(windows): improve vcxproj * fix(windows): workflow * fix(windows): workflow * fix(windows): workflow clone from vcpkg everytime * fix(workflow): error * fix(workflow): don't skip building vcpkg * fix: remove depth from vcpkg * temporary commit * fix(windows): pin gpac and use local vcpkg manifest properly * fix(windows): install vcpkg dependencies manually * fix(windows): update dll names * fix(windows); dependencies copy * fix(windows): don't continue on error for release * fix(macos): build ffmpeg for mac workflow * fix: move ffmpeg to current workspace * fix: re-add profile for windows * fix: pkg config for mac * fix(mac): use ffmpeg@6 from brew * fix(macos): there is no ffmpeg_prebuilt * fix(macos): specify ffmpeg pkg config * fix(macos): globally define pkg config * fix(macos): add ffmpeg include and libs dir * fix(macos): include ffmpeg headers in makefile * fix: include ffmpeg libraries and include directories * fix: try to manually specify ffmpeg header in rust * fix: also include leptonica headres * fix: leptonica name * fix: test * fix: string null when output_filename is empty * fix: error * fix: remove cflgas * fix(mac): disable cmake ocr hardsubx * chore: update gitignore * fix: null if string is empty * fix: allow --in * chore: bump version to 1.0 in rust * chore: add space to trigger sp * fix: don't panic with rust * fix: add double dashes to indicate parameters * chore: update CHANGES.txt * fix: test * fix(workflow): update workflow name * fix(rust): linux output_filename in sampleplatform * fix(rust): parser default values * fix(rust): exit with MalformedParameter instead of panic * fix(decoder): revert always write 2 bytes * chore(rust): format * chore: update lock file * fix(test): test lib_ccxr and rename to test * fix(mac): remove failing cmake_ocr test * fix: ci errors * fix: feature related changes * fix: trim down default features * fix: don't check clippy for all features
2024-08-10 16:25:21 +05:30
1. In visual studio 2022 right click <Project> and select property.
2. In the left panel, select Configuration Properties, C/C++, Preprocessor.
3. In the right panel, in the right-hand column of the Preprocessor Definitions property, open the drop-down menu and choose Edit.
4. In the Preprocessor Definitions dialog box, add `ENABLE_FFMPEG=1`. Choose OK to save your changes.