
Recherche avancée
Autres articles (68)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (14094)
-
Files created with "ffmpeg hevc_nvenc" do not play on TV. (with video codec SDK 9.1 of nvidia)
29 janvier 2020, par DashhhProblem
- Files created with hevc_nvenc do not play on TV. (samsung smart tv, model unknown)
Related to my ffmpeg build is below.
FFmpeg build conf
$ ffmpeg -buildconf
--enable-cuda
--enable-cuvid
--enable-nvenc
--enable-nonfree
--enable-libnpp
--extra-cflags=-I/path/cuda/include
--extra-ldflags=-L/path/cuda/lib64
--prefix=/prefix/ffmpeg_build
--pkg-config-flags=--static
--extra-libs='-lpthread -lm'
--extra-cflags=-I/prefix/ffmpeg_build/include
--extra-ldflags=-L/prefix/ffmpeg_build/lib
--enable-gpl
--enable-nonfree
--enable-version3
--disable-stripping
--enable-avisynth
--enable-libass
--enable-libfontconfig
--enable-libfreetype
--enable-libfribidi
--enable-libgme
--enable-libgsm
--enable-librubberband
--enable-libshine
--enable-libsnappy
--enable-libssh
--enable-libtwolame
--enable-libwavpack
--enable-libzvbi
--enable-openal
--enable-sdl2
--enable-libdrm
--enable-frei0r
--enable-ladspa
--enable-libpulse
--enable-libsoxr
--enable-libspeex
--enable-avfilter
--enable-postproc
--enable-pthreads
--enable-libfdk-aac
--enable-libmp3lame
--enable-libopus
--enable-libtheora
--enable-libvorbis
--enable-libvpx
--enable-libx264
--enable-libx265
--disable-ffplay
--enable-libopenjpeg
--enable-libwebp
--enable-libxvid
--enable-libvidstab
--enable-libopenh264
--enable-zlib
--enable-opensslffmpeg Command
- Command about FFmpeg encoding
ffmpeg -ss 1800 -vsync 0 -hwaccel cuvid -hwaccel_device 0 \
-c:v h264_cuvid -i /data/input.mp4 -t 10 \
-filter_complex "\
[0:v]hwdownload,format=nv12,format=yuv420p,\
scale=iw*2:ih*2" -gpu 0 -c:v hevc_nvenc -pix_fmt yuv444p16le -preset slow -rc cbr_hq -b:v 5000k -maxrate 7000k -bufsize 1000k -acodec aac -ac 2 -dts_delta_threshold 1000 -ab 128k -flags global_header ./makevideo_nvenc_hevc.mp4Full log about This Command - check this full log
The reason for adding "-color_ " in the command is as follows.
- HDR video after creating bt2020 + smpte2084 video using nvidia hardware accelerator. (I’m studying to make HDR videos. I’m not sure if this is right.)
How can I make a video using ffmpeg hevc_nvenc and have it play on TV ?
Things i’ve done
Here’s what I’ve researched about why it doesn’t work.
The header information is not properly included in the resulting video file. So I used a program called nvhsp to add SEI and VUI information inside the video. See below for the commands and logs used.
nvhsp
is open source for writing VUI and SEI bitstrings in raw video. nvhsp link# make rawvideo for nvhsp
$ ffmpeg -vsync 0 -hwaccel cuvid -hwaccel_device 0 -c:v h264_cuvid \
-i /data/input.mp4 -t 10 \
-filter_complex "[0:v]hwdownload,format=nv12,\
format=yuv420p,scale=iw*2:ih*2" \
-gpu 0 -c:v hevc_nvenc -f rawvideo output_for_nvhsp.265
# use nvhsp
$ python nvhsp.py ./output_for_nvhsp.265 -colorprim bt2020 \
-transfer smpte-st-2084 -colormatrix bt2020nc \
-maxcll "1000,300" -videoformat ntsc -full_range tv \
-masterdisplay "G (13250,34500) B (7500,3000 ) R (34000,16000) WP (15635,16450) L (10000000,1)" \
./after_nvhsp_proc_output.265
Parsing the infile:
==========================
Prepending SEI data
Starting new SEI NALu ...
SEI message with MaxCLL = 1000 and MaxFall = 300 created in SEI NAL
SEI message Mastering Display Data G (13250,34500) B (7500,3000) R (34000,16000) WP (15635,16450) L (10000000,1) created in SEI NAL
Looking for SPS ......... [232, 22703552]
SPS_Nals_addresses [232, 22703552]
SPS NAL Size 488
Starting reading SPS NAL contents
Reading of SPS NAL finished. Read 448 of SPS NALu data.
Making modified SPS NALu ...
Made modified SPS NALu-OK
New SEI prepended
Writing new stream ...
Progress: 100%
=====================
Done!
File nvhsp_after_output.mp4 created.
# after process
$ ffmpeg -y -f rawvideo -r 25 -s 3840x2160 -pix_fmt yuv444p16le -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -color_range tv -i ./1/after_nvhsp_proc_output.265 -vcodec copy ./1/result.mp4 -hide_banner
Truncating packet of size 49766400 to 3260044
[rawvideo @ 0x40a6400] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from './1/nvhsp_after_output.265':
Duration: N/A, start: 0.000000, bitrate: 9953280 kb/s
Stream #0:0: Video: rawvideo (Y3[0][16] / 0x10003359), yuv444p16le(tv, bt2020nc/bt2020/smpte2084), 3840x2160, 9953280 kb/s, 25 tbr, 25 tbn, 25 tbc
[mp4 @ 0x40b0440] Could not find tag for codec rawvideo in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Last message repeated 1 timesGoal
-
I want to generate matadata normally when encoding a video through hevc_nvenc.
-
I want to create a video through hevc_nvenc and play HDR Video on smart tv with 10bit color depth support.
Additional
-
Is it normal for ffmpeg hevc_nvenc not to generate metadata in the resulting video file ? or is it a bug ?
-
Please refer to the image below. (*’알 수 없음’ meaning ’unknown’)
- if you need more detail file info, check this Gist Link (by ffprobe)
- if you need more detail file info, check this Gist Link (by ffprobe)
-
However, if you encode a file in libx265, the attribute information is entered correctly as shown below.
- if you need more detail file info, check this Gist Link
- if you need more detail file info, check this Gist Link
However, when using hevc_nvenc, all information is missing.
- i used option
-show_streams -show_programs -show_format -show_data -of json -show_frames -show_log 56
at ffprobe
- Files created with hevc_nvenc do not play on TV. (samsung smart tv, model unknown)
-
Reading subtitle metadata from mpeg files using ffprobe
26 septembre 2022, par Kaydee DunlopI'm using ffmpeg or to be more specific ffprobe which is part of the ffmpeg toolstack to read subtitle information from a mpeg file. Anyway, I'm facing an issue I currently don't fully understand. If I use the following command :


ffprobe -of json -show_streams -show_format



I get back something like this :


{
 "index": 6,
 "codec_name": "mov_text",
 "codec_long_name": "MOV text",
 "codec_type": "subtitle",
 "codec_tag_string": "tx3g",
 "codec_tag": "0x67337874",
 "width": 3840,
 "height": 240,
 "id": "0x6",
 "r_frame_rate": "0/0",
 "avg_frame_rate": "0/0",
 "time_base": "1/1000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 6706616,
 "duration": "6706.616000",
 "bit_rate": "95",
 "nb_frames": "4028",
 "extradata_size": 48,
 "disposition": {
 "default": 0,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0,
 "captions": 0,
 "descriptions": 0,
 "metadata": 0,
 "dependent": 0,
 "still_image": 0
 },
 "tags": {
 "creation_time": "2022-09-11T01:02:33.000000Z",
 "language": "eng"
 }
 },



you can see, I have several options that can be set for the disposition section, I'm especially interested in "forced" and "hearing_impaired". To set the value for these options I'm trying to use a tool called "Subler" which is a tool to metarise mpeg files and their containing tracks. But for some reason, ffprobe does not seem to match with the fields Subler sets... So I'm kind stuck as I'm never really able to find out if a subtitle track is forced, hearing_impaired (SDH) etc. Is there any kind of workaround for this problem, maybe an extra option I have to set with ffprobe or so ? Is there maybe an alternative tool that can ?


If you are more interested into this issue I also uploaded a test scenario which has forced subtitles, normal subtitles and SDH subtitles properly set, it also contains screenshots and the raw SRT files, which are basically not needed as the subs are already embedded into the mp4 file, but just in case I also attached them.


https://drive.google.com/file/d/1ZZ32i17A33Lhpn4a5BDg033yV9PbZhtS/view?usp=sharing


-
FFPROBE SWAPS WIDTH AND HEIGHT
23 septembre 2022, par Chidozie DuruI just noticed that ffprobe swaps the width and height of some videos when fetching the data of those videos. Please help suggest how to go about this and get it right or any other package that is confirmed to work. Below is the resulting output after i used ffprobe to request for video metadata. I just requested the width and height, while some are correct, others are not as it swaps the value for width and height.


{
 streams: [
 {
 index: 0,
 codec_name: 'aac',
 codec_long_name: 'AAC (Advanced Audio Coding)',
 profile: 'LC',
 codec_type: 'audio',
 codec_tag_string: 'mp4a',
 codec_tag: '0x6134706d',
 sample_fmt: 'fltp',
 sample_rate: 32000,
 channels: 1,
 channel_layout: 'mono',
 bits_per_sample: 0,
 id: '0x1',
 r_frame_rate: '0/0',
 avg_frame_rate: '0/0',
 time_base: '1/32000',
 start_pts: 0,
 start_time: 0,
 duration_ts: 12228608,
 duration: 382.144,
 bit_rate: 126250,
 max_bit_rate: 'N/A',
 bits_per_raw_sample: 'N/A',
 nb_frames: 11942,
 nb_read_frames: 'N/A',
 nb_read_packets: 'N/A',
 extradata_size: 2,
 tags: [Object],
 disposition: [Object]
 },
 {
 index: 1,
 codec_name: 'h264',
 codec_long_name: 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
 profile: 'High',
 codec_type: 'video',
 codec_tag_string: 'avc1',
 codec_tag: '0x31637661',
 width: 1920,
 height: 1080,
 coded_width: 1920,
 coded_height: 1080,
 closed_captions: 0,
 film_grain: 0,
 has_b_frames: 0,
 sample_aspect_ratio: 'N/A',
 display_aspect_ratio: 'N/A',
 pix_fmt: 'yuv420p',
 level: 50,
 color_range: 'unknown',
 color_space: 'unknown',
 color_transfer: 'unknown',
 color_primaries: 'unknown',
 chroma_location: 'unspecified',
 field_order: 'progressive',
 refs: 1,
 is_avc: 'true',
 nal_length_size: 4,
 id: '0x2',
 r_frame_rate: '25/1',
 avg_frame_rate: '25/1',
 time_base: '1/30000',
 start_pts: 0,
 start_time: 0,
 duration_ts: 11463600,
 duration: 382.12,
 bit_rate: 183454,
 max_bit_rate: 'N/A',
 bits_per_raw_sample: 8,
 nb_frames: 9553,
 nb_read_frames: 'N/A',
 nb_read_packets: 'N/A',
 extradata_size: 29,
 tags: [Object],
 disposition: [Object]
 }
 ],
 format: {
 filename: './input4.mp4',
 nb_streams: 2,
 nb_programs: 0,
 format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
 format_long_name: 'QuickTime / MOV',
 start_time: 0,
 duration: 382.144,
 size: 14896948,
 bit_rate: 311860,
 probe_score: 100,
 tags: {
 major_brand: 'mp42',
 minor_version: '0',
 compatible_brands: 'isommp42',
 creation_time: '2022-09-23T20:39:00.000000Z'
 }
 },
 chapters: []
 }